NAT连接状态保活的成本降低

申请号 CN200880008253.6 申请日 2008-02-21 公开(公告)号 CN101632269A 公开(公告)日 2010-01-20
申请人 微软公司; 发明人 S·赫佐格;
摘要 用于NAT设备的并且降低无线客户机中的 能量 消耗的保活处理。 服务器 驱动的保活机制方便将保活消息发送到当前向移动客户机提供连接的NAT设备以刷新NAT状态,由此降低或消除无线设备中使用保活分组来对该连接作出响应的能量消耗。在一个实例中,保活分组被发送给NAT设备以复位NAT超时 定时器 ,并接着被发送给移动客户机。仅当在客户机处未接收到预期保活分组时客户机才作出响应。在另一实例中,保活分组复位NAT定时器以维持连接,但是在其到达移动客户机之前被丢弃或自销毁,由此在移动设备内提供最佳能量保存。由此,客户未被强制进行由此消耗 电池 的额外的客户机活动来发送或接收无线数据。
权利要求

1.一种方便连接管理的计算机实现的系统(100),包括: 用于维持内部网络的专用客户机和外部网络之间的连接的边界组件(102);以及 所述外部网络的用于将保活分组发送给所述边界组件的网络组件(104),所述边界组件基于所述保活分组维持到所述专用客户机的连接。
2. 如权利要求l所述的系统,其特征在于,网络组件是所述外部网络的服务 器,所述网络组件将所述保活分组发送给所述边界组件以复位所述边界组件的保活 超时计数器。
3. 如权利要求l所述的系统,其特征在于,所述专用客户机在接收到所述保 活分组之后不向所述网络组件作出响应。
4. 如权利要求l所述的系统,其特征在于,当在所述专用客户机处未接收到 所述保活分组时,所述专用客户机对所述网络组件作出响应。
5. 如权利要求l所述的系统,其特征在于,所述边界组件丢弃所述保活分组 以使所述分组不能到达所述专用客户机。
6. 如权利要求l所述的系统,其特征在于,所述专用客户机是移动客户机或 无线计算设备。
7. 如权利要求l所述的系统,其特征在于,所述边界组件包括用于将所述外 部网络的IP地址转换成所述内部网络的内部IP地址的网络地址转换。
8. 如权利要求l所述的系统,其特征在于,所述边界组件仅从所述网络组件 接收保活分组。
9. 如权利要求l所述的系统,其特征在于,所述网络组件所发送的所述保活 分组包括协议号、源IP地址、源端口号、目的地IP地址以及目的地端口号。
10. 如权利要求1所述的系统,其特征在于,所述网络组件是方便所述无线 设备的通信的通信服务器,所述无线设备是具有IP能的蜂窝电话,所述通信服 务器询问所述边界组件的增强保活分组处理能力。
11. 一种管理通信连接的计算机实现的方法,包括:经由网络边界设备在外部网络和内部网络的无线设备之间建立IP连接(200); 将来自所述外部网络的保活分组接收到所述网络边界组件中(202); 在接收到所述保活分组时复位连接定时器(204);以及仅基于从所述外部网络接收到所述保活分组,来维持所述外部网络和所述无 线设备之间的经由所述网络边界组件的所述IP连接(206)。
12. 如权利要求11所述的方法,其特征在于,还包括当在所述无线设备处未接收到所述保活分组时,接收来自所述无线设备的响应。
13. 如权利要求ll所述的方法,其特征在于,还包括基于所述保活分组到所 述网络边界设备的传播时间来计算生存时间(TTL)值,并设置所述保活分组中的 TTL值以用于丢弃所述分组。
14. 如权利要求11所述的方法,其特征在于,还包括将所述保活分组配置成 包括NTTL值,所述NTTL值在由所述网络边界组件处理时在所述边界组件处终 止所述保活分组,以使所述无线设备不接收到所述保活分组。
15. 如权利要求11所述的方法,其特征在于,还包括询问作为NAT路由器 的所述网络边界组件以确定所述路由器是否能进行增强保活分组处理,所述处理在 所述保活分组到达所述无线客户机之前丢弃它。
16. 如权利要求ll所述的方法,其特征在于,还包括基于增强保活分组处理 模式的使用来监控所述网络边界组件的IP连接,并基于连接状态中的降低的质量 来自动改为标准保活分组处理模式。
17. 如权利要求11所述的方法,其特征在于,还包括通过从所述外部网络接 收保活分组以维持多个连接的状态来同时管理所述边界组件的对应连接。
18. —种系统,包括:用于在公共网络和专用网络的移动客户机之间建立IP连接的装置(604); 用于将保活分组发送给所述用于建立IP连接的装置(604)的装置(606); 用于在接收到所述保活分组时复位连接定时器的装置(605);以及 用于仅基于从所述用于发送保活分组的装置(606)接收到所述保活分组,来 维持所述外部网络和所述移动客户机之间的经由用于建立所述IP连接的装置 (604)的IP连接的装置(608)。
19. 如权利要求18所述的系统,其特征在于,还包括用于配置所述保活分组 在到达所述移动客户机之前终止的装置。
20. 如权利要求18所述的系统,其特征在于,当未接收到保活分组时所述移 动客户机发送否定确认。

