CN103748934B - 用于确定传送频率以维持远程应用服务器连通性的系统和方法 - Google Patents
用于确定传送频率以维持远程应用服务器连通性的系统和方法 Download PDFInfo
- Publication number
- CN103748934B CN103748934B CN201280038094.0A CN201280038094A CN103748934B CN 103748934 B CN103748934 B CN 103748934B CN 201280038094 A CN201280038094 A CN 201280038094A CN 103748934 B CN103748934 B CN 103748934B
- Authority
- CN
- China
- Prior art keywords
- network connection
- value
- application server
- client platform
- remote application
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/25—Maintenance of established connections
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
用于保持主机系统(其运行始终开启、始终连接(AOAC)应用)与关联远程应用服务器之间的连通性的系统和方法包括确定用于发送保持存活消息的定时间隔Ti。定时间隔Ti可通过下列步骤来确定:将超时(Ti)的值选择成最大超时(Tmax)与最小超时(Tmin)之间的值;以基于Ti的间隔跨客户端平台(其运行始终开启、始终连接(AOAC)应用)与远程应用服务器(其与该AOAC应用关联)之间的网络连接来传送保持存活消息;检查网络连接的状态;如果网络连接仍然是活动的,则增加Tmin的值;以及如果网络连接已经中断,则减小Tmax的值。
Description
技术领域
本公开涉及无线/有线通信,以及更具体来说,涉及使用活动/备用切换的节能以太网。
背景技术
为了降低功率消耗(以及延长电池使用寿命),便携无线装置(例如,但不限于膝上型计算机、上网本、平板计算机等)可在活动功率状态(例如,按照高级配置和电源接口(ACPI)规范的S0状态)与低功率状态(又称作备用模式、睡眠模式、挂起模式等)之间进行切换。当切换到低功率状态(按照ACPI规范又称作S3模式)时,通过降低和/或消除送往平台和装置的不需要部分的功率,来降低功率消耗。在许多情况下,期望使运行于便携无线装置上的一个或多个应用/服务保持连通性和存在,使得能够始终达到平台或者最终用户。
保持与应用服务器的连接和存在的一种方式涉及将平台从备用模式周期地转变成活动模式,使得平台可向应用服务器传送存在数据和/或接收任何其它数据。不幸的是,这种方式要求相当多的能量数量,因为在备用与活动模式之间切换整个平台。另外,备用与活动模式之间的周期切换对备用至活动转变的可靠性可具有负面影响。虽然诸如无线LAN唤醒(WoWLAN)之类的技术具有低功率消耗,但是WoWLAN仅维持到本地接入点的数据链路(L2链路层)连通性。因此,WoWLAN无法维持到应用服务器的连通性和存在。
附图说明
随着以下详细描述的进行并当参照附图时,要求保护主题的实施例的特征和优点将变得显而易见,附图中,相似标号示出相似部件,以及附图中:
图1示出按照本公开、客户端平台与远程应用服务器之间的通信系统的一个实施例;
图2示出按照本公开的客户端平台的一个实施例;
图3示出按照本公开、存储器中存储的保持存活消息的列表的一个实施例;
图4示出按照本公开的保持存活消息分组的一个实施例;
图5是示出工作在各种状态的主机系统的平均功率消耗的功率分布图;以及
图6示出按照本公开的操作的流程图的一个实施例;
图7示出各种栈层的一个实施例;
图8示出按照本公开、用于确定超时间隔Ti的操作的流程图的一个实施例;
图9示出按照本公开、用于使用握手应答来确定连接超时的系统的一个实施例;
图10示出按照本公开、用于使用并发连接来确定连接超时的系统的一个实施例;
图11示出按照本公开、用于使用主动探测来确定连接超时的系统的一个实施例;
图12示出按照本公开、用于使用被动监听来确定超时间隔Ti的操作的流程图的一个实施例;以及
图13A和图13B示出按照本公开、用于对齐来自多个AOAC应用的保持存活消息的传输的一个实施例。
虽然以下详细描述将参照说明性实施例进行,但是,本领域的技术人员将会清楚地知道对它们的许多备选、修改和变更方案。因此,预计要求保护的主题被广义地看待,并且仅如所附权利要求书所述来限定。
具体实施方式
一般来说,本公开描述节能无线或有线通信方式,其使平台和应用/服务(例如始终开启、始终连接(AOAC)应用)能够维持到网络和远程应用服务器的连通性和存在,同时平台处于并且停留在低功率状态。在本文所述的至少一个实施例中,需要维持到网络和远程应用服务器的连通性和存在的AOAC应用/服务在平台转变为低功率状态(例如从活动功率状态)之前,发起保持存活消息的列表的构建,以便降低功率消耗(例如保存电池使用寿命)。在平台转变为低功率状态之后,保持存活消息(其可包括相应的应用/服务专有协议、序列号、定时信息和/或应用/服务密钥或令牌)由平台的通信装置(例如无线或有线网络接口卡(NIC)和/或集成无线/有线控制器)周期地传送给适当地址。由于平台的通信装置能够当平台保持在低功率状态的同时发出保持存活消息,所以到网络和/或远程应用服务器的连通性和存在按照节能方式来维持。
如本文所使用的术语“活动功率状态”指的是在工作或者全操作状态起作用的平台。活动功率状态的示例包括如高级配置和电源接口(ACPI)规范所定义的S0状态。另一个示例包括但不限于全通功率状态。如本文所使用的术语“低功率状态”指的是在降低功率状态起作用的平台,其中送往装置(没有指示它们必须保持接通)的功率可断电,以及一个或多个中央处理器(CPU)停止运行指令(例如被断电)。低功率功率状态的示例包括如ACPI规范所定义的S1、S2、S3和/或S4状态。低功率状态的其它示例又称作备用模式、睡眠模式、挂起模式等。
现在来看图1,一般示出通信系统100的一个实施例。通信系统100包括一个或多个客户端平台102,其配置成跨网络104建立与一个或多个远程应用服务器106的无线或有线通信链路。客户端平台102可包括台式计算机、膝上型计算机和/或移动计算装置。移动计算装置的示例包括但不限于智能电话(例如,但不限于Blackberry™智能电话、iPhone™智能电话、Android™智能电话等)、平板计算机(例如,但不限于iPad™平板计算机、基于PC的平板计算机和/或由Intel™ 公司所提供的当前或将来的平板计算机)和超移动个人计算机。
客户端平台102可配置成建立与客户端平台102和远程应用服务器106之间的通信通路/链路中的一个或多个网络接入点/桥接器108和/或其它通信装置110(例如,但不限于网络地址转换(NAT)装置)的通信链路。例如,客户端平台102能够使用信号在无线网络(例如局域网(LAN)、无线LAN(WLAN)、城域网(MAN)、无线MAN(WMAN)、广域网(WAN)、无线WAN(WWAN)、按照现有下一代毫米波(NGmS-D02/r0,2008年11月28日)、无线吉比特联盟(WGA)、IEEE 802.11、802.11a、802.11b、802.11e、802.11g、802.11h、802.11i、802.11n、802.11ac、802.16、802.16d、802.16e、802.11ah标准和/或上述标准的将来版本和/或衍生物和/或长期演进(LTE)进行操作的装置和/或网络、个人区域网络(PAN)、无线PAN(WPAN)、作为上述WLAN和/或PAN和/或WPAN网络的组成部分的单元和/或装置、单向和/或双向无线电通信系统、蜂窝无线电电话通信系统、蜂窝电话、无线电话、个人通信系统(PCS)装置、结合无线通信装置的PDA装置、多输入多输出(MIMO)收发器或装置、单输入多输出(SIMO)收发器或装置、多输入单输出(MISO)收发器或装置、最大比合并(MRC)收发器或装置、具有“智能天线”技术或者多天线技术的收发器或装置等)中进行通信。
一些实施例可与一种或多种类型的无线通信信号和/或系统结合使用,例如射频(RF)、红外线(IR)、频分复用(FDM)、正交FDM(OFDM)、OFDMA、时分复用(TDM)、时分多址(TDMA)、扩展TDMA(E-TDMA)、通用分组无线业务(GPRS)、扩展GPRS、码分多址(CDMA)、宽带CDMA(WCDMA)、CDMA 2000、多载波调制(MDM)、离散多音(DMT)、蓝牙(RTM)、ZigBee(TM)等。在各种其它设备、装置、系统和/或网络中可使用实施例。
现在来看图2,一般示出按照本公开的客户端平台200的一个实施例。客户端平台200包括主机系统202和NIC 220。主机系统202可包括主机处理器204、芯片组电路206和系统存储器208。主机处理器204可包括一个或多个处理器核心,并且可配置成运行系统软件210。系统软件210可包括例如操作系统代码212(例如OS内核代码)以及无线和/或有线驱动器代码214(例如,但不限于局域网(LAN))。LAN驱动器代码214可配置成至少部分控制NIC220操作的操作,如下面将更详细描述。系统存储器208可包括I/O存储器缓冲器216,其配置成存储一个或多个数据分组(该数据分组将由NIC 220来传送或接收)。芯片组电路206一般可包括“北桥”电路(未示出),以控制处理器204、NIC 220和系统存储器208之间的通信。另外,芯片组电路206可包括控制主机系统202与NIC 220之间的I/O通信的电路(未示出)。
NIC 220在逻辑和/或物理上可分为传送路径221A和接收路径221B。NIC 220一般可包括以太网媒体接入控制(MAC)电路222和物理接口(PHY)电路224。MAC电路222可包括传送MAC电路222A,传送MAC电路222A配置成汇编数据以便传送到帧或分组(该帧或分组包括目标和源地址,连同网络控制信息和错误检测哈希值)中。MAC电路222还可包括接收MAC电路222B,接收MAC电路222B配置成从所接收帧中删除数据,并且将数据放入系统存储器208。PHY电路224可包括:编码电路240A,其配置成对于数据分组进行编码;以及解码电路240B,其配置成对于数据分组进行解码。编码电路240A和解码电路240B可共同体现为处理器(例如数字信号处理器),其配置成执行模数和数模转换、数据的编码和解码、模块寄生消除(例如串话消除)以及所接收数据的恢复。PHY电路224还可包括:传送(Tx)电路226,其配置成传送一个或多个数据分组;以及接收(Rx)电路228,其配置成接收一个或多个数据分组。Rx电路228可包括锁相环电路(PLL,未示出),其配置成协调数据接收的定时。PHY电路224可配置成建立以太网通信链路230,以用于无线地和/或通过媒体相关接口(其可包括例如第6类(Cat6)以太网线缆)来传送和接收数据(例如分组)。
传送MAC电路222A可包括可控时钟输入242和可控功率输入244。时钟输入242一般可包括时钟信号,时钟信号控制MAC电路222A的计时。功率输入244一般可包括供电信号,以将功率提供给MAC电路222A的一个或多个组件。类似地,接收MAC电路222B可包括可控时钟输入246和可控功率输入248。时钟输入246一般可包括时钟信号,时钟信号控制MAC电路222B的计时。功率输入248一般可包括供电信号,以将功率提供给MAC电路222B的一个或多个组件。编码电路240A可包括可控时钟输入254和可控功率输入256,以及解码电路240B可包括可控时钟输入258和可控功率输入260。传送电路226可包括可控时钟输入262和可控功率输入264。在一个实施例中,可单独控制传送路径221A和接收路径221B的计时。另外,在一个实施例中,可单独控制传送路径221A和接收路径221B的功率。
NIC 220可配置成经由一个或接入点/桥接器(其可包括可与主机系统(与主机系统202相似,图2中未示出)关联的交换机、桥接器、路由器和/或其它NIC)和/或远程应用服务器106来与远程应用服务器106交换命令和数据。远程应用服务器106可包括任何装置,其可配置成使用无线或有线通信协议与NIC 220进行通信,以便维持运行于客户端平台200上的AOAC应用。
虽然其它功率状态也是可能的,但是客户端平台200配置成工作在至少活动功率状态模式和低功率状态。在活动功率状态,主机系统202和NIC 220一般是全起作用的。当客户端平台200工作在低功率状态时,一般可对主机系统220关断功率,而只有NIC 220可保持起作用。
在从第一功率状态(例如,活动功率状态,或者如本文所述的活动功率状态与低功率状态之间的中间或辅助功率状态)切换到低功率状态之前,客户端平台200配置成发起运行于主机系统202上的一个或多个AOAC应用/服务270(例如存储器208中存储的应用270)(其需要保持到网络和应用服务器的连通性和存在)的保持存活消息272的列表或集合的构建。例如,AOAC应用/服务270可就在客户端平台200转变到低功率状态之前、例如在激活功能键或者任何其它手段(例如,但不限于预定义超时周期)时,发起保持存活消息272的构建。保持存活消息272配置成维持与远程应用服务器的连通性和存在。例如,保持存活消息272可配置成维持L2连通性(例如,以便支持WoWLAN)。卸荷协议也可配置成维持平台L3(IP)地址(例如,地址解析协议(ARP)、动态主机配置协议(DHCP)租约和因特网控制消息协议(ICMP))。
因此,保持存活消息272的每个的特定格式将取决于特定AOAC应用以及传输协议(其用于在客户端平台200与远程应用服务器之间进行通信)。例如,保持存活消息272可基于相应AOAC应用/服务专有协议来生成,以及可包括适当定序信息和定时(若要求的话),并且可采用应用/服务密钥/令牌来保护(若需要的话)。
保持存活消息272的集合(或者其至少一部分)可存储在存储器274中。存储器274可位于客户端平台200上的任何位置,其在客户端平台200处于(并且保持在)低功率状态的同时是由NIC 220可访问的。例如,存储器274可以是NIC 220的组成部分;但是,这只是示例,并且存储保持存活消息272的集合的存储器274可位于客户端平台200中的任何位置。
一旦客户端平台200转变为低功率状态,则NIC 220可配置成向远程应用服务器106周期地传送至少一个数据分组(其包含保持存活消息272)。例如,按照一个实施例,传送MAC电路222A配置成从工作在主机系统202上的装置驱动器来接收AOAC命令。响应AOAC命令,传送MAC电路222A和至少Tx电路226配置成向远程应用服务器106周期地传送数据分组(其包括保持存活消息272)。保持存活消息272可基于与NIC 220关联的一个或多个时钟信号/输入242、246、254、258和/或262来周期地传送。保持存活消息272可由NIC 220来传送的频率对于多个AOAC应用270的每个可以是相同或不同的。另外,NIC 220传送保持存活消息270的频率可以是恒定的或者可随时间而变化。
例如,当客户端平台200上存在多个AOAC应用270时,客户端平台200(例如,但不限于NIC 220)可确定每个AOAC应用270所需的最小时间或频率(Tapp),以便维持与远程服务器的连通性和存在。客户端平台200则可比较最小时间Tapp的每个,以便确定所有AOAC应用270的最小值Tapp(即,Tmin)。NIC 220则可基于Tmin对所有AOAC应用270来传送保持存活消息272。基于Tmin为所有AOAC应用270传送保持存活消息272可进一步降低处于低功率状态时的客户端平台200的功率消耗。具体来说,NIC 220在传送分组时比在未传送时一般消耗更大功率。因此,通过允许NIC 220在单一时间周期期间传送多个保持存活消息272,并且因此使NIC220传送分组花费的时间量为最小,基于Tmin为所有AOAC应用270传送保持存活消息272可进一步降低客户端平台200的功率消耗。
当存储器274中的所有保持存活消息272由NIC 220传送时,NIC 220可配置成将客户端平台200从低功率状态转变成活动功率状态(或者低功率状态与活动功率状态之间的中间功率状态),以便在存储器274中生成附加保持存活消息272。一旦存储器274补充有附加保持存活消息272,则客户端平台200可以又转变回低功率状态,以及NIC 220可恢复周期地传送保持存活消息272,如本文所述。
按照另一个实施例,客户端平台200可降低在客户端平台200处于低功率状态的同时维持连通性和存在所需的存储。具体来说,客户端平台200可配置成对于预定义时间周期来生成具有安全性令牌的列表的一般保持存活消息。一般保持存活消息以及安全性令牌的列表则可在客户端平台200转变为低功率状态之前传递给NIC 220。另外,与各保持存活消息有关的信息(例如维持存在/连通性的最小所需周期性、保持存活消息的目标地址等)也可传递给NIC 220。在转变成低功率状态时,NIC 220可恢复一般保持存活消息以及安全性令牌的列表,并且采用来自列表的安全性令牌和定序信息(连同目标地址一起)来更新预先构建的一般保持存活消息。NIC 220则可在适当时间间隔传送保持存活消息272,以便按照以便使其免受各种攻击的安全方式来维持到网络的应用/服务存在。相应地,所需的存储量可降低,因为一般保持存活消息以及安全性令牌的列表一般比完全预先构建的保持存活消息272的列表要小许多。例如,存储200字节的十个完全预先构建的保持存活消息在使用200字节的一般保持存活消息同时会各要求2000字节的存储,以及待生成的各消息的安全性令牌的列表会要求例如少于400字节。
客户端平台200(例如NIC 220)还可配置成支持比对于WoWLAN所定义的唤醒模式要更广泛的唤醒模式。例如,NIC 220可配置成在例如从特定基于因特网的应用、例如运行于一个或多个远程应用服务器上的应用/服务接收到入局因特网分组时,来唤醒客户端平台200的全部或者一部分。唤醒模式可包括但不限于TCP(传输控制协议)SYN消息、HTTP或HTTPS消息或者任何应用特定消息。
NIC 220还可配置成可选地从远程应用服务器106接收至少一个数据分组。在一个实施例中,为了从活动数据传输功率状态转变为低功率状态,NIC 220可配置成控制时钟输入242、254和/或262。例如,NIC 220可配置成控制时钟输入246和/或258,以及时钟输入242、254、262、246和/或258可经过选通(gated)(时钟选通),以便关断对于对应电路的时钟信号。
图3中一般示出一个实施例,其示出存储器274中存储的多个AOAC应用302(1)-(n)的多个保持存活消息的列表300。例如,AOAC应用302(1)-(n)可包括即时消息传递(IM)应用302(1)(例如,但不限于Microsoft Instant Messaging™、AOL Instant Messenger™、移动即时消息传递(MIM)等)、社交网络应用302(2)(例如,但不限于Facebook™、Twitter™、MySpace™等)和/或任何其它AOAC应用302(n)。每个AOAC应用302(1)-(n)可包括基于相应的应用/服务专有协议、序列号、定时信息和/或应用/服务密钥或令牌的多个关联保持存活消息304(1)-(N)、306(1)-(N)和308(1)-(N)。图4中一般示出按照本公开的保持存活分组400的一个实施例。例如,保持存活分组400可包括与基于TCP/IP的协议兼容的报头402和有效载荷404。报头402可包含目标和源MAC地址。有效载荷404可包含因特网协议报头段406、TCP段408和TCP有效载荷段410,如一般所示。
现在来看图5,提供图表500,其示出由客户端平台在各种模式(例如模式502、504和506)的平均功率消耗(W)的一个示例。如能够看到,客户端平台和NIC 220在工作于活动功率状态(例如S0空闲)(其中WiFi是活动的)(502)中的同时消耗大约3.25 W,以及在处于低功率状态(例如S3)(其中WiFi被停用)(504)的同时消耗大约0.4 W。如可以理解,S3状态(504)使WiFi被停用,并且因此无法维持网络连通性和/或存在。S3状态(504)被认为表示NIC 220在平台没有完全关闭的情况下能够消耗的最小功率。相比之下,利用本公开的AOAC方法工作在低功率状态(例如S3)的NIC 220仅消耗大约0.5 W(506)。因此,本公开的AOAC模式(506)的NIC 220仅消耗比S3模式(504)要多大约0.1 W,同时仍然保持网络连通性和存在。
现在来看图6,提供示出建立和/或保持与远程应用服务器的连通性和存在的操作的流程图600的一个实施例。例如,运行于客户端平台上的一个或多个AOAC应用连接到远程应用服务器(操作602)。客户端平台工作在第一功率状态(例如活动功率状态)。客户端平台则接收从第一功率状态转变成低功率状态的通知(操作604)。通知可以是用户生成的(例如闭合膝上型计算机上的盖板或者激活低功率状态功能)和/或自动的(例如客户端平台可在预定不活动周期之后自动转变成低功率状态)。在转变成低功率状态之前,客户端平台发起保持存活消息的生成(操作606)。保持存活消息可在转变成低功率状态的通知之前或之后生成。如本文所述,可生成整个保持存活消息(例如完全预先构建的保持存活消息),或者可生成保持存活消息的一部分(例如,一般保持存活消息以及安全性令牌的列表)。保持存活消息(或者其部分)可存储在存储器中,该存储器在客户端平台处于低功率状态的同时是NIC可访问的(操作608)。可选地,例如当多个AOAC应用运行于客户端平台时,客户端平台确定传送保持存活消息的频率(操作610)。
客户端平台则可转变成低功率状态(操作612)。一旦客户端平台工作在低功率状态,NIC可开始向远程应用服务器周期地传送保持存活消息(操作614)。NIC可继续传送保持存活消息,直到客户端平台从低功率状态转变(例如由于由NIC所接收的分组或者用户发起转变)。备选地,NIC可继续传送保持存活消息,直到存储器中存储的保持存活消息的剩余数量达到最小阈值。一旦达到了最小阈值,客户端平台从低功率状态转变成第二功率状态(操作616)。客户端平台则发起生成附加保持存活消息,并且将其存储在存储器中(操作618)。第二功率状态可以是足够允许客户端平台生成附加保持存活消息的活动功率状态或者中间功率状态。最小阈值可选择成允许客户端平台有充分时间生成附加保持存活消息,同时仍然保持与远程应用服务器的连通性和存在。在生成/存储了附加保持存活消息之后,客户端平台又转变回低功率状态(操作612),并且恢复周期地传送保持存活消息,如本文所述。
如本文所述,当客户端平台102处于低功率状态时,通过向适当地址(例如应用服务器106)周期地传送保持存活消息,图1的客户端平台102可维持对网络104和一个或多个远程应用服务器106的连通性和存在。如本文所述,保持存活消息可基于相应的应用/服务专有协议、序列号、定时信息和/或应用/服务密钥或令牌来生成。为了按照本文所述的协议和/或标准进行操作,保持存活消息可实现通信系统层的一部分。图7在高层次示出保持存活消息700及其网络栈的各个层的关联频率。例如,按照本公开的至少一个实施例的保持存活消息700可针对数据/链路层消息(例如,但不限于802.11 MAC层(即,OSI数据/链路层2))和应用/服务层消息(例如,但不限于OSI会话层5、OSI表示层6和OSI应用层7);但是,应当理解,按照本公开的保持存活消息也可适用于在任何层的消息。
数据/链路层2提供功能和过程部件,以在网络实体之间传递数据以及检测并且可能地校正错误(其可在物理层发生)。会话层5控制计算机之间的对话(连接)。它建立、管理和终止本地与远程应用之间的连接。它提供全双工、半双工或者单工操作,并且建立检查点、延期、终止和重启过程。会话层通常在应用环境(其使用远程过程调用,其中客户端平台102向已知远程应用服务器106发送请求消息,以便采用所提供参数来运行所指定过程)中显式地实现。远程应用服务器106向客户端平台102发送响应,并且应用继续进行其过程。表示层6建立应用层实体之间的上下文,其中如果表示服务提供它们之间的映射,则更高层实体可使用不同语法和语义。如果映射是可用的,则表示服务数据单元被封装到会话协议数据单元中,并且被向下传递栈。表示层6通过在应用与网络格式之间进行转换,来提供与数据表示(例如加密)的无关性。应用层7与软件应用(其实现通信组件)进行交互。应用层7的功能可包括识别通信合作方,确定资源可用性,并且使通信同步。
NIC 220还可包括I/O链路或总线电路(未示出),以提供NIC 220与芯片组电路206之间的I/O通信(这种链路或总线电路可符合上述PCI-Express通信协议)。NIC还可包括MAC/PHY接口电路(未示出),该MAC/PHY接口电路配置成提供MAC电路220与PHY电路224之间的I/O通信,其可包括例如SGMII或XAUI。
与NIC 220关联的存储器208和/或存储器274可包括下列类型的存储器的一个或多个:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪速存储器、磁盘存储器和/或光盘存储器。作为补充或替代,与NIC 220关联的存储器208和/或存储器274可包括其它和/或以后开发类型的计算机可读存储器。本文所述方法的实施例可通过可存储在存储介质上的计算机程序来实现,其中存储介质具有对系统进行编程以执行方法的指令。存储介质可包括但不限于:任何类型的磁盘,包括软盘、光盘、致密光盘只读存储器(CD-ROM)、可重写光盘(CD-RW)和磁光盘;半导体器件,例如只读存储器(ROM)、随机存取存储器(RAM)(诸如动态RAM和静态RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、磁卡或光卡;或者适合于存储电子指令的任何类型的介质。其它实施例可实现为由可编程控制装置所运行的软件模块。
本文所述的无线或有线通信协议可以能够准许使用传输控制协议/因特网协议(TCP/IP)的通信。无线或有线协议可符合或兼容电气和电子工程师协会(IEEE)所发布的以太网标准(标题为“IEEE 802.3标准”2002年3月发布)和/或这个标准的更高版本(例如,但不限于“IEEE 802.11标准”)。
如本文所使用的“PHY”可定义为用于与一个或多个装置进行接口连接的对象和/或电路,并且这种对象和/或电路可通过本文所述通信协议的一个或多个来定义。PHY可包括物理PHY,其包括收发器电路,以与可适用通信链路进行接口连接。作为备选和/或补充,PHY可包括虚拟PHY,以与另一个虚拟PHY或者与物理PHY进行接口连接。PHY电路224可符合或者兼容上述IEEE 802.3和/或802.11通信协议和/或符合以后开发的通信协议的PHY电路。
又参照图1,客户端平台102配置成向远程应用服务器106周期地传送保持存活消息,以便维持与远程服务器106的连通性和存在。按照一个实施例,本公开包含用于改进传送保持存活消息的频率的方法。本公开可包含自适应速率控制,以保证客户端平台102与远程应用服务器106之间的连通性,并且还可包含业务整形方案,以便合并保持存活消息,以通过使客户端平台102停留在低功率状态的时间为最大,来改进能量效率。
本公开也可维持客户端平台102与远程应用服务器106之间的连通性,甚至还有在客户端平台102与远程应用服务器106之间的应用路径中的各种通信设备110(例如,但不限于网络地址转换(NAT)框等)的存在。具体来说,如果保持存活消息不是以正确频率来传送,则NAT装置110可在网络中超时,由此中断客户端平台102与远程应用服务器106之间的连接,即使客户端平台102和远程应用服务器106以其缺省配置速率来交换保持存活消息。例如当NAT超时频率小于远程应用服务器超时频率时,这个问题可出现。这个问题特别成问题,因为NAT超时可以是超出应用的控制的配置参数。
按照一个方面,如本文所述,本公开可动态地确定哪一个当前连接超时,并且在客户端平台102与远程应用服务器106之间的任何连接被中断之前发送保持存活消息;以及对齐来自客户端平台102上的多个AOAC应用、将要在一个突发中发送的附近保持存活消息,以增加能量效率,而不是进行唤醒以单独发送与每个AOAC应用关联的保持存活消息。
继续参照图1,客户端平台102与远程应用服务器106之间的连接被建立并且维持“T”秒的超时,此后,如果没有交换数据,则连接将被中断,并且客户端平台102将不再是远程应用服务器106可达的(即,远程应用服务器106将客户端平台标记为“离线”)。T的最大值是{TS, TN}的最小值,其中TS表示远程应用服务器106的最小超时,以及TN表示客户端平台102与远程应用服务器106之间的任何通信设备110(例如NAT框)的最小超时。例如,TCP会话超时可以为2小时,IM离线指示可以为大约5分钟,以及NAT超时的范围可从15秒至1小时。
由于连接超时的可变性以及客户端平台102与远程应用服务器106之间的网络路径的不可预测性,AOAC应用一般可缺省为例如在大约数十秒的范围之内的小超时频率周期,以便确保连接被维持。但是,如可以理解,这个缺省频率周期不是最佳的,并且不是节能的。此外,这个缺省频率周期可减少客户端平台102可保持在低功率状态的时间量,因为小缺省频率将非常迅速地消耗大量保持存活消息。通过从这个缺省频率增加保持存活频率,客户端平台102可在低功率状态保持较长时间周期,并且还可增加客户端平台102的总能量效率。
下面结合图1和图2的系统的其它特征来描述确定最佳(或者近最佳)保持存活频率的客户端平台102的操作:
(1) 动态连接超时发现:
(a) 确定超时的动态二进制搜索算法
在运行时,客户端平台102(即,除了低功率状态之外的状态,例如,但不限于ACPI所定义的活动功率状态S0状态)推断TS和TN。如本文所述,TS能够通过监测与服务器的连接状态来推断,以及TN能够通过监测服务器可达性来推断。保持存活周期可设置为两个值的最小值,即Min(TS, TN)。
本公开首先将描述如何使用二进制搜索方法来自适应地确定一般超时Ti。本公开然后将描述如何应用这种方法来确定TS和TN,其可以仅在方法的条件方面有所不同。应当理解,本文所述的二进制搜索方法因其引人注目的收敛时间(即,对数运行时)而仅用于举例;但是,其它搜索方法能够用于定位Ti的值。
现在来看图8,一般示出一个实施例,该实施例示出确定超时Ti的二进制搜索方法的操作的流程图800。方法开始于初始化超时的最大和最小值(Tmax和Tmin),并且将当前超时初始化为最小值(操作802)。例如,最大值Tmax能够设置在2小时(即,TCP缺省会话超时),以及最小值Tmin能够设置在30秒(最小NAT超时)。但是,应当理解,Tmax和/或Tmin的初始值可基于其它判据(例如,但不限于历史数据/计算等)来选择。
在初始化之后,Ti设置成最大值Tmax与最小值Tmin之间的值(操作804),以及检查连接状态的新超时(操作806)。按照一个实施例,Ti可以是Tmax与Tmin之间的中距值的集合;但是,应当理解,Ti的值可选择为Tmax与Tmin之间的任何值。如果连接仍然存活(操作808),则能够例如通过在再次循环之前将最小阈值Tmin增加到当前超时Ti,来增加超时Ti。如果连接被中断(操作810),则必须例如通过在再次循环之前将最大阈值Tmax减少到当前超时Ti,来减少超时Ti。
该方法可相对于高达最大预定迭代次数重复进行,和/或该方法可重复进行直到两个继起超时(例如Ti和Ti-1)充分接近,其中算法以正确超时Ti终止。例如,可确定两个继起超时(例如Ti和Ti-1)之间的差(操作812)。如果差为零(操作814),则最大值Tmax和最小值Tmin可重新初始化,并且方法800可再次开始。如果差不为零,则差可与阈值(例如,差除以Ti的当前值的百分比)进行比较(操作816)。如果差少于或等于阈值,则超时在操作818设置成Ti的当前值(假定维持连接)。如果差大于阈值,则检查连接状态(操作806),如本文所述。
通过了解正确超时Ti,客户端平台102只需要在超时发生之前发送一个保持存活消息,并且因此仅高达每Ti秒发送保持存活消息,而无论是NIC 220中卸荷还是在唤醒客户端平台102之后。客户端平台102将随着Ti的值增加而更加节能。这种方法还可用于确定TS和TN的值,因为它们关于如何检查连接状态以及如何推断连接被中断方面有所不同,如本文所述。
(b) 使用专有保持存活握手来确定服务器超时(TS)
如前面所述,TS表示远程应用服务器侧的超时。即使到远程应用服务器的网络连接打开(例如,服务器IP地址通过网络请求、例如PING是可达的),这在远程应用服务器侧已经超时并且中断应用会话时发生。因此,客户端平台102不再是从远程应用服务器106可达的(标记为离线)。这种情况在应用级保持存活握手具有比网络通信设备110的超时要短的超时时发生。
现在参照图9,一般示出用于使用握手应答来确定连接超时的系统900的一个实施例。具体来说,客户端平台102向远程应用服务器106发送应用级握手请求902。如果远程应用服务器106尚未使应用会话超时,则远程应用服务器106应当回送握手应答904,并且重置定时器。客户端平台106能够在每Ti发送握手请求902,以及如果它使用这个间隔得到应答,则这指示连接对于Ti的超时是存活的,并且新的较大值将被确定,例如本文针对图8所述。
另一方面,如果握手请求902以超时间隔Ti来传送,并且在客户端平台12没有接收到握手应答904,则这指示远程应用服务器106已经中断应用会话(即,请求超时),并且Ti的新的较小值将被确定,例如图8中所述。客户端平台102不能只简单地以已更新间隔Ti来重发握手保持存活请求902,客户端平台102而是必须每当应用会话被中断时首先重新建立与远程应用服务器106的应用会话(即,重新进入网络)。虽然这种方法依靠专有握手,但是,对于例如使用Intel AppUp服务器来推送内容、维持与Intel的客户端的应用会话等的端对端服务区分,该方法可能是有价值的。
(c) 使用并发连接来确定服务器超时(TS)
在一些AOAC应用(例如,用于更新的一些基于HTTP的推送)中,远程应用服务器可能不要求应用会话对于发送保持存活应答是存活的;它而是将所有握手请求当作“添加客户端”请求。如果客户端平台是存活的,则它将在发送应答之前重置会话超时,以及如果不是的话,则它将首先将客户端平台添加到活动客户端的集合、重置超时并且然后发送应答。在这种情况下,使用专有保持存活握手来确定会话被中断可能不起作用,因为即使中断网络连接,新的网络连接也将基于发送新的保持存活请求来重新建立。
为了解决这种情况,本公开可利用如图10中的系统1000一般所示的并发连接。具体来说,系统1000可包括运行于客户端平台102与服务器106之间的多个连接,例如主连接1002和一个(或多个)并发连接1004(1)-(n)。在主连接上,缺省工作保持存活超时T主用于将客户端平台102连接到远程应用服务器106。缺省超时T主可以是固定的,并且可始终使用,直到在并发连接1004(1)-(n)上确定最佳超时。
在并发连接1004(1)-(n)上,可使用可变超时(Ti)。最佳超时可例如本文针对图8所述来确定,也就是说,如果并发连接1004(1)-(n)被中断,则Ti将减少,以及如果它仍然是存活的,则Ti将增加,直至它以所需精度收敛到最佳。AOAC应用可通过比较主连接1002和并发连接1004(1)-(n)上接收的数据,来导出关于并发连接1004(1)-(n)是被中断还是存活的信息。如果在主连接1002上而不是在并发连接1004(1)-(n)上接收到一些数据更新,则这指示并发连接1004(1)-(n)被中断,以及如果在连接1002、1004(1)-(n)上均接收到相同更新,则这指示并发连接1004(1)-(n)是存活的。
作为举例,来自远程应用服务器106的任何状态更新(其由客户端平台102在主连接1002上接收而不是在并发连接1004(1)-(n)上接收)指示并发连接1004(1)-(n)被中断。例如,如果远程应用服务器106是邮件服务器并且新邮件的指示在新邮件到达时被发送给客户端平台102,则新邮件的指示应当在主连接1002上接收。如果新邮件指示在并发连接1004(1)-(n)上接收,则并发连接1004(1)-(n)是存活的,如果它没有被接收,则并发连接1004(1)-(n)是死的。通过监测和比较主1002与并发连接1004(1)-(n)上接收的数据,客户端平台102能够导出并发连接的哪一个是死的。
虽然本公开使用两个并发连接来描述系统和方法,但是它能够易于扩展到各以不同超时值并行运行的多个(2个以上)连接,以及随着并发连接的数量增加,到最佳超时值的收敛时间将更快。
(d) 使用主动探测来确定连接超时(TN)
如本文所述,TN表示沿从客户端平台到远程应用服务器的通信路径的任何通信设备(例如网络地址转换“NAT”框)的最小超时。当TN到期时,网络管道“被阻塞”,即使远程应用服务器仍然维持会话和客户端状态,但是客户端平台不再是远程应用服务器可达的。
客户端平台发起的握手请求无法用于确定TN,这是因为它会刷新并且重新打开网络管道(例如NAT装置将客户端端口的新条目插入其高速缓存中)。因此,连接超时使用服务器发起的握手(即,由外而内)来测试,其可称作主动探测(主动,是因为它要求AOAC远程应用服务器的主动参与)。
现在来看图11,一般示出用于使用主动探测来确定连接超时的系统1100的一个实施例。具体来说,远程应用服务器106(例如图11中的AOAC 应用1服务器)可配置成在每个超时Ti发送握手请求1102(其送往客户端平台102),并且从客户端平台102接收握手应答1104(其指示网络管道打开)。Ti则可如图8所述来增加。如果在远程应用服务器102没有接收到握手应答1104,则这指示网络管道被阻塞。因此,对于Ti没有接收到握手请求1102的客户端平台102将超时,并且此后将重新建立连接。在Ti没有接收到握手应答1104的远程应用服务器106将确定必须使用Ti的新的较小超时值,并且将在尝试Ti的较小值之前等待直到客户端平台102重新建立与远程应用服务器106的连接,例如,如图8所述。
AOAC推送服务器(例如,但不限于Apple Push Notification Service (APNS)™和Intel AppUp push server™)聚合来自不同应用服务器的数据更新(例如,但不限于,APNS将聚合电子邮件更新、Facebook™更新、Linkedin™更新等),以便优化对客户端平台102的传输。在这些实施例中,推送服务器可确定对如本文所述的客户端平台的网络超时TN。应当注意,无论服务器是否充当数据聚合器,服务器均能够通过向客户端(其如所述将采用握手应答进行应答)发送握手请求,来参与主动探测。
(e) 使用被动监听来确定连接超时(TN)
为了发现TN,客户端平台还能够使用“被动监听”。系统和方法仅要求对客户端平台的变更;但是,被动监听可具有较慢收敛时间以查找最佳保持存活周期。如本文所述,被动监听不要求来自推送服务器的任何协作。
来看图12,一般示出一个实施例,该实施例示出用于使用被动监听来确定超时Ti的操作的流程图1200。超时Ti可初始化成例如缺省值或者基于历史数据的值(操作1202),并且当前超时设置为Ti(操作1204)。客户端平台可通过被动监测数据传递故障,来检测连接已经超时并且已经中断(操作1206)。当客户端平台正测试Ti的保持存活超时值而不是只发送保持存活消息时,客户端平台在每个Ti重新建立连接(操作1208),以及所接收的新应用数据将指示连接已经中断(操作1210)。因此,必须测试Ti的新的较小值(操作1212),例如图8所述。
相比之下,如果客户端平台没有接收到任何新应用数据(操作1214),则这不一定表示连接是存活的并且尚未中断。例如,因为从远程应用服务器接收到推送数据是数据相关的,所以远程应用服务器在最后保持存活周期Ti期间可能没有任何新数据要发送给客户端平台。但是,每次在没有接收到新数据的情况下重新建立连接增加在这个超时尚未阻塞连接的概率。
作为举例,假定AOAC应用是电子邮件应用并且客户端平台执行与电子邮件服务器的被动监听方式,当连接被中断时,所接收的送往客户端平台的任何新电子邮件将不会传递(推送)给客户端平台,以及仅当客户端平台又重新连接回到远程应用服务器时,新电子邮件才将被传递。当客户端平台连接到远程应用服务器时,如果它找到尚未传递的新电子邮件,则客户端平台可确定Ti较大并且应当减小。另一方面,如果客户端平台连接到远程应用服务器并且没有找到新电子邮件,则客户端平台不确定连接是否中断,这是因为连接可能已经中断,但是没有新电子邮件到达并且因此远程应用服务器没有设法联络客户端平台。但是,对于每次客户端平台进行连接并且没有新的电子邮件,则连接是存活的置信度增加。如果客户端平台以值Ti连接到远程应用服务器例如1000次,并且每次都不存在新电子邮件,则客户端平台可变得非常确信Ti不大。
客户端平台将保持测试当前Ti,直到取得了关于连接存活的足够置信度(操作1216和1218)。置信度值取决于应用。例如,AOAC越“健谈(chatty)”,则建立置信度需要更少的尝试数。例如,Facebook™中的“好友列表”越大,则存在预计更多数据和更新的增加似然性。相反,如果在Facebook™的“好友列表”中仅列示一个好友,则存在如下低概率:每当连接到远程应用服务器时,存在来自这个好友的新更新/消息。相应地,置信度可与应用的预计更新速率成比例。如果预计AOAC应用具有许多更新,并且它进行连接但没有找到更新,则连接存活的概率较高,并且建立足够置信度需要较少连接尝试。
一旦取得置信度,则能够测试Ti的较长值(操作1220),例如图8所述。因此,收敛时间可以较慢。
如图12所示,对于每个新连接超时值的测试次数的数目与Ti成反比,这是因为随着Ti增加,应当由服务器推送了新数据的概率增加,并且因此需要检查更少次数。具体来说,R表示每个Ti的重试次数,此后客户端平台能够断言Ti不是过大,并且能够增加。因此,R与Ti成反比,以及K可被认为是比例常数。如本文所述,重试次数(并且因此R和K的值)可以是AOAC应用特定的,并且可与应用的预计数据更新速率相关。
在连接重新建立之后所接收的新数据可能是例如与服务器同步的AOAC电子邮件客户端,以及下载电子邮件,其应当由服务器或者IM客户端(该服务器或者IM客户端接收关于因为客户端离线、所以尚未传递消息的指示)来推送。
作为举例,AOAC应用(例如AOAC电子邮件应用)在每个Ti对电子邮件服务器检查是否具有电子邮件。如果Ti较短(例如每隔10分钟进行检查),则关于客户端平台在前10分钟期间接收到电子邮件的概率不是很高,并且客户端平台必须在客户端平台确信Ti=10分钟没有引起连接中断之前多次进行检查(例如检查100次)。另一方面,如果Ti较长(例如每隔10小时进行检查),则关于客户端平台在前10小时期间接收到电子邮件的概率要高许多。在这种情况下,客户端平台不需要如此经常重复检查。例如,检查10次(而不是100次)可足以建立置信度。如本文所述,重试次数(R和K)将取决于AOAC应用。例如,电子邮件应用可比股票具有要少许多的更新。因此,了解AOAC应用的预计数据更新速率可指示构建足够置信度需要多少重试。
(f) 重新评估超时值
TN和Ti可能必须基于各种条件来重新评估,例如将新AOAC应用添加到AOAC使能应用列表(即,开始运行于客户端平台上)、客户端平台连接到新网络等。这些只是可能引起超时的重新评估的几个条件。
(2) 保持存活消息对齐:
如本文所述,客户端平台可配置成合并保持存活消息,以便增加客户端平台(例如NIC)的能量效率。客户端平台可包括传输代理,其配置成对齐来自两个或更多AOAC应用的保持存活消息的传输作为一个突发,其中两个突发之间的时间等于AOAC应用X的最小保持存活周期。因此,客户端平台可对两个突发之间的时间保持在低功率状态。
参照图13A和图13B,假定AOAC应用Y具有保持存活超时T1Y,(并且不失一般性)T1Y大于与AOAC应用X关联的最小保持存活超时Tx,AOAC应用Y的周期性(即,PY)能够定义为:
PY=T1YTx
客户端平台的传输代理则可在每个新超时周期T2Y发送AOAC应用Y的保持存活消息,其中T2Y=PY·Tx。因此,所有AOAC应用的保持存活消息可对齐到AOAC应用X的最小超时的多个周期。因此,客户端平台对于TX的时长可进入低功率状态。
应当注意,任何AOAC应用的新推导超时值将始终小于或等于其原始超时值。因此,以新速率发送保持存活消息将始终保证这个AOAC应用的AOAC客户端平台将连接到远程应用服务器。
相应地,本公开的一个实施例包含用于与所使用网络拓扑(例如,如具有和/或没有网络通信装置 无关地自适应确定保持存活消息的最小/最佳超时值的系统。该系统还可通过使保持存活消息的传输之间的时间为最大并且合并传输,来使客户端平台的唤醒之间的时间为最大。因此,客户端平台可维持与一个或多个远程应用服务器的连通性,同时增加客户端平台的总体能量效率(其因此可增加电池使用寿命)。系统可在每当客户端平台改变网络或者检测到应用错误时,重新评估连通性参数。因此,一个或多个AOAC应用能够对用户透明地维持到一个或多个远程应用服务器的连通性,而不管客户端平台所在的位置、所使用网络的类型(例如无线、有线等)或者网络的位置(例如家庭、工作热点等)。
在一个方面,客户端平台(例如NIC和/或连接代理)可通过动态检测保持存活握手的最大周期(其包括检测网络变更以适配保持存活消息的周期),来动态维持与一个或多个远程应用服务器的应用/服务存在。客户端平台(例如NIC和/或连接代理)可使用专有保持存活握手、并发连接、主动探测和/或被动监听,来动态检测保持存活握手的最大周期。客户端平台(例如NIC和/或连接代理)还可对齐来自多个AOAC应用的所传送保持存活消息,以便使客户端平台停留在低功率状态的时长为最大。
按照一个方面,本公开包含用于确定定时间隔Ti的方法。该方法包括:将超时(Ti)的值选择成最大超时(Tmax)与最小超时(Tmin)之间的值;以基于Ti的间隔跨客户端平台(其运行始终开启、始终连接(AOAC)应用)与远程应用服务器(其与该AOAC应用关联)之间的网络连接来传送保持存活消息;检查网络连接的状态;如果网络连接仍然是活动的,则增加Tmin的值;以及如果网络连接已经中断,则减小Tmax的值。
按照另一方面,本公开包含具有指令存储其上的计算机可读非暂时介质,指令在由处理器运行时使处理器执行下列操作:以基于超时(Ti)的值的间隔跨客户端平台(其运行始终开启、始终连接(AOAC)应用)与远程应用服务器(其与该AOAC应用关联)之间的网络连接来传送保持存活消息,其中Ti具有最大超时(Tmax)与最小超时(Tmin)之间的值;检查网络连接的状态;如果网络连接仍然是活动的,则增加Tmin的值;以及如果网络连接已经中断,则减小Tmax的值。
按照又一方面,本公开包含客户端平台系统,其包括:主机系统,配置成工作在第一功率状态和低功率状态;网络接口卡(NIC),配置成建立主机系统与关联远程应用服务器之间的通信链路;以及存储器。主机系统配置成在处于第一功率状态中的同时运行至少一个始终开启、始终连接(AOAC)应用。NIC配置成当主机保持在低功率状态的同时,以超时间隔Ti向远程应用服务器传送保持存活消息。保持存活消息配置成当主机系统处于低功率状态的同时,维持AOAC应用与远程应用服务器连通性和存在。存储器配置成当主机系统保持在低功率状态的同时,存储保持存活消息并且是NIC可访问的。客户端平台系统还配置成当客户端平台系统处于第一功率状态的同时,通过下列操作,来迭代地确定超时间隔Ti:以基于超时(Ti)的值的间隔跨客户端平台与远程应用服务器之间的网络连接来传送保持存活消息,其中Ti具有最大超时(Tmax)与最小超时(Tmin)之间的值;检查网络连接的状态;如果网络连接仍然是活动的,则增加Tmin的值;如果网络连接已经中断,则减小Tmax的值;以及对于高达最大预定迭代次数,重复进行前面的步骤,或者重复进行前面的步骤直到Ti的两个继起值之间的差处于阈值之内。
如本文的任何实施例所使用的“电路”可包括例如单一或者任何组合的硬连线电路、可编程电路、状态机电路和/或其存储由可编程电路运行的指令的固件。
本文采用的术语和表达用作描述而非限制性方面,并且在使用这类术语和表达时,不是要排除所示和所述特征(或者它们的一部分)的任何等同体,并且要知道,在权利要求书的范围之内,各种修改是可能的。因此,权利要求书意在涵盖所有这类等效方案。
Claims (28)
1.一种计算机实现方法,包括:
a. 将超时(Ti)的值选择为最大超时(Tmax)与最小超时(Tmin)之间的值;
b. 以基于Ti的间隔、跨运行始终开启始终连接(AOAC)应用的客户端平台与关联所述AOAC应用的远程应用服务器之间的网络连接,来传送保持存活消息;
c. 检查所述网络连接的状态;
d. 如果所述网络连接仍然是活动的,则增加Tmin的值;以及
e. 如果所述网络连接已经中断,则减小Tmax的值,
其中,所述方法还包括:相对于直到最大预定迭代次数重复进行(a)-(e),或者重复进行(a)-(e)直到Ti的两个继起值之间的差处于阈值之内。
2.如权利要求1所述的方法,还包括,如果先前网络连接已经中断,则建立所述客户端平台与所述远程应用服务器之间的新网络连接状态。
3.如权利要求1所述的方法,还包括初始化Tmax的值和Tmin的值,其中Tmax的初始值基于与所述网络连接关联的历史数据或者TCP缺省会话超时,并且其中Tmin的初始值基于与所述网络连接关联的历史数据或者网络地址转换(NAT)装置超时。
4.如权利要求3所述的方法,其中,在所述网络连接仍然是活动时增加Tmin的值包括将Tmin增加到当前超时Ti;以及
其中在所述网络连接已经中断时减小Tmax的值包括将Tmax减小到所述当前超时Ti。
5.如权利要求1所述的方法,其中,所述网络连接的所述状态基于所述客户端平台是否从所述远程应用服务器接收到握手应答来检查。
6.如权利要求1所述的方法,还包括:
建立所述客户端平台与所述远程应用服务器之间的主网络连接;
建立所述客户端平台与所述远程应用服务器之间的至少一个并发网络连接;
其中在步骤(b)中的所述保持存活消息跨所述至少一个并发网络连接来传送;以及
其中通过比较所述主网络连接上所接收的数据和所述至少一个并发网络连接上所接收的数据,在步骤(c)中检查所述至少一个并发网络连接的所述状态。
7.如权利要求6所述的方法,还包括:
建立并行地运行的多个并发连接,所述多个并发连接的每个以不同的超时值进行操作。
8.如权利要求6所述的方法,还包括使用缺省工作保持存活超时T主、跨所述主网络连接来传送保持存活消息,所述缺省超时T主固定,直到确定所述至少一个并发网络连接上的Ti的最终值。
9.如权利要求1所述的方法,其中,在步骤(b)中的所述保持存活消息在每个超时Ti跨所述网络连接从所述远程应用服务器传送给所述客户端平台。
10.如权利要求9所述的方法,还包括:
如果所述远程应用服务器从所述客户端平台接收到握手应答,则增加Ti;以及
如果所述远程应用服务器没有从所述客户端平台接收到握手应答,则减小Ti。
11.一种用于确定传送频率以维持远程应用服务器连通性的设备,包括:
a. 用于以基于超时(Ti)的值的间隔、跨运行始终开启始终连接(AOAC)应用的客户端平台与关联所述AOAC应用的远程应用服务器之间的网络连接来传送保持存活消息的部件,其中Ti具有最大超时(Tmax)与最小超时(Tmin)之间的值;
b. 用于检查所述网络连接的状态的部件;
c. 用于如果所述网络连接仍然是活动的,则增加Tmin的值的部件;以及
d. 用于如果所述网络连接已经中断,则减小Tmax的值的部件,
其中,所述设备还包括:用于指示用于传送的所述部件、用于检查的所述部件、用于增加的所述部件和用于减小的所述部件相对于直到最大预定迭代次数重复其相应动作,或者重复其相应动作直到Ti的两个继起值之间的差处于阈值之内的部件。
12.如权利要求11所述的设备,
其中,用于在所述网络连接仍然是活动时增加Tmin的值的所述部件将Tmin的值增加到当前超时Ti;以及
其中,用于在所述网络连接已经中断时减小Tmax的值的所述部件将Tmax的值减小到所述当前超时Ti。
13.如权利要求11所述的设备,其中,所述网络连接的所述状态基于所述客户端平台是否从所述远程应用服务器接收到握手应答来检查。
14.如权利要求11所述的设备,还包括:
用于建立所述客户端平台与所述远程应用服务器之间的主网络连接的部件;
用于建立所述客户端平台与所述远程应用服务器之间的至少一个并发网络连接的部件;
其中(a)的所述保持存活消息跨所述至少一个并发网络连接来传送;以及
其中用于检查所述网络连接的所述状态的所述部件通过比较所述主网络连接上所接收的数据和所述至少一个并发网络连接上所接收的数据,来检查(b)的所述至少一个并发网络连接。
15.如权利要求14所述的设备,还包括:
用于建立并行地运行的多个并发连接的部件,所述多个并发连接的每个以不同的超时值进行操作。
16.如权利要求14所述的设备,还包括:
用于使用缺省工作保持存活超时T主、跨所述主网络连接来传送保持存活消息的部件,所述缺省超时T主固定,直到确定所述至少一个并发网络连接上的Ti的最终值。
17.如权利要求11所述的设备,其中,(b)的所述保持存活消息在每个超时Ti跨所述网络连接从所述远程应用服务器传送给所述客户端平台。
18.如权利要求17所述的设备,还包括:
用于如果所述远程应用服务器从所述客户端平台接收到握手应答,则增加Ti的部件;以及
用于如果所述远程应用服务器没有从所述客户端平台接收到握手应答,则减小Ti的部件。
19.一种客户端平台系统,包括:
主机系统,其配置成工作在第一功率状态和低功率状态,所述主机系统还配置成在处于所述第一功率状态时运行至少一个始终开启始终连接(AOAC)应用;
配置成建立所述主机系统与关联远程应用服务器之间的通信链路的电路,所述电路还配置成当所述主机保持在所述低功率状态时以超时间隔Ti向所述远程应用服务器传送保持存活消息,所述保持存活消息配置成当所述主机系统处于所述低功率状态时维持所述AOAC应用与所述远程应用服务器的连通性和存在;以及
存储器,其配置成存储所述保持存活消息,所述存储器配置成当所述主机系统保持在所述低功率状态时是网络接口卡(NIC)可访问的,
其中所述客户端平台系统还配置成当所述客户端平台系统处于所述第一功率状态时通过下列步骤来迭代地确定所述超时间隔Ti:
a.以基于超时(Ti)的值的间隔、跨所述客户端平台与所述远程应用服务器之间的网络连接来传送保持存活消息,其中Ti具有最大超时(Tmax)与最小超时(Tmin)之间的值;
b.检查所述网络连接的状态;
c.如果所述网络连接仍然是活动的,则增加Tmin的值;
d.如果所述网络连接已经中断,则减小Tmax的值;以及
相对于直到最大预定迭代次数重复进行(a)-(d),或者重复进行(a)-(d)直到Ti的两个继起值之间的差处于阈值之内。
20.如权利要求19所述的客户端平台系统,
其中,如果所述网络连接仍然是活动的,则增加Tmin的值包括将Tmin增加到当前超时Ti;以及
其中如果所述网络连接已经中断则减小Tmax的值包括将Tmax减小到所述当前超时Ti。
21.一种具有指令存储其上的计算机可读非暂时介质,所述指令在由处理器运行时使所述处理器:
a. 以基于超时(Ti)的值的间隔、跨运行始终开启、始终连接(AOAC)应用的客户端平台与关联所述AOAC应用的远程应用服务器之间的网络连接来传送保持存活消息,其中Ti具有最大超时(Tmax)与最小超时(Tmin)之间的值;
b. 检查所述网络连接的状态;
c. 如果所述网络连接仍然是活动的,则增加Tmin的值;以及
d. 如果所述网络连接已经中断,则减小Tmax的值。
22.如权利要求21所述的介质,
其中,在所述网络连接仍然是活动时增加Tmin的值包括将Tmin增加到当前超时Ti的指令;以及
其中在所述网络连接已经中断时减小Tmax的值包括将Tmax减小到所述当前超时Ti的指令。
23.如权利要求21所述的介质,其中,所述网络连接的所述状态基于所述客户端平台是否从所述远程应用服务器接收到握手应答来检查。
24.如权利要求21所述的介质,还包括指令,所述指令用于:
建立所述客户端平台与所述远程应用服务器之间的主网络连接;
建立所述客户端平台与所述远程应用服务器之间的至少一个并发网络连接;
其中(a)的所述保持存活消息跨所述至少一个并发网络连接来传送;以及
其中检查所述网络连接的所述状态包括通过比较所述主网络连接上所接收的数据和所述至少一个并发网络连接上所接收的数据,来检查(b)的所述至少一个并发网络连接。
25.如权利要求24所述的介质,还包括指令,所述指令用于:
建立并行地运行的多个并发连接,所述多个并发连接的每个以不同的超时值进行操作。
26.如权利要求24所述的介质,还包括指令,所述指令用于使用缺省工作保持存活超时T主、跨所述主网络连接来传送保持存活消息,所述缺省超时T主固定,直到确定所述至少一个并发网络连接上的Ti的最终值。
27.如权利要求21所述的介质,其中,(b)的所述保持存活消息在每个超时Ti跨所述网络连接从所述远程应用服务器传送给所述客户端平台。
28.如权利要求27所述的介质,还包括指令,所述指令用于:
如果在所述远程应用服务器从所述客户端平台接收到握手应答,则增加Ti;以及
如果在所述远程应用服务器没有从所述客户端平台接收到握手应答,则减小Ti。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/175,778 | 2011-07-01 | ||
US13/175778 | 2011-07-01 | ||
US13/175,778 US8566625B2 (en) | 2011-07-01 | 2011-07-01 | System and method for determining transmitting frequency to maintain remote application server connectivity |
PCT/US2012/045135 WO2013006501A1 (en) | 2011-07-01 | 2012-06-29 | System and method for determining transmitting frequency to maintain remote application server connectivity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103748934A CN103748934A (zh) | 2014-04-23 |
CN103748934B true CN103748934B (zh) | 2018-01-19 |
Family
ID=47391916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280038094.0A Active CN103748934B (zh) | 2011-07-01 | 2012-06-29 | 用于确定传送频率以维持远程应用服务器连通性的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8566625B2 (zh) |
EP (1) | EP2727421B1 (zh) |
CN (1) | CN103748934B (zh) |
WO (1) | WO2013006501A1 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098279B2 (en) * | 2010-09-14 | 2015-08-04 | Google Inc. | Methods and systems for data interchange between a network-connected thermostat and cloud-based management server |
US9046898B2 (en) | 2011-02-24 | 2015-06-02 | Google Inc. | Power-preserving communications architecture with long-polling persistent cloud channel for wireless network-connected thermostat |
US8806250B2 (en) | 2011-09-09 | 2014-08-12 | Microsoft Corporation | Operating system management of network interface devices |
US8892710B2 (en) | 2011-09-09 | 2014-11-18 | Microsoft Corporation | Keep alive management |
US9049660B2 (en) | 2011-09-09 | 2015-06-02 | Microsoft Technology Licensing, Llc | Wake pattern management |
JP5706289B2 (ja) * | 2011-09-30 | 2015-04-22 | 株式会社東芝 | 通信装置、通信方法及びプログラム |
TWI430614B (zh) * | 2011-10-21 | 2014-03-11 | Realtek Semiconductor Corp | 網路裝置、應用於網路裝置之網路通知裝置以及網路通知方法 |
US8830868B2 (en) * | 2012-01-30 | 2014-09-09 | Texas Instruments Incorporated | Keep alive message overhead reduction for communication networks |
US9253019B1 (en) * | 2012-03-09 | 2016-02-02 | Juniper Networks, Inc. | Fault tolerance for authentication, authorization, and accounting (AAA) functionality |
EP2832042A4 (en) * | 2012-03-27 | 2015-12-23 | Ericsson Telefon Ab L M | COMMON KEEP ALIVE AND ERROR RECOGNITION MECHANISMS IN A DISTRIBUTED NETWORK |
US8868415B1 (en) * | 2012-05-22 | 2014-10-21 | Sprint Spectrum L.P. | Discontinuous transmission control based on vocoder and voice activity |
WO2014010761A1 (en) * | 2012-07-10 | 2014-01-16 | Empire Technology Development Llc | Push management scheme |
IN2015DN00299A (zh) * | 2012-07-13 | 2015-06-12 | Zte Corp | |
US9756089B2 (en) * | 2012-08-28 | 2017-09-05 | Facebook, Inc. | Maintain persistent connections between servers and mobile clients |
US9554366B2 (en) | 2012-08-31 | 2017-01-24 | Qualcomm Incorporated | Optimized always-on wireless service using network assistance and keep-alives |
US8874761B2 (en) * | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US9645621B2 (en) * | 2013-02-15 | 2017-05-09 | Silicon Laboratories Inc. | Single-pin command technique for mode selection and internal data access |
TWI483603B (zh) * | 2013-03-08 | 2015-05-01 | 宏碁股份有限公司 | 維持連線方法及應用該方法之電子裝置 |
JP6106494B2 (ja) * | 2013-03-29 | 2017-03-29 | 株式会社東芝 | 通信制御装置、サーバ装置、通信システム及びプログラム |
CN104104647B (zh) * | 2013-04-02 | 2018-02-06 | 宏碁股份有限公司 | 维持连线方法 |
US9510217B2 (en) * | 2013-05-28 | 2016-11-29 | Qualcomm Incorporated | Method and apparatus for enhanced application signaling from a wireless communications device |
KR20150011737A (ko) * | 2013-07-22 | 2015-02-02 | 삼성전자주식회사 | 전자 장치, 원격 제어 장치, 구동 제어 방법 및 컴퓨터 판독가능 기록매체 |
WO2015012567A1 (en) * | 2013-07-22 | 2015-01-29 | Samsung Electronics Co., Ltd. | Remotely controllable electronic device and system including the same |
US9400634B2 (en) * | 2013-10-28 | 2016-07-26 | Google Technology Holdings LLC | Systems and methods for communicating notifications and textual data associated with applications |
US9743458B2 (en) * | 2013-11-06 | 2017-08-22 | Google Technology Holdings LLC | Adaptive crowdsourced keep-alive interval determination |
KR101552170B1 (ko) * | 2014-02-27 | 2015-09-11 | 주식회사 티맥스 소프트 | 더미 http를 이용한 연결 관리 방법 및 그 장치 |
US10298694B1 (en) * | 2014-07-01 | 2019-05-21 | Juniper Networks, Inc. | Flow timeout control within a network |
JP6193185B2 (ja) * | 2014-07-09 | 2017-09-06 | 株式会社東芝 | 通信装置、端末装置およびプログラム |
TWI577154B (zh) * | 2014-10-31 | 2017-04-01 | 宏碁股份有限公司 | 保持遠端連線方法、電子裝置與伺服器 |
CN105656846B (zh) * | 2014-11-12 | 2019-01-08 | 宏碁股份有限公司 | 保持远端连接方法、电子装置与服务器 |
TWI549449B (zh) * | 2014-11-12 | 2016-09-11 | 宏碁股份有限公司 | 網路連線維護方法及電腦系統 |
US9690738B2 (en) | 2015-01-16 | 2017-06-27 | Qualcomm Incorporated | Peripheral component interconnect express (PCIe) hosts adapted to support remote PCIe endpoints |
TWI577162B (zh) * | 2015-02-11 | 2017-04-01 | 宏碁股份有限公司 | 維持傳輸控制協定連線的方法及電腦系統 |
JP6319152B2 (ja) * | 2015-03-25 | 2018-05-09 | コニカミノルタ株式会社 | 画像処理システム、画像処理装置、指示サーバー、およびプログラム |
CN106302571B (zh) | 2015-05-14 | 2020-07-28 | 微软技术许可有限责任公司 | 用于对服务器连接进行维护和高速缓存的系统和方法 |
WO2016182637A1 (en) * | 2015-05-14 | 2016-11-17 | Microsoft Technology Licensing, Llc | Maintaining and caching server connections |
US10117289B2 (en) * | 2015-06-05 | 2018-10-30 | Apple Inc. | Maintaining network connections for background applications |
US10505869B2 (en) * | 2015-08-04 | 2019-12-10 | International Business Machines Corporation | Mimicking a presence notification from an application executing on a virtual component to optimize computing resource allocation/utilization |
EP3395097B1 (en) * | 2015-12-23 | 2019-08-07 | Telefonaktiebolaget LM Ericsson (publ) | Traffic characteristic indication for connection establishment control |
CN108141901B (zh) * | 2016-01-28 | 2020-11-03 | 华为技术有限公司 | 控制服务连接的方法和终端 |
WO2017210208A1 (en) | 2016-05-31 | 2017-12-07 | Brocade Communications Systems, Inc. | Keepalive technique in a network device |
WO2017222937A1 (en) | 2016-06-20 | 2017-12-28 | Senseonics, Incorporated | Communication between devices using a wireless communication protocol |
CN109526043A (zh) * | 2017-09-19 | 2019-03-26 | 北京搜狗科技发展有限公司 | 一种应用程序的设置方法及装置 |
US11089114B1 (en) * | 2017-09-29 | 2021-08-10 | Amazon Technologies, Inc. | Message frequency modification for connection maintenance |
US10816597B2 (en) | 2017-12-08 | 2020-10-27 | Silicon Laboratories Inc. | Single pin test interface for pin limited systems |
KR102580786B1 (ko) * | 2018-02-05 | 2023-09-20 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
CN110557263B (zh) * | 2018-05-31 | 2021-08-03 | 华为技术有限公司 | 待机控制方法、系统、终端设备和中继设备 |
US11013047B2 (en) * | 2018-06-01 | 2021-05-18 | Apple Inc. | Adaptive wide area network link assessment |
US10891179B2 (en) * | 2018-10-22 | 2021-01-12 | Western Digital Technologies, Inc. | Data storage device with deadlock recovery capabilities |
US11252263B2 (en) * | 2019-06-28 | 2022-02-15 | The Regents Of The University Of California | Method and apparatus for efficient communication packet generation in internet of things (IOT) |
CN110430329A (zh) * | 2019-07-26 | 2019-11-08 | 深圳市潮流网络技术有限公司 | 呼叫方法和装置、计算机可读存储介质 |
US11503665B2 (en) | 2020-06-02 | 2022-11-15 | Apple Inc. | Apparatus and methods for efficient link disconnection determination |
US12009984B2 (en) * | 2020-09-23 | 2024-06-11 | Nokia Solutions And Networks Oy | Targeted neighbor discovery for border gateway protocol |
US11915010B2 (en) * | 2022-03-28 | 2024-02-27 | Microsoft Technology Licensing, Llc | Cross-platform multi-transport remote code activation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1151551A (zh) * | 1995-10-10 | 1997-06-11 | 国际商业机器公司 | 动态改变低级文件系统操作超时参数的系统和方法 |
CN101208969A (zh) * | 2005-05-20 | 2008-06-25 | 微软公司 | 用于根据网络条件最优化网络通信的系统和方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678728B1 (en) | 1999-12-03 | 2004-01-13 | 3Com Corporation | Method and apparatus for automatically loading device status information into a network device |
US7590840B2 (en) | 2003-09-26 | 2009-09-15 | Randy Langer | Method and system for authorizing client devices to receive secured data streams |
US7483437B1 (en) | 2003-11-20 | 2009-01-27 | Juniper Networks, Inc. | Method of communicating packet multimedia to restricted endpoints |
US7460556B2 (en) * | 2005-02-17 | 2008-12-02 | International Business Machines Corporation | Autonomic adjustment of connection keep-alives |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
GB0526029D0 (en) | 2005-12-21 | 2006-02-01 | Nokia Corp | Managing connections in a wireless communications network |
US7729357B2 (en) * | 2006-06-20 | 2010-06-01 | General Instrument Corporation | Method and apparatus for enabling a network device to asynchronously access a set top box in a way that conserves network bandwidth |
US8693407B2 (en) | 2006-09-11 | 2014-04-08 | Qualcomm Incorporated | Method and apparatus for keep-alive bits transmission |
US7779282B2 (en) | 2006-12-29 | 2010-08-17 | Intel Corporation | Maintaining network connectivity while operating in low power mode |
US7693084B2 (en) * | 2007-02-28 | 2010-04-06 | Microsoft Corporation | Concurrent connection testing for computation of NAT timeout period |
US8369254B2 (en) | 2007-06-28 | 2013-02-05 | Intel Corporation | Network interface apparatus |
US20090205038A1 (en) | 2008-02-08 | 2009-08-13 | Microsoft Corporation | Enabling Wake on LAN Behind NATs and Firewalls |
US8510577B2 (en) | 2008-07-28 | 2013-08-13 | Microsoft Corporation | Reducing power consumption by offloading applications |
US20100039971A1 (en) | 2008-08-15 | 2010-02-18 | Hong Kong Applied Science and Technology Research Institute, Co. | Power Management Method and Communication System |
US20100058082A1 (en) | 2008-08-27 | 2010-03-04 | Lenovo (Singapore) Ple., Ltd. | Maintaining network link during suspend state |
US9521625B2 (en) | 2008-09-15 | 2016-12-13 | Apple Inc. | Electronic devices for receiving pushed data |
US9104406B2 (en) | 2009-01-07 | 2015-08-11 | Microsoft Technology Licensing, Llc | Network presence offloads to network interface |
US8375134B2 (en) * | 2009-06-08 | 2013-02-12 | Microsoft Corporation | Determining an efficient keep-alive interval for a network connection |
US9313800B2 (en) | 2009-06-23 | 2016-04-12 | Nokia Technologies Oy | Method and apparatus for optimizing energy consumption for wireless connectivity |
US8065419B2 (en) * | 2009-06-23 | 2011-11-22 | Core Wireless Licensing S.A.R.L. | Method and apparatus for a keep alive probe service |
US8239698B2 (en) | 2011-07-01 | 2012-08-07 | Intel Corporation | System and method for maintaining connectivity to remote application servers |
US8806250B2 (en) * | 2011-09-09 | 2014-08-12 | Microsoft Corporation | Operating system management of network interface devices |
US8307234B2 (en) | 2012-01-14 | 2012-11-06 | Intel Corporation | Maintaining connectivity during low power operation |
-
2011
- 2011-07-01 US US13/175,778 patent/US8566625B2/en active Active
-
2012
- 2012-06-29 CN CN201280038094.0A patent/CN103748934B/zh active Active
- 2012-06-29 WO PCT/US2012/045135 patent/WO2013006501A1/en active Application Filing
- 2012-06-29 EP EP12807545.4A patent/EP2727421B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1151551A (zh) * | 1995-10-10 | 1997-06-11 | 国际商业机器公司 | 动态改变低级文件系统操作超时参数的系统和方法 |
CN101208969A (zh) * | 2005-05-20 | 2008-06-25 | 微软公司 | 用于根据网络条件最优化网络通信的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2727421A1 (en) | 2014-05-07 |
WO2013006501A1 (en) | 2013-01-10 |
CN103748934A (zh) | 2014-04-23 |
EP2727421B1 (en) | 2017-04-26 |
US20130007484A1 (en) | 2013-01-03 |
US8566625B2 (en) | 2013-10-22 |
EP2727421A4 (en) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103748934B (zh) | 用于确定传送频率以维持远程应用服务器连通性的系统和方法 | |
EP2726957B1 (en) | System and method for maintaining connectivity to remote application servers | |
CN104040970B (zh) | 用于在低功率操作期间维持连接性的系统和方法 | |
US8068433B2 (en) | Low power operation of networked devices | |
CN103051468B (zh) | 网络接口设备的操作系统管理 | |
US9247495B2 (en) | Power saving Wi-Fi tethering | |
EP2479925B1 (en) | Dynamic power management in a communications device | |
BRPI0918676B1 (pt) | Conservação de energia em dispositivos de comunicação ponto-a-ponto | |
WO2006038094A1 (en) | Distributed link-layer wake-up agent system, method and device for universal plug and play function with lower power proxy | |
EP2856698B1 (en) | Network presence offload | |
EP3414952B1 (en) | Power-aware network communication | |
Bolla et al. | Improving smartphones battery life by reducing energy waste of background applications | |
JP2009124463A (ja) | 無線通信装置および方法 | |
CN104904184A (zh) | 将通信事件分批 | |
Gobriel et al. | A EEAOC: Energy Efficient Always-On-Connectivity Architecture | |
CN117896809A (zh) | 低功耗的数据链路层协议的实现方法及应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |