CN101622834A - 用于与网络地址转换系统相关联的客户机的带外保活机制 - Google Patents

用于与网络地址转换系统相关联的客户机的带外保活机制 Download PDF

Info

Publication number
CN101622834A
CN101622834A CN200880006626A CN200880006626A CN101622834A CN 101622834 A CN101622834 A CN 101622834A CN 200880006626 A CN200880006626 A CN 200880006626A CN 200880006626 A CN200880006626 A CN 200880006626A CN 101622834 A CN101622834 A CN 101622834A
Authority
CN
China
Prior art keywords
keep
connection
alive
application program
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.)
Granted
Application number
CN200880006626A
Other languages
English (en)
Other versions
CN101622834B (zh
Inventor
S·赫佐格
M·哈格曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101622834A publication Critical patent/CN101622834A/zh
Application granted granted Critical
Publication of CN101622834B publication Critical patent/CN101622834B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

用于通过采用应用程序连接外部的带外(OOB)技术来维持网络地址转换(NAT)设备的连接状态,而不对底层本机应用程序施加附加要求的体系结构。该OOB解决方案可以应用于任意连接而不要求修改应用协议,并且对TCP和UDP有效。采用保活(KA)应用程序来作为注入KA分组的OOB机制,该KA分组对NAT设备而言表现为是来自本机连接的。这些注入分组欺骗NAT设备复位该连接的不活动定时器,但不欺骗本机应用程序或使其混淆,这对哄骗而言是易于忘记的。因此,连接将不会由于NAT超时而终止,并且因此客户机/服务器协议例如将不必生成伪造的活动分组来保持该连接活动。

Description

用于与网络地址转换系统相关联的客户机的带外保活机制
背景
计算设备和连网的技术进步方便了对各种各样的信息和服务的访问,从而实际上允许从世界的任何地方进行访问。此外,随着计算机和便携式设备的数量的持续增加,连接性可以要求每一设备当其在网络上时都被唯一地标识。与支持为每一网络设备获取独立(或静态)IP地址的附加花费相反,一种被称为网络地址转换(NAT)的技术允许路由器后的或内部(或专用)网络上的多个IP节点共享单个公共IP地址。换言之,提供了一种允许将一组未注册的IP地址用于内部网络通信并将另一组IP地址用于外部或公共通信的标准。
通常,NAT设备采用具有可配置超时时间段的连接超时定时器,以在本机应用程序之间映射连接状态。如果一特定NAT端口映射表项未被入站或出站通信使用超过了超时时间段,则该连接的NAT定时器期满并且该项从表中清除。一旦该项被清除,则NAT后的共享节点不能再通过该连接达到,并且必须发起新连接(例如由该共享节点)。
防止NAT定时器超时(或期满)的一种常见机制被称为“保活”(KA)或“心跳”处理。在保活下,以比NAT超时时间段短的时间间隔在该连接上生成无用通信以复位(或刷新)定时器,并且从而保持该连接活动。在使用电池电源作为主电源的便携式设备(例如智能电话)的情况下,常规保活技术影响电池寿命并生成大量的无线活动来保持连接活动。
一种用于提供通过NAT的持久连接的解决方案是将保活机制作为本机应用协议的一部分来构建(带内解决方案)。然而,常规机制的缺点包括以下:必须修改底层本机应用协议来容纳KA机制;KA机制不能被翻新到常规应用程序,并且需要部署应用程序升级;以及,对KA机制的每一次更新都影响核心应用协议并且因此必须被测试。
另外,因为带内约束,优化常规KA机制是很困难的,带内约束包括:迫使KA分组大小不必要地大以容纳分层的本机应用头部(例如,大HTTP(超文本标记语言)和SOAP(简单对象访问协议)头部);应用逻辑约束KA逻辑并可能要求附加网络连接;应用级可能不支持对故障模式和恢复的快速检测;应用程序开发者可能不具有必需的资源、时间、或专业知识来致力于完善基本上是系统级解决方案的方案;以及,适应并响应于移动漫游和不同的连网环境中的困难。
概述
以下提出了简化概述以便提供对在此描述的各新颖实施例的基本理解。本概述不是详尽的概览,并且它不旨在标识关键/重要的元素,也不旨在描绘其范围。其唯一的目的是以简化的形式来介绍一些概念,作为稍后提出的更为详细的描述的序言。
所公开的体系结构提供一种用于通过采用带外(OOB)技术来保持网络地址转换(NAT)设备的连接状态活动的解决方案,该带外技术可在本机应用程序连接外部应用而不对该底层本机应用程序和/或应用协议施加任何要求或修改。本技术提供单独的保活(KA)应用程序,该保活应用程序通过将KA分组注入到本机应用程序来维持连接并且此后在该KA分组到达本机应用程序之前移除(例如丢弃)该KA分组,来以OOB方式与本机应用程序一起操作。在替换实现中,KA分组不被移除而是由本机应用程序来处理(例如,过滤、丢弃……)。
该体系结构充分利用了常见NAT状态管理机制中的“逻辑空洞”。这些逻辑空洞不是“隐错”并且由此不被认为是安全漏洞,而仅仅是对内连连网设备所施加的约束的人工产物。一个逻辑空洞的性质与基于连接活动来维持NAT状态相关。NAT设备启动每一活动连接的超时定时器,并在每次该连接经历通信(例如分组活动)时复位该连接的超时(或不活动)定时器。如果在给定连接上未检测到通信,则超时定时器对该连接期满并且该连接失败。此外,NAT通常不验证通信的合法性(例如该通信所来自的端点)。
利用该逻辑空洞,并且在一个示例性客户机/服务器环境中,可以采用在客户机和/或服务器上运行的第二网络KA应用程序作为OOB机制,来注入表现为来自本机连接的哄骗分组。这些注入的分组欺骗NAT设备复位该连接的不活动定时器,但不欺骗本机应用程序或使其混淆,这对哄骗而言是易于忘记的。因此,连接将不会由于NAT超时而终止,并且因此客户机/服务器协议将不必生成伪造的活动分组来保持该连接活动。
该体系结构向通过NAT设备的任意不活动网络连接提供持续性,并且对诸如TCP(传输控制协议)等面向连接的端对端传输协议和诸如UDP(用户数据报协议)等无连接传输协议有效。
为了实现前述及相关目的,此处结合以下说明书及附图来描述所公开的新颖体系结构的某些说明性方面。然而,这些方面仅指示了可利用此处公开的原理的各种方法中的少数几种,且旨在包括所有这些方面及其等效方面。结合附图阅读下面的详细描述,则其它优点和新颖特征将变得显而易见。
附图简述
图1示出根据一实施例的方便连接管理的计算机实现的系统。
图2示出对连接的每一本机应用程序采用一保活(KA)应用程序的系统。
图3示出用于使用带外(OOB)KA分组来维持连接的客户机/服务器系统。
图4示出其中KA应用程序操作来处理多个连接的连接状态的替换系统。
图5示出OOB KA管理的方法。
图6示出基于连接策略的连接管理方法。
图7示出基于传输协议来管理NAT连接不活动的方法。
图8示出生成并利用KA分组来进行连接管理的方法。
图9示出可用于执行所公开的KA体系结构的计算系统的框图。
图10示出可采用OOB KA处理的示例性计算环境的示意性框图。
详细描述
所公开的体系结构提供一种用于通过采用带外(OOB)技术来保持网络地址转换(NAT)设备和/或软件的连接活动的解决方案,该带外技术可在本机应用程序连接外部应用而不对该本机应用程序施加任何要求或修改。该体系结构通过从在NAT设备的观点来看表现为本机连接的一部分的OOB源(例如应用程序)注入哄骗(或保活(KA))分组,来充分利用常见NAT状态管理机制中的“逻辑空洞”。这些注入的分组使NAT设备复位该连接的不活动定时器但不欺骗本机应用程序或使其混淆,这对哄骗而言是易于忘记的。因此,连接(例如,基于TCP(传输控制协议)或UDP(用户数据报协议))将不再由于NAT超时而终止,并且因此客户机/服务器协议例如将不再需要生成伪造的带内KA分组来保持该连接活动。
现在参考附图,附图中相同的附图标记用于指代在全文中相同的元素。在以下描述中,为解释起见,描绘了众多具体细节以提供对本发明的全面理解。然而,显然,这些新颖实施例可以在没有这些具体细节的情况下实现。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。
一开始参考附图,图1示出根据一实施例的方便连接管理的计算机实现的系统100。系统100包括用于在软件实体104(示为软件实体1和软件实体2)之间提供任意通信连接的连接组件102(例如NAT设备)。系统100还包括接口到连接组件102的、用于发送由连接组件102来处理以维持连接的OOB KA分组(或信号)的保活组件106。
在一个实现中,KA组件106监控软件实体104所在的计算系统上的TCP/IP栈系统表活动。例如,新表项指示可向其中插入KA分组的新连接。可以监控软件实体所在的系统中的TCP/IP表。例如,可以监控客户机系统表。类似地,在涉及服务器的情况下,可以监控服务器系统TCP/IP表中的项活动(例如,移除或新项)。
在替换和可任选实施例中,KA组件106可以监控软件实体104中的一个或两者的连接分组活动,并基于此将活动KA分组插入到连接中。KA分组可以由KA组件106外部地或在连接组件102的任一侧或两侧(例如,经由通过该连接路由分组的其它网络设备)插入到连接组件102的对应连接中,以使所插入的KA分组被连接组件102作为正常的带内通信来察觉。在连接组件102每次检测到分组(带内和/或保活)出现后,KA分组随后复位该连接的连接定时器。
系统表可由KA组件106来直接监控和/或经由连接组件102来间接监控。例如,如果表活动指示连接应被维持,则KA组件106将KA分组注入到该连接中,以使KA分组由连接组件102来处理以便复位连接定时器来维持该连接。
在替换和可任选示例中,软件实体104中的一个或多个所监控的连接分组活动(或连接分组活动的缺乏)可被传递给KA组件106,以使KA组件106向连接组件102发送KA分组,连接组件102随后将该KA分组插入到该连接中以用于自处理和超时定时器复位。在另一示例中,基于如由KA组件106所直接监控的连接分组不活动和保持该连接活动的期望,KA组件106可以用信号通知软件实体104中的任一个或两者在该连接上生成带内KA分组,以复位该连接的超时定时器。在软件实体104是KA应用程序的情况下,KA组件106可以用信号通知软件实体104中的任一个或两者将OOB分组插入到该连接中来维持该连接。应当理解,可以周期性地发送KA分组而不管表中的不活动或带内通信。
系统100的一个实现包括作为连接组件102的一部分的NAT设备,以使软件实体104通过该NAT设备来彼此通信。软件实体104(作为本机应用程序)经由该连接通过NAT来通信,从而通过规则的带内分组(只在本机应用程序之间)的通信创建活动连接。具有超时定时器的NAT设备基于从本机应用程序104接收到带内分组来不断地复位定时器。
然而,偶尔,如果NAT设备在超时时段内未接收到带内分组,则NAT丢弃该连接并且应用程序需要通过该NAT设备重新建立连接。该体系结构通过提供至少一个KA应用程序(例如作为KA组件106的一部分)来解决该问题,该KA应用程序与本机应用程序104中的一个或多个一起启动以使该KA应用程序生成KA分组并将其插入到该连接中,从而使得NAT设备自动地复位超时定时器并且因此维持该连接。在从系统表中移除表项时,不再向该连接插入KA分组。
在一个实现中,KA组件106响应于感测到操作系统TCP/IP表中的新项来启动KA应用程序。因此,可以管理通过NAT来操作的多个不同的连接。在另一实现中,为每一本机应用程序(或软件实体104)启动一个KA应用程序。在此,本机应用程序处理带内分组通信,而KA应用程序通过将KA分组插入到适当的NAT连接中来执行OOB分组活动以维持该连接,直到确定该连接应被断开为止。这将在图2中更详细地描述。
图2示出对连接的每一本机应用程序采用一KA应用程序的系统200。在此,KA组件106包括两个KA应用程序202:第一KA应用程序204(示为KA应用程序1)和第二KA应用程序206(示为KA应用程序2)。第一KA应用程序204和/或第二KA应用程序206中的一个或两者监控系统表项活动。在检测到新表项(例如在TCP/IP系统表中)时,KA应用程序(204和/或206)中的一个或两者开始将KA分组插入到该连接中。
在替换和可任选实施例中,在连接维持是基于分组通信而非表活动的情况下,第一KA应用程序204监控连接组件102(例如NAT设备)和第一本机应用程序208(示为本机应用程序1)之间的本机分组通信,和/或第二KA应用程序206监控连接组件102和第二本机应用程序210(示为本机应用程序2)之间的本机分组通信。如此处所描述的,本机应用程序(208和210)被称为带内通信,而KA应用程序(204和206)被称为OOB通信。通过监控与第一本机应用程序系统相关联的系统表,可以发现第一本机应用程序的网络5元组(例如,协议号、源IP地址、源端口、目的地IP地址和目的地端口)。基于该信息,第一KA应用程序204可以观察并基于所观察的连接组件102的超时来采用所需的KA刷新时间段。KA刷新时间段比连接组件102的超时时间段短,以便KA分组在该连接的超时时间段期满之前发送。例如,如果超时时间段是15分钟,则可以将刷新选为10分钟(或小于超时时间段的任何其它合适值)。
在一个替换和可任选操作中,基于刷新时间段,第一KA应用程序204会在连接组件102的每次超时时间段期满之前将KA分组注入到连接中。当然,这是基于第一本机应用程序208的分组活动的。换言之,如果第一本机应用程序208例如通过从第一本机应用程序208到第一KA应用程序204的信号来指示不再需要与第二本机应用程序210通信,则第一KA应用程序204将停止向该连接注入KA分组。因此,连接组件102随后将使该连接超时并且该连接将失败。
在一个实施例中,在第一KA应用程序204正在发送KA分组时,第二KA应用程序206将移除该KA分组。因此,第二本机应用程序210将不再需要不必要地处理KA分组。
根据类似的和可任选的操作,通过监控第二本机应用程序210和连接组件102之间的分组通信而非系统表,第二KA应用程序206发现第二本机应用程序的网络5元组(例如,协议号、源IP地址、源端口、目的地IP地址和目的地端口)。基于该信息,第二KA应用程序206可以观察并基于所观察的连接组件102的超时来采用合适的KA刷新时间段。基于该刷新时间段,第二KA应用程序206将在每次超时时间段期满之前向该连接注入KA分组。当然,这是基于第二本机应用程序210的活动的。换言之,如果第二本机应用程序210指示不再需要与第一本机应用程序208的通信,则第二KA应用程序206将停止向该连接注入KA分组。因此,连接组件102随后将使该连接超时并且该连接将失败。
在另一实施例中,在第二KA应用程序206正在发送KA分组时,第一KA应用程序204将移除该KA分组。因此,第一本机应用程序208将不必处理KA分组。
根据另一操作,通过监控第一和第二本机应用程序(208和210)两者与连接组件102之间的分组通信,对应的第一和第二KA应用程序(204和206)发现本机应用程序的网络5元组。基于该信息,第一和第二KA应用程序(204和206)可以观察并基于所观察的连接组件102的超时来采用所需的KA刷新时间段。基于该刷新时间段,第一和/或第二KA应用程序(204和206)将在每次超时时间段期满之前向该连接注入KA分组。当然,这是基于对应的第一和第二本机应用程序(208和210)的活动的。在又一实现中,只要在NAT超时期满的某点处,连接组件102的两侧都被刷新,则两个KA应用程序(204和206)可以独立地操作。
换言之,根据该可任选实现,如果第二本机应用程序210例如通过从第二本机应用程序210到第二KA应用程序206的信号来指示不再需要与第一本机应用程序208的通信,则第二KA应用程序206将停止向连接注入KA分组。类似地,如果第一本机应用程序208指示不再需要与第二本机应用程序210的通信,则第一KA应用程序204将停止向该连接注入KA分组。因此,连接组件102随后将使该连接超时并且该连接将失败。当第一和第二KA应用程序(分别是204和206)两者都在发送KA分组时,相对的第二和第一KA应用程序(分别是206和204)可以移除所接收到的KA分组。因此,第一第二本机应用程序(208和210)将不必被配置来处理KA分组。
图3示出用于使用OOB KA分组来维持连接的客户机/服务器系统300。更具体地,在客户机/服务器场景中,客户机304的客户机本机应用程序302打开通过NAT设备306到服务器310的服务器本机应用程序308的持久UDP或TCP连接。该体系结构对诸如TCP等面向连接的端对端传输协议和诸如UDP等无连接传输协议有效。客户机304还可以包括通过其发生通信的防火墙、过滤或多路复用组件312(此后统称为防火墙312)。通信经由客户机TCP/IP栈和表314,通过NAT设备306、服务器TCP/IP栈和表316、以及服务器防火墙318、到服务器本机应用程序308的连接来进行。栈(314和316)具有相关联的TCP/IP协议系统表,该表用所建立的每一新连接的新表项来更新并丢弃被丢弃的连接的表项。
根据一个实现,在客户机304和服务器310这两侧都启动KA应用程序(共同描述为KA组件106)。客户机KA应用程序320在客户机304上启动,且服务器KA应用程序322在服务器310上启动。可以理解,KA组件应用程序(320和322)可以用操作系统来启动以作为后台进程持续运行。如上所述,KA组件106(客户机和服务器KA应用程序中的一个或两者(320和/或322))可以经由与TCP/IP栈(314和316)相关联的TCP/IP表来发现连网5元组(例如,协议号、源IP地址、源端口、目的地IP地址、以及目的地端口)。
KA应用程序(320和322)可以共同或独立地观察并(基于所观察的NAT超时)采用所需的KA刷新时间段。例如,假定NAT设备306后(例如在专用侧)的客户机304打开到(在公共侧)服务器310的TCP连接,并且此后维持安静(无分组活动)。建立该连接在客户机TCP/IP系统表中产生新表项。在没有KA应用程序106的情况下,如在常规实现中,NAT设备306将使该连接状态超时并致使该TCP连接无用。利用以所描述的OOB方式操作的KA组件106确保了该TCP连接将不会由于NAT超时而终止,并且因此客户机/服务器协议将不必生成“伪造”带内活动来保持该连接活动。如果所观察的NAT超时例如是15分钟,则刷新时间段(或值)可以小于15分钟(例如10分钟)。一般而言,采用小于所观察的NAT设备超时时间段的KA刷新时间段。
在操作中,KA应用程序(320和322)共同地或独立地(取决于传输协议)从客户机304、服务器310或客户机304和服务器310两者发送KA(或哄骗)连接分组。KA组件106运作来在NAT设备306的接收侧移除哄骗分组,从而通过处理KA分组来消除接收本机应用程序中的混淆。
在替换实现中,在本机应用程序(客户机本机应用程序302或服务器本机应用程序308)足够稳健来处理哄骗分组而不会混淆(或造成出错)时,不执行KA组件106对哄骗分组的移除。这可以包括识别和丢弃哄骗分组。例如,可以在接收侧通过检查分组数据中唯一地定义哄骗分组的信息来过滤和/或移除KA分组。KA分组可以是零净荷分组(只有头部)。还可以使用其它方式。在每次接收到哄骗分组后(以及接收到本机分组后),NAT设备306复位NAT连接超时。由于TCP/IP协议的性质,所以哄骗是在原始IP层执行的,因为UDP/TCP协议不允许发送者和接收者两者的多个应用程序都绑定到相同的5元组。
KA组件106可以通过与相应的防火墙(312和318)和/或系统TCP/IP栈和表(34和316)通信来发现本机应用程序5元组另外,KA分组移除可以由相应的接收防火墙(312和318)使用过滤功能来实现。此外,系统300不限于客户机/服务器场景,而还适用于对等拓扑结构。
图4示出其中KA应用程序操作来处理多个连接的连接状态的替换系统400。系统400包括寻求通过NAT设备306与第二系统404通信的第一系统402(例如,便携式计算机)。第一系统402包括两个本机应用程序:第一本机应用程序406和第二本机应用程序408。第一系统402还包括接口到第一和第二本机应用程序(406和408)的第一KA应用程序410,其经由第一系统402的TCP/IP系统表项来监控第一系统402的本机应用程序系统间(402和404)活动。可任选地,第一KA应用程序410还可以经由NAT设备306来监控连接的连接状态。
类似地,第二系统404(例如web服务器)通过NAT设备306与第一系统402通信。在该具体示例中,第二系统404包括两个本机应用程序:第三本机应用程序412和第四本机应用程序414。第二系统404还包括接口到第三和第四本机应用程序(412和414)的第二KA应用程序416,其经由第二系统404的TCP/IP系统表项来监控第二系统404的本机应用程序活动。可任选地,第二KA应用程序416还可以经由NAT设备306来监控NAT连接的连接状态。
在该示例中,第一和第三本机应用程序(406和412)打开通过NAT设备306的第一连接(示为连接1),并且第二和第四本机应用程序(408和414)打开通过NAT设备306的第二连接(示为连接2)。基于第一系统402中的新TCP/IP系统表项和/或第二系统404中的新TCP/IP系统表项,第一和第二KA应用程序(410和416)向对应的第一和第二连接提供KA分组,以维持所需的第一和/或第二连接的连接状态。
在其中任一系统(402或404)中都没有本机应用程序活动的初始状态中,不启动KA应用程序(410和416)。在第一本机应用程序406打开通过NAT设备306的第一连接时,第一KA应用程序410启动并采用第一连接KA分组的刷新时间段。例如,第一连接到第三本机应用程序412是活动的;然而,如果该连接是不活动的并且期望该第一连接不应是不活动的,则第一KA应用程序410将自动地向该第一连接插入第一连接KA分组以维持该第一连接。在检测到第三本机应用程序412中的活动时,第二KA应用程序416(现在是接收KA应用程序)将从分组流中过滤出所接收到的KA分组。因此,第三本机应用程序412可以接收分组流而不受KA分组处理和/或过滤的妨碍。
如果第二本机应用程序408此时被激活,并且打开到第四本机应用程序414的第二连接,则因为第一KA应用程序410已经知道NAT设备306的刷新时间段,因此只要第二连接(连接2)需要不活动控制,则对于该第二连接将KA连接维持应用于NAT设备306。因此,第一KA应用程序410可以管理通过单个NAT设备306的多个连接。在替换操作中,第一KA应用程序410管理第一连接,而第二系统404的第二KA应用程序410管理第二连接。可以看到,在具有用于多个连接的多个端口的NAT设备的典型实现中,可以执行多个连接KA管理。
图5示出OOB KA管理方法。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,这些方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其它动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非方法中的所有所示动作都是对于新颖实现所必需的。
在500处,打开不同系统的本机应用程序之间的NAT连接。在502处,确定该NAT连接的刷新时间段。换言之,KA应用程序可包括将基于其传送KA分组的刷新值表。刷新值可被硬编码(例如每30秒)在KA应用程序中,或KA应用程序可以使用预计算的值。可任选地,刷新时间段可由相关联的KA应用程序基于NAT超时时间段来自动地计算。在504处,基于系统表活动来监控连接。在506处,使用KA应用程序基于所选择的刷新值来自动地在发送侧将KA分组插入到连接。在508处,在接收侧按需移除KA分组。换言之,不要求接收KA应用程序在接收侧移除KA分组。
图6示出基于连接策略的连接管理方法。在600处,打开本机应用程序之间的NAT连接。在602处,相关联的KA应用程序基于NAT超时时间段来选择刷新值。在604处,获取并处理与该连接相关联的策略。在606处,使用KA应用程序基于所选择的刷新值来自动地在发送侧将KA分组插入到连接。在608处,根据策略用KA分组操作该连接。换言之,该策略可以指示该连接保持打开预定一段时间并在该时间期满之后关闭该连接,而不管带内或OOB分组通信是否已经终止。
图7示出基于类型传输协议来管理NAT连接不活动的方法。在700处,打开本机应用程序之间的NAT连接。在702处,基于本机应用程序的活动,启动对应的KA应用程序中的一个或多个。在704处,KA应用程序中的一个或多个基于NAT超时时间段来选择刷新时间段。在706处,KA应用程序基于栈表活动来监控对应的本机应用程序连接。在708处,基于TCP分组的先前通信,从KA应用程序中的每一个将KA分组自动地插入到该连接。另选地,在710处,基于UDP分组的先前通信,从KA应用程序中的一个或两者将KA分组自动地插入到该连接。因为TCP是面向连接的端对端传输协议,所以需要两个KA应用程序都操作来插入KA分组和移除KA分组。因为UDP是无连接传输协议,所以在大多数情况下,只需要KA应用程序中的一个操作来将KA分组插入到NAT连接中。
图8示出生成并利用KA分组来进行连接管理的方法。在800处,一个本机应用程序打开通过NAT设备的到另一本机应用程序的连接。在802处,在启动KA应用程序之后,KA应用程序中的一个或多个利用刷新时间段。在804处,发起发现过程来发现本机应用程序的连网5元组的发现过程。这可以经由TCP/IP表来进行。在806处,使用5元组信息来为特定连接构造KA分组。在808处,基于刷新时间段将KA分组插入到该连接以复位NAT超时定时器。在810处,通过NAT设备的已被处理的KA分组在到达本机应用程序之前被移除。
如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机内上/或分布在两台或更多的计算机之间。
现在参考图9,示出了可用于执行所公开的KA体系结构的计算系统900的框图。为了提供用于其各方面的附加上下文,图9及以下讨论旨在提供对其中可实现本体系结构的各方面的合适的计算系统900的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,本体系结构也可结合其它程序模块和/或作为硬件和软件的组合来实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可操作上耦合到一个或多个相关联的设备。
所示各方面也可以在其中某些任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任意方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可以用于存储所需信息并且可以由计算机访问的任何其它介质。
再次参考图9,用于实现各方面的示例性计算系统900包括计算机902,计算机902包括处理单元904、系统存储器906和系统总线908。系统总线908向包括但不限于系统存储器906的各系统组件提供到处理单元904的接口。处理单元904可以是市场上可购买到的各种处理器中的任意一种。双微处理器和其它多处理器体系结构也可用作处理单元904。
系统总线908可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。系统存储器906包括只读存储器(ROM)910和随机存取存储器(RAM)912。基本输入/输出系统(BIOS)储存在诸如ROM、EPROM、EEPROM等非易失性存储器910中,其中BIOS包含帮助诸如在启动期间在计算机902内的元件之间传输信息的基本例程。RAM 912还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
计算机902还包括内置硬盘驱动器(HDD)914(例如,EIDE、SATA),该内置硬盘驱动器914还可被配置成在合适的机壳(未示出)中供外部使用;磁软盘驱动器(FDD)916(例如,从可移动磁盘918中读取或向其写入);以及光盘驱动器920(例如,从CD-ROM盘922中读取,或从诸如DVD等其它高容量光学介质中读取或向其写入)。硬盘驱动器914、磁盘驱动器916和光盘驱动器920可分别通过硬盘驱动器接口924、磁盘驱动器接口926和光盘驱动器接口928连接到系统总线908。用于外置驱动器实现的接口924包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。
驱动器及其相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机902,驱动器和介质容纳适当的数字格式的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移动磁盘以及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当理解,示例性操作环境中也可使用可由计算机读取的任何其它类型的介质,诸如zip驱动器、磁带盒、闪存卡、盒式磁带等等,并且任何这样的介质可包含用于执行所公开的方法的计算机可执行指令。
多个程序模块可存储在驱动器和RAM 912中,包括操作系统930、一个或多个应用程序932、其它程序模块934和程序数据936。所有或部分操作系统、应用程序、模块和/或数据也可被高速缓存在RAM 912中。应该明白,本体系结构可以用各种市场上可购得的操作系统或操作系统的组合来实现。应用程序932和/或模块934可包括本机应用程序、KA应用程序、和/或先前描述的KA组件。
用户可以通过一个或多个有线/无线输入设备,例如键盘938和诸如鼠标940等定点设备将命令和信息输入到计算机902中。其它输入设备(未示出)可包括话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其它输入设备通常通过耦合到系统总线904的输入设备接口942连接到处理单元908,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等等。
监视器944或其它类型的显示设备也经由接口,诸如视频适配器946连接至系统总线908。除了监视器944之外,计算机通常包括诸如扬声器和打印机等其它外围输出设备(未示出)。
计算机902可使用经由有线和/或无线通信至一个或多个远程计算机,诸如远程计算机948的逻辑连接在网络化环境中操作。远程计算机948可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其它常见的网络节点,并且通常包括以上相对于计算机902描述的许多或所有元件,尽管为简明起见仅示出了存储器/存储设备950。所描绘的逻辑连接包括到局域网(LAN)952和/或例如广域网(WAN)954等更大的网络的有线/无线连接。这一LAN和WAN连网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN网络环境中使用时,计算机902通过有线和/或无线通信网络接口或适配器956连接到局域网952。适配器956可以方便到LAN 952的有线或无线通信,并且还可包括其上设置的用于与无线适配器956通信的无线接入点。
当在WAN连网环境中使用时,计算机902可包括调制解调器958,或连接到WAN 954上的通信服务器,或具有用于通过WAN 954,诸如通过因特网建立通信的其它装置。或为内置或为外置以及有线或无线设备的调制解调器958经由串行端口接口942连接到系统总线908。在网络化环境中,相对于计算机902所描述的程序模块或其部分可以存储在远程存储器/存储设备950中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
计算机902可用于与操作上设置在无线通信中的任何无线设备或实体通信,这些设备或实体例如有打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何一个设备或位置(例如,公用电话亭、报亭、休息室)以及电话机。这至少包括Wi-Fi和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。
现在参考图10,示出了可采用OOB KA处理的示例性计算环境1000的示意性框图。系统1000包括一个或多个客户机1002。客户机1002可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,客户机1002可容纳cookie和/或相关联的上下文信息。
系统1000还包括一个或多个服务器1004。服务器1004也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1004可以例如通过使用本体系结构来容纳线程以执行变换。在客户机1002和服务器1004之间的一种可能的通信能够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。数据分组可包括例如cookie和/或相关联的上下文信息。系统1000包括可以用来使客户机1002和服务器1004之间通信更容易的通信框架1006(例如,诸如因特网等全球通信网络)。
通信可经由有线(包括光纤)和/或无线技术来促进。客户机1002操作上被连接到可以用来存储对客户机1002本地的信息(例如,cookie和/或相关联的上下文信息)的一个或多个客户机数据存储1008。同样地,服务器1004可在操作上连接到可以用来存储对服务器1004本地的信息的一个或多个服务器数据存储1010。
客户机1002和服务器1004两者都可以包括监控诸如NAT路由器、网关等网络接口(未示出)的KA应用程序。如上所述,客户机1002能以对等方式互连,这样通过使用本地KA应用程序,连接状态管理可以在客户机中的一个或两者的内部。
以上所描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其它组合和排列都是可能的。因此,本新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡此时所解释的相似的方式为包含性的。

Claims (20)

1.一种方便连接管理的计算机实现的系统(100),包括:
用于提供软件实体之间的任意通信连接的连接组件(102);以及
用于向所述连接组件发送带外(OOB)信号以维持所述连接的保活组件(106)。
2.如权利要求1所述的系统,其特征在于,所述任意通信连接容纳传输层面向连接的端对端协议。
3.如权利要求1所述的系统,其特征在于,所述任意通信连接容纳传输层无连接协议。
4.如权利要求1所述的系统,其特征在于,所述连接组件包括方便专用网与公共网的连接的网络地址转换(NAT)设备。
5.如权利要求1所述的系统,其特征在于,所述OOB信号是由所述保活组件插入到所述软件实体之间的连接中的保活分组。
6.如权利要求1所述的系统,其特征在于,所述保活组件是与所述软件实体不同的应用程序,所述应用程序生成所述OOB信号并方便基于TCP/IP系统表的表活动来将所述OOB信号插入到所述软件实体之间的连接中。
7.如权利要求1所述的系统,其特征在于,所述保活组件监控所述连接组件的超时时间段,基于所述超时时间段采用保活刷新时间段,并基于所述刷新时间段来生成所述OOB信号并将其插入到所述连接中。
8.如权利要求1所述的系统,其特征在于,其间建立所述连接的所述软件实体对应地驻留在客户机和服务器上。
9.如权利要求8所述的系统,其特征在于,所述保活组件包括基于服务器的保活应用程序和基于客户机的保活应用程序,所述基于服务器的和基于客户机的保活应用程序通过所述连接组件来传递保活分组以维持所述连接。
10.如权利要求1所述的系统,其特征在于,在所述OOB信号由所述连接组件处理之后,所述保活组件移除所述OOB信号。
11.一种管理连接的计算机实现的方法,包括:
在不同的系统的本机应用程序之间建立NAT连接(504);以及
在带外自动地将保活分组插入到所述连接中以维持所述连接(506)。
12.如权利要求11所述的方法,其特征在于,还包括基于预定的连接策略来自动地将所述保活分组插入到所述连接中。
13.如权利要求11所述的方法,其特征在于,NAT连接是经由传输控制协议(TCP)通信传输技术来促进的。
14.如权利要求11所述的方法,其特征在于,还包括启动所述本机应用程序的对应的保活应用程序,所述保活应用程序基于TCP/IP系统表中的新项来在带外相互传递所述保活分组并自动地将其插入到所述连接中以维持所述连接。
15.如权利要求14所述的方法,其特征在于,所述保活应用程序监控与所述本机应用程序相关联的对应的系统表中的连接状态,并基于所述连接状态停止发送所述保活分组。
16.如权利要求11所述的方法,其特征在于,还包括:
发现与所述本机应用程序中的至少一个相关联的元组,所述元组包括协议号、源IP地址、源端口号、目的地IP地址、或目的地端口号中的至少两个;以及
基于利用所述元组的保活分组来复位NAT定时器。
17.如权利要求11所述的方法,其特征在于,还包括在所述保活分组到达所述本机应用程序之前移除所述保活分组。
18.如权利要求11所述的方法,其特征在于,还包括基于所述本机应用程序中的至少一个的带内活动来自动地启动保活应用程序。
19.如权利要求11所述的方法,其特征在于,还包括自动地启动一个或多个保活应用程序,并经由所述一个或多个保活应用程序基于所采用的传输协议的类型来插入所述保活分组。
20.一种计算机实现的系统(300),包括:
用于自动地在本机应用程序之间建立NAT连接的计算机实现的装置(306);
用于自动地启动所述本机应用程序的对应的保活应用程序的计算机实现的装置(106);
用于基于系统表来监控所述连接的活动的计算机实现的装置(106);以及
用于响应于感测到不活动来自动地将保活分组插入到所述连接中的计算机实现的装置(106),所述保活分组基于TCP分组从两个保活应用程序插入,或基于UDP分组从所述保活应用程序中的一个插入。
CN2008800066266A 2007-02-28 2008-02-21 用于与网络地址转换系统相关联的客户机的带外保活机制 Expired - Fee Related CN101622834B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/712,123 2007-02-28
US11/712,123 US7881318B2 (en) 2007-02-28 2007-02-28 Out-of-band keep-alive mechanism for clients associated with network address translation systems
PCT/US2008/054485 WO2008106355A1 (en) 2007-02-28 2008-02-21 Out-of-band keep-alive mechanism for clients associated with network address translation systems

Publications (2)

Publication Number Publication Date
CN101622834A true CN101622834A (zh) 2010-01-06
CN101622834B CN101622834B (zh) 2013-03-13

Family

ID=39717208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800066266A Expired - Fee Related CN101622834B (zh) 2007-02-28 2008-02-21 用于与网络地址转换系统相关联的客户机的带外保活机制

Country Status (7)

Country Link
US (1) US7881318B2 (zh)
EP (1) EP2127250A4 (zh)
JP (1) JP5090472B2 (zh)
KR (1) KR101354727B1 (zh)
CN (1) CN101622834B (zh)
TW (1) TWI364967B (zh)
WO (1) WO2008106355A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320500A (zh) * 2014-10-13 2015-01-28 中国联合网络通信集团有限公司 一种nat设备的保活方法及装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7710995B2 (en) * 2005-03-08 2010-05-04 Leaf Networks, Llc Method and system for out-of-band signaling for TCP connection setup
US20100228863A1 (en) * 2007-03-28 2010-09-09 Pioneer Corporation Content distribution system and its control method
US8806601B2 (en) * 2008-02-29 2014-08-12 International Business Machines Corporation Non-interactive entity application proxy method and system
US8930550B2 (en) * 2008-03-11 2015-01-06 International Business Machines Corporation Selectable non-interactive entity application proxy method and system
JP5098820B2 (ja) * 2008-05-30 2012-12-12 富士通株式会社 フレーム中継装置およびフレーム中継方法
GB2478470B8 (en) 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
US9313800B2 (en) * 2009-06-23 2016-04-12 Nokia Technologies Oy Method and apparatus for optimizing energy consumption for wireless connectivity
TWI419513B (zh) * 2010-12-02 2013-12-11 Chunghwa Telecom Co Ltd 網路設備監測方法
EP2673927A4 (en) 2011-02-08 2016-08-24 Sierra Wireless Inc METHOD AND DATA-TRANSFER SYSTEM BETWEEN NETWORK DEVICES
EP2487867B1 (de) 2011-02-09 2014-01-01 Siemens Aktiengesellschaft Lebenszeichenüberwachung
CN110225051A (zh) * 2011-05-03 2019-09-10 诺基亚技术有限公司 用于保持活动信号发送的方法和设备
WO2012151692A1 (en) * 2011-05-06 2012-11-15 Sierra Wireless, Inc. Method and apparatus for management of network communications
US8892710B2 (en) 2011-09-09 2014-11-18 Microsoft Corporation Keep alive management
US8806250B2 (en) 2011-09-09 2014-08-12 Microsoft Corporation Operating system management of network interface devices
US9049660B2 (en) 2011-09-09 2015-06-02 Microsoft Technology Licensing, Llc Wake pattern management
US9251253B2 (en) 2013-01-05 2016-02-02 Qualcomm Incorporated Expeditious citation indexing
US9203906B2 (en) * 2013-06-30 2015-12-01 Vonage Network, Llc Systems and methods for enabling data communications to a telephony device
WO2015171549A2 (en) * 2014-05-05 2015-11-12 Citrix Systems, Inc. Facilitating communication between mobile applications
TWI555357B (zh) * 2014-07-04 2016-10-21 Throughtek Technology Shenzhen Co Ltd Effectively maintain the NAT channel service method
US10932192B2 (en) * 2016-01-12 2021-02-23 Qualcomm Incorporated EMTC power saving mode (PSM) enhancements for service outage
US11411915B2 (en) * 2019-01-09 2022-08-09 Cisco Technology, Inc. Leveraging MACsec key agreement (MKA) state events to trigger fast IGP/EGP convergence on MACsec encrypted links
KR102231064B1 (ko) * 2019-11-12 2021-03-23 한국전자기술연구원 NAT를 통해 서버와 연결되는 IoT 기기 및 IoT 통신방법
KR102133139B1 (ko) * 2019-11-20 2020-07-13 전자부품연구원 NAT를 통해 서버와 연결되는 IoT 기기 및 IoT 시스템
US11310265B2 (en) * 2020-02-27 2022-04-19 Hewlett Packard Enterprise Development Lp Detecting MAC/IP spoofing attacks on networks
US11425043B2 (en) * 2020-06-16 2022-08-23 T-Mobile Usa, Inc. Duplex load balancing for massive IoT applications
US11663285B2 (en) * 2021-09-06 2023-05-30 Microsoft Technology Licensing, Llc Webpage management in native application
US11792065B2 (en) * 2022-02-17 2023-10-17 Cisco Technology, Inc. Network controller, failure injection communication protocol, and failure injection module for production network environment

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471564A (en) 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
US6405262B1 (en) 1995-07-14 2002-06-11 Microsoft Corporation Efficient inter-process object and interface pinging
US6353614B1 (en) 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US6446225B1 (en) 1998-04-23 2002-09-03 Microsoft Corporation Server system with scalable session timeout mechanism
WO2000008821A1 (en) * 1998-08-04 2000-02-17 At & T Corp. A method for exchanging signaling messages in two phases
US6401127B1 (en) 1999-05-04 2002-06-04 Cisco Technology, Inc. Adaptive timer for LLC type 2 reliable transport in a computer network
US6597700B2 (en) 1999-06-30 2003-07-22 Nortel Networks Limited System, device, and method for address management in a distributed communication environment
US6553032B1 (en) 1999-09-01 2003-04-22 Tantivy Communications, Inc. Packeting timeout spoofing in a wireless data communications network
US6563599B1 (en) 1999-10-04 2003-05-13 Conexant Systems, Inc. Method and apparatus for improving performance of facsimile transmissions over IP networks
US7249175B1 (en) 1999-11-23 2007-07-24 Escom Corporation Method and system for blocking e-mail having a nonexistent sender address
US6526433B1 (en) 1999-12-15 2003-02-25 International Business Machines Corporation Adaptive timeout value setting for distributed computing environment (DCE) applications
US6880089B1 (en) 2000-03-31 2005-04-12 Avaya Technology Corp. Firewall clustering for multiple network servers
US6976071B1 (en) * 2000-05-03 2005-12-13 Nortel Networks Limited Detecting if a secure link is alive
US7155740B2 (en) 2000-07-13 2006-12-26 Lucent Technologies Inc. Method and apparatus for robust NAT interoperation with IPSEC'S IKE and ESP tunnel mode
WO2002019132A1 (en) 2000-09-01 2002-03-07 Tut Systems, Inc. A method and system to pre-compile configuration information for a data communications device
US20020042875A1 (en) 2000-10-11 2002-04-11 Jayant Shukla Method and apparatus for end-to-end secure data communication
US6748559B1 (en) 2000-10-19 2004-06-08 International Business Machines Corporation Method and system for reliably defining and determining timeout values in unreliable datagrams
TW532016B (en) 2000-12-18 2003-05-11 Asulab Sa Correlation and demodulation circuit for a receiver for signals modulated by a specific code
US7054304B2 (en) * 2001-01-19 2006-05-30 Terited International , Inc. Method and protocol for managing broadband IP services in a layer two broadcast network
JP2002223230A (ja) 2001-01-26 2002-08-09 Hitachi Ltd 移動データ通信システム、該システム内に設けられるネットワーク・アドレス・トランスファー装置及びフォーリン・エージェント装置
US7068669B2 (en) * 2001-04-20 2006-06-27 Qualcomm, Incorporated Method and apparatus for maintaining IP connectivity with a radio network
US7058054B2 (en) * 2001-08-20 2006-06-06 Skystream Networks Inc. Controlling multiple nodes to execute messages only once
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager
US7139828B2 (en) 2002-08-30 2006-11-21 Ip Dynamics, Inc. Accessing an entity inside a private network
JP3445986B1 (ja) * 2002-09-27 2003-09-16 松下電器産業株式会社 インターネットに接続するサーバ、機器および通信システム
US7406087B1 (en) * 2002-11-08 2008-07-29 Juniper Networks, Inc. Systems and methods for accelerating TCP/IP data stream processing
CN100546264C (zh) 2003-05-05 2009-09-30 汤姆森许可贸易公司 通过网络与显示设备通信的方法
US7573867B1 (en) * 2003-07-17 2009-08-11 Sprint Spectrum L.P. Method and system for maintaining a radio link connection during absence of real-time packet data communication
US7483437B1 (en) * 2003-11-20 2009-01-27 Juniper Networks, Inc. Method of communicating packet multimedia to restricted endpoints
US7694127B2 (en) 2003-12-11 2010-04-06 Tandberg Telecom As Communication systems for traversing firewalls and network address translation (NAT) installations
CN1558606A (zh) * 2004-02-10 2004-12-29 Ut斯达康通讯有限公司 网络终端自动配置方法
US7426569B2 (en) * 2004-02-25 2008-09-16 Research In Motion Limited System and method for maintaining a network connection
US8214875B2 (en) * 2004-02-26 2012-07-03 Vmware, Inc. Network security policy enforcement using application session information and object attributes
US7451212B2 (en) 2004-03-17 2008-11-11 At&T Intellectual Property I, L.P. Logical port configuration system
US7050940B2 (en) 2004-03-17 2006-05-23 International Business Machines Corporation Method and system for maintaining and examining timers for network connections
US7308617B2 (en) 2004-06-17 2007-12-11 International Business Machines Corporation Apparatus, system, and method for automatically freeing a server resource locked awaiting a failed acknowledgement from a client
US20060004933A1 (en) * 2004-06-30 2006-01-05 Sujoy Sen Network interface controller signaling of connection event
US7962623B2 (en) * 2004-06-30 2011-06-14 Microsoft Corporation Sustaining session connections
US8949391B2 (en) * 2004-08-04 2015-02-03 Rockstar Consortium Us Lp Network management across a NAT or firewall
US20060072569A1 (en) 2004-10-04 2006-04-06 Wizzysoft Corporation Network address translation protocol for transmission control protocol connections
US8090845B2 (en) 2004-10-18 2012-01-03 Audiocodes Texas, Inc. Apparatus and method for firewall traversal
US20060160562A1 (en) 2004-12-16 2006-07-20 Davis Harvey E Automatic deactivation/activation of cellular phones in restricted areas
US7640490B2 (en) 2004-12-20 2009-12-29 Microsoft Corporation Method, system, and computer-readable medium for controlling the calculation of volatile functions in a spreadsheet
JP3999785B2 (ja) * 2005-01-20 2007-10-31 株式会社フラクタリスト 通信方法
US7471636B2 (en) 2005-02-23 2008-12-30 Cisco Technology, Inc. Methods and apparatus based on message transmission times
US7480837B2 (en) 2005-06-01 2009-01-20 Freescale Semiconductor, Inc. Method of monitoring timeout conditions and device therefor
US20070091907A1 (en) * 2005-10-03 2007-04-26 Varad Seshadri Secured media communication across enterprise gateway
US7907532B2 (en) 2005-11-23 2011-03-15 Jds Uniphase Corporation Pool-based network diagnostic systems and methods
GB0526029D0 (en) * 2005-12-21 2006-02-01 Nokia Corp Managing connections in a wireless communications network
US7672264B2 (en) 2006-06-21 2010-03-02 International Business Machines Corporation Method of pausing keep-alive messages and roaming for virtual private networks on handheld devices to save battery power
US8849961B2 (en) * 2006-09-06 2014-09-30 Nokia Corporation Mobile network optimized method for keeping an application IP connection always on
US20080139222A1 (en) * 2006-12-08 2008-06-12 General Instrument Corporation Presence Detection and Location Update in Premise Gateways

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320500A (zh) * 2014-10-13 2015-01-28 中国联合网络通信集团有限公司 一种nat设备的保活方法及装置
CN104320500B (zh) * 2014-10-13 2017-11-10 中国联合网络通信集团有限公司 一种nat设备的保活方法及装置

Also Published As

Publication number Publication date
WO2008106355A1 (en) 2008-09-04
JP5090472B2 (ja) 2012-12-05
JP2010520668A (ja) 2010-06-10
US7881318B2 (en) 2011-02-01
KR101354727B1 (ko) 2014-01-22
TW200843438A (en) 2008-11-01
TWI364967B (en) 2012-05-21
CN101622834B (zh) 2013-03-13
US20080209068A1 (en) 2008-08-28
EP2127250A4 (en) 2014-05-14
EP2127250A1 (en) 2009-12-02
KR20090123867A (ko) 2009-12-02

Similar Documents

Publication Publication Date Title
CN101622834B (zh) 用于与网络地址转换系统相关联的客户机的带外保活机制
US11457373B2 (en) Gateway device for machine-to-machine communication with dual cellular interfaces
CN1509032B (zh) 动态广域网端口检测方法和系统
CN101772141B (zh) 用于降功率状态网络处理的方法和计算设备
KR100812374B1 (ko) 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법
CN101416174A (zh) 无线网络上的会话持续
CN102769603A (zh) 一种数据传输的方法、系统及设备
CN102215121A (zh) 用于建立和利用备份通信信道的装置和方法
CN102597974B (zh) 装置控制设备、客户端设备、装置控制方法和装置控制系统
CN104303455A (zh) 网络存在卸载
WO2020180812A1 (en) Gateway device for secure machine-to-machine communication
CN102882708A (zh) 运维审计方法、装置及系统
CN101951327B (zh) 一种iSCSI网络系统以及检测网络故障的方法
CN109688011A (zh) 一种基于OpenStack的agent选择方法及装置
CN104657240B (zh) 多内核操作系统的失效控制方法及装置
US7734748B1 (en) Method and apparatus for intelligent management of a network element
CN109450683A (zh) 故障检测方法、装置以及应用系统和存储介质
US20230026245A1 (en) System and method for implementing and managing a distributed data flow model
FR3032849A1 (fr) Procede d'etablissement d'une session de communication bidirectionnelle entre un objet communicant et un serveur distant, passerelle, systeme et programme d'ordinateur correspondants.
CN109379111A (zh) 一种计算机管理方法及相关设备
JP2013143622A (ja) 通信システム
EP2202942A1 (fr) Procéde de surveillance de groupe

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130313

Termination date: 20160221