说明书全文

NAT连接状态保活的成本降低

, 背景 '

计算设备和联网的技术进步方便了对各种各样的信息和服务的访问,从而实

际上允许从世界上任何地方进行访问。虚拟办公室变得更加流行,因为需要完成的 工作可以从大多数位置执行。例如,随着居住者购置更多的用于访问网络的通信和 /或计算设备,家庭网络正在变得更加普遍。类似地,企业采用路由器之后的子网 来进行内联网服务。称为网络地址转换(NAT)的技术允许在路由器之后的多个 IP节点共享单个公共IP地址,而非为每一网络设备订购单独的IP地址。换言之,

提供了一种允许将一组未注册的IP地址用于内部网络通信而将另一组IP地址用于 外部或公共通信的标准。这允许屏蔽内部网络地址以免于公共访问(例如经由因特 网)。

NAT路由器例如包括到公共网络的外部接口和到内部网络或域的内部接口。 当分组离开域时,NAT设备将局部源地址转换成全球唯一地址议便用于例如因特 网。当分组从因特网进入域时,NAT路由器将全球唯一地址转换成局部地址。当 域的共享节点发送出站通信时,NAT转发该通信并且在地址映射和/或端口映射数 据库或表中创建该共享节点的反向映射条目。该反向条目被用于将回到域的响应重

定向到正确共享节点。

通常,NAT设备采用具有用于映射状态的可配置超时时间段的超时定时器。 如果特定条自在超过超时时间段内未被入站或出站的通信使用,则NAT定时器期 满并且该条目被清除。 一旦该条目被清除,则NAT之后的共享节点不能再通过该 连接达到,并且必须发起新连接(例如由该共享节点)。防止NAT定时器超时(或 期满)的一种常见机制被称为"保活"或"心跳"处理。在保活机制下,以比NAT 超时时间段短的时间间隔在连接上生成无用通信以复位定时器,并由此保持该连接 活动。在使用电池电源作为主电源的便携式设备(例如智能电话)的情况下,常规 保活技术消耗设备的电池寿命,并且生成大量无线活动以便保持连接活动。

概述

以下呈现了简化概述以提供对此处所描述的某些新颖实施例的基本理解。该

4概述不是的详尽概览,并且它不旨在标识关键/重要的元素,也不旨在描绘其范围。 其唯一目的是以简化形式呈现某些概念,作为之后呈现的更详细描述的序言。

所公开的体系结构提供了一种技术,服务器驱动的保活机制借此方便将保活

消息发送到当前提供到客户机的连接的NAT设备以刷新NAT状态。因此,与例 如连接上的以及专用网中的电池供电的移动设备的能量消耗相关联的成本通过完 全不需要客户机传送保活分组或作出响应而降低了。换言之,服务器方便对当前提 供连接的NAT设备的保活管理,由此降低或消除无线设备中的能量消耗。

