对等计算机环境中的通信的制作方法

文档序号:7547019阅读:105来源:国知局
专利名称:对等计算机环境中的通信的制作方法
对等计算机环境中的通信
背景技术
现代技术提供了多种通信手段和方法。例如,有许多类型的通信,包括语音电话、视频电话、文本消息、照片消息等。此外,通信可以是一对一或多方通信。典型的多方通信是通过多个设备与一个中央设施进行通信实现的。例如,中央设施可以是中央计算机服务器或维持在一个服务器群中的一组计算机服务器。中央设施的建立、维护、管理可能是昂贵的。


图I示出了根据本技术的各实施例的用于对等计算机环境中的通信的示例环境的框图。图2示出了根据本技术的各实施例的用于对等计算机环境中的通信的示例方法 的流程图。图3示出了可实施本技术的各实施例的示例计算机系统的示意图。除非特别指出,否则在各实施例的描述中参照的附图应被理解为未按比例绘制。
具体实施例方式现详细参考本技术的各实施例,其中的一些例子在附图中予以示出。尽管将结合若干实施例对本技术进行描述,但是应该理解的是,它们并不旨在将本技术限制为这些实施例。相反,本技术意在覆盖可包含于由所附的权利要求所限定的精神和范围内的备选方案、修改、及等价物。此外,在下面对实施例的描述中,为了提供对本技术透彻的理解,阐述了很多具体的细节。但是,本技术的实践可不依赖于这些具体的细节。在其它一些例子中,为了避免不必要的模糊这些实施例的各方面,未对众所周知的方法、程序、组件、和电路进行详细描述。除非特别说明,否则就如从下面讨论中显而易见的,应该理解的是贯穿当前对各实施例的描述,讨论中所使用的术语诸如“接收”、“提供”、“发送”、“终止”、“认证”、“传输”、“通信”、等等,指的是计算机系统或类似的电子计算设备的动作和处理。计算机系统或类似的电子计算设备(如电话或手持移动设备)对计算机系统的寄存器和存储器中的代表物理(电子)量的数据进行控制并将其转换为计算机系统存储器或寄存器或其它这种信息存储、传输、显示设备中的其它类似的代表物理量的数据。本技术的各实施例还较佳地适合其它计算机系统(如光学和机械计算机)使用。讨论概沭本技术的各实施例用于对等计算机环境中的通信。单独的用户能够通过用户设备与另一个用户不利用中继的进行一对一的通信。但是,这种无需中继的连接可能不可行或者可能质量很差、不可靠、缺乏有效的将一个会话扩展为多方会话的可扩展性。本技术的各实施例允许用户通过与对等计算机环境相关联的用户设备与至少一个其他用户通信。在一个实施例中,由与对等计算机环境相关联的对等点提供者节点使用公共密钥和私人密钥,对使用用户设备的用户进行验证。对等点提供者节点随后向用户设备提供一个与对等计算机环境相关联的潜在的对等点的列表。随后,用户设备与潜在的对等点进行联系以确定它们的可用性和性能。随后,选择潜在的对等点,并将所选的对等点用作用于与第二用户设备进行通信的中继对等点。一个用户设备可被多个用户使用。在这种情况下,每个用户关联一个不同的密钥。在一个实施例中,使用若干中继对等点向第二用户设备传输通信。用户设备可将通信分割为多个部分,每部分通过不同的中继对等点发送。例如,将通信的视频部分与通信的音频部分分开并使用不同的中继对等点发送。在一个实施例中,各中继对等点分别接收通信的一部分并复制该部分。复制的各部分可被发送至多个用户设备,这些用户设备各自被一个用户使用。于是,实现了可扩展性,并且可在没有损失质量或可靠性的情况下实现多方通信。一旦建立了与对等计算机环境的连接,就可以识别更多潜在的对等点。这可发生在用户设备未与另一个用户设备通信时的空闲时间期间或通信期间。例如,一个中继对等 点可向用户设备传输已知对等点的列表。用户设备随后可以联系该中继对等点已知的对等点,并识别额外的可被用作中继对等点使用的对等点。可利用新识别的对等点重复该过程以生成更多潜在的对等点以用作中继。用户设备执行的处理和步骤可由用户、用户设备及其程序、或者用户设备及其程序二者的组合来控制。本公开中所使用的通信可以指涉及若干类型的通信,包括但不限于实时音频和/或视频通信、文本消息、照片消息、视频消息等,其中通信和消息是通过电子通信设备发送和接收的。用户设备可以是但不限于电话、计算机系统、上网本、笔记本、电视、手持设备、移动设备、智能电话、蜂窝电话、个人数字助理、网络电视等。本公开中的术语中继对等点或存储对等点是指作为对等计算机环境中的节点或对等点的电子设备。术语对等点提供者节点可指对等计算机环境中的对等点或服务器计算机系统。应该理解,对等计算机环境在本领域内是众所周知的,还被称为对等网络并通常缩写为P2P。应该理解,对等计算机环境可包括多个计算机系统,还可包括使用指定协议相互通信的各种类型的路由器和交换机。在一个实施例中,对等计算机环境为由参与者构成的分布式网络架构,这些参与者使其部分资源(如处理能力、磁盘存储器、网络带宽)可直接为他们的对等点所用,而不经由中间网络主机或服务器。参与者可被称作节点或对等点。在一个实施例中,对等技术用于管理节点群。下面的描述将说明若干与计算机系统一起使用以及用在计算机系统中的硬件、软件、固件组件,它们用于使用本技术的若干实施例的对等计算机环境中的通信。此外,这些系统和方法可能包括下面所讨论的硬件、软件、固件组件中的一些或全部,或者不包括任何一个。对等计算机环境中的通信的实施例现参照图1,示出了用于对等计算机环境中的通信的环境100的框图。环境100包括第一用户设备105、对等点提供者节点110、存储对等点115、第一中继对等点120、第二中继对等点125、第三中继对等点130、中央服务器135、第二用户设备140、第三用户设备145、连接线150和155、通信线160、通信线165、通信线170、通信线175、通信线180、和通信线185。环境100包括使用于(或未使用于)本技术的各实施例中的各组件,但是这不应解释为限制本技术。在一个实施例中,环境100包括对等计算机环境,该对等计算机环境包括但不限于第一用户设备105、对等点提供者节点110、存储对等点115、第一中继对等点120、第二中继对等点125、第三中继对等点130、中央服务器135、第二用户设备140、以及第三用户设备145。在一个实施例中,这些组件中的每一个都能够与对等计算机环境中的任何其他设备或对等点连接及通信。在一个实施例中,每个设备或对等点不能与每一其他设备或对等点连接或通信,但是至少能够与一个其他设备或对等点连接及通信。在一个实施例中,第一用户设备105为用于对等计算机环境中的通信的电子设备。第一用户设备105可以是计算机系统、上网本、笔记本、手持设备、移动设备、智能手机、蜂窝电话、个人数字助理等。第一用户设备105必须具有某种类型的网络(如以太网、WiFi、WiMax、蜂窝式网络等)连接性。在一些实施例中,第一用户设备105需要安装用于本技术的目的的应用程序。在一个实施例中,第一用户设备105不需要安装任何额外的应用程序,相反,可使用已经安装在第一用户设备105上的技术来实施本技术。例如,第一用户设备105可使用网络浏览器应用程序来实施本技术。在一个实施例中,第二用户设备140和第三用 户设备145包含与第一用户设备105相同的特征。在一个实施例中,对等计算机环境包括对等点提供者节点计算机系统,如对等点提供者节点110。对等点提供者节点110的用途是接收来自用户(如第一用户设备105)的请求,其中该请求利用私钥进行签名。使用公共密钥对该私钥进行验证。该请求还可包括额外的授权信息,如用户凭证,或用户名称和密码,或密码证书。对等点提供者节点110使用公钥、私钥、授权信息作为验证用户身份的安全措施。在一个实施例中,在对第一用户设备105验证后,对等点提供者节点110向第一用户设备105提供潜在的对等点。例如,对等点提供者节点110可提供将第一中继对等点120、第二中继对等点125、和第三中继对等点130识别为与对等计算机环境相关联的对等点或节点的数据。此外,对等点提供者节点110可提供识别存储对等点(如存储对等点115)的数据。对等点提供者节点110可与环境100的其它组件组合来向用户提供数据。对等点提供者节点110还具有通过对等计算机环境来利用潜在对等点和存储对等点的相关数据进行更新的能力。在一个实施例中,对等计算机环境包括不止一个对等点提供者节点。用户可使用安装在第一用户设备105上的基于网络的客户界面或单机客户端,经由第一用户设备105向对等点提供者节点110提交其凭证(S卩登录/密码、证书)。在一个实施例中,第一用户设备105接收来自对等点提供者节点110的将存储对等点115识别为与对等计算机环境相关联的存储对等点计算机系统的数据。在一个实施例中,存储对等点115能够验证第一用户设备105的身份,并向第一用户设备105提供联系信息,如地址簿及其他配置文件信息(profile information)。在一个实施例中,存储在存储对等点115上的配置文件信息被加密,并且存储对等点115不具有解密该配置文件信息的密钥,而是第一用户设备105拥有对应于第一用户设备105的用户的密钥。应该理解,第一用户设备105可具有一个以上的密钥,其中每个密钥对应唯一的用户或用户账户。对等计算机环境可包括若干存储对等点,用户的配置文件信息可被存储在一个以上的存储对等点上或者被复制到一个以上的存储对等点。应该理解,存储对等点115可以是对等计算机环境上的一个能够执行其它服务(如对等点提供者节点110或中继对等点请求的服务)的对等点。这样,与对等计算机环境相关联的对等点或节点可担任中继对等点、对等点提供者节点、存储对等点,或者它们的组合。在一个实施例中,第一用户设备105利用从对等点提供者节点110获得的数据,识别与对等计算机环境相关联的潜在对等点。随后,第一用户设备105联系各个潜在对等点,并对这些潜在对等点的可用性和性能进行评估。对于哪些对等点可被用作中继对等点,第一用户设备105可基于用户需求做出判定。这样的判定可基于潜在对等点的性能和可用性做出。潜在对等点的性能可包括该潜在对等点可用的下行链路吞吐量和上行链路吞吐量,以及处理能力及速度。在一个实施例中,用户对潜在对等 点的需求包括对等计算机环境中的通信所采取的路径的预计地理长度。在一个实施例中,用户的需求是降低对等计算机环境中的通信所用的跳数。在一个实施例中,用户的需求是降低对等计算机环境中的通信的往返时间。在一个实施例中,用户的需求是中继对等点与用户设备之间的网络地址翻译器(NAT)或防火墙的兼容性。可使用算法来判定与用户需求的兼容性。在一个实施例中,一个对等点可为第一用户设备提供识别潜在中继的数据。随后,第一用户设备105可联系被未被对等点提供者节点110识别的对等点识别的潜在中继对等点,以判定这样的潜在中继对等点是否可被第一用户设备105用作通信的中继对等点。可对被未被对等点提供者节点HO识别的对等点识别的潜在中继对等点的全部或其子集重复上述过程。以此方式,第一用户设备105可增加可被用作中继对等点的潜在对等点的数量。在一个实施例中,一个潜在中继对等点的列表在会话之间存储在用户设备105上,用于避免每次会话都不得不联系对等点提供者节点110来提供新的列表。在一个实施例中,可在第一用户设备105未进行通信的空闲时间执行识别额外的潜在中继对等点的处理。在一个实施例中,第一用户设备105可判定第一中继对等点120可以被用作中继对等点来进行通信。第一中继对等点120可以是与对等计算机环境相关联的计算机系统或其他设备。在一个实施例中,第一中继对等点120通过通信线160接收来自第一用户设备105的通信,并通过通信线180、以一对一的通信方式将该通信中继给第二用户设备140。在一个实施例中,第一中继对等点120可接收来自第一用户设备105的通信,并复制该通信。所复制的通信还可被用来以多方通信方式向第二用户设备140和第三用户设备145发送通信。这样的将通信复制并中继给第二用户设备140和第三用户设备145的步骤包括将通信中继或发送给多个设备。应该理解,中继要求来自用户设备的针对用户设备进行的每个动作的验证。换言之,中继对等点会要求利用加密密钥对从用户设备发送至中继对等点的通信进行签名。随后,使用第二密钥对该加密密钥进行验证。这样的步骤可在中继对等点每次收到数据时进行。第一用户设备105可向中继对等点发送关于用户当前状态的信息。该信息可转而被转发到用户的多个联系人。该信息还可在每次用户状态变化时被更新。在一个实施例中,从第一用户设备105,第一中继对等点120只接收部分通信,第二中继对等点125接收不同部分的通信,而第三中继对等点130接收另一不同部分的通信。随后,第一中继对等点120、第二中继对等点125及第三中继对等点130将各自的通信部分发送或中继给第二用户设备140。这样,使用多个中继对等点中继了一个通信。应该理解,可使用任何数量的对等点来中继一个通信,并且不限于图I中的第一中继对等点120、第二中继对等点125及第三中继对等点130。此外,第一中继对等点120、第二中继对等点125及第三中继对等点130可分别复制它们各自的通信部分。在一个实施例中,对于多方通信,被复制的部分被发送至第三用户设备145,而原始的各部分被发送至第二用户设备140。在一个实施例中,一个通信可被划分为一个音频部分和一个视频部分。音频或视频部分还可被划分为多个部分,以通过多个中继对等点发送。例如,可对一个通信进行分害IJ,从而使音频被分割为三个部分,将其中一个部分看作基础部分并给予其高于其它各部分的优先级和保护。另外两个音频部分为基础部分提供额外的细节,这样,如果只有基础部分被中继给第二用户设备140,则音频通信将会完成,但是每个被中继给第二用户设备140的每个其他部分将会提高该音频通信的质量。此外,可以给予音频部分高于视频部分的优先级或保护。类似地,被分割为多个子部分的视频部分可提供低分辨率部分和高分辨率部分。应该理解,所描述的由第一中继对等点120、第二中继对等点125及第三中继对等点130实施的中继处理是可逆的,其中,各中继对等点接收来自第二用户设备140或第三用户设备145的通信或通信的多个部分,并随后将其中继给其他用户设备(如第一用户设备105)。因此对等计算机环境中的给定中继对等点可接收来自第一用户设备的通信并随后将 该通信中继给第二用户设备,并且还可接收来自第二用户设备的通信并随后将该通信中继给第一用户设备。因此,对于涉及的每个用户设备,多方通信可能包括双向通信。此外,多方通话中用户设备的数量不限于第一用户设备105、第二用户设备140、和第三用户设备145,而是可以使用任意数量的用户设备来实施。在一个实施例中,在通信过程中可增加或删除中继对等点。例如,通信可以使用两个中继对等点来开始,并随后删除一个中继对等点。这在第二用户设备140通过第一中继对等点120接收音频部分及通过第二中继对等点125接收视频部分、并且视频部分在通信过程中终止的情况下是有用的。可从通信的中继或发送中删除第二中继对等点125。另一个例子可以是以下一种通信在多方通信中,利用第一中继对等点120和第二中继对等点125来与第二用户设备140和第三用户设备145 二者进行通信。在这个例子中,如果第二用户设备140或者第三用户设备145终止了通信,其他用户设备可只使用第一中继对等点120继续通信。相反地,在通信过程中,当向多方通信添加了额外的通信部分或额外的用户设备时,可向通信中添加更多的中继对等点。这样,向进行中的通信添加中继对等点的能力,为对等计算机环境中发送的通信提供了可扩展性和可靠性。在一个实施例中,在通信过程中,发送或中继给定通信部分的中继对等点可能会终止中继,并选择一个第二中继对等点继续中继剩余的通信部分。这样,随着对等点加入和离开对等计算机环境,在对等计算机环境有规则的变动(churn)过程中,保持了通信的可靠性。在一个实施例中,中继对等点可接收来自从该中继对等点接收通信的用户设备的反馈。该反馈可包括如通话质量或在用于接收通信的用户设备处未接收到的通信的数量的信息。该反馈可被中继到用于发送通信的用户设备。第一用户设备105可根据反馈决定变更中继或可调整中继对等点的数量。例如,第一用户设备105可使用第一中继对等点120和第二中继对等点125将被分割为两部分的通信中继给第二用户设备140。在这个例子中,第一中继对等点120可接收来自第二用户设备140的通信质量低于阈值的反馈信息。这时,在该通信中,第一用户设备105将剩余的通信分割为三部分,并分别通过第一中继对等点120、第二中继对等点125、第三中继对等点130发送这三部分。这样就增加了第三中继对等点130,以增加通信的路径分集(diversity),或增加通过对等计算机环境中继的数据的冗余,以试图提升通信的质量。在通信过程中,可以按照这种方式增加或删除任意数量的中继对等点。此外,用户设备可根据通过中继对等点从另一个用户设备接收到的反馈调整通信参数。在一个实施例中,调整参数可以是调整通信的编码率。在一个实施例中,调整参数可以是调整通信的分辨率。在一个实施例中,调整参数可以是改变用于通信的编解码。在一个实施例中,调整参数可以是改变通信的差错保护方案。在一个实施例中,第一用户设备105可以以一对一的通信方式与第二用户设备140通信。对于这样的一对一的通信,可使用本技术(可使用中继对等点或不使用中继对等点)。如果不使用中继对等点,各用户设备之间必须有可兼容的网络地址转换(NATs)和防火墙。如互动式连接建立(ICE)、通过中继方式穿越NAT (TURN)或用于NAT的会话穿越工具(STUN)的协议可被用于完成没有中继对等点的一对一的通信。分层编码和不同层的不对等的差错保护用于确保数据遗失时对较低层的充分保护。在通信过程中还可以增加或降 低编码率。在一个实施例中,环境100包括中央服务器135。中央服务器135代表一个服务器计算机系统或一组服务器计算机系统,如服务器群。在一个实施例中,不使用中央服务器135。在一个实施例中,使用中央服务器135作为对等点提供者节点110、存储对等点115、第一中继对等点120、第二中继对等点125和/或第三中继对等点130的备份系统。这样,中央服务器135可执行对等点提供者节点110、存储对等点115、第一中继对等点120、第二中继对等点125和/或第三中继对等点130的任何任务功能或服务。因此,如果对等计算机环境中的一个组件未能执行它的任务、服务或操作,可使用中央服务器135执行该任务、服务或操作。当对等点和节点由于有规则的变动而加入或离开对等计算机环境,中央服务器135在该环境中提供了其他层的可靠性。Mii图2为示出了根据本发明的一个实施例的用于对等计算机环境中的通信的处理200的流程图。在一个实施例中,处理200为一种计算机实现方法,该方法是通过处理器或电学组件在计算机可用及计算机可执行的指令的控制下来执行的。计算机可用和计算机可执行的指令驻留在例如数据存储部件(如计算机可用的易失性存储器和非易失性存储器)中。但是,计算机可用和计算机可执行的指令可以驻留在任何类型的计算机可用存储介质中。在一个实施例中,处理200由图I中的对等点提供者节点110、存储对等点115、第一中继对等点120执行。在一个实施例中,这些方法可驻留在包含指令的计算机可用存储介质中,其中当执行这些指令时将引导计算机系统执行上述方法。在步骤202,在对等点提供者节点计算机系统接收来自用户的请求,其中该请求被以私钥进行了签名。在一个实施例中,步骤202使用了图I中的对等点提供者节点110。还可使用认证信息(如用户名和密码,或密码证书)对该请求进行验证。在步骤204,只要公钥验证了私钥,就从对等点提供者节点计算机系统为用户提供潜在对等点,从而用户能够根据用户需要使用对等计算机环境进行通信。在一个实施例中,周期性地对对等点提供者节点计算机系统的潜在对等点列表进行更新。
在步骤206,在存储对等点接收来自用户的请求,其中该存储对等点为潜在对等点中的一个,并且其中该请求被以私钥进行了签名。在一个实施例中,使用了一个以上的存储对等点来构成冗余,并分割数据以将其存储在多个对等点中,从而不要求一个存储对等点一次提供全部数据。在步骤208,只要公钥验证了私钥,就为用户提供加密的配置文件信息。在一个实施例中,存储对等点不具有针对加密数据的密钥;因此该存储对等点不能访问数据,而只能将数据提供给经授权的用户。在步骤210,在中继对等点接收来自用户的部分通信,其中该中继对等点为潜在对等点中的一个。在一个实施例中,通过联系从对等点提供者节点接收的一个潜在对等点、随后接收不是从该对等点提供者节点接收到的其他潜在对等点的列表来获得一个潜在对等点。在一个实施例中,在会话之间,潜在中继对等点的列表被存储在设备105上,并被用来避免每次会话都不得不联系对等点提供者节点110以获得一个新的列表。在一个实施例中,使用多个中继对等点来中继通信或部分通信。 在步骤212,从中继对等点将部分通信发送给至少一个其他用户。用这种方式,实施了一对一通信。在一个实施例中,多个用户设备接收来自一个或多个中继对等点的通信。在一个实施例中,连接维护步骤214包括当用户在通信过程中检测到第一中继对等点不再可用时,将部分通信发送给另一个中继对等点。例如,一个正在作为中继对等点使用的对等点离开了对等计算机环境,并且可能不能再作为中继对等点。此外,一个中继对等点可能在对等计算机环境中具有其他任务,其中该其他任务具有比转发通信更高的优先级。在一个实施例中,连接维护步骤214包括在第二中继对等点接收来自用户的部分通信。第二中继对等点本质上拾起第一中继对等点中断的部分。无论在通信前或通信期间,第二中继对等点都被识别为潜在中继对等点。在一个实施例中,连接维护步骤214包括从第二中继对等点将部分通信发送给至少一个其他用户。这样,实施了多方通信。在一个实施例中,连接维护步骤214包括在通信过程中从中继对等点将关于通信的反馈发送给用户。这种反馈可用于调整用于通信的中继对等点的数量,或者可用于调整通信进行中的通信参数。计算机系统环境的示例现参照图3,用于提供通信的本技术的各部分由计算机可读和计算机可执行指令组成,这些指令驻留在例如计算机系统的计算机可用介质中。即,图3示出了一个可用于实现本技术各实施例的一种类型的计算机示例。图3示出了根据本技术实施例的计算机系统300的一个示例。应该理解,图3的系统300仅仅是一个示例,本技术可实施于许多不同的计算机系统上或其中,这些计算机系统包括通用网络计算机系统、嵌入式计算机系统、路由器、交换机、服务器设备、用户设备、各种中间设备/制品、独立计算机系统、移动电话、个人数据助理、电视等等。如图3中所示,图3的计算机系统300可较佳地适于具有与其耦接的外围计算机可读介质302,例如软盘、光盘等。图3的计算机系统300包括用于传输信息的地址/数据总线304、和耦合到总线304用于处理信息和指令的处理器306A。如图3所示,系统300还较佳地适用于其中存在多个处理器306A、306B、306C的多处理器环境。相反地,系统300还较佳地适于具有单个处理器(例如处理器306A)。处理器306A、306B、306C可以是任意类型的微处理器。系统300还包括耦合到总线304、用于为处理器306A、306B、306C存储信息和指令的数据存储部件,如计算机可用的易失性存储器308,例如随机存取存储器(RAM)。系统300还包括耦合到总线304、用于为处理器306A、306B、306C存储静态信息和指令的计算机可用的非易失性存储器310,例如只读存储器(ROM)。系统300还包括耦合到总线304、用于存储信息和指令的数据存储单元312(例如,磁盘或光盘,以及盘驱动器)。系统300还包括耦合到总线304的可选字母数字输入设备314 (包括字母数字和功能键),用于为处理器306A或处理器306A、306B、306C传递信息和命令选择。系统300还包括耦合到总线304的可选光标控制设备316,用于为处理器306A或处理器306A、306B、306C传递用户输入信息和命令选择。本实施例的系统300还包括耦合到总线304的可选显示设备318,用于显不信息。
继续参照图3,图3的可选显示设备318可以是液晶设备、阴极射线管、等离子显示设备或其他适合生成用户可识别的图形图像和字母数字字符的显示设备。可选光标控制设备316允许计算机用户在显示设备318的显示屏幕上动态地发送可见符号(光标)的移动的信号。光标控制设备316的很多实施例是本领域内已知的,包括轨迹球、鼠标、触摸板、操纵杆或字母数字输入设备314上的能够发送指定方向的移动或位移方式的信号的特殊键。可选地,应该理解,通过来自字母数字输入设备314的使用特殊键和键序列命令的输入,可定向和/或激活光标。系统300还非常适合于具有通过其它方式(例如,语音命令)控制的光标。系统300还包括I/O设备320,用于将系统300与外部实体耦接。例如,在一个实施例中,I/O设备320为调制解调器,用于使得能够在系统300与外部网络(例如,但不限于,因特网)之间进行有线或无线通信。本技术的更多详细的讨论将在下面展现。继续参照图3,示出了系统300的各种其他组件。具体地,当存在时,所示出的操作系统322、应用程序324、模块326、数据328,典型地驻留在计算机可用的易失性存储器308(例如随机存取存储器(RAM))以及数据存储单元312之一中或者它们的某种组合中。但是,需要理解的是,在一些实施例中,操作系统322可被存储在其它位置,如网络上、闪存驱动器上;进一步,可从通过例如连至互联网的远程位置访问操作系统322。在一个实施例中,本技术例如做为应用程序324或模块326被存储在RAM 308中的存储单元中以及数据存储单元312内的存储区域中。本技术可应用于所述系统300的一个或多个元件。例如,修改设备115A的用户接口 225A的方法可应用于操作系统322、应用程序324、模块326、和/或数据328。系统300还包括与总线304耦接的一个或多个信号发生和接收设备330,用于使系统300与其他电子设备和计算机系统连接。本实施例的信号发生和接收设备330可包括有线串行适配器、调制解调器、网络适配器、无线调制解调器、无线网络适配器、及其它这样的通信技术。信号发生和接收设备330可与一个或多个通信接口 332协同工作,用于将信息耦接到系统300或从系统300耦接信息。通信接口 332可包括串行端口、并行端口、通用串行总线(USB)、以太网端口、天线、或其他输入/输出接口。通信接口 332可以物理地、电气地、光学地、或无线地(例如,通过射频)将系统300与另一个设备(例如,蜂窝式电话、收音机、或计算机系统)耦接。计算系统300只是一个适当的计算环境的例子,而不是意在对本技术的功能或应用的范围教导任何限制。计算系统300不应被解释为对该计算系统300示例中所示的任何一个部件或多个部件的组合有任何依赖或需求。本技术可在由计算机执行的如程序模块的计算机可执行指令的通用语境中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、组件、数据结构等。本技术还可以在分布式计算环境中实施,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可同时位于本地及远程计算机存储介质(包括存储器设备)中。本技术的各实施例可在通过计算机执行的如程序模块的计算机可执行指令的通 用语境中描述。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例行程序、程序、对象、组件、数据结构等。本技术的各实施例还可以在分布式计算环境中实施,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可同时位于本地及远程计算机存储介质(包括存储器设备)中。尽管以结构特征和/或方法步骤的特定语言描述了本发明的主题,但是,应该理解,所附的权利要求所限定的本发明主题不必限于上述特定的特征或步骤。相反,上面所描述的具体的特征和步骤是作为执行权利要求的方式的示例而披露的。优选地包括本文所描述的所有元件、部件、和步骤。需要理解的是,所有这些元件、部件、步骤中的任意一个都可以由其他元件、部件、步骤来代替,或者全部删除,这对于领域内的技术人员是显而易见的。大体上,本文阐述了一种对等计算机环境中的通信方法。在对等点提供者节点计算机系统处接收来自用户的请求,其中该请求被以私钥进行了签名。只要公钥验证了私钥,就从对等点提供者节点计算机系统为用户提供潜在对等点,从而使得用户能够根据用户需求使用对等计算机环境进行通信。构思本文至少披露了下面的构思构思I. 一种用于对等计算机环境中的通信的计算机实现方法,所述方法包括在对等点提供者节点计算机系统接收来自用户的请求,其中所述请求被以私钥进行了签名,并且只要公共密钥验证了所述私人密钥,就从所述对等点提供者节点计算机系统为所述用户提供潜在对等点,从而所述用户能够根据用户要求使用所述对等计算机环境进行通f目。构思2.如构思I中所述的计算机实现方法,还包括在存储对等点接收来自所述用户的请求,其中所述存储对等点为所述潜在对等点中的一个,并且其中所述请求被以私钥进行了签名;以及只要公钥验证了所述私钥,就为所述用户提供加密配置文件信息。构思3.如构思I中所述的计算机实现方法,还包括在中继对等点接收来自所述用户的所述通信的一部分,其中所述中继对等点为所述潜在对等点中的一个;并且
从所述中继对等点将所述通信的所述一部分发送给至少一个其他用户。构思4.如构思3中所述的计算机实现方法,还包括在所述通信过程中,终止所述的在所述中继对等点接收来自所述用户的所述通信的所述一部分;在第二中继对等点接收来自所述用户的所述通信的所述一部分;以及从所述第二中继对等点将所述通信的所述一部分发送给至少一个其他用户。构思5.如构思3中所述的计算机实现方法,其中所述中继对等点复制所述通信的所述一部分,并将所复制的所述一部分发送给多个其他用户。构思6.如构思3中所述的计算机实现方法,还包括 在所述通信过程中,从所述中继对等点向所述用户发送关于所述通信的反馈;以及其中所述的接收所述通信的所述一部分是在所述通信的参数经过了调整的情况下接收的。构思7.如构思6中所述的计算机实现方法,其中所述通信的所述一部分是在所述一部分的编码率经过了调整的情况下接收的。构思8.如构思6中所述的计算机实现方法,其中所述通信的所述一部分是在所述一部分的分辨率经过了调整的情况下接收的。构思9.如构思6中所述的计算机实现方法,其中所述通信的所述一部分是在针对所述一部分利用不同的编解码的情况下接收的。构思10.如构思6中所述的计算机实现方法,其中所述通信的所述一部分在针对所述一部分利用不同的差错保护方案的情况下接收的。构思11.如构思I中所述的计算机实现方法,还包括在多个中继对等点接收来自所述用户的所述通信的多个部分,其中所述多个中继对等点为所述潜在对等点,并且其中所述多个中继对等点中的每一个各自接收所述通信的多个部分中的一个不同部分;并且从所述多个中继对等点将所述通信的所述多个部分发送给至少一个其他用户。构思12.如构思I中所述的计算机实现方法,其中所述通信为音频通信。构思13.如构思I中所述的计算机实现方法,其中所述通信为视频通信。构思14.如构思I中所述的计算机实现方法,其中所述通信为多方通信。构思15.如构思I中所述的计算机实现方法,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信所采取的路径的预计地理长度。构思16.如构思I中所述的计算机实现方法,其中所述用户需求为降低通过所述对等计算机环境发送的所述通信所用的跳数。构思17.如构思I中所述的计算机实现方法,其中所述用户需求为降低通过所述对等计算机环境发送的所述通信的往返时间。构思18. —种计算机可用的存储介质,其中嵌入有使计算机系统执行以下对等计算机环境中的通信步骤的指令在对等点提供者节点计算机系统接收来自用户的请求,其中所述请求被以私钥进行了签名,以及
只要公钥验证了所述私钥,就从所述对等点提供者节点计算机系统为所述用户提供潜在对等点,从而所述用户能够根据用户要求使用所述对等计算机环境进行通信。构思19.如构思18所述的计算机可用存储介质,还包括在存储对等点接收来自所述用户的请求,其中所述存储对等点为所述潜在对等点中的一个,并且其中所述请求被以私钥进行了签名;以及只要公钥验证了所述私钥,就为所述用户提供加密配置文件信息。构思20.如构思18所述的计算机可用存储介质,还包括在中继对等点接收来自所述用户的所述通信的一部分,其中所述中继对等点为所述潜在对等点中的一个;以及从所述中继对等点将所述通信的所述一部分发送给至少一个其他用户。 构思21.如构思18所述的计算机可用存储介质,还包括在所述通信过程中,终止所述的在所述中继对等点接收来自所述用户的所述通信的所述一部分,其中所述中继对等点对所述接收已不再可用;在第二中继对等点接收来自所述用户的所述通信的所述一部分;以及从所述第二中继对等点将所述通信的所述一部分发送给至少一个其他用户。构思22.如构思20所述的计算机可用存储介质,其中所述中继对等点复制所述通信的所述一部分,并将所复制的所述一部分发送给多个其他用户。构思23.如构思20所述的计算机可用存储介质,还包括在所述通信过程中,从所述中继对等点向所述用户发送关于所述通信的反馈;以及其中所述的接收所述通信的所述一部分是在所述通信的参数经过了调整的情况下接收的。构思24.如构思23所述的计算机可用存储介质,其中所述通信的所述一部分是在所述一部分的编码率经过了调整的情况下接收的。构思25.如构思23所述的计算机可用存储介质,其中所述通信的所述一部分是在所述一部分的分辨率经过了调整的情况下接收的。构思26.如构思23所述的计算机可用存储介质,其中所述通信的所述一部分是在针对所述一部分利用不同的编解码的情况下接收的。构思27.如构思23所述的计算机可用存储介质,其中所述通信的所述部分是以不同的差错保护方案接收的。构思28.如构思18所述的计算机可用存储介质,还包括在多个中继对等点接收来自所述用户的所述通信的多个部分,其中所述多个中继对等点为所述潜在对等点,并且其中所述多个中继对等点中的每一个各自接收所述通信的所述多个部分中的一个不同部分;并且从所述多个中继对等点将所述通信的所述多个部分发送给至少一个其他用户。构思29.如构思18所述的计算机可用存储介质,其中所述通信为音频通信。构思30.如构思18所述的计算机可用存储介质,其中所述通信为视频通信。构思31.如构思18所述的计算机可用存储介质,其中所述通信为多方通信。构思32.如构思18所述的计算机可用存储介质,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信所采取的路径的预计地理长度。构思33.如构思18所述的计算机可用存储介质,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信所用的跳数。构思34.如构思18所述的计算机可用存储介质,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信的往返时间。构思35. —种用于对等计算机环境中的通信的系统,包括对等点提供者节点,其构造为接收来自用户的请求,其中所述请求被以私钥进行了签名,并且如果公钥验证了所述私钥,所述对等点提供者节点就还构造用于为所述用户提供潜在对等点,以使得所述用户能够根据用户要求使用所述对等计算机环境进行通信;并且至少一个中继对等点,其构造为接收来自所述用户的所述通信的一部分,并且还 构造为将所述通信的所述一部分发送给第二用户,其中所述至少一个中继对等点为所述潜在对等点中的一个。构思36.如构思35所述的系统,还包括多个中继对等点,其各自被构造用于接收所述通信的一个不同部分,并且还被构造用于将所述通信的所述多个部分发送给所述第二用户。构思37.如构思35所述的系统,其中所述至少一个中继对等点还用于复制所述通信的所述一部分,并以多方通信方式将所复制的所述一部分发送给多个其他用户。
权利要求
1.一种用于对等计算机环境中的通信的计算机实现方法,所述方法包括 在对等点提供者节点计算机系统接收来自用户的请求,其中所述请求被以私钥进行了签名;以及 只要公钥验证了所述私钥,就从所述对等点提供者节点计算机系统为所述用户提供潜在对等点,从而所述用户能够根据用户要求使用所述对等计算机环境进行通信。
2.如权利要求I所述的计算机实现方法,还包括 在存储对等点接收来自所述用户的请求,其中所述存储对等点为所述潜在对等点中的一个,并且其中所述请求被以私钥进行了签名;以及 只要公钥验证了所述私人密钥,就为所述用户提供加密配置文件信息。
3.如权利要求I所述的计算机实现方法,还包括 在中继对等点接收来自所述用户的所述通信的一部分,其中所述中继对等点为所述潜在对等点中的一个;并且 将所述通信的所述一部分从所述中继对等点发送给至少一个其他用户。
4.如权利要求3所述的计算机实现方法,还包括 在所述通信过程中,终止所述的在所述中继对等点接收来自所述用户的所述通信的所述一部分; 在第二中继对等点接收来自所述用户的所述通信的所述一部分;以及 从所述第二中继对等点将所述通信的所述一部分发送给至少一个其他用户。
5.如权利要求3所述的计算机实现方法,其中所述中继对等点复制所述通信的所述一部分,并将所复制的所述一部分发送给多个其他用户。
6.如权利要求3所述的计算机实现方法,还包括 在所述通信过程中,从所述中继对等点向所述用户发送关于所述通信的反馈;以及 其中所述的接收所述通信的所述一部分是在所述通信的参数经过了调整的情况下接收的。
7.如权利要求6所述的计算机实现方法,其中所述通信的所述一部分是在所述一部分的编码率经过了调整的情况下接收的。
8.如权利要求6所述的计算机实现方法,其中所述通信的所述一部分是在所述一部分的分辨率经过了调整的情况下接收的。
9.如权利要求6所述的计算机实现方法,其中所述通信的所述一部分是在针对所述一部分使用不同的编解码的情况下接收的。
10.如权利要求6所述的计算机实现方法,其中所述通信的所述一部分是在针对所述一部分使用不同的差错保护方案的情况下接收的。
11.如权利要求I所述的计算机实现方法,还包括 在多个中继对等点接收来自所述用户的所述通信的多个部分,其中所述多个中继对等点为所述潜在对等点,并且其中所述多个中继对等点中的每一个各自接收所述通信的所述多个部分中的一个不同部分;以及 从所述多个中继对等点将所述通信的所述多个部分发送给至少一个其他用户。
12.如权利要求I所述的计算机实现方法,其中所述通信为音频通信。
13.如权利要求I所述的计算机实现方法,其中所述通信为视频通信。
14.如权利要求I所述的计算机实现方法,其中所述通信为多方通信。
15.如权利要求I所述的计算机实现方法,其中所述用户需求为降低通过所述对等计算机环境发送的所述通信所采取的路径的预计地理长度。
16.如权利要求I所述的计算机实现方法,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信所用的跳数。
17.如权利要求I所述的计算机实现方法,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信的往返时间。
18.一种计算机可用的存储介质,其中嵌入有使计算机系统执行以下对等计算机环境中的通信步骤的指令 在对等点提供者节点计算机系统接收来自用户的请求,其中所述请求被以私钥进行了签名,以及 只要公钥验证了所述私钥,就从所述对等点提供者节点计算机系统为所述用户提供潜在对等点,从而所述用户能够根据用户要求使用所述对等计算机环境进行通信。
19.如权利要求18所述的计算机可用存储介质,还包括 在存储对等点接收来自所述用户的请求,其中所述存储对等点为所述潜在对等点中的一个,并且其中所述请求被以私钥进行了加密;以及 只要公钥验证了所述私钥,就为所述用户提供加密配置文件信息。
20.如权利要求18所述的计算机可用存储介质,还包括 在中继对等点接收来自所述用户的所述通信的一部分,其中所述中继对等点为所述潜在对等点中的一个;以及 从所述中继对等点将所述通信的所述一部分发送给至少一个其他用户。
21.如权利要求18所述的计算机可用存储介质,还包括 在所述通信过程中,终止所述的在所述中继对等点接收来自所述用户的所述通信的所述一部分,其中所述中继对等点对所述接收已不再可用; 在第二中继对等点接收来自所述用户的所述通信的所述一部分;并且 从所述第二中继对等点将所述通信的所述一部分发送给至少一个其他用户。
22.如权利要求20所述的计算机可用存储介质,其中所述中继对等点复制所述通信的所述一部分,并将所复制的所述一部分发送给多个其他用户。
23.如权利要求20所述的计算机可用存储介质,还包括 在所述通信过程中,从所述中继对等点向所述用户发送关于所述通信的反馈;以及 其中所述的接收所述通信的所述一部分是在所述通信的参数经过了调整的情况下接收的。
24.如权利要求23所述的计算机可用存储介质,其中所述通信的所述一部分是在所述一部分的编码率经过了调整的情况下接收的。
25.如权利要求23所述的计算机可用存储介质,其中所述通信的所述一部分是在所述一部分的分辨率经过了调整的情况下接收的。
26.如权利要求23所述的计算机可用存储介质,其中所述通信的所述一部分是在针对所述一部分利用不同的编解码的情况下接收的。
27.如权利要求23所述的计算机可用存储介质,其中所述通信的所述部分是在针对所述部分利用不同的差错保护方案的情况下接收的。
28.如权利要求18所述的计算机可用存储介质,还包括 在多个中继对等点接收来自所述用户的所述通信的多个部分,其中所述多个中继对等点为所述潜在对等点,并且其中所述多个中继对等点中的每一个各自接收所述通信的所述多个部分中的一个不同部分;以及 从所述多个中继对等点将所述通信的所述多个部分发送给至少一个其他用户。
29.如权利要求18所述的计算机可用存储介质,其中所述通信为音频通信。
30.如权利要求18所述的计算机可用存储介质,其中所述通信为视频通信。
31.如权利要求18所述的计算机可用存储介质,其中所述通信为多方通信。
32.如权利要求18所述的计算机可用存储介质,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信所采取的路径的预计地理长度。
33.如权利要求18所述的计算机可用存储介质,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信所用的跳数。
34.如权利要求18所述的计算机可用存储介质,其中所述用户要求为降低通过所述对等计算机环境发送的所述通信的往返时间。
35.一种用于对等计算机环境中的通信的系统,包括 对等点提供者节点,其构造为接收来自用户的请求,其中所述请求被以私钥进行了签名,并且只要公钥验证了所述私钥,所述对等点提供者节点就还构造用于为所述用户提供潜在对等点,以使得所述用户能够根据用户要求使用所述对等计算机环境进行通信;以及 至少一个中继对等点,其构造为接收来自所述用户的所述通信的一部分,并且还构造为将所述通信的所述一部分发送给第二用户,其中所述至少一个中继对等点为所述潜在对等点中的一个。
36.如权利要求35所述的系统,还包括 多个中继对等点,其各自被构造用于接收所述通信的一个不同的部分,并且还构造用于将所述通信的所述多个部分发送给所述第二用户。
37.如权利要求35所述的系统,其中所述至少一个中继对等点还被构造用于复制所述通信的所述一部分,并以多方通信方式将所复制的所述一部分发送给多个其他用户。
全文摘要
对等计算机环境中的通信。在对等点提供者节点计算机系统接收来自用户的请求,其中该请求被以私钥进行了签名。只要公钥验证了私钥,就从对等点提供者节点计算机系统为用户提供潜在对等点,从而用户能够根据用户要求使用对等计算机环境进行通信。
文档编号H04L9/32GK102792631SQ201080064741
公开日2012年11月21日 申请日期2010年12月22日 优先权日2010年1月11日
发明者埃里克·塞顿, 巴里·安德鲁斯, 格雷戈里·多尔索 申请人:坦戈迈公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1