CN103002001A - 用于分布对等式通信的系统、方法和媒体 - Google Patents

用于分布对等式通信的系统、方法和媒体 Download PDF

Info

Publication number
CN103002001A
CN103002001A CN2012101719501A CN201210171950A CN103002001A CN 103002001 A CN103002001 A CN 103002001A CN 2012101719501 A CN2012101719501 A CN 2012101719501A CN 201210171950 A CN201210171950 A CN 201210171950A CN 103002001 A CN103002001 A CN 103002001A
Authority
CN
China
Prior art keywords
node
client
agent node
agent
equation
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
Application number
CN2012101719501A
Other languages
English (en)
Inventor
马克·克恩
肖恩·丘尔哈内
唐·霍夫曼
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.)
Red 5 Studios Inc
Original Assignee
Red 5 Studios Inc
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 Red 5 Studios Inc filed Critical Red 5 Studios Inc
Publication of CN103002001A publication Critical patent/CN103002001A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • 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/2539Hiding addresses; Keeping addresses anonymous
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文提供用于分布对等式通信的系统和方法。示范性方法可包含通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。

Description

用于分布对等式通信的系统、方法和媒体
技术领域
本发明大体上涉及分布式计算,且更具体来说,但非以限制的方式,涉及用于分布对等式通信的系统和方法。
背景技术
云是一种资源,其通常组合处理器的较大分组的计算能力,且/或组合计算机存储器或存储装置的较大分组的存储容量。举例来说,提供云资源的系统可专门供其所有者利用,或在计算基础结构内部署应用以获得大型计算或存储资源的益处的外部用户可接入此类系统。
所述云可例如由服务器网络形成,其中每一服务器提供处理器和/或存储资源。这些服务器可管理由多个用户(例如,云资源客户或其他用户)提供的工作负荷。通常,每一用户将工作负荷需求置于所述云上,所述需求实时变化,有时剧烈变化。这些变化的性质和范围通常取决于与用户相关联的事务的类型。
发明内容
本发明的技术的系统和方法针对于分布式计算。在一些实施例中,本文中所提供的系统和方法可针对于在对等式通信网络的通信信道上分布对等式通信。所述系统和方法可在基于网络的应用的情形下促进对等式通信,其中多个客户端节点彼此通信,同时与基于网络的应用交互。将理解,基于网络的应用可驻留于数据中心或云内。举例来说,多个游戏玩家(客户端节点)可经由基于网络的程序(例如,多玩家在线视频游戏)的通信信道彼此聊天,同时还个别地与视频游戏交互。
为了减少数据中心的运营成本并降低数据中心的工作负荷,客户端节点可将其计算资源的一部分贡献给数据中心以促进对等式网络上的其它客户端节点的对等式通信。根据一些实施例,计算资源可包含网络带宽,且在其它实施例中,可包含CPU容量。将其计算资源贡献给数据中心的客户端节点可在下文中被称作代理节点。
当系统和方法接收建立通信信道的请求(例如,客户端节点试图彼此通信)时,代理节点经选择且被添加到通信信道。所述系统和方法可从潜在代理的列表中选择代理节点。为了增加对等式通信的安全性,所述系统和方法经由代理节点引导客户端节点以掩盖客户端节点的身份。另外,所选择的代理节点可包含无利害关系的客户端节点。无利害关系的节点可包含与当前在通信信道上操作的客户端节点没有关系的客户端节点。将理解,无利害关系的客户端节点可包含相对于当前彼此通信的客户端节点远程定位的节点。无利害关系的客户端节点还可包含从未与当前彼此通信的客户端节点通信的节点。
本发明的技术充分利用分布式计算的计算资源(例如,云计算系统)以促进有效的对等式通信。与仅包含网络服务器的常见的云系统不同的是,本发明的技术的系统可创建包含多个终端用户计算装置的专用云。这些终端用户计算装置分配资源的一部分以促进终端用户计算装置之间的对等式通信的分布。
根据一些实施例,本发明的技术可针对于用于分布对等式通信的方法,所述方法包含:通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。
根据其它实施例,本发明的技术可针对于用于分布对等式通信的系统,所述系统包含:(a)存储器,其用于存储用于分布对等式通信的可执行指令;以及(b)处理器,其经配置以执行存储于所述存储器中的所述指令,所述可执行指令包含:(i)代理管理器,其经配置以通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。
根据额外实施例,本发明的技术可针对于其上体现计算机程序的非暂时性计算机可读存储媒体。所述计算机程序可为可由计算系统中的处理器执行的,以执行用于分布对等式通信的方法,所述方法包含:通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。
附图说明
图1说明用于实践本发明的技术的方面的示范性对等式通信网络。
图2说明示范性节点通信分布树。
图3说明用于分布对等式通信的示范性方法的流程图。
图4是可用于实践本发明的方面的示范性计算系统的方框图。
具体实施方式
虽然本发明的技术具有呈许多不同形式的实施例,但在理解了本发明将被视为所述技术的原理的范例且无意将所述技术限于所说明的实施例的情况下,在图式中展示且将在本文中详细地描述若干特定实施例。
一般来说,本发明的技术的系统和方法可针对于分布对等式通信。更具体来说,本文中所提供的系统和方法可经配置以分布对等式因特网语音协议(VoIP)通信。在一些实施例中,可将对等式因特网语音协议(VoIP)通信分布给已将其资源(例如,网络带宽、CPU容量等)分配给数据中心(例如,云计算系统)的代理节点。
在云环境中,云的个别组件(例如,计算装置)将其个别资源分配给云。所述资源一般由所述云使用以促进一个或一个以上基于网络的应用的操作(例如,工作负荷),或与基于网络的应用相关联的其它辅助功能。因此,实现基于网络的应用的所述云的组合资源大于构成所述云的个别计算系统的资源。在一些实施例中,基于网络的应用或程序可包含多玩家视频游戏,但根据本发明,同样涵盖所属领域的技术人员通过在其之前的本发明而已知的其它类型的基于网络的应用或程序以供使用。将理解,基于网络的应用还可分布于所述云内。
因此,在一些实施例中,促进基于网络的应用的网络服务器可协作以形成第一数据中心或云,且促进基于网络的应用的将资源分配给网络服务器的客户端装置可形成第二数据中心或云。
图1说明用于实践本发明的技术的方面的示范性对等式通信网络,下文中被称作网络100。网络100展示为包含数据中心105或云,数据中心105或云包含代理管理器模块110、XMPP服务器115、一个或一个以上信道控制器模块120和STUN服务器125。将理解,网络100的所列举的组件可经由公用或专用通信网络(未图示)中的至少一者以通信方式彼此耦合,所述网络例如为局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)、因特网和其组合。
值得注意的是,数据中心105可包含额外模块、引擎或组件,且仍落在本发明的技术的范围内。如本文中所使用,术语“模块”还可指代以下各项中的任一者:专用集成电路(ASIC)、电子电路、执行一个或一个以上软件或固件程序的处理器(共享、专用或群组)、组合的逻辑电路,和/或提供所描述的功能性的其它合适的组件。
除了数据中心105之外,网络100可包含多个客户端节点。为了简明起见,客户端节点已展示为包含两个客户端节点130A和130B,但所属领域的技术人员将了解,网络100可促进任何数目个客户端节点。将理解,图1到4的元件中的每一者可理解为包含指定元件中的一者或一者以上。举例来说,两个客户端节点130A和130B可包含任何数目个客户端节点。因此,图1到4仅为示范性说明,且不限制本发明的技术的范围。
广义来说,客户端节点包含终端用户计算装置(例如,计算系统),其由终端用户用来经由一个或一个以上对等式通信信道(下文中被称作通信信道135)彼此通信。
用于每一客户端装置130A和130B的个别通信信道(例如,语音信道)可被多路复用为通信信道135。
一般来说,客户端节点是任何对等式通信信道(例如,语音流)的最终端点。代理节点充当两个或两个以上客户端节点之间的通信中间体,且用于隔离关于其它客户端节点的IP地址的知识。也就是说,代理节点可经配置以掩盖利用通信信道135的客户端装置的IP地址。使客户端节点的IP地址的知识与其它客户端节点隔离可防止客户端节点对其它客户端节点的恶意动作。恶意攻击的非限制性实例可包含拒绝服务(DOS)攻击、IP地址收获等。另外,代理节点可用作用于点对多点通信的多播起爆器。
另外,网络100针对通信信道135而选择的代理节点可为无利害关系的客户端节点。也就是说,由网络100选择为代理节点的客户端节点可与通信信道135的端点客户端节点不具有任何关系。客户端节点和代理节点的此分离可降低被选择为代理节点的客户端装置可有意地干扰(例如,恶意破坏、IP收获等)端点客户端节点之间的对等式通信的可能性。
如之前所述,客户端节点可各自将其计算资源的一部分专用于数据中心105以促进客户端节点之间的对等式通信。关于对等式通信,专用于网络100的计算资源可包含个别客户端节点的网络带宽的一部分。示范性代理节点可包含代理节点145A和145B,但与客户端节点130A和130B相同,所属领域的技术人员将了解,网络100可有助于任何数目个代理节点。
图2说明展示各种类型的节点之间的通信的示范性节点通信分布树200。将理解,实线指示主要通信流且虚线指示备份通信流。通信流还可被描述为隧道、信道、端口等。
更具体来说,客户端节点可在广义上被分类为双向(2W)205a-n和仅接收(RO)225a-n。代理节点可广义上被分类为双向(2W)210a-n、根RO代理节点215,和RO叶代理节点220a-n。2W客户端节点205a-n可经由2W代理节点210a-n从所有其它2W客户端节点205a-n接收通信流,但不可从其它RO客户端节点225a-n接收通信流。2W客户端节点205a-n可预期其数据包可由其它2W客户端节点205a-n经由2W代理节点210a-n接收,且由其它RO客户端节点225a-n经由根RO代理节点215和RO叶代理节点220a-n接收。
在一些实施例中,RO客户端节点225a-n经由根RO代理节点215和RO叶代理节点220a-n从所有其它2W客户端节点205a-n接收通信流,但不可从其它RO客户端节点225a-n接收通信流。
根RO代理节点215可为经托管节点140(下文更详细地描述)且可未备份。也就是说,可不存在对经托管节点140的辅助节点。下文将更详细地论述经托管节点140。因此,可每个通信信道135分配经托管节点140。在一些实施例中,2W代理节点210a-n和RO叶代理节点220a-n可为常规的客户端节点,因此当其在使用中时,可每个通信信道135分配至少两个2W代理节点(例如,图1中的代理节点145A和145B),以在代理节点145A或145B中的至少一者失败的情况下提供冗余度。代理节点的失败可包含代理节点离开通信信道135。
从代理节点接收到的“分配”消息可指示代理节点是否为2W或RO分布树的部分。此可确定分配给此代理节点的上游节点和下游节点的类型和带内UDP协议的确切操作。
另外,网络100可维持可由网络用来取代失败的代理节点的潜在代理节点的快速切换列表。
关于各种类型的代理节点和客户端节点之间的通信,2W代理节点(例如210a)可在通信信道135中与所有2W客户端节点205a-n建立隧道(参看图2的实线和虚线)。2W代理节点210a可利用从信道控制器模块120接收到的客户端代理列表以选择根RO代理节点215。如先前所述,根RO代理节点215可为根节点或叶节点。根RO代理节点215可在通信信道135中创建到所有2W客户端节点205a-n和到所有叶RO代理节点220a-n的隧道。
叶RO代理节点220a-n可被称作根RO代理节点215的“子女”。根RO代理节点215可将所有包从所有2W客户端节点205a-n转发到具有活动下游RO客户端节点225a-n的叶RO代理节点220a-n。可从由节点从信道控制器模块120接收到的“更新”消息和“同步”消息指示与特定代理节点相关联的2W客户端节点225a-n的列表。
每一RO叶代理节点220a-n可维持与有限组的RO客户端节点225a-n的隧道。可从由节点从信道控制器模块120接收到的“更新”消息和“同步”消息指示与特定RO叶代理节点220a-n相关联的RO客户端节点225a-n的列表。
另外,数据中心105中的某些节点可被指定为经托管节点140。经托管节点140将其资源分配给数据中心105,但与其它节点相比而言,预期经托管节点140可由客户端节点连续接入(与可为断续可用的代理节点相对)且可在因特网上直接寻址(即,不经由NAT路由器)。经托管节点140正常驻留于数据中心105中且可用作2W或RO代理节点。
在一些实施例中,经托管节点140经配置以在不充分的常规代理节点可能不可用时在创建通信信道135的早期阶段期间自举网络。另外,经托管节点140可在不相容的NAT或防火墙实施方案下在两个客户端节点之间提供备份或“后退”服务。
如上文所描述,网络100可利用许多类型的节点。因此,除非特别注释,否则术语“节点”可理解为包含先前所描述的所有类型的节点,例如代理、客户端、主机等。
再次转向图1,代理管理器模块110可跟踪当前在网络100中活动的节点,以及与所述活动节点中的每一者相关联的各种状态变量。这些状态变量可包含IP地址信息和可用网络带宽数据。代理管理器模块110可负责将节点分配给各种对等式功能,例如语音代理、网格计算节点等。
另外,代理管理器模块110可经配置以跟踪以下存在:节点接入一个或一个以上对等式通信信道135且在所分配的代理节点变得不可用时将通知提供给其它网络100组件。将理解,可经由通过XMPP服务器115路由的XMPP消息来促进经由客户端节点或其它服务元件与代理管理器模块110的通信。
在一些实施例中,代理管理器模块110可根据(XEP-114)超时组件协议而实施为标准超时外部组件。在其它实施例中,代理管理器模块110可与数据中心105内的相同节点上的XMPP服务器115进行组合。在额外应用中,为促进更大的缩放性,代理管理器模块110可驻留于数据中心105内的不同节点(例如,网络服务器)群集上。
XMPP服务器115(还称为超时服务器)可用作通信总线,以用于数据中心驻留功能间以及数据中心驻留功能与节点之间的信令消息。可通过到驻留于数据中心内的基于网络的应用(例如,多玩家视频游戏)的接口来向XMPP服务器115认证节点。除了与基于网络的应用的自定义接口之外,XMPP服务器115可根据XMPP规范(RFC-3920)协议进行操作。
根据本发明的技术,信道控制器模块120可负责一个或一个以上对等式通信信道135的设置和管理。信道控制器模块120可经由XMPP服务器115对客户端节点发送XMPP协议和从客户端节点接收XMPP协议。这些消息可用于控制针对每一客户端节点而建立的每一语音信道(例如,隧道)的整体操作。另外,信道控制器模块120可经由XMPP服务器115与代理管理器模块110交互以分配代理节点或网格计算节点(未图示)。网格计算节点可包含将CPU容量(除了其它计算资源之外)专用于网络100的客户端节点。
根据一些实施例,节点可利用STUN服务器125来确定关于实施交互式连接建立(ICE)协议所需的其网络地址转译(NAT)配置的信息。
在一些实施例中,网络100可利用通信协议,例如Jingle(XEP-166)协议,但所属领域的技术人员将了解,根据本发明,可同样利用许多其它类型的通信协议。
更具体来说,在一些应用中,可在网络100内利用两类协议消息:用于通信信道设置和维持的基于XMPP的消息协议,和用于实时通信信道控制和通信信道数据输送的基于UDP的对等式协议。可经由XMPP服务器115路由网络100的组件之间的基于XMPP的消息。可直接在客户端节点与代理节点之间路由基于UDP的通信。
可经由例如用户名等唯一识别在网络100内唯一地识别每一终端用户。每一用户名对于网络100而言可为全局唯一的。在一些实施例中,可将用户名表示为UTF-8编码的统一代码串。当用户登录到基于网络的应用(未图示)时,用户(例如,客户端节点)可被指派Jabber ID(JID)。将理解,JID的格式定义于(RFC-3920)中,但所属领域的技术人员将了解,根据本发明,同样可利用许多其它类型的识别协议。
将理解,用户名与JID的域部分的组合是全局唯一的。因而,个别节点可经由其JID唯一地识别。根据一些实施例,JID域部分的格式可包含例如xxxx.voip.domain.com等格式,其中xxxx是用于提供用于网络服务器基础结构的另一缩放水平的子域。
假设每一用户不止一次地登录到基于网络的应用,因此其JID还可用作用户当前正在其上运行基于网络的应用的实例的客户端节点的瞬时唯一识别符。
根据一些实施例,节点可使用点对服务器XML协议消息直接与信道控制器模块120和代理管理器模块110交互。信道控制器模块120与节点之间的消息可用于管理例如通信信道135等通信信道内的节点的成员资格和角色。代理管理器模块110与个别节点之间的消息可用于管理节点成为代理节点的可用性。另外,代理管理器模块110和信道控制器模块120可使用服务器间XML协议消息直接彼此交互。另外,代理管理器模块110和信道控制器模块120可使用服务器间XML协议消息直接彼此交互。
在操作中,可通过将“添加客户端”消息发送到信道控制器模块120而将节点添加到通信信道135。将理解,将第一客户端节点或代理节点添加到新的信道可致使信道控制器模块120自动创建通信信道135。一旦建立,代理管理器模块110可将代理节点(例如,代理节点145A和145B)添加到通信信道135。
为加入通信信道135,客户端节点使用其JID登录到XMPP服务器115中,如上文所描述。网络100可基于在客户端节点登录到基于网络的应用中时所获得的票证而向节点发布口令。在登录完成后,客户端节点将所引导的存在消息发送到代理管理器模块110。代理管理器模块110可将此所引导的存在消息用作此特定客户端节点可用作代理节点的指示。所引导的存在消息还可包含所分配的资源数据,所述所分配的资源数据对应于客户端节点正可用于网络100的网络带宽。
客户端节点可周期性地发送这些所引导的存在消息。举例来说,可以三十秒的间隔发送所引导的存在消息,但根据本发明的技术,同样可利用其它时间间隔。
客户端节点进入和退出通信信道
根据一些实施例,客户端节点可被邀请到通信信道135。此邀请是通过将“添加客户端”事件消息递送到信道控制器模块120而触发。此事件消息可指示客户端节点是双向还是仅接收。这将确定分配给此客户端节点的上游代理节点的类型和带内用户数据报协议(UDP)协议的操作。
当信道控制器模块120接收“添加客户端”事件时,信道控制器可发送含有对那个客户端节点的JID的邀请元素的XMPP IQ消息。客户端节点可用“接受”或“拒绝”消息作出响应。如果接受邀请,则信道控制器模块120可将“更新”消息发送到通信信道135的其它节点(客户端和代理两者)。另外,信道控制器模块120可向新的客户端节点发送具有与其它客户端和代理建立对等式通信所需的信息的初始“同步”消息。
在客户端节点已接收第一“同步”消息之后,客户端节点可利用ICE信道设置算法。
将理解,每一通信信道135可含有多个代理节点。客户端节点可根据从信道控制器模块120接收到的“同步”数据而维持到所有代理节点的活动开放隧道,但一般以充分的服务质量经由最高优先级代理转发数据包。
从信道控制器模块120到客户端节点的“同步”消息可含有信道中的其它客户端节点的JID和NodeID的列表。其还将含有指派给客户端节点的每一代理节点的节点JID和IP集合点信息的列表。
在客户端节点接收到“同步”消息之后,可用与成员资格和当前代理节点相关的传入“更新”消息用信号通知信道成员资格和代理节点分配的改变,例如关于将客户端节点和代理节点添加到通信信道135或从通信信道135移除客户端节点和代理节点的信息。每一“更新”消息可含有序列号。如果客户端节点确定序列号中的间隙,则此指示更新信息的丢失。在那种情况下,客户端可将“同步”请求消息发送到信道控制器模块120,其可致使信道控制器模块120将新的、最新的“同步”消息发送到客户端节点。序列号空间对于到每一客户端节点的每一“更新”消息类型可不同。因此,客户端节点和信道控制器模块120可针对每一节点/消息类型元组维持单独的状态。
每当客户端节点被添加到通信信道135(或从其丢弃)时,信道控制器模块120也可将“更新”消息发送到所有客户端节点。更新信息还可含有客户端节点ID(JID)的列表和指派给其的每一代理节点的候选IP端点数据的相关列表。每当代理节点被添加到通信信道135(或从其丢弃)时,信道控制器模块120也可将“更新”代理消息发送到所有客户端。
客户端节点可自愿离开通信信道135,或被迫从通信信道135离开。在任一情况下,将“丢弃客户端”事件传送到信道控制器模块120。与“添加客户端”事件相同,“丢弃客户端”事件可包含将XMPP IQ消息传送到信道控制器模块120。在接收到“丢弃客户端”消息之后,信道控制器模块120可即刻将“挂断”消息发送到客户端节点,且将适当的“更新”消息发送到通信信道135上的其它客户端节点和代理节点。被丢弃的客户端节点随后确认“挂断”消息且不再被视为在群组中。
代理节点进入和退出通信信道
代理节点可基于信道控制器模块120的请求以及代理管理器模块110对代理节点的选择而进入通信信道135。在一些实施例中,代理管理器模块110可基于与通信信道135相关联的客户端节点的JID而选择无利害关系的代理节点。
信道控制器模块120可从代理管理器模块110获得潜在代理节点的列表,如上文所描述。信道控制器模块120可随后将“分配”消息发送到潜在代理节点中的每一者。潜在代理节点中的每一者可用“接受”或“拒绝”消息来响应于“分配”消息。
在已将代理节点添加到通信信道135之后,信道控制器模块120可基于未使用或代理节点所提供的服务质量低于阈值量而决定丢弃代理节点。服务质量可包含代理节点专用于网络100的实际网络带宽量。将理解,网络管理员可为每一代理节点建立阈值量的带宽。
一旦已作出此确定,信道控制器模块120可将“挂断”消息发送到代理节点,且将适当的“更新”消息发送到通信信道135的客户端节点。被丢弃的代理节点随后确认“挂断”消息且不再被视为在群组中。如果客户端节点仍保持在群组中,则信道控制器模块120可分配一个或一个以上额外代理节点以取代被移除的代理节点。
如果节点变得不可用作代理,则其应完全与XMPP服务器115(其还将从语音信道交互移除所述节点作为客户端节点)断开或用“不可用”状态消息将所引导的XMPP存在消息发送到代理管理器120。将理解,所述节点可仍起到客户端节点的作用。
最后一个客户端节点从通信信道135的脱离将触发信道控制器模块120自动破坏或关闭通信信道135。为防止由于短期条件引起的颠簸,信道控制器模块120可在最后一个客户端节点脱离之后在关闭通信信道135之前利用延缓定时器。在一些实施例中,延缓时间可为三十秒,但根据本发明的技术,同样可利用其它延缓时间。
图3说明用于分布对等式通信的示范性方法300的流程图。方法300可包含响应于从两个或两个以上客户端节点接收到“添加客户端”请求而建立对等式网络的通信信道的步骤305。如先前所述,每一客户端节点(和随后被添加的代理节点或经托管节点)可包含唯一的JID,网络可利用所述JID在通信信道上监视来自节点的通信。
接下来,方法包含从潜在代理节点的列表中选择代理节点的步骤310。在步骤310中所选择的代理节点可包含与曾从其接收到“添加客户端”请求的两个或两个以上客户端节点相关的无利害关系的客户端节点。可通过将每一客户端节点的JID与潜在代理节点的列表中所包含的潜在代理节点进行比较来促进选择无利害关系的客户端节点。步骤310可包含确定由确定正利用通信信道的客户端节点的量所需的代理节点的量。当客户端节点的数目增加时,代理节点的量也增加。
如上文所述,无利害关系的客户端节点可包含两个或两个以上客户端节点从未与其通信的客户端节点。在已选择代理节点之后,方法包含通过经由所选择的代理节点引导两个或两个以上客户端节点的通信而掩盖两个或两个以上客户端节点的识别的步骤315。
接下来,方法包含监视代理节点的服务质量以确定代理节点的服务质量是否高于阈值量的步骤320。举例来说,网络可监视代理节点分配给网络的实际网络带宽。
如果代理节点的服务质量低于阈值量,则方法可包含从通信信道移除代理节点的步骤325,和后面的用来自潜在代理节点的列表的另一代理节点取代所述代理节点的步骤330。网络可将指示代理节点的改变的经更新的代理数据发送到通信信道的节点。
如果代理节点的服务质量处于或高于阈值量,则网络可继续使用代理节点,直到在步骤335中网络从代理节点接收到向网络指示代理节点正离开通信信道的“丢弃代理”通知为止。在从代理节点接收到代理节点正离开通信信道的“丢弃代理”后,方法可即刻被引导到步骤325以从通信信道移除代理节点,随后是用来自潜在代理节点的列表的另一代理节点取代所述代理节点的步骤330。
方法300还可包含从客户端节点接收到客户端节点正离开通信信道的“丢弃客户端”消息的步骤340。在客户端节点离开通信信道后,网络可即刻将指示客户端节点不再利用通信信道的经更新的客户端节点消息发送到通信信道的其余节点。
在最后一个客户端节点离开通信信道后,方法300包含关闭通信信道的步骤345。
应理解,本文中所陈述的示范性方法的步骤不一定需要以所描述的次序执行,且所述方法的步骤的次序应被理解为仅是示范性的。同样,额外步骤也可包含于所述方法中,且在与本发明的各种实施例一致的方法中可省略或组合某些步骤。
图4说明可用于实施本发明的技术的实施例的示范性计算系统400。网络100的所列举的组件中的任一者可包含计算系统400的组件中的一者或一者以上。图4的计算系统400包含一个或一个以上处理器410和存储器420。主存储器存储装置420部分存储供处理器410执行的指令和数据。主存储器存储装置420可在系统400在操作中时存储可执行代码。图4的系统400可进一步包含大容量存储装置430、便携式存储媒体装置440、输出装置450、用户输入装置460、图形显示器440,和其它外围装置480。
图4中所示的组件被描绘为经由单一总线490进行连接。组件可通过一个或一个以上数据输送构件进行连接。处理器410和主存储器存储装置420可经由本地微处理器总线进行连接,且大容量存储装置430、外围装置480、便携式存储装置440和显示器系统470可经由一个或一个以上输入/输出(I/O)总线进行连接。
可用磁盘驱动器或光盘驱动器实施的大容量存储装置430是用于存储供处理器单元410使用的数据和指令的非易失性存储装置。大容量存储装置430可存储用于实施本发明的技术的实施例的系统软件,以用于将那个软件加载到主存储器存储装置420中。
便携式存储装置440结合便携式非易失性存储媒体(例如,软盘、压缩盘或数字视频光盘)而操作,以将数据和代码输入到图4的计算系统400和从图4的计算系统400输出数据和代码。用于实施本发明的技术的实施例的系统软件可存储于所述便携式媒体上,且经由便携式存储装置440输入到计算系统400。
输入装置460提供用户接口的一部分。输入装置460可包含字母数字小键盘,例如键盘,以用于输入字母数字和其它信息,或包含指向装置,例如鼠标、跟踪球、尖笔或光标方向键。另外,图4中所示的系统400包含输出装置450。合适的输出装置包含扬声器、打印机、网络接口和监视器。
显示器系统470可包含液晶显示器(LCD)或其它合适的显示器装置。显示器系统470接收文本和图形信息,且处理所述信息以用于输出到显示器装置。
外围装置480可包含任何类型的计算机支持装置以将额外功能性添加到计算系统。外围装置480可包含调制解调器或路由器。
图4的计算系统400中所包含的组件是计算系统中通常找到的组件,其可适合用于与本发明的技术的实施例一起使用,且意欲表示此项技术中众所周知的此类计算机组件的广义类别。因此,图4的计算系统400可为个人计算机、手提式计算系统、电话、移动计算系统、工作站、服务器、微型计算机、大型计算机,或任何其它计算系统。计算机还可包含不同的总线配置、联网平台、多处理器平台等。可使用各种操作系统,包含UNIX、Linux、Windows、Macintosh OS、Palm OS和其它合适的操作系统。
上文所描述的功能中的一些可由存储于存储媒体(例如,计算机可读媒体)上的指令构成。所述指令可由处理器检索和执行。存储媒体的一些实例是存储器装置、磁带、磁盘等。所述指令在由处理器执行时操作以引导处理器根据所述技术进行操作。所属领域的技术人员熟悉指令、处理器和存储媒体。
值得注意的是,适合于执行本文中所描述的处理的任何硬件平台适合于与所述技术一起使用。如本文中所使用的术语“计算机可读存储媒体(computer-readable storagemedium)”和“计算机可读存储媒体(computer-readable storage media)”指代参与将指令提供给CPU以供执行的任何媒体(medium)或媒体(media)。所述媒体可采取许多形式,包含(但不限于)非易失性媒体、易失性媒体和传输媒体。非易失性媒体包含(例如)光盘或磁盘,例如固定磁盘。易失性媒体包含动态存储器,例如系统RAM。传输媒体包含同轴电缆、铜线和光纤,尤其包含构成总线的一个实施例的电线。传输媒体还可采取声波或光波的形式,例如在射频(RF)和红外(IR)数据通信期间所产生的声波和光波。计算机可读媒体的常见形式包含(例如)软盘、柔性磁盘、硬盘、磁带、任何其它磁性媒体、CD-ROM盘、数字视频盘(DVD)、任何其它光学媒体,具有标记或孔图案的任何其它物理媒体、RAM、PROM、EPROM、EEPROM、FLASHEPROM、任何其它存储器芯片或数据交换适配器、载波,或计算机可从其读取的任何其它媒体。
在将一个或一个以上指令的一个或一个以上序列载运到CPU以供执行的过程中可涉及各种形式的计算机可读媒体。总线将数据载运到系统RAM,CPU从所述系统RAM检索并执行指令。由系统RAM接收的指令在由CPU执行之前或之后可任选地存储于固定磁盘上。
以上描述是说明性的而非限制性的。所属领域的技术人员在检视本发明之后将即刻明白所述技术的许多变化。因此,不应参考以上描述来确定所述技术的范围,而是应参考所附权利要求书以及其完整范围的等效物来确定。