在一种方法中,保活分组被发送给NAT设备以复位NAT超时定时器,并且 接着被发送给移动客户机。仅当在客户机处没有接收到预期保活分组时,客户机才 作出响应。在另一种方法中,保活分组复位NAT定时器以维持连接,但是该分组 在到达移动客户机之前被丢弃或自销毁,由此在移动设备中提供最佳能量保存。由 此,客户未被强制进行由此消耗电池的额外的客户机活动来发送或接收无线数据。

在又另一实现中,保活服务器询问NAT设备并确定对该NAT设备采用哪种 方法。此外,可以通过基于连接的当前性能在方法之间进行切换来管理连接保活。

为了达成前述和相关目的,此处结合以下描述和附图描述了所公开的体系结 构的某些说明性方面。然而,这些方面仅指示可采用本发明的原理的各种方式中的 少数几种,且本发明旨在包括所有这样的方面及其等效方式。结合附图考虑以下详 细描述,则本发明的其它优点和新颖特征将变得显而易见。

附图简述

图1示出了方便在网络边界组件中进行保活连接管理的计算机实现的系统。 图2示出了在网络边界组件中管理通信连接的方法。

图3示出了基于服务器对NAT设备的询问来采用类型检测和选择的替换系统。

图4示出了用于管理多个NAT设备连接的系统。 -图5示出了使用NAT设备来维持连接的方法。 图6示出了使用NAT设备和内部设备的NACK来维持连接的方法。 图7示出了在NAT设备处终止分组寿命的方法。 图8示出了基于NAT设备能来选择保活分组处理的方法。 图9示出了基于在NAT设备处连接的成功或失败来在保活分组使用之间进行 切换的方法。 <图IO示出了可用于根据所公开的体系结构执行保活分组处理的计算系统的框图

图11示出了用于根据所公开的体系结构进行保活分组处理的示例性计算环境 的示意框图。

详细描述

本体系结构是用于经由网络地址转换(NAT)组件(例如NAT设备)来保持 外部网络(例如因特网)和专用网络(例如家庭、内联网、移动运营商网络)的可 移动电池供电的设备(例如蜂窝电话、便携式计算机)之间的连接活动的技术。外 部网络(例如服务器)发送保活分组给NAT组件以复位定时器,由此维持通过该 NAT组件的连接。因此,可移动设备无需消耗额外的能量和网络通信来保持连接 活动,由此降低与设备能量消耗和网络通信相关联的成本。

在一个实现中,保活分组通过NAT组件传递给可移动设备。只有设备未能接 收到分组,该设备才响应于外部网络(例如经由VAT组件或经由带外(OOB)信 令)来发送保活分组以维持连接。在另一实现中,保活分组仅被发送给NAT组件, 而不发送给可移动设备。当在NAT组件中使用之后,分组衰减或者被丢弃。因此, 可移动设备完全不消耗能量。

现在参考附图,其中在所有附图中相同的参考标号用于指示相同的元素。在 以下描述中,为了解释起见,阐明了众多具体细节以提供对本发明的彻底理解。然 而,显然,可以在没有这些具体细节的情况下实现各新颖实施例。在其它情况下, 以框图形式示出了公知的结构和设备以便于描述它们。

最初参考附图,图1示出了方便在网络边界组件102中进行连接管理的计算 机实现的系统100。系统100包括用于在异类网络之间转换地址和/或端口的边界组 件102。边界组件102方便内部网络106 (例如具有在RFC 1918中定义的地址的 内部网络106)的专用客户机104和外部网络108 (例如因特网)之间的连接。边 界组件102可以是例如网络地址转换(NAT)设备或网络地址端口转换(NAPT) 设备。如此处所使用的,NAT将用于指NAT和NAPT设备两者。

系统100还可以包括外部网络108的网络保活组件110 (例如服务器、web服 务器、应用服务器),该组件用于将一个或多个单向保活分组发送给边界组件102 并基于该保活分组来维持到专用客户机104的连接。换言之,仅处理从网络组件 110接收到的保活分组以复位边界组件102的超时定时器。在替换实施例中,从网络组件110发送的保活分组由边界组件102来处理,

