基于网络地址翻译类型的无缝主机迁移制造技术

技术编号:5436102 阅读:227 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了用于维护网络数据分发的系统和方法。网络数据可以以这种方式分发:在没有显著的数据损失的情况下,允许网络会话经受住主机和客户端之间的中断的通信。本发明专利技术的实施例使一个或更多个客户端能够用作网络会话的备份主机,这种确定包括使用NAT简档信息。当其它客户端向主机发送数据时,如果有任何中断通信的指示,它们也可以向一个或更多个备份主机发送该数据。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及网络。更具体而言,本专利技术涉及网络中的数据分发和网络地址 翻译(NAT)的使用。
技术介绍
网络可以包括一组通过通信系统连接在一起的计算设备。网络中的计算机可以与 网络中的其它计算机通信、交换数据和共享资源。网络的例子包括个人域网(PAN)、局域 网(LAN)和广域网(WAN)。本领域公知有各种网络结构。图1A中示出的传统客户端_服务器网络包括连接 到客户端120A-120D的主机110。主机110建立网络会话130,控制哪些客户端和多少客户 端可以加入网络会话130,以及客户端120A-120D在它们已经加入网络会话130时如何彼此 交互。由于主机110通常具有大量的带宽和处理能力,主机110可以能够在网络会话130 中管理和分发到所有客户端120A-120D和来自所有客户端120A-120D的数据。在这种结构 中,来自特定客户端(例如客户端120D)的数据可通过主机110分发给其它客户端(例如 客户端120A-120C)。例如,客户端120D可以向主机110发送数据。当另一个客户端,诸如 客户端120A,请求该数据时,主机110将该数据发送给客户端120A。由于连接到主机,客户端可以只(经由主机)请求该客户端需要的数据,使得该客 户端不必管理不需要的数据。这种设置可以共用于不具有有效地管理网络会话内交换的所 有数据的能力的客户端之间。这些客户端可能需要主机来管理和分发数据。使主机管理和分发网络会话中的数据的缺点是当发生影响主机和任何一个会话 客户端之间的通信的连通性问题时会丢失数据。在这种情况下,来自特定客户端的数据不 能被发送到主机。该数据也将对网络中的其它客户端不可用。例如,客户端120D可能突 然变成与主机110断开。客户端120D本应已经发送到主机110的信息根本不会到达主机 110,因此,该信息不能被发送到网络的其余部分(例如客户端120A-120C)。丢失的信息可 能导致网络会话130的中断,可能影响其它客户端的工作。在玩交换式网络游戏的环境下 尤其如此。当试图通过对等通信(P2P)在客户端之间建立通信时可能会进一步出现关于网 络地址翻译(NAT)的问题。P2P通信通常指连接到网络的客户端设备之间的直接通信。 P2P应用的例子包括但不限于互联网协议承载语音(VoIP)、比特流传输、视频传输、文件 共享、数据共享以及其它类型的客户端之间的不超过单个客户端的带宽能力的直接数据传 递。利用NAT协议,多个节点或计算设备可以共享单个因特网或本地网络的网际协议 (IP)地址。在一个例子中,局域网可以将公共的全局地址用于外部网络业务,而将一个(或 一组)私有IP地址用于内部网络业务。网络中的大部分客户端被连接到中心服务器,该服 务器设置在NAT防火墙(以下称为NAT)之后。本领域一般公知NAT的四种类型全克隆、 受限克隆、端口受限以及对称。全克隆NAT从同一内部IP地址和端口获取所有请求,并且将它们映射到同一外部 IP地址和端口。任何外部主机可以通过向所映射的外部地址发送包来向内部主机发送包。 在受限克隆NAT中,来自同一内部IP地址和端口的所有请求也映射到同一外部IP地址和 端口。然而,与全克隆NAT不同,仅当内部主机先前已向IP地址X发送了包时,(具有IP地 址X的)外部主机才可以向该内部主机发送包。端口受限NAT类似于受限克隆NAT,但其限制包括端口号。具体而言,仅当内部主 机先前已从IP地址X和端口 P发送了包时,外部主机才可以向内部主机发送具有源IP地 址X和源端口 P的包。在最后的例子一对称NAT中,从同一内部IP地址和端口到特定目 的地IP地址和端口的所有请求被映射到同一外部IP地址和端口。如果同一主机发送具有 同一源地址和端口的包,但是向不同的目的地发送,则使用不同的映射。此外,只有接收包 的外部主机可以向内部主机发回用户数据协议(UDP)包。因此,本领域需要改进的用于网络数据分发的系统和方法,其解决与网络会话连通性相关的问题,并且维持会话中的不中断的数据交换。在此情况下,期望的是P2P网络中 的主机具有期望的NAT简档(profile),以便建立优化的P2P网络。因此,本领域还需要在 连接到中心服务器的若干客户端中确定具有期望的NAT简档的主机。
技术实现思路
本专利技术的系统和方法用于维护网络数据分发,将允许网络会话在没有任何数据损 失的情况下经受住主机和客户端之间的中断的通信。主机功能以无缝且没有显著数据损失 的方式迁移到客户端。本专利技术的实施例使一个或更多个客户端用作网络会话的备份主机。 当其它客户端向主机发送数据时,它们也可以向一个或更多个备份主机发送该数据。例如, 向主机发送数据的客户端可能在特定时间段内没有收到对数据的确认。该客户端可以向主 机重新发送该数据,并且向备份主机发送该数据。备份主机的确定可以基于建立主机和多 个客户端之间的连接时在主机和客户端之间共享的(NAT)简档信息。本专利技术的各种实施例包括用于网络数据分发的方法。这种方法包括将主机连接 到客户端,确定客户端是否能够用作备份主机,并且如果能,则向该客户端发送特定信息, 该信息将允许客户端用作备份主机。该确定可以利用NAT简档信息。用作备份主机包括当 其它客户端不能与主机通信时接收来自那些其它客户端的信息。在本专利技术的一些实施例 中,该方法还用于指示主机和客户端之间的通信被中断,以及终止该主机和该特定客户端 之间的通信。本专利技术的各种实施例包括用于网络数据分发的系统。这种系统可以包括主机、能 够用作备份主机的第一客户端以及第二客户端,该第二客户端能够在主机和第二客户端之 间的通信中断的情况下向第一客户端发送数据。在本专利技术的一些实施例中,第二客户端也 可以用作备份主机。本专利技术的一些实施例可以包括多个客户端,每个都构造为用作备份主 机。NAT简档信息可以在关于备份主机可行性的确定中使用。本专利技术的实施例也可以提供用于网络分发系统的主机系统。这种主机系统可以包 括确认模块,在收到时确认客户端通信;协商模块,协商特定客户端是否能够用作备份主 机;以及备份应用模块,向客户端传送提供主机信息的应用。本专利技术的一些实施例还包括主 机信息数据库和计时器。NAT简档信息可以在确定备份主机可行性时收集、分析和使用。本专利技术的一些实施例包括用于网络数据分发的计算机存储介质和指令。这种指令可以用于将主机连接到客户端,通过使用NAT简档信息来与能够用作备份主机的客户端进 行协商,以及向该客户端发送主机信息,使得它可以开始充当备份主机。附图说明图IA示出本领域公知的客户端-服务器网络结构。图IB示出具有一个备份主机的用于网络数据分发的示例性系统。图IC示出具有若干备份主机的用于网络数据分发的示例性系统。图ID示出利用NAT的用于网络数据分发的示例性系统。图2示出网络数据分发系统中的提供无缝主机迁移的计算设备的示例性结构。图3A示出用于网络数据分发的示例性系统的实现,其可以包括网络地址翻译器。图3B示出用于网络数据分发的示例性系统的另一种实现,其可以包括网络地址 翻译器。图4示出用于网络数据分发的示例性方法,其可以包括使用NAT简档信息。 具体实施例方式本专利技术包括用于网络数据分发的系统和方法。本专利技术的实施例可以允许主机迁移 无本文档来自技高网
...