Claims (20)

1.一种用于分布对等式通信的方法,其包括:
通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。
2.根据权利要求1所述的方法,其进一步包括:
评估所述对等式通信网络可用的潜在代理节点的列表;
比较所述潜在代理节点中的每一者的因特网协议IP地址和所述两个或两个以上客户端节点的IP地址以确定一个或一个以上无利害关系的代理节点;以及
从所述一个或一个以上无利害关系的代理节点中选择至少一个代理节点。
3.根据权利要求2所述的方法,其进一步包括:
在评估之前,建立用于某一量客户端节点的通信信道;以及
基于客户端节点的所述量而确定所述通信信道所需的代理节点的量。
4.根据权利要求2所述的方法,其进一步包括在确定代理节点的失败后即刻从潜在代理节点的快速切换列表中选择额外的代理节点,所述额外的代理节点还包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点。
5.根据权利要求4所述的方法,其中失败包含所述代理节点的服务质量低于阈值量。
6.根据权利要求5所述的方法,其中所述代理节点的所述服务质量包含可让所述对等式通信网络使用的当前网络带宽量。
7.根据权利要求1所述的方法,其中无利害关系的客户端节点包含所述两个或两个以上客户端节点从未与其通信的客户端节点。
8.根据权利要求1所述的方法,其中所述对等式通信网络包含因特网语音协议VoIP通信网络。
9.根据权利要求1所述的方法,其中所述无利害关系的节点包含所述对等式通信网络的经托管节点。
10.根据权利要求1所述的方法,其中可将代理节点用于两个或两个以上不同的通信信道。
11.一种用于分布对等式通信的系统,其包括:
存储器,其用于存储用于分布对等式通信的可执行指令;以及
处理器,其经配置以执行存储于所述存储器中的所述指令,所述可执行指令包含:
代理管理器模块,其经配置以通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。
12.根据权利要求11所述的系统,其中所述代理管理器模块进一步经配置以:
评估所述对等式通信网络可用的潜在代理节点的列表;
比较所述潜在代理节点中的每一者的因特网协议IP地址和所述两个或两个以上客户端节点的IP地址以确定一个或一个以上无利害关系的代理节点;以及
从所述一个或一个以上无利害关系的代理节点中选择至少一个代理节点。
13.根据权利要求12所述的系统,其中所述系统进一步包含信道控制器模块,所述信道控制器模块经配置以:
建立用于某一量客户端节点的通信信道;以及
基于客户端节点的所述量而确定所述通信信道所需的代理节点的量。
14.根据权利要求13所述的系统,其中所述代理管理器模块经配置以在所述信道控制器确定代理节点的失败后即刻选择额外的代理节点,所述额外的代理节点还包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点。
15.根据权利要求14所述的系统,其中失败包含所述代理节点的服务质量低于阈值量。
16.根据权利要求11所述的系统,其中无利害关系的客户端节点包含所述两个或两个以上客户端节点从未与其通信的客户端节点。
17.根据权利要求11所述的系统,其中所述对等式通信网络包含因特网语音协议VoIP通信网络。
18.根据权利要求11所述的系统,其中所述无利害关系的节点包含所述对等式通信网络的经托管节点。
19.根据权利要求11所述的系统,其中所述代理管理器模块可将代理节点用于两个或两个以上不同的通信信道。
20.一种非暂时性计算机可读存储媒体,其上体现有计算机程序,所述计算机程序可由计算系统中的处理器执行以执行用于分布对等式通信的方法,所述方法包括:通过经由代理节点引导对等式通信网络的通信信道上的两个或两个以上客户端节点的对等式通信而掩盖所述两个或两个以上客户端节点的识别,所述代理节点包含与所述两个或两个以上客户端节点相关的无利害关系的客户端节点,所述无利害关系的客户端节点将网络资源提供给所述对等式通信网络。
CN2012101719501A 2011-09-08 2012-05-29 用于分布对等式通信的系统、方法和媒体 Pending CN103002001A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/228,285 US8793313B2 (en) 2011-09-08 2011-09-08 Systems, methods and media for distributing peer-to-peer communications
US13/228,285 2011-09-08