但是其后衰减或自销毁以使得专用客户机104无需消耗能量来处理该分组。然而, 如果专用客户机104被配置成期望接收保活分组,则未接收到保活分组会触发客户 机104响应,使得发出保活分组的边界组件102和/或网络组件110相应地作出反 应(例如重新发送或发出警报)。

在常规的方法中,保活消息是双向的(执行往返),使得该消息两次"到达 (hit) "NAT设备(例如边界组件102)——一次从客户机(例如专用客户机104) 到服务器(例如网络组件IIO),并接着从服务器到客户机。然而,大量NAT设 备基于来自因特网(例如服务器)的单向消息刷新连接超时状态,只要这些消息反 映出与该连接相关联的适当的5元组(例如协议号、源IP、源端口、目的地IP以 及目的地端口)。这意味着无需来自客户机的确认以证实接收到保活分组,并且由 此降低了电池供电的客户机中的能量消耗。为了保存电池寿命,如果没有接收到服 务器保活消息,则客户机可以执行否定确认(NACK),但是如果接收到保活消息 则保持沉默。

一种增强的改进机制可以完全消除客户机响应的需要(例如消除接收、肯定 确认或否定确认的需要)。因此,保活服务器标识NAT设备(例如经由IP地址), 计算nTTL (生存时间),nTTL是到达设备的最小TTL (例如计算该值的一种简 单方法是将由客户机发送的分组的原始TTL与接收服务器观察到的TTL作比 较——假设路由是对称的,该值表示在反方向上(从服务器到客户机)传递分组所 需的TTL)。服务器将保活消息上的TTL值设置成nTTL-l,使得该分组可能在其 到达客户机之前由于TTI^O而被丢弃。在网际协议(IP)中,分组的TTL值确定 在该分组被丢弃之前应该传播多远(以大约的路由器数目为单位)。每次IP分组 通过路由器处理,其TTL值递减1。最终,当接收到具有TTI^O的分组时,其不 被转发。TTL机制防止旧的或无用的"僵尸"分组在网络上不必要地循环。

将客户机排除在任何干系之外有明显的优点:零客户机电池消耗或保活消息 一的附加传输位也意味着客户机对保活消息的频率不敏感。服务器可以更快地发送保 活消息并改进整体弹性。 -

虽然,在该方法中,没有确认成功的NAT刷新操作的直接机制,但是有线网 络的可靠性如此高以至于实际上无需来自客户机的确认——服务器可以根据"发出 后无需确认(fire-and-forget)"模式来发送保活消息。这在服务器大大增加保活的 频率超过最大NAT超时的情况下更加如此。注意,经由边界组件102 (或在线上)发送的实际应用数据用作对连接状态的隐式确认。此外,此处所描述的保活机制无 需覆盖诸如丢失GPRS (通用分组无线业务)连接等一般连接故障,因为这是由客

户机104检测和处理的。

图2示出了管理通信连接的方法。虽然,为了简化解释,此处例如以流程图 或流程图示的形式所示的一个或多个方法被作为一系列动作来示出和描述,但是可 以理解和明白,本发明的体系结构不受动作次序的限制,因为根据本发明,某些动 作能以此处所示和所描述的不同的次序发生和/或与其它动作同时发生。例如,本 领域的技术人员可以理解和明白,方法可以被替换地表示为一系列相互关联的状态 或事件,诸如以状态图的形式。此外,并非方法中所示的所有动作都是新颖实现所 必需的。

在200处,经由网络边界组件在外部网络和内部网络的无线设备之间建立通 信连接。在202处,将保活分组从外部网络接收到网络边界组件。在204处,基于 保活分组复位连接定时器。在206处,基于接收到的(并且仅基于从外部网络接收 到的)保活分组来维持外部网络和无线设备之间的经由网络边界组件的连接。换言 之,不再需要接收来自外部网络之外的源的保活分组。这意味着仅在电池电源上运 行的无线设备(例如蜂窝电话)将无需如同常规体系结构中那样被置于满电源状态 来发送或返回保活分组。这保存了电池电源并减少了网络通信。