【技术保护点】
一种用于维护网络数据分发的方法,包括:建立主机和多个客户端之间的连接,其中,所述主机和所述多个客户端的每个客户端之间交换的数据在接收到时被确认;至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户端之间共享的网络地址翻译(NAT)简档信息来确定所述多个客户端中的第一客户端的备份可行性;以及向所述第一客户端发送主机信息,其中,所述第一客户端至少基于所述主机信息来建立与所述多个客户端中的所有其它客户端的连接,并且如果所述主机和所述多个客户端中的第二客户端之间的通信中断,则所述第一客户端从所述第二客户端接收数据。

【技术特征摘要】
【国外来华专利技术】US 2007-10-5 60/997,918;US 2008-3-17 12/049,954;US一种用于维护网络数据分发的方法,包括建立主机和多个客户端之间的连接,其中,所述主机和所述多个客户端的每个客户端之间交换的数据在接收到时被确认;至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户端之间共享的网络地址翻译(NAT)简档信息来确定所述多个客户端中的第一客户端的备份可行性;以及向所述第一客户端发送主机信息,其中,所述第一客户端至少基于所述主机信息来建立与所述多个客户端中的所有其它客户端的连接,并且如果所述主机和所述多个客户端中的第二客户端之间的通信中断,则所述第一客户端从所述第二客户端接收数据。2.如权利要求1所述的方法,还包括当在所述主机和所述多个客户端之间共享NAT 简档信息之前经由STUN服务器收集NAT简档信息。3.如权利要求1所述的方法,其中,在利用客户端_服务器结构的所述主机和所述多个 客户端之间共享所述NAT简档信息。4.如权利要求1所述的方法,其中,在利用对等结构的所述主机和所述多个客户端之 间共享所述NAT简档信息。5.如权利要求1所述的方法,还包括利用NAT简档信息为所述多个客户端中的每个 客户端分配优先级值,其中,至少基于NAT简档信息来确定所述多个客户端中的所述第一 客户端的备份可行性包括所述优先级值的使用。6.如权利要求5所述的方法,还包括当所述第一客户端具有与分配给所述多个客户 端中的另一个客户端的优先级值相等的优先级值时,解决优先级争端。7.如权利要求6所述的方法,其中,解决所述优先级争端包括参考与分配给所述多个 客户端中的其它客户端的顺序值相比所述第一客户端的更高的顺序值,所述顺序值预先已 经分配给所述多个客户端中的每个客户端。8.如权利要求1所述的方法,其中,所述多个客户端中的每个客户端的NAT简档信息包 括NAT类型,并且其中,至少基于NAT简档信息来确定所述多个客户端中的所述第一客户端 的备份可行性包括所述NAT类型的使用。9.如权利要求1所述的方法,其中,所述多个客户端中的每个客户端的NAT简档信息包 括有关NAT是否支持通用即插即用(UPnP)的信息,以及其中至少基于NAT简档信息来确定 所述多个客户端中的所述第一客户端的备份可行性包括有关NAT是否支持UPnP的信息的 使用。10.如权利要求1所述的方法,其中,所述多个客户端中的每个客户端的NAT简档信息 包括有关NAT的端口可预测性信息的信息,以及其中至少基于NAT简档信息来确定所述多 个客户端中的所述第一客户端的备份可行性包括所述端口可预测性信息的使用。11.如权利要求1所述的方法,其中,所述多个客户端中的每个客户端的NAT简档信息 包括有关NAT的端口保留信息的信息,以及其中至少基于NAT简档信息来确定所述多个客 户端中的所述第一客户端的备份可行性包括所述端口保留信息的使用。12.如权利要求1所述的方法,其中,通过在所述第二客户端向所述主机发送数据之后 的一时间段内没有从主机到所述第二客户端的确认来识别中断的通信。13.如权利要求1所述的方法,还包括轮询所述多个客户端以确定所述主机和所述多个客户端中的每个客户端之间的连通性。14.如权利要求13所述的方法,其中,由所述轮询的结果来指示中断的通信。15.如权利要求1所述的方法,还包括从所述主机向所述多个客户端中的每个客户端 发送有关中断的通信的指示。16.如权利要求1所述的方法,还包括基于中断的通信终止所述主机和所述第二客户 端之间的连接。17.如权利要求1所述的方法,其中,协商所述第一客户端的备份可行性包括确定所述第一客户端的带宽。18.如权利要求1所述的方法,其中,协商所述第一客户端的备份可行性还包括确定所 述第一客户端是否能够连接到所述多个客户端中的每个所述其它客户端。19.如权利要求1所述的方法,其中,向所述第一客户端发送主机信息包括发送提供所 述主机信息的应用。20.如权利要求1所述的方法,还包括至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户 端之间共享的NAT简档信息来确定所述多个客户端中的第三客户端的备份可行性;以及向所述第三客户端发送主机信息,使得所述第三客户端至少基于所述主机信息和所述 NAT简档信息来连接到所述多个客...

【专利技术属性】
技术研发人员:罗纳德J罗伊马克L雅各布亚当P哈里斯
申请(专利权)人:索尼电脑娱乐美国公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1