Publications (1)

Publication Number Publication Date
CN103002001A true CN103002001A (zh) 2013-03-27

Family

ID=46178465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012101719501A Pending CN103002001A (zh) 2011-09-08 2012-05-29 用于分布对等式通信的系统、方法和媒体

Country Status (4)

Country Link
US (3) US8793313B2 (zh)
EP (1) EP2568688A1 (zh)
CN (1) CN103002001A (zh)
CA (1) CA2778098A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793313B2 (en) 2011-09-08 2014-07-29 Red 5 Studios, Inc. Systems, methods and media for distributing peer-to-peer communications
US8795086B2 (en) 2012-07-20 2014-08-05 Red 5 Studios, Inc. Referee mode within gaming environments
CN106506490A (zh) * 2016-11-03 2017-03-15 深圳智高点知识产权运营有限公司 一种分布式计算控制方法以及分布式计算系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825731B2 (en) * 2010-05-18 2014-09-02 International Business Machines Corporation Mobile device workload management for cloud computing using SIP and presence to control workload and method thereof
JP5887507B2 (ja) * 2011-11-28 2016-03-16 パナソニックIpマネジメント株式会社 通信機器間の接続確立方法、通信機器、及びサーバ装置
US10038927B2 (en) * 2011-12-22 2018-07-31 Cisco Technology, Inc. Out-of-band signaling and device-based content control
WO2013126430A1 (en) * 2012-02-20 2013-08-29 Virtustream Canada Holdings, Inc. Systems and methods involving virtual machine host isolation over a network
US8834268B2 (en) 2012-07-13 2014-09-16 Red 5 Studios, Inc. Peripheral device control and usage in a broadcaster mode for gaming environments
US20140149493A1 (en) * 2012-11-29 2014-05-29 Utku Gunay ACER Method for joint service placement and service routing in a distributed cloud
US9307507B2 (en) * 2012-11-30 2016-04-05 Qualcomm Incorporated Systems and methods of selective scanning for ad-hoc networks
US9019992B2 (en) 2013-01-08 2015-04-28 Tangome, Inc. Joint retransmission and frame synchronization for error resilience control
US9952908B2 (en) * 2014-09-11 2018-04-24 Cisco Technology, Inc. Crowd sourced cloud computing
US9887973B2 (en) 2015-06-03 2018-02-06 Microsoft Technology Licensing, Llc Private peer-to-peer data transfers
US10642633B1 (en) * 2015-09-29 2020-05-05 EMC IP Holding Company LLC Intelligent backups with dynamic proxy in virtualized environment
US10873540B2 (en) 2016-07-06 2020-12-22 Cisco Technology, Inc. Crowd-sourced cloud computing resource validation
US10360606B2 (en) 2016-07-19 2019-07-23 Cisco Technology, Inc. Crowd-sourced cloud computing in a multiple resource provider environment
US10326835B1 (en) * 2016-09-12 2019-06-18 EMC IP Holding Company LLC Global data movement in cloud computing environment
JP6493381B2 (ja) * 2016-12-26 2019-04-03 トヨタ自動車株式会社 車載通信システム
CN110460453A (zh) * 2019-08-20 2019-11-15 深圳市中仁信息科技有限公司 一种基于p2p即时通信的群聊实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728678A (zh) * 2004-07-30 2006-02-01 国际商业机器公司 匿名数据传输方法和设备
US20090265473A1 (en) * 2006-02-21 2009-10-22 Aamer Hydrie Topology Management in Peer-to-Peer Content Distribution Clouds