可以实现至少两种类型的保活处理:第一类型(类型l),其中保活分组由服 务器发送给专用客户机,以使客户机仅在未接收到保活分组时响应;以及第二类型 (类型2),其中分组在边界组件处终止。

图3示出了基于服务器304对NAT设备302的询问来采用类型检测和选择的 替换系统300。服务器304包括用于与NAT设备.302的类型数据308通信并读取 该类型数据的类型组件306。例如,如果类型数据308指示NAT设备是第二类型 (或类型2)设备,其中保活分组被发送给NAT设备302并且被终止,以便不向 客户机104发送这种分组。如果不是类型2设备,则服务器304自动默认为类型1 设备,其中保活分组从服务器304发送到NAT设备302,并接着发送给客户机104。 如果客户机104未能接收到预期分组,则客户机104会用NACK作出响应,例如 发回给服务器304。服务器304会接着发送附加保活分组。

图4示出了用于管理多个NAT连接的系统400。多个电池供电的移动客户机 402 (示为移动客户机,、移动客户机2和移动客户机3)在专用网络中运作,其使 用NAT经由NAT设备404来与外部网络(例如因特网和相关联的蜂窝网络)通信。公共网络中的服务器406经由服务器连接组件408将保活分组提供给NAT设 备404,以维持经由NAT设备404运作的连接410 (示为连接,、连接2、连接3) 中的一个或多个。例如,服务器406将保活分组(KA,)发送给NAT设备404, 以便为第一移动客户机414维持第一连接412。

在该示例中,用于第一连接412的第一连接保活分组KA,可以从服务器406 通过NAT设备404发送给第一移动客户机414。在接收到分组后,NAT设备404 处理该分组,以使NAT超时组件405管理与第一连接相关联的超时,由此维持第 一连接412。在第一客户机414处,第一客户机414预期要接收到第一保活分组 KA,。当第一客户机414检测到没有接收到保活分组KA,时,第一客户机414可以 发送NACK给NAT设备404,并从NAT设备404发送给服务器,从而指示未收 到第一保活分组KA,。服务器连接组件408接着可以确保保活分组KA,正通过第 一连接412发送。如所示的,第一移动客户机414与NAT设备404 (例如无线路 由器或网关)无线地运作。

NAT设备404通过接收第二保活分组(KA2)为第二移动客户机418维持第 二连接416。在接收到分组后,NAT设备404处理该分组,以使NAT超时组件405 管理与第二连接416相关联的超时,由此维持第二连接416。第二分组KA2通过系 缆连接(例如USB——通用串行总线)被转发给第二客户机416。在其是不向客户 机电池源充电或供电的无动力连接的情况下,需要电池能量保存。当第二客户机 418检测到未接收到保活分组KA2时,第二客户机418可以发送NACK到NAT设 备404,并从NAT设备404处发送给服务器406,从而指示未接收到第二保活分 组KA2。服务器连接组件408接着可以确保保活分组KA2正通过第二连接416发 送。如所示的,第二移动客户机418通过系缆通信,但由板上电池源供电。

NAT设备404通过接收第三保活分组(KA3)为第三移动客户机422维持第 三连接420。在接收到分组后,NAT设备404处理该分组,以使NAT超时组件405 管理与第三连接420相关联的超时,由此维持第三连接420。第三分组KA3通过无 线连接被转发给第三客户机422。当第三客户机422检测到未接收到第三保活分组 KA3时,第三客户机422可以将NACK发送给NAT设备404,并从NAT设备404 处发送给服务器406,从而指示未接收到第三保活分组KA3。服务器连接组件408 接着可以确报第三保活分组KA3正通过第三连接420发送。在此,不将第三保活 分组KA3从NAT设备404转发到第三客户机422。 NAT设备404运作以处理接收 到的第三保活分组KA3,以使得分组KA3在专用网络接口处终止(或丢弃或自销

9毁),以阻止第三客户机422接收分组KA3。为了对其进行支持,NAT设备404 可以被配置(例如用软件)成在专用网络接口处将保活分组的nTTL值(在复位定 时器组件405之后)自动递减到使得该分组在退出NAT设备并到达第三移动客户 机422之前被丢弃的值。

