CN101861575A - 基于网络地址翻译类型的无缝主机迁移 - Google Patents
基于网络地址翻译类型的无缝主机迁移 Download PDFInfo
- Publication number
- CN101861575A CN101861575A CN200880115471A CN200880115471A CN101861575A CN 101861575 A CN101861575 A CN 101861575A CN 200880115471 A CN200880115471 A CN 200880115471A CN 200880115471 A CN200880115471 A CN 200880115471A CN 101861575 A CN101861575 A CN 101861575A
- Authority
- CN
- China
- Prior art keywords
- client
- main frame
- nat
- information
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了用于维护网络数据分发的系统和方法。网络数据可以以这种方式分发:在没有显著的数据损失的情况下,允许网络会话经受住主机和客户端之间的中断的通信。本发明的实施例使一个或更多个客户端能够用作网络会话的备份主机,这种确定包括使用NAT简档信息。当其它客户端向主机发送数据时,如果有任何中断通信的指示,它们也可以向一个或更多个备份主机发送该数据。
Description
技术领域
本发明总体上涉及网络。更具体而言,本发明涉及网络中的数据分发和网络地址翻译(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简档信息来与能够用作备份主机的客户端进行协商,以及向该客户端发送主机信息,使得它可以开始充当备份主机。
附图说明
图1A示出本领域公知的客户端-服务器网络结构。
图1B示出具有一个备份主机的用于网络数据分发的示例性系统。
图1C示出具有若干备份主机的用于网络数据分发的示例性系统。
图1D示出利用NAT的用于网络数据分发的示例性系统。
图2示出网络数据分发系统中的提供无缝主机迁移的计算设备的示例性结构。
图3A示出用于网络数据分发的示例性系统的实现,其可以包括网络地址翻译器。
图3B示出用于网络数据分发的示例性系统的另一种实现,其可以包括网络地址翻译器。
图4示出用于网络数据分发的示例性方法,其可以包括使用NAT简档信息。
具体实施方式
本发明包括用于网络数据分发的系统和方法。本发明的实施例可以允许主机迁移无缝地进行。在主机和客户端之间的通信中断的情况下,网络会话可以在没有显著的数据丢失的情况下继续进行。网络会话的主机可以被连接到若干客户端。这些客户端中的一个(或更多个)客户端可以能够用作备份主机。与客户端协商备份可行性,并且将主机信息发送给该客户端,然后该客户端可以用作备份主机。备份主机然后可以连接到网络会话中的其它客户端并从这些客户端接收数据。之后,如果主机和特定客户端之间的通信中断,则该特定客户端可以将其数据发送到备份主机,使网络会话在没有任何数据损失的情况下继续进行。
整个本申请中所标识的要素是示例性的,可以包括各种其替换、等同或衍生。可以使用硬件、软件和计算机可执行指令的各种组合。程序模块和引擎可以包括当由处理器执行时实现特定任务的执行的例程、程序、对象、组件和数据结构,该处理器可以是通用的或专用的。存储在计算机可读介质中的计算机可执行指令和关联的数据结构表示编程装置的例子,用于执行这里所公开的方法的步骤和/或实现特定系统结构。
在图1A所示和上面详细讨论的客户端-服务器网络结构中,每个客户端不必处理网络会话中的所有数据。相反,每个客户端仅接收和处理该客户端参与网络会话所需要的数据。一些客户端由于例如缺少带宽或缺乏处理能力而不能有效地管理所有数据。然而,一些客户端的确具有管理网络会话中的所有数据的能力。这些特定的客户端可以充当备份主机,存储来自网络会话的部分或全部数据。
与图1A的系统构造相对比,图1B示出具有一个备份主机(客户端160A)的用于网络数据分发的示例性系统。备份主机可以是任何能够执行网络会话的主机的一些或全部功能的客户端。当网络会话150的主机140不能执行或未执行时,一些或全部主机职责可以迁移到备份主机。为有资格成为备份主机,要求候选的主机(客户端)展示备份可行性。展示备份可行性可以包括满足一个或更多个与例如带宽、处理能力、存储器、硬件或软件配置或者服务质量有关的要求。客户端的备份可行性可以通过与主机协商来确定。
在完成涉及以及确认备份可行性的协商之后,可以通过网络会话150在主机140和客户端160A之间发送主机信息。主机信息可以包括网络名称、网络中的客户端的网际协议(IP)地址、防火墙信息以及客户端160A接管某些主机职责时需要的有关具体职责的信息。利用主机信息,客户端160A可以能够在主机140和其它客户端160B-160D之间的一个或更多个连接中断时用作备份主机。例如,如果客户端160B变成与主机140断开,则客户端160B可以向客户端160A传递数据,如将在图3A和图3B的情况下所示出的那样。通过将主机职责从主机140迁移到客户端160A,对于网络会话150,来自客户端160B的信息未完全丢失。
在一些实施例中,多于一个的客户端可以能够用作备份主机。图1C示出具有若干备份主机-客户端190A-190D的用于网络数据分发的示例性系统。如果原主机170变得不可用,则图1C的网络会话180中的每个客户端可以负责特定的备份主机职责。例如,在游戏环境下,客户端190A可以负责记分,而客户端190B可以负责状态变化。客户端190C可以负责许可标准(例如谁可以参加游戏),而客户端190D可以负责聊天功能。可选择地,客户端190A可以负责所有上述任务,而如果客户端190A后来出故障,则客户端190B-190D接管那些任务。
图1D示出利用NAT的用于网络数据分发的示例性系统。网络上的客户端设备195A、195B、197和195D最初连接到外部网络199中的服务器191。服务器191可以监视用于在连接到外部网络199的客户端195A、195B、197和195D之间玩游戏的数据。
客户端195A、195B、197和195D可以位于对应的网络地址翻译器(NAT)192A、192B、192C和192D之后。每个NAT可以根据因特网标准来配置,该标准使局域网(LAN)能够针对内部业务使用一组私有IP地址,而针对外部业务使用第二组全局IP地址。大多数NAT对IP地址执行动态翻译,使得在内部网络开始通信之前,外部网络无法达到内部网络。然而,由于客户端195A、195B、197和195D建立了服务器-客户端关系,服务器191与客户端195A、195B、197和195D之间的通信不受NAT 192A、192B、192C和192D的限制。
在建立客户端可以直接相互通信的P2P网络时,一个客户端可以被建立为主机197,其它对等方195(非主机的连接到P2P网络的客户端)通过该主机197建立彼此之间的直接连接。对等方195可以按照公知为全连接网(FCG,fully connected grid)的配置来连接。这种配置可以防止任何一个对等方成为瓶颈。主机197可以基于每个客户端的NAT简档来确定。NAT 192A、192B、192C和192D可以是以上所提及的四种不同的NAT配置(全克隆、受限克隆NAT、端口受限克隆和对称)之一。
穿越(traversal)全克隆、受限克隆和端口受限克隆NAT通常比穿越对称NAT更复杂。如果客户端在如美国专利申请11/243,853号(其公开内容先前已被加入)中所述的对称NAT之后,则可以实现NAT穿越。具体而言,客户端可以执行端口预测,包括在NAT上构造预测传输地址列表,其中该客户端位于该NAT之后。然后客户端可以将包含该预测传输地址列表的邀请(INVITE)消息从第一节点发送到第二客户端。对称NAT之后的客户端然后可以利用预测传输地址对第二节点执行连通性检查。可以通过以并行方式向每个预测传输地址发送通过NAT的UDP简单穿越(STUN,Simple Traversal of UDP through NAT)请求来执行连通性检查。当对称NAT之后的客户端接收这些请求时,客户端向第二客户端发送STUN响应。如果第二客户端接收STUN响应,则它开始向该地址发送信息。
可以有上述四种类型之外的NAT类型。在一些情况下,可使用标准技术来穿越NAT。在其它情况下,NAT行为可能是不可预测的或不稳定的,使得与这种NAT之后的客户端的通信不可靠。由于主机107的职责是在其它对等方195A、195B和195D之间传送信息,重要的是主机197应当在不干扰其通信能力的类型的NAT之后。在对等方195A、195B、195D和主机197处于全连接网(FCG)的情况下,特别期望的是使用不干扰主机通信能力的NAT之后的主机。这使得能够为最大数量的对等方提供最高水平的服务。
通过选择具有期望的NAT简档的主机197,可以获得更为可靠的P2P通信。一旦已经确立主机197,对等方195可以通过最初向主机197发送信息来相互通信,主机197然后将该信息转送到相应的接收对等方195。客户端也可以在使用主机197之后直接发送信息,以便建立直接通信路径。
在某些实施例中,客户端195A、195B、195D和197可以通过与外部网络199相关联的STUN服务器193获得NAT简档信息。STUN服务器193利用轻量协议,该协议允许支持IP的客户端发现NAT的存在和类型,其中该客户端位于该NAT之后。STUN服务器193与多数NAT类型工作,并且不依赖于NAT的任何特殊的行为。在一个方面中,STUN服务器193的作用类似于对客户端195A举着的镜子,使得客户端195A可以看到其本地的传输地址如何被映射到公共的传输地址。客户端195A也可以通过与STUN服务器193通信来确定客户端195A位于其之后的NAT 192A的类型。
每个客户端195A、195B、197和195D可以使用STUN服务器193来获得NAT简档信息,然后可以将该信息转送到中心服务器191,以便中心服务器191确定哪个客户端将成为最有利的主机197。类似地,客户端195A、195B、197和195D可以使用STUN服务器193来获得NAT简档信息,然后可以将该信息转送到尝试通过P2P网络通信的所有其它客户端195,以便客户端195A、195B、197和195D最好地确定主机197。
连接到服务器191的每个客户端可以收集其自己的NAT简档信息以在P2P网络内使用。该简档信息可以包括:有关客户端位于其之后的NAT类型的信息、有关NAT是否支持通用即插即用(UPnP)的信息、有关NAT是否展示端口保留的信息以及有关NAT是否支持端口可预测性的信息。
在当前应用的情况下使用的端口保留是指一旦内部IP地址被映射到特定的外部端口,则它将被一直映射到该特定端口。类似地,端口可预测性是指,可预测内部IP地址将被映射到哪个外部端口即使该端口不总是同一个端口。例如,每次尝试映射内部IP地址时,外部端口号可以持续递增。
每个客户端的NAT简档信息可以用于创建连接到服务器的所有客户端之间的优先级列表,以便最好地选择用于P2P通信的主机。如果潜在的主机之间存在优先级持平,则可以分配序数,以确定哪个潜在的主机被选择为实际的主机。在一些实施例中,这种序数可以由服务器以客户端连接到该服务器的顺序来分配。可选择地,分布式仲裁算法可以用于从两个或更多个同样适合的潜在的主机中选择主机。如果最初的主机决定离开P2P网络,或者以某种方式与网络断开,则该信息可以用于选择P2P网络的下一个主机,以便无缝地维持网络连通性。
一旦给定客户端已经收集了简档信息,与连接到服务器的其它客户端共享该客户端的NAT简档。分发可以通过对等分发或从客户端到服务器到其余客户端来进行。服务器可以通过专用的网络连接来分发简档信息。一旦客户端已经提交了所有NAT简档,则确定特定的客户端是否应当是主机、对等方,或者它们是否不能满足整体上的网络交互的要求。该确定可以基于如上所述针对每个客户端获得的简档信息来进行。
例如,通过基于若干因素来分配优先级,可以基于具有最有利的简档的客户端来从可用客户端中选择主机。基于其简档信息,其余客户端可以被指定为对等方,或者可能不能被识别为对等方或主机。例如,不可穿越的NAT之后的客户端可能不满足作为对等方或主机连接到网络所需的要求。
示例性优先化方案可以将客户端分为五种单独的级别:活跃、可能、未知、进行中和非活跃。活跃标签指示客户端是很好的主机候选者。可能标签指示客户端是好的主机候选者,但优先级仍给予具有活跃标签的客户端。未知标签指示网络不能决定该特定客户端是否是好的主机候选者。进行中标签指示网络仍在决定客户端是否是好的主机候选者。最后,非活跃标签指示客户端不能承担主机的职责。
优先级标签可以基于四个示例性的准则:NAT类型、通用即插即用(UPnP)能力、端口保留和端口可预测性。在确定优先级时还可能使用若干其它因素。这些因素可以属于客户端的服务质量简档,并且可以包括QoS信息,包括但不限于:ping时间、带宽表现、地理、等待时间和IP提供商。
图2示出网络数据分发系统中的提供无缝主机迁移的计算设备的示例性结构200。可以用作网络中的中央通信集线器(hub)的主机200可以是诸如服务器的计算设备。由于客户端在某个时刻可以成为备份主机,典型地为客户端操作而预备的计算设备也可以展示主机200配置的一些或全部。主机200可以包括网络接口210、确认模块220、协商模块230、主机信息数据库240、备份应用模块250、轮询模块260、计时器270和NAT模块280。
本发明所提及的模块(或应用)是执行各种系统级功能的例程的集合。根据需要,可以通过硬件(诸如处理设备)和设备驱动程序来动态地装载和卸载(例如执行)模块。这里所述的模块化软件组件也可以作为较大软件平台的一部分被并入或作为应用专用组件的一部分被整合。
网络接口210可以是配置为允许主机和网络中的其它计算设备之间的通信的各种硬件和/或软件组件任何之一。网络接口210可以包括用于通过有线、无线和/或基于因特网的通信网络进行通信的组件。
确认模块220允许验证客户端发送的信息由主机200接收到。当主机200经由网络接口210从客户端接收信息时,确认模块220可以向发送该信息的客户端发送接收确认(ACK)。例如,如果客户端将有关游戏状态数据的改变的信息发送到主机200,则确认模块220可以向发送客户端发送ACK应答,指示接收到该信息。由确认模块220发送的ACK应答可以进一步包括:收到什么信息、收到多少该信息以及/或者该信息是否有损坏的部分或不完整的指示。
未收到关于发送客户端的特定数据传输的ACK可以表示主机200从未收到该数据传输。主机200未收到数据传输(或其一部分)可以表示主机200与发送该数据传输的客户端之间的连接或者主机200本身出现了问题。如果特定数量的数据传输未能从主机200接收ACK应答,则发送客户端可以调用迁移操作,以使一些或全部主机功能迁移到备份主机。
协商模块230基于各种参数来协商客户端的备份可行性。例如,可以需要有可行性的备份主机/客户端候选者具有某个量的可用带宽。客户端的带宽需要足以允许该客户端管理网络会话中的所有数据。备份可行性可以需要客户端遵循它们所涉及的各种服务质量标准,例如ping速率、包损失、可用存储、处理器速度等。
协商模块230可以进一步确定客户端候选者是否能够连接到网络中的每个其它客户端。有可行性的备份主机可以需要能够连接到网络中的每个其它客户端并从其接收信息。备份可行性的参数可以由网络会话的类型确定。例如,由于在游戏环境中可以发生的状态变化的数量,特定的游戏网络会话可以需要用于备份可行性的特定量的带宽和处理器速度。较不复杂的事务处理,如简单的文件传递,可以需要较少的带宽和/或处理能力。
协商模块230可以被配置为与多个客户端协商备份可行性,从而得到一系列的备份主机。可选择地,协商模块230可以被配置为在一组客户端中分配针对特定任务的备份职责。通过提供一系列的备份主机,当网络或主机/客户端条件允许时,主机职责可以从主机无缝地迁移到第一备份主机,到第二备份主机等。备份主机职责和/或特定职责的顺序可以基于客户端连接到主机的顺序来指定。可选择地,顺序和/或职责可以基于其它因素,诸如带宽或服务质量。
主机信息数据库240可以存储有关主机、客户端或网络会话的信息。存储在主机信息数据库240中的信息可以允许计算设备执行某些主机职责,诸如连接到网络会话中的其它客户端。这种主机信息可以包括网络名称、网络中的客户端的网际协议(IP)地址和防火墙信息。当发生诸如客户端与网络断开或新客户端加入网络等事件时,主机信息数据库240可以被更新。例如,新客户端的IP地址将需要被添加到主机信息数据库240。
与主机信息数据库240协同工作,备份应用模块250生成可以在客户端上、下载、安装和执行的应用。该应用为客户端提供某种操作功能,除了满足基本的可行性要求外,客户端可能还需要该功能以便于其充当备份主机。该应用可以构造客户端以连接到网络会话中的其它客户端并且与其交换数据。
可选择的轮询模块260可以被构造为轮询网络中的所有客户端。轮询模块260可以被用于就连通性而轮询客户端。就连通性而轮询可以包括:向网络会话中的每个客户端发送小数据包,从已经接收到数据包的客户端接收应答/确认,以及确定哪些客户端在与主机200通信方面有问题。
轮询模块260可以按照周期性的间隔自动轮询客户端。轮询模块260也可以被配置为当发生特定事件时轮询客户端,特定事件诸如新客户端加入网络会话或指示通信中断(例如,客户端未确认由主机200发送的数据)。轮询模块260的轮询操作可以类似于周期性的心跳,如美国专利公开2003-0204566号“Multi-user Application Program Interface”中所描述的那样,其公开内容先前已通过引用而加入。
主机200还可以包括计时器270。计时器270可以被配置为测量在事件之后已经过去了多少时间。主机200可以使用计时器270来确定像由轮询模块260生成的数据传输那样的数据传输与对该数据传输的确认之间的时间。这种信息可以用来确定是否终止到特定客户端的连接。如果主机200在由计时器270测量的一段时间内没有从特定客户端接收到确认或轮询响应,则主机200可以终止与该客户端的连接。
由备份应用模块250生成的应用可以进一步包括某种类似于轮询模块260和计时器270的功能。与可以寻求确定是否将特定客户端从网络会话中排除出去的主机200不同,该“心跳”功能可以由被指定为备份主机的客户端用来确定主机200何时不再能够或已经连续不能履行某些主机职责。主机200不能或未能履行某些职责可通过连续没有收到可以由确认模块220生成的ACK或心跳来指示。
主机200还可以包括NAT模块280。NAT模块280的执行可以允许NAT简档信息的收集、共享和接收。NAT模块280的执行可以类似地允许利用NAT简档信息来确定网络中的最有可行性的主机。NAT简档信息可以存储在存储器、专用数据库或诸如主机信息数据库240的其它数据库中。
主机200(和任何数量的客户端)可以驻留在网络地址翻译器之后,该网络地址翻译器为特定计算设备将内部IP地址翻译成公共IP地址。公共IP地址是由网络中的其它计算设备看到的地址。在一些实施例中,主机200或其它计算设备可以包含网络地址翻译器。然而,在一些网络中,可以根本不使用NAT。NAT简档信息可以包括有关使用的NAT(如果有)的类型、NAT从事通用即插即用(UPnP)的能力、NAT维护端口保留的能力以及NAT的端口可预测性的信息。
在一些情况下,主机200(或网络中的其它计算设备)可以基于诸如服务质量信息的附加信息来应用补充仲裁过滤器,以对从两个或更多个同样可能的候选设备中确定主机设备进行仲裁。服务质量信息可以包括诸如客户端的ping时间、带宽表现、地理、等待时间、IP提供商等因素。这种附加信息也可以被存储在存储器或数据库(专用或其它)中。
图3A示出用于网络数据分发的示例性系统300的实现,其可以包括网络地址翻译器(未示出)。主机200连接到多个客户端310A-310D。客户端310A已与主机200成功协商备份可行性并且经由连接320收到主机信息。利用主机信息,客户端310A连接到网络中的其它客户端,即客户端310B-310D。连接330允许客户端310B-310D直接(即不通过主机200)与客户端310A通信。如果每个相应的客户端310B-310D难以将数据发送到主机200,则客户端310B-310D可以使用连接330来与客户端310A交换该数据。客户端310B-310D也可以自动向客户端310A发送数据,而不考虑到主机200的数据传输的任何困难。
图3B示出用于网络数据分发的示例性系统的另一种实现,其可以包括网络地址翻译器(未示出)。特别地,图3B示出这样的用于网络数据分发的示例性系统:其中主机200和客户端310D之间的通信被中断。具体而言,所示的主机200和客户端310D之间的数据传输340被示出为不成功。尽管客户端310D正在试图将数据传输340发送到主机200,但是有故障的连接阻止了主机200收到该传输。
由于客户端310A是网络会话的备份主机,客户端310D可以在备份数据传输350中将旨在给主机200的相同数据直接发送到客户端310A(即,不通过主机200)。客户端310A然后可以在数据传输360中将该数据发送到主机200。在该特定实施例中,由于有故障的连接将客户端310D与主机200分开,客户端310A用作客户端310D和主机200之间的代理。于是,虽然是通过客户端310A接收的,主机200仍可以将来自客户端310D的该数据分发到客户端310B和310C。可选择地,与客户端310D与主机200之间的连接仅仅有缺陷相比,如果例如主机200不能维持主机职责,则客户端310A可以将数据发送到客户端310B或310C。
由于主机200与客户端310D之间的通信已经中断,客户端310D可以需要通过客户端310A获得会话数据。客户端310A可以充当针对主机200和客户端310D的数据接收和发送的中介,还可以代表两个计算设备中的任何一个做出数据请求。
图4是描述用于网络数据分发的示例性方法400的流程图,该方法可以包括使用NAT简档信息。图4中所标识的步骤(及其顺序)是示例性的,也可以包括其各种替换、等同或衍生,但不限于其执行顺序。图4的处理步骤(及其各种替换)可以利用硬件或软件来实现,包括包括具有处理器可以执行的指令的机器可读或计算机可读存储介质(例如光盘、存储卡或硬驱动器)。
在步骤410中,主机(例如主机200)建立网络会话。主机可以设置某些关于谁可以加入网络会话的参数以及关于如何进行网络会话的各个方面。主机可以建立仅特定客户端或受邀客户端可以加入的专属(private)网络会话。可选择地,主机可以建立对公众开放且任何客户端可以加入的网络会话。
在步骤420中,多个客户端通过连接到主机来加入网络会话。如果主机已经设置了某些关于谁可以加入网络会话的参数,则客户端在被允许连接主机或参加网络会话之前需要满足那些参数。
在步骤430中,通过图2的协商模块220协商备份可行性。一个或更多个客户端可以是具有用作备份主机的能力和资源的有可行性的备份主机。备份可行性可以在客户端一加入网络会话时就协商。可以对备份可行性的各个方面,包括带宽和服务质量进行评价,以确定特定客户端是否能够用作备份主机。可以类似地考虑NAT简档信息。依据协商模块220的要求,在网络会话的客户端中可以有一个或多于一个的有可行性的备份主机、或者没有有可行性的备份主机。也可以分配备份职责。
在步骤440中,对备份职责进行分配。在有多个作为有可行性的备份主机的客户端的情况下,需要针对顺序和/或特定职责在那些客户端之间分配备份职责。网络会话中的客户端可以将其数据发送到可能已经由主机标识出的第一个有可行性的备份主机,或者通过广播或其它通信发送到第一个认定的备份,如美国专利公开2003-0217135号“Dynamic PlayerManagement”(其公开内容先前已通过引用被包含)中所示例的那样。如果第一个有可行性的备份主机不能或变得不能用作备份主机,则其它各客户端可以将它们的数据发送到第二个有可行性的备份主机以加入网络会话。可以利用本文和/或上述“Dynamic Player Management”申请中所公开的手段来指示与第二备份主机通信的需要。
在步骤450中,确定特定的客户端是否可以连接到网络会话中的每个其它客户端。备份主机需要能够连接到会话中的每个其它客户端。如果第一客户端不能连接到第二客户端,则第一客户端不能用作网络会话的备份主机。例如,第一客户端可能有防火墙问题,将阻止第一客户端进行某些类型的连接。如果由于任何原因,潜在的备份主机不能连接到另一个客户端,则该方法可以返回到步骤440并重新分配备份职责。
一旦已经确定客户端是有可行性的备份主机并且可以连接到网络会话中的所有其它客户端,该方法前进到步骤460。在步骤460中,备份信息被下载到有可行性的备份主机。通过向备份主机提供备份信息,主机可以脱离网络,并且备份主机能够提供网络会话中的其它客户端所需的任何信息。备份信息可以作为如在图2的备份应用模块250的情况下讨论的便于无缝主机转换的应用的下载和安装的一部分而提供。
在步骤470中,可以开始网络数据分发。如图3A所示,数据传输可以在主机和客户端之间进行。如图3B进一步示出的,数据传输也可以在两个客户端之间进行,从具有主机连通性问题的客户端到能够用作备份主机的客户端。此外,该备份主机可以将该数据转发到主机上或根据请求直接发送到其它客户端。不论通过什么连接,数据必须被转送,数据被提供给需要该数据的那些计算设备。
尽管已参照示例性实施例描述了本发明,本领域技术人员将理解:可以在本发明的真实精神和范围内做出各种变化,并且可以用等同来替换其要素。另外,可以在本发明的基本启示下做出各种修改,各种备选的系统可以用于实现本文所述的各种方法,各种方法可以用于实现源自上述系统的某些结果。
Claims (39)
1.一种用于维护网络数据分发的方法,包括:
建立主机和多个客户端之间的连接,其中,所述主机和所述多个客户端的每个客户端之间交换的数据在接收到时被确认;
至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户端之间共享的网络地址翻译(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简档信息来连接到所述多个客户端中的所有其它客户端,并且如果所述第一客户端和所述第二客户端之间的通信中断,则所述第三客户端从所述第二客户端接收数据。
21.如权利要求20所述的方法,其中,所述第二客户端还配置为至少基于与所述主机建立连接的顺序,在向所述第三客户端发送所述数据之前向所述第一客户端发送所述数据。
22.如权利要求20所述的方法,其中,所述第二客户端还配置为至少基于所述第一客户端的带宽和所述第三客户端的带宽,在向所述第三客户端发送所述数据之前向所述第一客户端发送所述数据。
23.一种用于维护网络数据分发的系统,包括:
主机,配置为连接到多个客户端,其中,所述主机从所述多个客户端中的每个客户端接收数据并确认所述数据的收到;
第一客户端,配置为接收主机信息,其中,所述第一客户端至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户端之间共享的网络地址翻译(NAT)简档信息来连接到所述多个客户端中的所有其它客户端,以及其中,所述主机进一步配置为协商所述第一客户端的备份可行性;以及
第二客户端,配置为在所述主机和所述第二客户端之间的通信中断的情况下向所述第一客户端发送数据。
24.如权利要求23所述的系统,其中,中断的通信通过在所述第二客户端向所述主机发送数据后的一时间段内没有来自所述主机的确认来指示。
25.如权利要求23所述的系统,其中,所述第二客户端进一步配置为向所述主机重新发送所述数据。
26.如权利要求23所述的系统,其中,所述第二客户端进一步配置为向所述多个客户端中的每个客户端通知所述主机和所述第二客户端之间中断的通信。
27.如权利要求23所述的系统,其中,所述第二客户端进一步配置为终止所述主机和所述第二客户端之间的连接。
28.如权利要求23所述的系统,其中,所述主机进一步配置为向所述多个客户端轮询连通性。
29.如权利要求23所述的系统,其中,所述主机进一步配置为向所述多个客户端中的每个客户端通知所述主机和所述第二客户端之间中断的通信。
30.如权利要求29所述的系统,其中,所述主机进一步配置为终止所述主机和所述第二客户端之间的连接。
31.如权利要求23所述的系统,其中,所述主机进一步基于所述第一客户端的带宽来协商备份可行性。
32.如权利要求23所述的系统,其中,所述主机进一步基于第一客户端是否能够连接到所述多个客户端中的每个其它客户端来协商备份可行性。
33.如权利要求23所述的系统,其中,所述主机进一步配置为向所述第一客户端发送所述主机信息。
34.如权利要求33所述的系统,其中,所述主机通过发送应用来发送所述主机信息,该应用被配置为提供有关所述多个客户端中的每个所述其它客户端的信息。
35.如权利要求23所述的系统,其中,所述多个客户端中的第三客户端被配置为接收主机信息,使得所述第三客户端至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户端之间共享的所述NAT简档信息连接到所述多个客户端中的所有其它客户端。
36.如权利要求35所述的系统,其中,所述第二客户端被进一步配置为在所述第一客户端和所述第二客户端之间的通信被中断的情况下向所述第三客户端发送数据。
37.一种用于维护网络中的数据分发的计算设备,包括:
确认模块,配置为发送确认从客户端接收到的数据的应答;
协商模块,配置为至少基于共享的网络地址翻译(NAT)简档信息来协商第一客户端的备份可行性;以及
备份应用模块,配置为向所述第一客户端发送提供主机信息的应用,使得所述第一客户端至少基于所述NAT简档信息连接到所述多个客户端中的所有其它客户端并且从第二客户端接收数据。
38.一种其上包含程序的计算机可读存储介质,所述程序能够由处理器执行,以执行用于组消息传送的方法,所述方法包括:
将主机连接到多个客户端,使得所述主机和所述多个客户端中的每个客户端之间交换的数据在收到时被确认;
至少基于建立所述主机和所述多个客户端之间的连接时、在所述主机和所述多个客户端之间共享的网络地址翻译(NAT)简档信息来确定所述多个客户端中的第一客户端的备份可行性;以及
向所述第一客户端发送主机信息,使得所述第一客户端至少基于所述主机信息来连接到所述多个客户端中的所有其它客户端,并且所述第一客户端从所述多个客户端中的第二客户端接收数据。
39.如权利要求38所述的计算机可读存储介质,其中,所述程序还包括用于终止所述主机和所述第二客户端之间的连接的可执行指令。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US99791807P | 2007-10-05 | 2007-10-05 | |
US60/997,918 | 2007-10-05 | ||
US12/049,954 US8131802B2 (en) | 2007-10-05 | 2008-03-17 | Systems and methods for seamless host migration |
US12/049,954 | 2008-03-17 | ||
US12/235,438 US8560707B2 (en) | 2007-10-05 | 2008-09-22 | Seamless host migration based on NAT type |
US12/235,438 | 2008-09-22 | ||
PCT/US2008/011415 WO2009045475A1 (en) | 2007-10-05 | 2008-10-01 | Seamless host migration based on nat type |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101861575A true CN101861575A (zh) | 2010-10-13 |
Family
ID=40524267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880115471A Pending CN101861575A (zh) | 2007-10-05 | 2008-10-01 | 基于网络地址翻译类型的无缝主机迁移 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8560707B2 (zh) |
EP (2) | EP2198372B1 (zh) |
JP (1) | JP5054821B2 (zh) |
CN (1) | CN101861575A (zh) |
TW (1) | TWI491229B (zh) |
WO (1) | WO2009045475A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897717A (zh) * | 2011-05-27 | 2016-08-24 | 皇家Kpn公司 | 网络中的业务迁移和激活 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711847B2 (en) | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US20030217135A1 (en) | 2002-05-17 | 2003-11-20 | Masayuki Chatani | Dynamic player management |
US8131802B2 (en) | 2007-10-05 | 2012-03-06 | Sony Computer Entertainment America Llc | Systems and methods for seamless host migration |
US8060626B2 (en) | 2008-09-22 | 2011-11-15 | Sony Computer Entertainment America Llc. | Method for host selection based on discovered NAT type |
US8560707B2 (en) | 2007-10-05 | 2013-10-15 | Sony Computer Entertainment America Llc | Seamless host migration based on NAT type |
US7995478B2 (en) * | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
US7856501B2 (en) | 2007-12-04 | 2010-12-21 | Sony Computer Entertainment Inc. | Network traffic prioritization |
US20090150568A1 (en) * | 2007-12-06 | 2009-06-11 | Vicente John B | Method and apparatus for synchronizing between a centralized system and a decentralized system |
US20090248793A1 (en) * | 2008-03-25 | 2009-10-01 | Contribio Ab | Providing Content In a Network |
US9158897B2 (en) | 2008-11-15 | 2015-10-13 | Adobe Systems Incorporated | Methods and systems for distributing right-protected asset |
US9456007B2 (en) | 2008-11-15 | 2016-09-27 | Adobe Systems Incorporated | Session aware notifications |
US20140032483A1 (en) * | 2008-11-15 | 2014-01-30 | Adobe Systems Incorporated | Asset distribution architecture and timeline history |
US9197678B2 (en) * | 2008-12-11 | 2015-11-24 | Skype | Method and system for data transmission |
CN102196057B (zh) * | 2010-03-03 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 一种确定nat类型的方法及装置 |
US8549201B2 (en) | 2010-06-30 | 2013-10-01 | Intel Corporation | Interrupt blocker |
US20120246229A1 (en) * | 2011-03-21 | 2012-09-27 | Microsoft Corporation | Notifying Participants that a Conference is Starting |
US9323466B2 (en) * | 2011-04-27 | 2016-04-26 | Commvault Systems, Inc. | System and method for client policy assignment in a data storage system |
KR20160126024A (ko) * | 2014-02-27 | 2016-11-01 | 인터디지탈 테크날러지 코포레이션 | 네트워크 게임들 및 서비스들의 소비자들의 유지를 위한 방법 및 장치 |
US9413659B2 (en) | 2014-06-11 | 2016-08-09 | Cisco Technology, Inc. | Distributed network address and port translation for migrating flows between service chains in a network environment |
KR101783014B1 (ko) * | 2015-09-10 | 2017-09-28 | 주식회사 수산아이앤티 | 공유단말 검출 방법 및 그 장치 |
CN105635346B (zh) * | 2016-03-31 | 2018-12-14 | 北京奇艺世纪科技有限公司 | 一种nat网络类型检测方法及装置 |
WO2018101459A1 (ja) | 2016-12-02 | 2018-06-07 | ヤマハ株式会社 | コンテンツ再生機器、収音機器、及びコンテンツ再生システム |
CN108650297A (zh) * | 2018-04-09 | 2018-10-12 | 天津中兴智联科技有限公司 | 一种物联网中间件高可用性的实现方法及系统 |
US10765952B2 (en) | 2018-09-21 | 2020-09-08 | Sony Interactive Entertainment LLC | System-level multiplayer matchmaking |
US10695671B2 (en) | 2018-09-28 | 2020-06-30 | Sony Interactive Entertainment LLC | Establishing and managing multiplayer sessions |
US10987578B2 (en) * | 2019-09-04 | 2021-04-27 | South Park Digital Studios LLC | Live video game intervention |
US11681542B2 (en) | 2020-01-16 | 2023-06-20 | Vmware, Inc. | Integrating virtualization and host networking |
US11595278B2 (en) * | 2020-12-16 | 2023-02-28 | Rovi Guides, Inc. | Systems and methods to automatically perform actions based on media content |
US11749079B2 (en) | 2020-12-16 | 2023-09-05 | Rovi Guides, Inc. | Systems and methods to automatically perform actions based on media content |
US11290684B1 (en) | 2020-12-16 | 2022-03-29 | Rovi Guides, Inc. | Systems and methods to automatically perform actions based on media content |
US11606465B2 (en) | 2020-12-16 | 2023-03-14 | Rovi Guides, Inc. | Systems and methods to automatically perform actions based on media content |
Family Cites Families (172)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0522346Y2 (zh) | 1986-06-12 | 1993-06-08 | ||
JPH0351078Y2 (zh) | 1986-08-19 | 1991-10-31 | ||
DE69406277D1 (de) | 1993-06-03 | 1997-11-20 | Taligent Inc | Raumobjekt-system |
AU2471995A (en) * | 1994-05-05 | 1995-11-29 | Catapult Entertainment, Inc. | Network architecture for real-time video games |
US5630757A (en) * | 1994-11-29 | 1997-05-20 | Net Game Limited | Real-time multi-user game communication system using existing cable television infrastructure |
US5682139A (en) * | 1995-06-07 | 1997-10-28 | General Electric Company | Railcar location using mutter networks and locomotive transmitter during transit |
US5826085A (en) * | 1995-07-12 | 1998-10-20 | Oracle Corporation | Object oriented computer interface supporting interactive networked applications |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
US6219045B1 (en) * | 1995-11-13 | 2001-04-17 | Worlds, Inc. | Scalable virtual world chat client-server system |
US5823879A (en) * | 1996-01-19 | 1998-10-20 | Sheldon F. Goldberg | Network gaming system |
US5828843A (en) * | 1996-03-21 | 1998-10-27 | Mpath Interactive, Inc. | Object-oriented method for matching clients together with servers according to attributes included in join request |
US5704032A (en) | 1996-04-30 | 1997-12-30 | International Business Machines Corporation | Method for group leader recovery in a distributed computing environment |
US5841980A (en) * | 1996-05-15 | 1998-11-24 | Rtime, Inc. | Distributed system for communication networks in multi-user applications |
US6050898A (en) * | 1996-05-15 | 2000-04-18 | Vr-1, Inc. | Initiating and scaling massive concurrent data transaction |
US5838909A (en) * | 1996-05-23 | 1998-11-17 | Sandcastle, Inc. | Reducing latency when synchronizing access to a multi-user database over a network |
US6098091A (en) | 1996-12-30 | 2000-08-01 | Intel Corporation | Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities |
US6152824A (en) * | 1997-03-06 | 2000-11-28 | Mpath Interactive, Inc. | Online gaming architecture |
US6151632A (en) * | 1997-03-14 | 2000-11-21 | Microsoft Corporation | Method and apparatus for distributed transmission of real-time multimedia information |
US6041312A (en) * | 1997-03-28 | 2000-03-21 | International Business Machines Corporation | Object oriented technology framework for accounts receivable and accounts payable |
US6530840B1 (en) | 1997-04-02 | 2003-03-11 | International Business Machines Corporation | Method and system for an object architecture for a multi-user game lobby and game session |
US5984787A (en) * | 1997-06-17 | 1999-11-16 | International Business Machines Corp. | Method and system for multi-user game recovery |
US5893106A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Object oriented server process framework with interdependent-object creation |
US5987376A (en) * | 1997-07-16 | 1999-11-16 | Microsoft Corporation | System and method for the distribution and synchronization of data and state information between clients in a distributed processing system |
US6106569A (en) * | 1997-08-14 | 2000-08-22 | International Business Machines Corporation | Method of developing a software system using object oriented technology |
JPH1157215A (ja) * | 1997-08-20 | 1999-03-02 | Fuji Xerox Co Ltd | ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体 |
JP3831092B2 (ja) * | 1997-09-19 | 2006-10-11 | 富士通株式会社 | サーバ |
US6769990B2 (en) | 1998-02-06 | 2004-08-03 | Robert Cohen | Networked search and tracking games |
JPH11234326A (ja) | 1998-02-12 | 1999-08-27 | Nippon Telegr & Teleph Corp <Ntt> | 情報流通システム |
US6844893B1 (en) | 1998-03-09 | 2005-01-18 | Looking Glass, Inc. | Restaurant video conferencing system and method |
US6247017B1 (en) * | 1998-03-20 | 2001-06-12 | Sun Microsystems, Inc. | Server-client communication over a network |
US6108569A (en) * | 1998-05-15 | 2000-08-22 | E. I. Du Pont De Nemours And Company | High temperature superconductor mini-filters and mini-multiplexers with self-resonant spiral resonators |
US6549946B1 (en) * | 1998-05-21 | 2003-04-15 | International Business Machines Corporation | Apparatus and method for telecommunication routing and parameter negotiation |
US6260120B1 (en) | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
US6463078B1 (en) | 1998-07-22 | 2002-10-08 | Microsoft Corporation | Method for switching protocols transparently in multi-user applications |
WO2000010099A1 (en) | 1998-08-17 | 2000-02-24 | Net Talk, Inc. | Computer architecture and process for audio conferencing over local and global networks including internets and intranets |
US6363416B1 (en) * | 1998-08-28 | 2002-03-26 | 3Com Corporation | System and method for automatic election of a representative node within a communications network with built-in redundancy |
US6487583B1 (en) | 1998-09-15 | 2002-11-26 | Ikimbo, Inc. | System and method for information and application distribution |
JP2000124939A (ja) | 1998-10-13 | 2000-04-28 | Nippon Telegr & Teleph Corp <Ntt> | マルチメディア通信システム及びこのシステムを構成する装置並びに該装置のプログラムを記録した媒体 |
JP2000157724A (ja) | 1998-11-24 | 2000-06-13 | Sega Enterp Ltd | ネットワークを利用したゲームシステム、ネットワークに接続可能なゲーム機及びこのゲーム機のためのプログラムが記録された媒体 |
US6931446B1 (en) * | 1998-12-14 | 2005-08-16 | International Business Machines Corporation | Methods, systems and computer program products for policy based network control of characteristics of user sessions |
JP2000215177A (ja) * | 1999-01-26 | 2000-08-04 | Atr Ningen Joho Tsushin Kenkyusho:Kk | クライアント―サ―バシステム、サ―バ/クライアント装置、およびサ―バ/クライアントソフトウェアの管理プログラムを記録したコンピュ―タで読取可能な記録媒体 |
JP2001187273A (ja) | 1999-01-28 | 2001-07-10 | Sega Corp | ネットワークゲームシステム、これに使用されるゲーム装置端末及び記憶媒体 |
US6142472A (en) * | 1999-03-02 | 2000-11-07 | Kliebisch; Henry | Corporate ladder game |
US6763371B1 (en) * | 1999-05-10 | 2004-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for collaborative communication in a communication network |
ATE516539T1 (de) | 1999-05-10 | 2011-07-15 | Ericsson Telefon Ab L M | Verfahren und vorrichtung in einem kommunikations-netzwerk |
US6470022B1 (en) | 1999-05-19 | 2002-10-22 | 3Com Corporation | Method of distributing network resources fairly between users in an asynchronous transfer mode network |
JP4546009B2 (ja) * | 1999-06-11 | 2010-09-15 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | ソフトウエア要素間の通信 |
US6539494B1 (en) * | 1999-06-17 | 2003-03-25 | Art Technology Group, Inc. | Internet server session backup apparatus |
US6587874B1 (en) * | 1999-06-29 | 2003-07-01 | Cisco Technology, Inc. | Directory assisted autoinstall of network devices |
US6577628B1 (en) | 1999-06-30 | 2003-06-10 | Sun Microsystems, Inc. | Providing quality of service (QoS) in a network environment in which client connections are maintained for limited periods of time |
US6519639B1 (en) * | 1999-07-21 | 2003-02-11 | Microsoft Corporation | System and method for activity monitoring and reporting in a computer network |
US6561811B2 (en) * | 1999-08-09 | 2003-05-13 | Entertainment Science, Inc. | Drug abuse prevention computer game |
US6487678B1 (en) * | 1999-08-31 | 2002-11-26 | International Business Machines Corporation | Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system |
US6352479B1 (en) * | 1999-08-31 | 2002-03-05 | Nvidia U.S. Investment Company | Interactive gaming server and online community forum |
US6748420B1 (en) * | 1999-11-23 | 2004-06-08 | Cisco Technology, Inc. | Methods and apparatus for providing shared access to an application |
US7337210B2 (en) * | 2000-01-13 | 2008-02-26 | International Business Machines Corporation | Method and apparatus for determining availability of a user of an instant messaging application |
JP3512386B2 (ja) * | 2000-01-20 | 2004-03-29 | 株式会社スクウェア・エニックス | オンライン複合サービス提供処理方法およびオンライン複合サービス提供処理システム |
AU2001241605A1 (en) * | 2000-02-17 | 2001-09-12 | Acclaim Entertainment, Inc. | Multi-player computer game, system and method |
KR100505281B1 (ko) | 2000-02-18 | 2005-08-04 | (주)아이콤 소프트 | 비디오게임 론칭 서버와 이를 이용한 네트워크를 통한비디오게임 시스템 및 방법 |
US6654831B1 (en) * | 2000-03-07 | 2003-11-25 | International Business Machine Corporation | Using multiple controllers together to create data spans |
US7720908B1 (en) * | 2000-03-07 | 2010-05-18 | Microsoft Corporation | System and method for multi-layered network communications |
WO2001071512A1 (en) | 2000-03-23 | 2001-09-27 | Fraunhofer Center For Research In Computer Graphics, Inc. | Extensible information distribution mechanism for session management |
US20020042830A1 (en) * | 2000-03-31 | 2002-04-11 | Subhra Bose | System, method and applications real-time messaging over HTTP-based protocols |
JP2001312468A (ja) * | 2000-04-28 | 2001-11-09 | Konami Co Ltd | ネットワーク接続制御方法及び接続制御システム |
AU2001259402A1 (en) | 2000-05-02 | 2001-11-12 | Sun Microsystems, Inc. | Cluster membership monitor |
JP2001314657A (ja) | 2000-05-08 | 2001-11-13 | Sega Corp | ネットワークシステム及び記憶媒体 |
US20020023117A1 (en) | 2000-05-31 | 2002-02-21 | James Bernardin | Redundancy-based methods, apparatus and articles-of-manufacture for providing improved quality-of-service in an always-live distributed computing environment |
US7056217B1 (en) * | 2000-05-31 | 2006-06-06 | Nintendo Co., Ltd. | Messaging service for video game systems with buddy list that displays game being played |
JP4408534B2 (ja) | 2000-06-27 | 2010-02-03 | 株式会社バンダイナムコゲームス | マルチプレイヤーゲーム用の情報提供システムおよび情報記憶媒体 |
US6704885B1 (en) * | 2000-07-28 | 2004-03-09 | Oracle International Corporation | Performing data backups with a stochastic scheduler in a distributed computing environment |
US7089301B1 (en) | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
US6676521B1 (en) * | 2000-08-18 | 2004-01-13 | Cariocas, Inc. | Enhanced online game mechanisms |
US7299403B1 (en) * | 2000-10-11 | 2007-11-20 | Cisco Technology, Inc. | Methods and apparatus for obtaining a state of a browser |
JP3646983B2 (ja) * | 2000-10-19 | 2005-05-11 | 株式会社ソニー・コンピュータエンタテインメント | 待ち順番表示方法、待ち順番表示方法のプログラム、待ち順番表示方法のプログラムが記録された記録媒体、及びコンテンツ配信システム |
SE520129C2 (sv) | 2000-10-27 | 2003-05-27 | Terraplay Systems Ab | Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer |
SE517815C2 (sv) * | 2000-10-27 | 2002-07-16 | Terraplay Systems Ab | Konfigurering av en flexibel infrastruktur |
US8402124B1 (en) | 2000-11-16 | 2013-03-19 | International Business Machines Corporation | Method and system for automatic load balancing of advertised services by service information propagation based on user on-demand requests |
JP2002157206A (ja) * | 2000-11-17 | 2002-05-31 | Square Co Ltd | 電子会議参加方法およびそのシステム |
GB0028474D0 (en) | 2000-11-22 | 2001-01-10 | Raekanet Ltd | Improved computer network architecture and associated method and system |
US7409061B2 (en) * | 2000-11-29 | 2008-08-05 | Noatak Software Llc | Method and system for secure distribution of subscription-based game software |
US20020075844A1 (en) * | 2000-12-15 | 2002-06-20 | Hagen W. Alexander | Integrating public and private network resources for optimized broadband wireless access and method |
US20020116397A1 (en) | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
US20020082065A1 (en) * | 2000-12-26 | 2002-06-27 | Fogel David B. | Video game characters having evolving traits |
US20020082077A1 (en) * | 2000-12-26 | 2002-06-27 | Johnson Douglas R. | Interactive video game system with characters that evolve physical and cognitive traits |
US20030018719A1 (en) * | 2000-12-27 | 2003-01-23 | Ruths Derek Augustus Samuel | Data-centric collaborative computing platform |
US7130883B2 (en) | 2000-12-29 | 2006-10-31 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
US7203755B2 (en) | 2000-12-29 | 2007-04-10 | Webex—Communications, Inc. | System and method for application sharing in collaborative setting |
US7685224B2 (en) | 2001-01-11 | 2010-03-23 | Truelocal Inc. | Method for providing an attribute bounded network of computers |
US7035911B2 (en) | 2001-01-12 | 2006-04-25 | Epicrealm, Licensing Llc | Method and system for community data caching |
US7188145B2 (en) * | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US6761636B2 (en) * | 2001-01-16 | 2004-07-13 | Fucom Company, Ltd. | Real time data exchange system |
US7165107B2 (en) | 2001-01-22 | 2007-01-16 | Sun Microsystems, Inc. | System and method for dynamic, transparent migration of services |
US7107312B2 (en) * | 2001-02-06 | 2006-09-12 | Lucent Technologies Inc. | Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services |
US20020115488A1 (en) * | 2001-02-22 | 2002-08-22 | Nicholas Berry | System and method for conducting an online competition |
US7035919B1 (en) | 2001-03-21 | 2006-04-25 | Unisys Corporation | Method for calculating user weights for thin client sizing tool |
US7236939B2 (en) | 2001-03-31 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Peer-to-peer inter-enterprise collaborative process management method and system |
TWI220821B (en) | 2001-04-26 | 2004-09-01 | Accton Technology Corp | Zero-loss web service system and method |
US7177950B2 (en) * | 2001-04-26 | 2007-02-13 | Microsoft Corporation | Synchronization and recovery of peers in a peer to peer environment |
JP3429286B2 (ja) * | 2001-05-29 | 2003-07-22 | 株式会社コナミコンピュータエンタテインメント大阪 | ネットゲームシステム及びネットゲーム管理方法 |
US7269632B2 (en) * | 2001-06-05 | 2007-09-11 | Xdyne, Inc. | Networked computer system for communicating and operating in a virtual reality environment |
WO2003005247A2 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
US8065394B2 (en) * | 2001-08-20 | 2011-11-22 | Bally Gaming, Inc. | Local game-area network method |
JP4658412B2 (ja) | 2001-09-20 | 2011-03-23 | 富士通株式会社 | データ共有装置 |
US20030073494A1 (en) * | 2001-10-15 | 2003-04-17 | Kalpakian Jacob H. | Gaming methods, apparatus, media and signals |
JP3883452B2 (ja) | 2002-03-04 | 2007-02-21 | 富士通株式会社 | 通信システム |
KR20040095365A (ko) * | 2002-04-04 | 2004-11-12 | 야후! 인크. | 온라인 리그 및 토너먼트 시스템 |
US7587465B1 (en) * | 2002-04-22 | 2009-09-08 | Cisco Technology, Inc. | Method and apparatus for configuring nodes as masters or slaves |
US20030204593A1 (en) | 2002-04-25 | 2003-10-30 | International Business Machines Corporation | System and method for dynamically altering connections in a data processing network |
US7711847B2 (en) * | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US7421471B2 (en) * | 2002-05-17 | 2008-09-02 | Sony Computer Entertainment America Inc. | Configuration switching: dynamically changing between network communication architectures |
US20030217135A1 (en) * | 2002-05-17 | 2003-11-20 | Masayuki Chatani | Dynamic player management |
US20040001476A1 (en) | 2002-06-24 | 2004-01-01 | Nayeem Islam | Mobile application environment |
US7454458B2 (en) | 2002-06-24 | 2008-11-18 | Ntt Docomo, Inc. | Method and system for application load balancing |
US9497168B2 (en) | 2002-07-30 | 2016-11-15 | Avaya Inc. | Method and apparatus for supporting communications between a computing device within a network and an external computing device |
US8224985B2 (en) * | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
US8560707B2 (en) | 2007-10-05 | 2013-10-15 | Sony Computer Entertainment America Llc | Seamless host migration based on NAT type |
US8131802B2 (en) * | 2007-10-05 | 2012-03-06 | Sony Computer Entertainment America Llc | Systems and methods for seamless host migration |
FR2843210B1 (fr) * | 2002-08-02 | 2005-10-14 | Meiosys | Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe. |
US7016942B1 (en) * | 2002-08-05 | 2006-03-21 | Gary Odom | Dynamic hosting |
US20040031052A1 (en) | 2002-08-12 | 2004-02-12 | Liberate Technologies | Information platform |
JP2004180003A (ja) * | 2002-11-27 | 2004-06-24 | Kitt Peak:Kk | 通信ネットワークシステムおよび通信の接続方法 |
US7899932B2 (en) | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
WO2004063843A2 (en) | 2003-01-15 | 2004-07-29 | Matsushita Electric Industrial Co., Ltd. | PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATOR (NATs) AT BOTH ENDS |
US7097562B2 (en) * | 2003-06-03 | 2006-08-29 | Wms Gaming Inc. | Peer-to-peer distributed gaming application network |
JP2005107819A (ja) * | 2003-09-30 | 2005-04-21 | Daifuku Logistic Technology:Kk | コンピュータネットワークシステムのフェイルセーフ方法 |
US7502322B2 (en) * | 2003-09-30 | 2009-03-10 | Nokia Corporation | System, method and computer program product for increasing throughput in bi-directional communications |
JP3849711B2 (ja) * | 2003-11-07 | 2006-11-22 | 松下電器産業株式会社 | 通信システム、情報処理装置、サーバ、および通信方法 |
US8234383B2 (en) | 2003-11-07 | 2012-07-31 | Panasonic Corporation | Bubble packet port identification using detection packets |
JP4269226B2 (ja) * | 2003-11-14 | 2009-05-27 | ソニー株式会社 | 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 |
DE10353925B4 (de) | 2003-11-18 | 2009-12-24 | Nec Europe Ltd. | Verfahren zum Austausch von Daten zwischen zwei Hosts |
US7171583B2 (en) * | 2003-12-10 | 2007-01-30 | International Business Machines Corporation | For PPRC backup systems |
EP1723533A1 (en) | 2004-03-09 | 2006-11-22 | Clique Communications Llc | System and method for peer-to-peer connection of clients behind symmetric firewalls |
US20060168107A1 (en) | 2004-03-16 | 2006-07-27 | Balan Rajesh K | Generalized on-demand service architecture for interactive applications |
US7536467B2 (en) * | 2004-04-20 | 2009-05-19 | Microsoft Corporation | Peer-to-peer (P2P) mobility system, and method |
US20050245317A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Voice chat in game console application |
US20060015560A1 (en) * | 2004-05-11 | 2006-01-19 | Microsoft Corporation | Multi-sensory emoticons in a communication system |
US7620033B2 (en) * | 2004-05-21 | 2009-11-17 | Alcatel-Lucent Usa Inc. | Method for optimal path selection in traversal of packets through network address translators |
US7778187B2 (en) * | 2004-06-29 | 2010-08-17 | Damaka, Inc. | System and method for dynamic stability in a peer-to-peer hybrid communications network |
US7657657B2 (en) * | 2004-08-13 | 2010-02-02 | Citrix Systems, Inc. | Method for maintaining transaction integrity across multiple remote access servers |
US9043635B2 (en) | 2004-08-17 | 2015-05-26 | Shaw Parsing, Llc | Techniques for upstream failure detection and failure recovery |
US7543064B2 (en) | 2004-09-30 | 2009-06-02 | Logitech Europe S.A. | Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host |
US7840963B2 (en) * | 2004-10-15 | 2010-11-23 | Microsoft Corporation | Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption |
JP4625968B2 (ja) * | 2004-11-10 | 2011-02-02 | 株式会社セガ | ネットワークゲームシステム、及びゲーム装置 |
US7929422B2 (en) * | 2005-01-06 | 2011-04-19 | Cisco Technology, Inc. | Method of moving a transport connection among network hosts |
US7787383B2 (en) | 2005-03-04 | 2010-08-31 | Network Appliance, Inc. | Method and apparatus for monitoring a connection in a peer-to-peer network |
JP4741964B2 (ja) * | 2005-03-18 | 2011-08-10 | パナソニック株式会社 | 通信装置、通信システム及び通信方法 |
US20070061460A1 (en) | 2005-03-24 | 2007-03-15 | Jumpnode Systems,Llc | Remote access |
US8019986B2 (en) * | 2005-08-12 | 2011-09-13 | Comcast Cable Holdings, Llc | Method and system for booting, provisioning and activating hardware and software clients |
JP4331154B2 (ja) | 2005-09-29 | 2009-09-16 | パナソニック株式会社 | 情報処理システム、トンネル通信装置、及びトンネル通信方法 |
US20070094325A1 (en) | 2005-10-21 | 2007-04-26 | Nucleoid Corp. | Hybrid peer-to-peer data communication and management |
US7539216B2 (en) | 2005-11-16 | 2009-05-26 | Cable Television Laboratories, Inc. | Method and system of determining last hop device addresses |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US8676899B2 (en) | 2006-01-26 | 2014-03-18 | International Business Machines Corporation | Offline IM chat to avoid server connections |
US9047310B2 (en) * | 2006-02-22 | 2015-06-02 | Microsoft Technology Licensing, Llc | Reliable, efficient peer-to-peer storage |
US8347341B2 (en) | 2006-03-16 | 2013-01-01 | Time Warner Cable Inc. | Methods and apparatus for centralized content and data delivery |
US20070233865A1 (en) * | 2006-03-30 | 2007-10-04 | Garbow Zachary A | Dynamically Adjusting Operating Level of Server Processing Responsive to Detection of Failure at a Server |
US7643459B2 (en) * | 2006-06-16 | 2010-01-05 | Alcatel-Lucent Usa Inc. | Methods, devices and architectures for establishing peer-to-peer sessions |
US20080049755A1 (en) | 2006-08-25 | 2008-02-28 | Motorola, Inc. | Method and system for optimizing resource allocations based on quality of service needs of one or more applications |
US7680908B2 (en) | 2006-09-28 | 2010-03-16 | Microsoft Corporation | State replication |
CN101232413B (zh) | 2007-01-25 | 2012-11-21 | 华为技术有限公司 | 一种转移会话控制权的方法、系统和服务器 |
US7747688B2 (en) | 2007-02-07 | 2010-06-29 | International Business Machines Corporation | System and method for managing group interaction session states |
US8719375B2 (en) | 2007-03-22 | 2014-05-06 | Microsoft Corporation | Remote data access techniques for portable devices |
US8489830B2 (en) * | 2007-03-30 | 2013-07-16 | Symantec Corporation | Implementing read/write, multi-versioned file system on top of backup data |
US8335813B2 (en) | 2007-05-01 | 2012-12-18 | Illinois Institute Of Technology | Systems, methods, and protocols for process migration and group membership management |
US7881329B2 (en) | 2007-05-25 | 2011-02-01 | Sharp Laboratories Of America, Inc. | Method and system for maintaining high reliability logical connection |
US7996543B2 (en) | 2007-08-16 | 2011-08-09 | Xcastlabs | Client-to-client direct RTP exchange in a managed client-server network |
US8725874B2 (en) | 2007-09-27 | 2014-05-13 | International Business Machines Corporation | Dynamic determination of an ideal client-server for a collaborative application network |
US7856501B2 (en) | 2007-12-04 | 2010-12-21 | Sony Computer Entertainment Inc. | Network traffic prioritization |
US9473598B2 (en) | 2007-12-18 | 2016-10-18 | International Business Machines Corporation | Network connection failover during application service interruption |
TWI476610B (zh) * | 2008-04-29 | 2015-03-11 | Maxiscale Inc | 同級間冗餘檔案伺服器系統及方法 |
US9197678B2 (en) | 2008-12-11 | 2015-11-24 | Skype | Method and system for data transmission |
US9032248B1 (en) * | 2012-10-04 | 2015-05-12 | Amazon Technologies, Inc. | Memory write tracking for virtual machines |
-
2008
- 2008-09-22 US US12/235,438 patent/US8560707B2/en active Active
- 2008-10-01 WO PCT/US2008/011415 patent/WO2009045475A1/en active Application Filing
- 2008-10-01 EP EP08835745A patent/EP2198372B1/en active Active
- 2008-10-01 JP JP2010527990A patent/JP5054821B2/ja active Active
- 2008-10-01 EP EP11004181.1A patent/EP2360874B1/en active Active
- 2008-10-01 CN CN200880115471A patent/CN101861575A/zh active Pending
- 2008-10-03 TW TW097138349A patent/TWI491229B/zh active
-
2013
- 2013-07-12 US US13/941,436 patent/US9516068B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897717A (zh) * | 2011-05-27 | 2016-08-24 | 皇家Kpn公司 | 网络中的业务迁移和激活 |
Also Published As
Publication number | Publication date |
---|---|
EP2360874A1 (en) | 2011-08-24 |
EP2198372A4 (en) | 2011-08-24 |
EP2198372B1 (en) | 2012-09-05 |
EP2198372A1 (en) | 2010-06-23 |
TWI491229B (zh) | 2015-07-01 |
US20090094370A1 (en) | 2009-04-09 |
TW200939716A (en) | 2009-09-16 |
WO2009045475A1 (en) | 2009-04-09 |
US20130304931A1 (en) | 2013-11-14 |
JP5054821B2 (ja) | 2012-10-24 |
US9516068B2 (en) | 2016-12-06 |
EP2360874B1 (en) | 2017-04-19 |
JP2010541476A (ja) | 2010-12-24 |
US8560707B2 (en) | 2013-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101861575A (zh) | 基于网络地址翻译类型的无缝主机迁移 | |
AU2008334808B2 (en) | Method of establishing a connection | |
TWI458369B (zh) | 用於建立及使用備用通信頻道之裝置及方法 | |
JP3944168B2 (ja) | ネットワーク環境におけるピアツーピア通信のための方法およびシステム | |
CN1937569B (zh) | 在局域网中进行消息处理的方法和相关装置 | |
CN101715008A (zh) | 基于所发现的nat类型选择主机的方法 | |
EP1864466A1 (fr) | Dispositif et procede de communication dans un reseau | |
CN101491063A (zh) | 用于在对等网络之间进行数据传输的方法和系统 | |
US8619631B2 (en) | Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program | |
US20080133727A1 (en) | Automatic registry composition when networks compose | |
US20050105476A1 (en) | Initialization and acquisition of peers in a peers' list in a peer-to-peer network | |
Bless et al. | Spovnet: an architecture for easy creation and deployment of service overlays | |
CN101483586A (zh) | 用于无缝主机迁移的系统和方法 | |
CN102017568B (zh) | 用于递送自主播放的内容的系统 | |
US8799434B2 (en) | System and method for establishment of a client/server type relationship in a peer-to-peer network | |
Guo et al. | P4P Pastry: A novel P4P-based Pastry routing algorithm in peer to peer network | |
WO2009140821A1 (en) | Device and method for participating in a peer-to-peer network | |
CN101557335A (zh) | 控制节点加入对等网络的方法和装置 | |
Fischer et al. | Resilient and underlay-aware P2P live-streaming | |
JP2016046785A (ja) | キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法 | |
Guo et al. | An enhanced p4p-based pastry routing algorithm for P2P network | |
Tiendrebeogo et al. | Virtual connections in p2p overlays with dht-based name to address resolution | |
Fersi et al. | Chord-based distributed middleware architecture for Internet of Things | |
KR20080073931A (ko) | 데이터 송수신 방법 | |
Da Silva | Self-organized, Fault Tolerant, Peer-to-Peer Management of SNMP Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101013 |