Family Cites Families (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5384910A (en) 1992-12-31 1995-01-24 International Business Machines Corporation Method and apparatus for facilitating operator reconfiguration of a graphical user interface in a data processing system
US5708845A (en) 1995-09-29 1998-01-13 Wistendahl; Douglass A. System for mapping hot spots in media content for interactive digital media program
GB9706839D0 (en) 1997-04-04 1997-05-21 Orad Hi Tec Systems Ltd Graphical video systems
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US5943052A (en) 1997-08-12 1999-08-24 Synaptics, Incorporated Method and apparatus for scroll bar control
US6374336B1 (en) 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6408128B1 (en) 1998-11-12 2002-06-18 Max Abecassis Replaying with supplementary information a segment of a video
US6330605B1 (en) 1998-11-19 2001-12-11 Volera, Inc. Proxy cache cluster
US6526448B1 (en) 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US6287201B1 (en) 1999-03-12 2001-09-11 Midway Games West Arcade game with keypad input
US6466275B1 (en) 1999-04-16 2002-10-15 Sportvision, Inc. Enhancing a video of an event at a remote location using data acquired at the event
US8073721B1 (en) 1999-05-24 2011-12-06 Computer Associates Think, Inc. Service level management
US6629129B1 (en) 1999-06-16 2003-09-30 Microsoft Corporation Shared virtual meeting services among computer applications
US6456304B1 (en) 1999-06-30 2002-09-24 Microsoft Corporation Procedural toolbar user interface
US6561811B2 (en) 1999-08-09 2003-05-13 Entertainment Science, Inc. Drug abuse prevention computer game
US7219160B1 (en) * 1999-08-27 2007-05-15 At&T Corp. Method for fast network-aware clustering
US6928485B1 (en) 1999-08-27 2005-08-09 At&T Corp. Method for network-aware clustering of clients in a network
US7075556B1 (en) 1999-10-21 2006-07-11 Sportvision, Inc. Telestrator system
US6772195B1 (en) 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
US6571216B1 (en) 2000-01-14 2003-05-27 International Business Machines Corporation Differential rewards with dynamic user profiling
US6597375B1 (en) 2000-03-10 2003-07-22 Adobe Systems Incorporated User interface for video editing
KR100372899B1 (ko) 2000-04-04 2003-02-25 주식회사 게임위즈 인터넷을 통한 게임방송방법 및 그 장치
US20010036356A1 (en) 2000-04-07 2001-11-01 Autodesk, Inc. Non-linear video editing system
US6699127B1 (en) 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
US20020002074A1 (en) 2000-06-30 2002-01-03 Cyop Systems Method for an online player game payment system
US6864886B1 (en) 2000-08-10 2005-03-08 Sportvision, Inc. Enhancing video using a virtual surface
US6760595B2 (en) 2000-09-06 2004-07-06 Eric Inselberg Method and apparatus for interactive audience participation at a live spectator event
US6434398B1 (en) 2000-09-06 2002-08-13 Eric Inselberg Method and apparatus for interactive audience participation at a live spectator event
US6996413B2 (en) 2000-09-06 2006-02-07 Eric Inselberg Method and apparatus for interactive audience participation at a live spectator event
US6760042B2 (en) 2000-09-15 2004-07-06 International Business Machines Corporation System and method of processing MPEG streams for storyboard and rights metadata insertion
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US6996548B2 (en) 2001-05-11 2006-02-07 Hemisphere Ii Investment Lp Method and apparatus for providing a reward for the use of a processor in a parallel processing environment
JP3417935B2 (ja) 2001-05-30 2003-06-16 株式会社コナミコンピュータエンタテインメント大阪 ネットゲーム用サーバ装置、ネットゲーム管理方法及びネットゲーム管理プログラム
US6999083B2 (en) 2001-08-22 2006-02-14 Microsoft Corporation System and method to provide a spectator experience for networked gaming
US20030084462A1 (en) 2001-10-26 2003-05-01 Junichi Kubota Digital boradcast reception device and method thereof, and printing device and method thereof
US8025569B2 (en) 2002-03-29 2011-09-27 Igt Simulating real gaming environments with interactive host and players
US20030220143A1 (en) 2002-05-24 2003-11-27 Koninklijke Philips Electronics N.V. On-line gaming spectator
US20040087363A1 (en) 2002-11-05 2004-05-06 Bogenn Timothy F. Digital video game strategy guide
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9352222B2 (en) 2002-12-10 2016-05-31 Sony Interactive Entertainment America Llc System and method for capturing text for an online application
US8840475B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US8108342B2 (en) 2007-09-10 2012-01-31 Robert Salinas Methods and systems of content mobilization, mobile search, and video editing through a web interface
US20040116183A1 (en) 2002-12-16 2004-06-17 Prindle Joseph Charles Digital advertisement insertion system and method for video games
US20040153569A1 (en) 2003-02-03 2004-08-05 Khamla Savathphoune Samaritan circuit for transferring data through peer-to-peer networks
JP2004295159A (ja) 2003-02-07 2004-10-21 Sony Corp アイコン表示システム、アイコン表示方法、電子機器装置およびコンピュータプログラム
US20040259627A1 (en) 2003-03-03 2004-12-23 Walker Jay S. Method and apparatus for alternate display information
JP4117207B2 (ja) 2003-03-31 2008-07-16 富士フイルム株式会社 画像処理サーバ
JP4057945B2 (ja) 2003-04-25 2008-03-05 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
CA2527388C (en) 2003-06-02 2013-09-17 Disney Enterprises, Inc. System and method of interactive video playback
JP4275992B2 (ja) 2003-06-03 2009-06-10 ヤフー株式会社 グリッドコンピューティング仲介装置および方法
US7729992B2 (en) 2003-06-13 2010-06-01 Brilliant Digital Entertainment, Inc. Monitoring of computer-related resources and associated methods and systems for disbursing compensation
US7133051B2 (en) 2003-09-19 2006-11-07 Microsoft Corporation Full scale video with overlaid graphical user interface and scaled image
US20050071736A1 (en) 2003-09-26 2005-03-31 Fuji Xerox Co., Ltd. Comprehensive and intuitive media collection and management tool
MXPA06003890A (es) 2003-10-06 2006-07-03 Disney Entpr Inc Sistema y metodo de control de reproduccion y caracteristica para reproductores de video.
US8845433B2 (en) 2003-12-16 2014-09-30 Igt Methods and devices for gaming machine configuration
GB2409417A (en) 2003-12-22 2005-06-29 Nokia Corp Online gaming with spectator interaction
US7490314B2 (en) 2004-01-30 2009-02-10 Microsoft Corporation System and method for exposing tasks in a development environment
US7831933B2 (en) 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US7458894B2 (en) 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
US7719971B1 (en) 2004-09-15 2010-05-18 Qurio Holdings, Inc. Peer proxy binding
US8478849B2 (en) * 2004-12-07 2013-07-02 Pure Networks LLC. Network administration tool
WO2006072052A2 (en) 2004-12-31 2006-07-06 Anonymizer, Inc. System for protecting identity in a network environment
US20060170778A1 (en) 2005-01-28 2006-08-03 Digital News Reel, Llc Systems and methods that facilitate audio/video data transfer and editing
US7668962B2 (en) 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
US7191215B2 (en) 2005-03-09 2007-03-13 Marquee, Inc. Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines
US7827560B2 (en) 2005-05-11 2010-11-02 Siemens Aktiengesellschaft System and method for time controlled program execution
US7509390B1 (en) 2005-06-01 2009-03-24 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of data
US7506318B1 (en) 2005-06-28 2009-03-17 Replay Solutions, Inc. Recording and replaying computer programs
DE102005034692A1 (de) 2005-07-25 2007-02-01 Siemens Ag Verfahren zur Einrichtung einer anonymen Dienstbeziehung in einem dezentralen Netzwerk
US20070055694A1 (en) 2005-08-19 2007-03-08 Customer Feedback Solutions, Inc. System and method for providing a unified customer feedback solution
WO2007023330A1 (en) 2005-08-25 2007-03-01 Nokia Corporation Method and device for sending and receiving game content including download thereof
US20070063995A1 (en) 2005-09-22 2007-03-22 Bailey Eric A Graphical user interface for use with a multi-media system
US7844301B2 (en) 2005-10-14 2010-11-30 Lg Electronics Inc. Method for displaying multimedia contents and mobile communications terminal capable of implementing the same
US8025572B2 (en) 2005-11-21 2011-09-27 Microsoft Corporation Dynamic spectator mode
US7632186B2 (en) 2005-11-21 2009-12-15 Microsoft Corporation Spectator mode for a game
US20070203871A1 (en) 2006-01-23 2007-08-30 Tesauro Gerald J Method and apparatus for reward-based learning of improved systems management policies
US8645991B2 (en) 2006-03-30 2014-02-04 Tout Industries, Inc. Method and apparatus for annotating media streams
US8219553B2 (en) 2006-04-26 2012-07-10 At&T Intellectual Property I, Lp Methods, systems, and computer program products for managing audio and/or video information via a web broadcast
US20080126357A1 (en) 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
US9079104B2 (en) 2006-06-26 2015-07-14 Sony Computer Entertainment America Llc Creation of game-based scenes
GB2440385B (en) 2006-07-12 2011-08-17 British Broadcasting Corp A system for and method of controlling advanced user interfaces for navigation
US20080026839A1 (en) 2006-07-28 2008-01-31 Ujogo. Inc. Interactive Gaming System With Attribute Indicators, Such As Online Poker Rooms With Attribute Indicators
US8090813B2 (en) 2006-09-19 2012-01-03 Solid State Networks, Inc. Methods and apparatus for data transfer
US9526995B2 (en) 2006-11-22 2016-12-27 Sony Interactive Entertainment America Llc Video game recording and playback with visual display of game controller manipulation
KR100850355B1 (ko) 2006-12-05 2008-08-04 한국전자통신연구원 피어 투 피어 프락시 서버 및 그 통신 방법
US20080146339A1 (en) 2006-12-14 2008-06-19 Arlen Lynn Olsen Massive Multiplayer Online Sports Teams and Events
US7824268B2 (en) 2006-12-19 2010-11-02 Electronic Arts, Inc. Live hosted online multiplayer game
US8650505B2 (en) 2007-02-28 2014-02-11 Rpx Corporation Multi-state unified pie user interface
CN100531098C (zh) 2007-03-13 2009-08-19 华为技术有限公司 一种对等网络系统及重叠网间节点的互通方法
US20090005196A1 (en) 2007-06-27 2009-01-01 Cyber Sport Manufacturing Llc Court-based game played by players riding vehicles
US8583164B2 (en) 2007-07-12 2013-11-12 Sony Corporation Reward-based access to media content
US20090031227A1 (en) 2007-07-27 2009-01-29 International Business Machines Corporation Intelligent screen capture and interactive display tool
US8130747B2 (en) 2007-08-06 2012-03-06 Blue Coat Systems, Inc. System and method of traffic inspection and stateful connection forwarding among geographically dispersed network appliances organized as clusters
US8146005B2 (en) 2007-08-07 2012-03-27 International Business Machines Corporation Creating a customized avatar that reflects a user's distinguishable attributes
US8235817B2 (en) 2009-02-12 2012-08-07 Sony Computer Entertainment America Llc Object based observation
US9108108B2 (en) 2007-09-05 2015-08-18 Sony Computer Entertainment America Llc Real-time, contextual display of ranked, user-generated game play advice
US10504285B2 (en) 2007-09-26 2019-12-10 Autodesk, Inc. Navigation system for a 3D virtual scene
US9052797B2 (en) 2007-09-26 2015-06-09 Autodesk, Inc. Navigation system for a 3D virtual scene
US20090290753A1 (en) 2007-10-11 2009-11-26 General Electric Company Method and system for gaze estimation
US20090144380A1 (en) 2007-11-21 2009-06-04 Kallman William R Peer-to-peer email
US20090172171A1 (en) 2007-12-31 2009-07-02 Shai Amir Method and an apparatus for disguising digital content
US8515253B2 (en) 2008-02-15 2013-08-20 Sony Computer Entertainment America Llc System and method for automated creation of video game highlights
GB0804274D0 (en) 2008-03-07 2008-04-16 Virtually Live Ltd A media sysyem and method
IL190111A0 (en) 2008-03-11 2008-12-29 Oren Cohen Method and system for representing game data in a generic form
US9245182B2 (en) 2008-03-28 2016-01-26 International Business Machines Corporation Enhancing data in a screenshot
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US20090254998A1 (en) 2008-04-07 2009-10-08 Plura Processing, Lp Web-browser based grid computing system
US8128503B1 (en) 2008-05-29 2012-03-06 Livestream LLC Systems, methods and computer software for live video/audio broadcasting
US8566353B2 (en) 2008-06-03 2013-10-22 Google Inc. Web-based system for collaborative generation of interactive videos
US8839327B2 (en) 2008-06-25 2014-09-16 At&T Intellectual Property Ii, Lp Method and apparatus for presenting media programs
US20090326970A1 (en) 2008-06-30 2009-12-31 Microsoft Corporation Awarding users for discoveries of content based on future popularity in a social network
US20100014825A1 (en) 2008-07-18 2010-01-21 Porto Technology, Llc Use of a secondary device to overlay disassociated media elements onto video content
US20100031333A1 (en) 2008-07-22 2010-02-04 Mitchell Mark T Secure email
JP2012501026A (ja) 2008-08-27 2012-01-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ピアツーピアネットワーク
US20100150120A1 (en) 2008-09-04 2010-06-17 Ludger Schlicht Mobile applications for a mobile, broadband, routable internet
US20100100849A1 (en) 2008-10-22 2010-04-22 Dr Systems, Inc. User interface systems and methods
US8683574B2 (en) 2008-12-15 2014-03-25 Novell, Inc. Identity driven peer-to-peer (P2P) virtual private network (VPN)
TWI373943B (en) 2008-12-31 2012-10-01 Ind Tech Res Inst Apparatus and method for providing peer-to-peer proxy service in peer-to-peer communication
US20100281095A1 (en) 2009-04-21 2010-11-04 Wehner Camille B Mobile grid computing
US9377857B2 (en) 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
US9186548B2 (en) 2009-07-20 2015-11-17 Disney Enterprises, Inc. Play sequence visualization and analysis
US8151218B2 (en) 2009-07-29 2012-04-03 National Instruments Corporation Evaluation of graphical program nodes
US20110028194A1 (en) 2009-07-31 2011-02-03 Razer (Asia-Pacific) Pte Ltd System and method for unified-context mapping of physical input device controls to application program actions
US8388472B2 (en) 2009-08-03 2013-03-05 Jonathan Blais Sport game
US9405731B2 (en) 2009-08-26 2016-08-02 Hewlett Packard Enterprise Development Lp Energy-based wavelet thresholding
KR101594811B1 (ko) 2009-10-21 2016-02-18 삼성전자주식회사 모바일 p2p 기반의 네트워크 장치 및 시스템
US8782724B2 (en) 2009-12-15 2014-07-15 Verizon Patent And Licensing Inc. User editable metadata for interactive television programs
US9462316B2 (en) 2009-12-29 2016-10-04 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
WO2011120010A1 (en) 2010-03-25 2011-09-29 Michael Valdiserri Medical collaboration system and method
JP5043978B2 (ja) 2010-04-21 2012-10-10 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームシステムの制御方法及びプログラム
US8376834B2 (en) 2010-05-07 2013-02-19 Microsoft Corporation Role assignment in multiplayer games
US9795883B2 (en) 2010-05-25 2017-10-24 International Business Machines Corporation Operational management of multi-media gaming devices
US20120054685A1 (en) 2010-08-26 2012-03-01 John Su Systems and Methods for Controlling At Least A Portion of A Flow of Program Activity of A Computer Program
US8504423B2 (en) 2010-08-27 2013-08-06 Snap Services, Llc Social network appreciation platform
US20120130863A1 (en) 2010-11-22 2012-05-24 Steven Tedjamulia Social Reputation
US20120151320A1 (en) 2010-12-10 2012-06-14 Mcclements Iv James Burns Associating comments with playback of media content
CA2783390A1 (en) 2011-01-03 2012-07-12 Red 5 Studios, Inc. Systems, methods, and media for providing virtual badges
US8589423B2 (en) 2011-01-18 2013-11-19 Red 5 Studios, Inc. Systems and methods for generating enhanced screenshots
US20120311624A1 (en) 2011-06-03 2012-12-06 Rawllin International Inc. Generating, editing, and sharing movie quotes
US20130031148A1 (en) 2011-07-26 2013-01-31 Mark Kern Systems and methods of distributed file storage
US8793313B2 (en) 2011-09-08 2014-07-29 Red 5 Studios, Inc. Systems, methods and media for distributing peer-to-peer communications
US9498720B2 (en) 2011-09-30 2016-11-22 Microsoft Technology Licensing, Llc Sharing games using personal audio/visual apparatus
US8628424B1 (en) 2012-06-28 2014-01-14 Red 5 Studios, Inc. Interactive spectator features for gaming environments
US8834268B2 (en) 2012-07-13 2014-09-16 Red 5 Studios, Inc. Peripheral device control and usage in a broadcaster mode for gaming environments
US20140018157A1 (en) 2012-07-13 2014-01-16 Mark Kern Reward-based features for videogame observers
US8795086B2 (en) 2012-07-20 2014-08-05 Red 5 Studios, Inc. Referee mode within gaming environments
US20140031121A1 (en) 2012-07-25 2014-01-30 Mark Kern Broadcaster mode and broadcasting features for gaming environments
US8475284B1 (en) 2012-07-31 2013-07-02 Scott Rudi Dynamic views within gaming environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728678A (zh) * 2004-07-30 2006-02-01 国际商业机器公司 匿名数据传输方法和设备
US20090265473A1 (en) * 2006-02-21 2009-10-22 Aamer Hydrie Topology Management in Peer-to-Peer Content Distribution Clouds

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793313B2 (en) 2011-09-08 2014-07-29 Red 5 Studios, Inc. Systems, methods and media for distributing peer-to-peer communications
US8795086B2 (en) 2012-07-20 2014-08-05 Red 5 Studios, Inc. Referee mode within gaming environments
CN106506490A (zh) * 2016-11-03 2017-03-15 深圳智高点知识产权运营有限公司 一种分布式计算控制方法以及分布式计算系统
CN106506490B (zh) * 2016-11-03 2019-07-09 深圳智高点知识产权运营有限公司 一种分布式计算控制方法以及分布式计算系统

Also Published As

Publication number Publication date
US8793313B2 (en) 2014-07-29
EP2568688A1 (en) 2013-03-13
US20140025987A1 (en) 2014-01-23
US20130067091A1 (en) 2013-03-14
US8572180B2 (en) 2013-10-29
CA2778098A1 (en) 2013-03-08
US20130067088A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
CN103002001A (zh) 用于分布对等式通信的系统、方法和媒体
US20230370379A1 (en) Network Validation with Dynamic Tunneling
US11271879B2 (en) Information transmission control method, apparatus, and system
US8954866B2 (en) Messaging and presence protocol as a configuration and management bus for embedded devices
CN111612466B (zh) 一种共识和资源传输方法、设备及存储介质
JP2018518862A (ja) グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法
CN101277248A (zh) 一种网络数据分发方法及系统
US9049034B2 (en) Multicast flow monitoring
CN112187491A (zh) 服务器的管理方法、装置和设备
CN101155147B (zh) 一种即时通讯服务器监控数据的分发方法和装置
CN111355986A (zh) 一种直播间中的消息处理方法、装置和存储介质
CN112333289A (zh) 反向代理访问方法、装置、电子设备及存储介质
CN106411713B (zh) 一种状态通知方法及服务器
CN109194993B (zh) 媒体文件分发方法及文件分发平台
US10075345B2 (en) Cloud based manual discovery of devices in a device management environment
Conti et al. Epidemic diffusion of social updates in dunbar-based dosn
CN110086719A (zh) 数据处理方法、装置及服务器
US10701144B2 (en) Decentralized discovery across different networks
CN114598698B (zh) 一种数据传输方法、装置、电子设备及计算机存储介质
Jadidoleslamy TMS‐HCW: a trust management system in hierarchical clustered wireless sensor networks
CN114793219B (zh) 帐号处理方法和装置、存储介质及电子设备
CN108023909B (zh) 信息推送方法、装置及网络系统
CN118055369A (zh) 广告分发系统及方法
CN113726853A (zh) 一种基于视联网系统的通信方法和一种视联网系统
CN117596360A (zh) 一种集群构建系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130327