可以理解,虽然仅示出了一个服务器(服务器406),但是可以采用多个服务 器,每一个为对应的连接发送保活分组以维持NAT设备状态。例如,第一保活服 务器可以发送分组以维持第一连接412的状态,而第二保活服务器可以发送分组给 NAT设备以维持第二连接416的状态。

图5示出了使用NAT设备来维持连接的方法。在500处,通过NAT设备在 外部网络和内部网络的内部设备之间建立IP连接。在502处,在NAT设备处从外 部网络接收保活分组。在504处,根据对保活分组的每次接收和处理,复位NAT 设备中的连接定时器。在506处,将保活分组转发到内部设备。在508处,基于对 保活分组的接收来在NAT设备处维持连接,其中该接收只是从外部网络接收的。

图6示出了使用NAT设备和内部设备的NACK来维持连接的方法。在600 处,通过NAT设备在外部网络和内部网络的内部设备之间建立IP连接,内部设备 在电池电源上运作。在602处,在NAT设备处从外部网络接收保活分组。在604 处,根据对保活分组的每次接收和处理,复位NAT设备中的连接定时器。在606 处,保活分组被转发到内部设备。在608处,内部设备仅在未接收到保活分组时发 送NACK。在61Q处,外部网络基于该NACK发送保活分组给NAT设备。在612 处,仅基于对来自外部网络接的保活分组的接收,在NAT设备处维持连接。

图7示出了在NAT设备处终止分组寿命的方法。在700处,具有保活功能的 外部服务器标识NAT设备IP地址。在702处,服务器计算到NAT设备的TTL。 在704处,服务器配置分组的保活时间以包括TTL。在706处,通过NAT设备在 通信服务器和内部网络的移动设备之间建立通信连接。在708处,服务器将保活分 组发送给NAT设备以维持连接。在710处,对于接收到的每一保活分组,NAT设 备复位NAT定时器并且在该分组到达移动客户机之前丢弃或终止该分组。在712 处,仅基于从外部服务器接收到保活分组才在NAT设备处维持连接。

图8示出了基于NAT设备的能力来选择保活分组处理的方法。在800处,服 务器接收对内部移动设备的通信请求。在802处,服务器标识相关联的NAT设备 并查询设备类型(或能力)。在804处,基于NAT类型,服务器创建并发送保活 分组。在806处,NAT设备相应地处理分组,由此在NAT设备处维持连接。图9示出了基于NAT设备处连接的成功或失败在分组使用之间进行切换的方

法。在900处,服务器接收对内部移动设备的通信请求。在902处,服务器标识相 关联的NAT设备并查询该设备的NAT类型(例如类型1是分组通过和/或类型2 是自销毁分组)。在904处,基于NAT类型(或能力),服务器选择在移动设备 上最佳电池保存的增强分组类型(类型2自销毁分组),并创建和发送自销毁保活 分组。在906处,NAT设备相应地接收和处理该连接的分组。在908处,服务器 监控连接,并基于有故障的连接活动退回到标准分组类型(类型l)。在910处, 基于标准分组类型处理连接,其中分组通过NAT设备传递到移动客户机。如果客 户机未能接收到分组,则客户机发信号通知服务器继续发送保活分组。

如在本申请中所使用的,术语"组件"和"系统"旨在表示计算机相关的实 体,它可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可 以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个存储驱动器(光 和/或磁存储介质)、对象、可执行代码、执行的线程、程序、和/或计算机。作为 说明,运行在服务器上的应用程序和服务器都可以是组件。 一个或多个组件可以驻 留在进程和/或执行的线程内,且组件可以位于一台计算机上/或分布在两台或更多 的计算机之间。

现在参见图10,示出了可用于根据所公开的体系结构执行保持活动分组处理 的计算系统1000的框图。计算系统1000可用作保活服务器,该保活服务器发出保 活分组以维持NAT设备状态,执行NAT询问以确定该NAT能进行类型1还是类 型2处理以及例如其是否能在各NAT类型之间切换。为了提供用于其各方面的附 加上下文,图IO及以下讨论旨在提供对其中可实现本发明的各方面的合适计算系 统1000的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算

机可执行指令的一般上下文中进行,但是本领域的技术人员将认识到,新颖实施例 也可结合其它程序模和/或作为硬件和软件的组合来实现。

一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程 序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方法可用 其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型 计算机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产 品等,其每一个都可操作上耦合到一个或多个相关联的设备。

所示的各方面也可在其中某些任务由通过通信网络链接的远程处理设备来执 行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。

计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机访 问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为 示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储

介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的 信息的任意方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机

存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技术、 CD-ROM、数字视频盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其 它磁存储设备、或可以用来储存所需信息并可由计算机访问的任一其它介质。

再次参考图10,用于实现各方面的示例性计算系统1000包括计算机1002, 计算机1002包括处理单元1004、系统存储器1006和系统总线1008。系统总线1008 向包括但不限于系统存储器1006的各系统组件提供到处理单元1004的接口。处理 单元1004可以是市场上可购买到的各种处理器中的任意一种。双微处理器和其它 多处理器体系结构也可用作处理单元1004。

系统总线1008可以是若干种总线结构中的任一种,这些总线结构还可互连到 存储器总线(带有或没有存储器控制器)、外围总线、以及使用市场上可购买到的 多种总线体系结构中的任一种的局部总线。系统存储器1006包括只读存储器 (ROM) 1010和随机存取存储器(RAM) 1012。基本输入/输出系统(BIOS)储 存在诸如ROM、 EPROM、 EEPROM等非易失性存储器1010中,其中BIOS包含 帮助诸如在启动期间在计算机1002内的元件之间传输信息的基本例程。RAM 1012 还可包括诸如静态RAM等高速RAM来用于高速缓存数据。

计算机1002还包括内置硬盘驱动器(HDD) 1014 (例如,EIDE、 SATA), 该内置硬盘驱动器1014还可被配置成在合适的机壳(未示出)中以供外部使用; 磁软盘驱动器(FDD) 1016 (例如,从可移动磁盘1018中读取或向其写入);以 及光盘驱动器1020 (例如,从CD-ROM盘1022中读取,或从诸如DVD等其它高 容量光学介质中读取或向其写入)。硬盘驱动器1014、磁盘驱动器1016和光盘驱 动器1020可分别通过硬盘驱动器接口 1024、磁盘驱动器接口 1026和光盘驱动器 接口 1028连接到系统总线1008。用于外置驱动器实现的接口 1024包括通用串行 总线(USB)和IEEE 1394接口技术中的至少一种或两者。

驱动器及其相关联的计算机可读介质提供了对数据、数据结构、计算机可执 行指令等的非易失性存储。对于计算机1002,驱动器和介质容纳适当的数字格式

12的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移动磁盘以

及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当理解,示例性 操作环境中也可使用计算机可读的任何其它类型的介质,诸如ZIP驱动器、磁带盒、 闪存卡、盒式磁带等等,并且任何这样的介质可包含用于执行所公开的体系结构的 方法的计算机可执行指令。

多个程序模块可储存在驱动器和RAM 1012中,包括操作系统1030、 一个或 多个应用程序1032、其它程序模块1034和程序数据1036。所有或部分操作系统、 应甩程序、模块和/或数据也可被高速缓存在RAM 1012中。应该明白,所公开的 体系结构可以用市场上可购得的各种操作系统或操作系统的组合来实施。模块可以 包括例如图3的类型组件306和图4的连接组件408。

用户可以通过一个或多个有线/无线输入设备,例如键盘1038和诸如鼠标1040 等定点设备将命令和信息输入到计算机1002中。其它输入设备(未示出)可包括 话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其它输入设 备通常通过耦合到系统总线1008的输入设备接口 1042连接到处理单元1004,但 也可通过其它接口连接,如并行端口、 IEEE 1394串行端口、游戏端口、 USB端口、 IR接口等等。

监视器1044或其它类型的显示设备也经由接口,诸如视频适配器1046连接 至系统总线1008。除了监视器1044之外,计算机通常包括诸如扬声器和打印机等 的其它外围输出设备(未示出)。

计算机1002可使用经由有线和/或无线通信至一个或多个远程计算机,诸如远-程计算机1048的逻辑连接在网络化环境中操作。远程计算机1048可以是工作站、 服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、 对等设备或其它常见的网络节点,并且通常包括以上相对于计算机1002描述的许 多或所有元件,尽管为简明起见仅示出了存储器/存储设备1050。所描绘的逻辑连 接包括到局域网(LAN) 1052和/或例如广域网(WAN) 1054等更大的网络的有 线/无线连接。这一LAN和WAN联网环境常见于办公室和公司,并且方便了诸如 内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。

当在LAN网络环境中使用时,计算机1002通过有线和/或无线通信网络接口 或适配器1056连接到局域网1052。适配器1056可以方便到LAN 1052的有线或 无线通信,并且还可包括其上设置的用于与无线适配器1056通信的无线接入点。

当在WAN网络环境中使用时,计算机1002可包括调制解调器1058,或连接到WAN 1054上的通信服务器,或具有用于通过WAN 1054,诸如通过因特网建立 通信的其它装置。或为内置或为外置以及有线或无线设备的调制解调器1058经由 串行端口接口 1042连接到系统总线1008。在网络化环境中,相对于计算机1002 所描述的程序模块或其部分可以存储在远程存储器/存储设备1050中。应该理解, 所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。 计算机1002可用于与操作上设置在无线通信中的任何无线设备或实体通信, 这些设备或实体例如有打印机、扫描仪、台式和/或便携式计算机、便携式数据助 理、通信卫星、与无线可检测标签相关联的任何一个设备或位置(例如,公用电话 亭、报亭、休息室)以及电话。这至少包括Wi-Fi和蓝牙TM无线技术。由此,通信 可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织 (ad hoc)通信。

现在参考图11,示出了用于根据所公开的体系结构进行保活分组处理的示例 性计算环境1100的示意框图。系统1100包括一个或多个客户机1102。客户机1102 可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,.客户机1102可以 容纳cookie禾口/或相关联的上下文信息。

系统1100还包括一个或多个服务器1104。服务器1104也可以是硬件和/或软 件(例如,线程、进程、计算设备)。服务器1104可以例如,通过使用本体系结 构来容纳执行变换的线程。客户机1102与服务器1104之间的一种可能的通信能够 以适用于在两个或多个计算机进程之间传输的数据分组的形式来进行。数据分组可 以包括,例如cookie和/或相关联的上下文信息。系统1100包括可以用于促进客户 机1102与服务器1104之间的通信的通信框架1106 (例如、诸如因特网等全球通 信网络)。

可以通过有线(包括光纤)和/或无线技术来促进通信。客户机1102操作上连 接至可以用于存储对客户机1102本地的信息(例如,cookie和/或相关联的上下文 信息)的一个或多个客户机数据存储1108。类似地,服务器1104操作上连接至可 以用于存储对服务器1104本地的信息的一个或多个服务器数据存储1110。

客户机1102可以包括有线和/或诸如蜂窝电话、智能电话、便携式计算机等无 线可移动客户机。通信框架1106不仅可以包括因特网,也可以包括客户机1102 想要与之通信的蜂窝网络。

以上描述包括所公开的体系结构的各示例。当然,不可能描述每一个可想到 的组件和/或方法的组合,但是本领域的普通技术人员可以认识到,还可能有众多

14其它组合和排列。因此,本新颖体系结构旨在涵盖落入所附权利要求书精神和范围 内的所有这样的更改、修改和变化。此外,就在详细描述中或者在权利要求书中使 用的术语"包括"而言,这一术语旨在以与术语"包含"在被用作权利要求书 中的过渡时所解释的相似的方式为包含性的。

QQ群二维码
意见反馈