用于提供连接到因特网的客户端之间的连接性的方法和系统的制作方法

文档序号:7942655阅读:169来源:国知局
专利名称:用于提供连接到因特网的客户端之间的连接性的方法和系统的制作方法
技术领域
本发明涉及通过使用控制服务器来识别并连接连接到同一网络(诸如因特网)的 客户端的方法和系统。
背景技术
因特网上的通信的主要部分是基于在诸如个人计算机这样的客户端上运行的网 页浏览器。网页浏览器对因特网上的服务器所提供的信息(诸如包含图片和Java小应用 程序的HTML页)进行简单地解释,并在诸如计算机屏幕这样的图形用户界面中显示这些内 容。因特网用户非常熟悉网页浏览器的使用,因此作为应用程序的网页浏览器是非常重要 的工具,以提供对因特网上可用内容的访问。由于网页浏览器的普及性,所以它们的功能已 经扩展到包括诸如FTP文件传输和阅读RSS馈送这样的特征,以使这种广泛分布的应用程 序更适用于访问因特网上可用的内容和信息。然而,为了用网页浏览器访问内容和信息,必须使得期望的内容或信息能够在适 用于提供网络服务的中央网络服务器上获得。存在向网络服务器上载内容以使该内容对所 有的因特网用户而言都可用的若干服务,甚至存在提供私人共享内容和信息的基于网络的 服务。通过上载内容(诸如数字图像和视频片段)到网络服务器来与其它可信的因特网用 户共享这些内容对大部分的用户而言是冗长的任务,对某些用户而言甚至是困难的任务。 另一个更困难的解决方案是建立诸如网络服务器或FTP服务器这样的用于共享内容的私 人服务器。将连接到因特网的客户端直接连接(这可被认为是可替换的方式)的困难在于仅 有少数的连接到因特网的客户端具有固定的IP地址并且大部分的客户端由于因特网对无 保护系统的敌对特性而躲在防火墙之后。因此,实际上,就内容和信息共享而言,连接到因 特网的私人客户端不是因特网的一部分。这种客户端仅是被动客户端(passive client), 它们不能直接与其它用户共享内容并且也不能以对平常的普通用户而言简单的方式被因 特网的其它用户看见和访问。因此,存在着巨大的潜力来将因特网扩展到包括这些通常不 可见和被动的客户端。为了在连接到因特网基础设施的客户端之间提供更好和更透明的连接性,已经进 行了若干尝试,以便共享诸如数码相片和视频这样的内容。US 2006/0224759公开了一种通过使用网页插件来提供点对点流的方法和系统, 它将网页浏览器的功能扩展到显示在点对点网络中流动的内容。然而,被流动的内容源并 不是源自单独的同位体,而是被存储在具有中央存储器和/或视频和音频捕获设备的流服 务器中或者提供自所述流服务器。控制服务器维护对等列表,在每次同位体连接到网络时 该对等列表得到更新。当同位体正在流动来自流服务器的内容时,它们可被配置为高速缓 存或临时存储所流动的内容,然后所流动的内容可被分配给其它的同位体以便降低流服务 器的负担。
4
在US 2005/0229243中,公开了一种用于提供运行网页浏览器的同位体的方法和 系统,该网页浏览器http接入到位于防火墙背后的对等服务器。该公开包括在点对点网络 中提供中央代理服务器,服务器同位体向中央代理服务器注册出站套接字(socket)连接。 中央代理服务器处理来自同位体的网页浏览器的输入http请求,并将这些请求转换成请 求数据包,通过使用所注册的出站套接字连接,所述请求数据包被发送给对等服务器。来自 对等服务器的响应被转换成HTTP请求,以便提供通用网络业务流。

发明内容
基于上面概述的背景技术,本发明的总体目的是提供一种用于识别和连接连接到 同一网络的客户端的方法和系统。为了实现该目的,下面的描述将变得明显,根据本发明的第一方面,提供一种方 法,用于执行下面的步骤将运行网页浏览器应用程序的第一客户端连接到控制服务器并注册与所述第一 客户端相关联的客户端专用连接信息,从所述网页浏览器应用程序接收由所述控制服务器所定义并与第二客户端相关 联的唯一 URI的请求,请求所述控制服务器居间促成(mediate)到与所述唯一的URI相关联的第二客户 端的连接,接收与所述第二客户端相关联的连接信息,通过使用与所述第二客户端相关联的连接信息来建立到所述第二客户端的直接 连接,其中连接建立由所述控制服务器居间促成,在所述直接连接上接收来自所述第二客户端的数据,并将所述数据转发给所述网 页浏览器应用程序以用于在图形用户界面中显示所接收到的数据。通过利用已存在的基础设施及其用途,本发明提供了连接到因特网的客户端之间 的直接通信。因此,通过使用已存在的网页浏览器可获得更多的内容,并且具有连接到因特 网的计算机的用户能够容易地使其它计算机访问存储在本地计算机上的内容。此外,本发明避免了客户端为了彼此共享内容而对具有用户所知的IP地址的需 求,因为客户端使用控制服务器所分配的、用于彼此识别和连接的唯一的URI。这在移动设 置方面是有优势的,因为客户端可从一个网络移动到另一个网络,而且这在典型的因特网 服务提供商(ISP)通过使用DHCP来动态地改变用户的IP地址的私人消费者设置方面也是 有优势的。在优选的实用实施方式中,所述应用程序是网页浏览器应用程序。在优选的实施方式中,根据本发明的步骤由安装在网页浏览器应用程序中的插件 来完成,这是非常简单的方式来将本发明所提供的新功能添加到已经安装到客户端上的网 页浏览器应用程序中。这还使得有可能使用诸如用于微软Internet Explorer的异步可插 协议这样的已有技术,这些已有技术在浏览器中注册以处理新协议命名空间中的所有URI 来建立客户端之间的直接通信。在另一优选的实用实施方式中,将所述方法嵌入到包含适用于与所述应用程序交 互的API的操作系统或库中。
在本发明的另一实用实施方式(该实施方式已经被说明是非常实用的)中,使用 域名系统的基础设施来解析URI。因此,可用URI来识别控制服务器网络上的位置。在特别优选的实施方式中,在建立直接连接的步骤中的所述第一和第二客户端使 用由控制服务器居间促成的TCP或UDP穿孔技术来建立用于通信的直接连接。这已经被证明是建立客户端之间的直接通信的非常可靠且有效的方式,客户端之 间的直接通信还限制了系统服务器上的负担。在特别的实施方式中,向控制服务器注册的每个客户端的连接信息包括IP地址 和端口号。在非常容易实施的一个实施方式中,第二客户端包括来自第一客户端的进入的请 求所指向的网络服务器。在本发明的另一实施方式中,将控制服务器的连接居间促成分布到被指定为客户 端子控制器的一个或多个级别的客户端上。在另一实施方式中,网页浏览器应用程序初始接收包含嵌入式网页应用程序的网 页,并且其中通过嵌入式网页应用程序来执行随后的步骤。这样,在彼此连接的客户端上不修改和不安装附加软件的情况下,有可能实施根 据本发明的方法。该方法仅在网页画面中执行,而且不改变客户端本地处的任何内容。这 对于诸如具有有限存储容量和存储装置的移动电话和个人数字助理这样的便携式客户端 而言或者当某个客户端首次连接到另一客户端上时是非常有用的。在本发明的另一方面,所述方法还包括以下步骤从所述控制服务器接收可访问客户端的信息,包括与连接到所述控制服务器的客 户端相关联的唯一 URI,向运行于所述第一客户端上的网页浏览器应用程序转发所述信息,以在图形用户 界面中显示所述信息。这样,有可能概览哪些熟知的客户端是可用的以及它们可通过使用网页浏览器应 用程序而容易地被访问。对于该方法的实施,提供了根据本发明的又一方面的系统,其中第一客户端连接到控制服务器,并注册与所述第一客户端相关联的客户端专用连 接信息,第二客户端连接到所述控制服务器,并注册与所述第二客户端相关联的客户端专 用连接信息,所述第二客户端被分配了唯一的URI,所述控制服务器被请求居间促成到与由运行于所述第一客户端上的网页浏览器 应用程序所请求的唯一的URI相关联的第二客户端的连接,所述控制服务器向所述第一客户端转发与所述第二客户端相关联的连接信息,以 及向所述第二客户端转发与所述第一客户端相关联的连接信息,所述控制服务器居间促成第一客户端之间的直接连接的建立,所述第一客户端接收来自所述第二客户端的数据,该数据被转发给网页浏览器应 用程序并在图形用户界面中被显示。在实用的实施方式中,所述应用程序是网页浏览器应用程序。
在优选的实施方式中,至少第一客户端的网页浏览器应用程序包括插件,该插件 与控制服务器和第二客户端进行通信。在另一实用实施方式(其便于根据本发明的系统的使用以及方法的实施)中,至 少一个客户端的操作系统或库包括适用于与所述应用程序交互的API。在另一实用且非常有用的实施方式中,URI可通过使用域名系统的基础设施来进 行解析。在本发明的实用实施方式中,第一客户端和第二客户端之间的直接连接通过使用 由控制服务器所居间促成的TCP或UDP穿孔技术来建立。在本发明的另一实施方式中,向控制服务器注册的连接信息包括IP地址和端口号。在本发明的另一实用实施方式中,第二客户端包括来自第一客户端的进入的请求 所指向的网络服务器。在本发明的实用实施方式中,第一客户端通过包含在网页中的嵌入式网页应用程 序连接到所述系统,该网页由所述系统的中间方网络服务提供给第一客户端。在本发明的另一实施方式中,将控制服务器的连接居间促成分布到被指定为客户 端子控制器的一个或多个级别的客户端上。在本发明的另一实施方式中,至少第一客户端接收来自控制服务器的可访问客户 端的信息,包括与连接到控制服务器的客户端相关联的唯一的URI,向运行于所述第一客户端上的网页浏览器应用程序转发所述信息,以在图形用户 界面中显示所述信息。


下面将通过示意性附图所示的优选实施方式来进一步解释本发明,其中图1示出了两个连接到因特网的客户端;图2示出了根据本发明的系统;图3示出了图2的细节;图4示出了本发明的特别的实施方式。
具体实施例方式图1示出了连接到诸如因特网这样的网络2的两个客户端la、lb。客户端la、 Ib通常通过因特网服务提供商(ISP)连接到因特网或者连接到公司或研究机构的局域网 (LAN)。在大部分的情况中,这些客户端位于图2所示的防火墙3a、3d的背后,防火墙3a、3d 通过检查通过它的网络业务来保护客户端la、Id并基于一组规则来拒绝或允许通过。防火 墙3a、3d通常被设置在路由器(未示出)的背后,路由器将小的专用网络或者例如LAN连 接到因特网。该设置使得普通用户难于访问连接到因特网的其它客户端la-ld,因此在某种 意义上,因特网被限制在位于网络2中的客户端或服务器中。位于网络2中的服务器(未 示出)和客户端为例如网络服务器,网络服务器为因特网的用户提供诸如HTML页或其它数 据结构这样的网络内容。网络服务器可被理解为运行于服务器或客户端上以便因特网用户 可通过网页(诸如具有诸如图片和视频这样的链接对象的HTML文档)的形式来获得内容或服务的应用程序。连接到因特网上的大部分的客户端Ia-Id都配有网页浏览器应用程序4a_4d,以 用于访问和观看由例如网络服务器在因特网上所提供的内容。这不仅对个人计算机是如 此,而且对诸如个人数字助理和移动电话这样的具有有限处理能力的移动终端也是如此。图2示出了根据本发明的系统5,其为连接到因特网的客户端Ia-Id提供了连接 基础设施。客户端Ia-Id使用不同的设置来连接到因特网。客户端Ia位于防火墙3a的背 后,并且在每次客户端Ia连接到因特网2时由例如ISP提供不同的公共IP地址。因此,连 接到客户端Ia所需的信息经常改变并且客户端Ia位于防火墙3a的背后,防火墙3a控制 对客户端Ia的访问。客户端Ib配有静态IP地址并且不位于防火墙的背后,这使得其它用 户端的用户能够相对容易地访问客户端lb。然而,对于因特网的平均用户而言,如何通过直 接使用另一客户端的IP地址来连接到该客户端是不明显的。客户端Ic也在没有防火墙保 护的情况下连接到因特网,但是与客户端Ib不同的是,客户端Ic配有动态IP地址,其与上 面对客户端Ia所描述的情况一样经常改变。客户端Id是用于将客户端Id连接到因特网 的又一可能的设置。客户端Id位于防火墙的背后但配有静态IP地址。客户端Ia-Id示出了用于将客户端连接到因特网的各种设置,还示出了每个客户 端必须以不同的方式被访问以便建立两个客户端之间的直接连接的事实。本发明通过提供 图2的系统5来处理这个问题,不管客户端Ia-Id使用哪些设置来连接到因特网2,其都促 成了某个客户端(诸如客户端la)的用户访问另一客户端la-Id。而且,本发明还在不需要 用户知道诸如IP地址和端口号这样的不同的客户端专用连接以建立两个客户端Ia-Id之 间的直接连接的情况下,提供了客户端之间的连接。在图2所示的根据本发明的系统中,具有与其它客户端共享的内容的每个客户端 Ia-Id都被系统5分配了唯一的URI。在优选实施方式中,这在当具有要共享的内容的客户 端向该系统中提供的控制服务器6注册时被执行。然后,具有要共享的内容的客户端Ia-Id 与客户端控制器7a-7c相关联,客户端控制器7a-7c将分配给客户端的URI进行注册并处 理与客户端Ia-Id相关联的诸如端口号和IP地址这样的连接信息。此外,如下面将要详细 描述的,客户端控制器7a-7c还居间促成了客户端之间的连接的建立。控制服务器6是系 统5的入口,其知道每个客户端Ia-Id与哪个客户端控制器7a_7c相关联。理论上,控制服 务器6还可处理客户端控制器7a_c的任务。然而,在本发明的实用优选实施方式中,系统 5配有多个客户端控制器7a_c,其能够高效地平衡系统上的负担。图2的系统还包括中间 方网络服务8,它的作用将在下面进行详细描述。如果例如客户端Id希望访问客户端Ia所提供的内容,则在运行于客户端Id上的 网页浏览器应用程序4中做出对被分配给客户端Ia的唯一 URI的请求。通常通过来自客 户端Ia的用户的电子邮件或者通过激活位于因特网上的网络服务器上的网页的链接(其 中,该链接包括分配给客户端Ia的URI),客户端Id的用户被提供了分配给客户端Ia的唯 一的URI。所请求的URI被转发给控制服务器6,控制服务器6检查与所请求的URI相关联 的该特定客户端Ia是否连接到了该系统上,即是否向客户端控制器7a_7c注册。如果与所 请求的URI相关联的客户端Ia连接到了该系统和客户端控制器7a-7c,则客户端Id被指 向处理客户端Ia的客户端控制器7a_7c。客户端控制器7a_7c向客户端Ia传送对与客户 端Id相关联的URI和连接信息的请求,并相应地向客户端Id发送与客户端Ia相关联的连接信息。然后,通过使用TCP或UCP穿孔技术建立客户端Id和客户端Ia之间的直接连接, 这由处理客户端Ia的客户端控制器7a-7c居间促成。TCP或UDP穿孔技术是本领域技术 人员公知的技术,且解决了客户端la、ld位于专用局部网络上的防火墙的背后的问题。由 于每个客户端Ia-Id还在启动时向客户端控制器7a-7c或控制服务器6注册,所以改变IP 地址并不会出现问题,因为客户端由系统5所分配的唯一的URI来识别,以用于识别向其它 客户端Ia-Id提供内容的客户端la-Id。客户端la_ld之间的直接连接和数据转移还具有 该系统由于中央代理服务而不具有有限容量的优势,中央代理服务由客户端Ia-Id处理, 因此在系统具有许多用户的情况下不会成为问题。当已经建立了直接连接时,客户端Id和 Ia可交换信息,所述信息被解析到客户端Id的网页浏览器应用程序并在图形用户界面中 被显示。该系统的客户端Ia-Id可通过使用UDP数据包简单穿过NAT (STUN)技术来获得它 们的公共IP地址,STUN是本领域技术人员公知的网络协议,它允许路由器背后的客户端执 行NAT(网络地址转换)以便使得专用网络上的多个主机能够通过使用单个公共IP地址来 访问因特网。该连接信息例如用于建立都位于路由器和防火墙背后的两个主机之间的UDP 或TCP通信。因此,与客户端Ia-Id相关联的实际的连接是双重的并包括转换的本地IP地 址与端口号和实际的公共IP地址与端口号,其中前者在提供位于同一本地网络上的两个 客户端Ia-Ib之间的连接的情况中是有用的。在优选实施方式中,客户端Ia包括请求被转发至的网络服务器,并且网络服务器 用响应来应答所述请求,该响应被直接发送给客户端Id、转发给网页浏览器应用程序并在 图形用户界面中显示。该响应可例如是包括数字图片的网页,该网页嵌入到在两个客户端 之间建立的连接中。因此,请求与客户端Ia相关联的URL的用户将获得相同的响应,如同 该网页位于因特网2上的传统网络服务器上一样。这将因特网的范围扩展到包括客户端 la-ld,客户端Ia-Id包括向其它客户端提供内容的网络服务器。安装在客户端la_ld上的 网络服务器可以是运行在客户端Ia-Id的操作系统上的简单的应用程序,并可以包括根据 本发明的功能以便建立两个客户端之间的直接连接。在另一实施方式中,网络服务器作为 单独的应用程序被安装,并且到其它客户端的连接被提供有网页浏览器应用程序。系统5中的实际的通信,即客户端Ia-Id和服务器6、7a_7c之间的通信以及客户 端Ia-Id之间的直接通信可基于传统的http/TCP连接或专有协议。因此,系统5中的实际 的数据流并不需要必须是典型的因特网数据流,并且仅可以由系统5来解释。在优选实施方式中,根据本发明的方法通过用于网页浏览器应用程序4a_4d的插 件IOa-IOd的方式来实施。插件IOa-IOd可例如在客户端la_ld首次请求系统5所定义的 URI时被下载并安装。插件IOa-IOd用作网页浏览器应用程序4a-4d和系统5与连接到系 统5的其它客户端Ib-Id之间的中介体,并从而向网页浏览器应用程序4a-4d提供用于解 译并在图形用户界面中显示的数据流,就像该数据流源自因特网上的网络服务器一样。显 然,根据本发明的方法还可实现为单独的应用程序或者实现为客户端Ia-Id的操作系统的 集成部分,该方法处理与服务器6、7a_7c和客户端la-ld的连接并向网页浏览器应用程序 4a_4d提供用于在图形用户界面中显示的数据。在优选实施方式中,网页浏览器插件通过使 用异步可插协议(APP)来实施,异步可插协议允许将微软的Internet Explorer扩展到包 括使用其它连接策略而不是标准因特网协议来获得数据的定制协议。当在操作系统中实施根据本发明的方法时,客户端配有操作系统或库的应用编程接口(API),该API适用于提供 对由诸如网页浏览器应用程序这样的应用程序所作出的请求的支持。因此,有可能将根据 本发明的方法嵌入到客户端的操作系统或库中,这避免了为了成为系统的一部分并连接到 该系统所需要的任何特殊的用户任务。在图4所示的另一实施方式中,有可能在客户端Id上安装插件IOa-IOd或应用 程序。系统5和连接到因特网的其它客户端然后可通过具有嵌入式网页应用程序12的网 页11的方式被访问。如果客户端(诸如客户端Id)之后尝试访问系统5所定义的URLJIJ 客户端Id的网页浏览器应用程序4d之后被提供有包含框架集13的HTML页11,框架集13 具有两个或多个框架(IFrame或Frame)其中一个框架包括嵌入式网页应用程序12(诸如 Java小应用程序、Active-X或Flash),嵌入式网页应用程序12提供了到系统5和其它客 户端Ia-Ic的连接。因此,到该系统和其它客户端la-d的连接在一个框架13a中被执行, 以及由其它客户端所提供的内容在另一框架13b中被显示。这通常通过中间方网络服务8 来实施,中间方网络服务8向客户端Id提供HTML页11并居间促成了嵌入式网页应用程序 与系统5以及服务器6、7a_7c、客户端Ia-Ic之间的连接。在优选实施方式中,该系统将包括多个服务器以便平衡系统5上的负担。当期望 向其它用户提供内容的客户端Id启动时,它需要知道它的客户端控制器7a_c的IP地址。 通过要求已存在的域名系统(DNS)基础设施来解析系统5所分配和定义的、客户端自己的 唯一 URL的IP地址,客户端Ia-Id可获得这些信息。在某种程度上,对DNS基础设施的这 种请求将到达负责给定子域的DNS服务器(未示出),所述DNS服务器可以是系统5中的服 务器(诸如专用DNS服务器(未示出))。当接收到请求时,DNS服务器就已经知道了哪个 客户端控制器7a_c被指定给特定的客户端Ia-Id或者它将找到自由的客户端控制器7a_c 来处理客户端la-ld,并且该客户端控制器7a_c的IP地址然后被返回给客户端la_ld。对于到达服务器(诸如系统5中的控制服务器6)的URI请求而言,分配给每个客 户端la-d的唯一 URI的结构可例如为<uniqueid>. <subdomain>.〈domain〉, com的形式。分 成子域对于平衡系统5的多个服务器上的负担而言是有用的,每个都为在子域下注册的唯 一的URI提供DNS服务。这还具有向期望使用标准DNS名(诸如my. picturealbum. com) 的因特网的其它用户提供内容的客户端la-Id的用户可简单地将地址指向系统5所提供的 URI的优势。这样,客户端的DNS解析器自动地向DNS基础设施要求my. picturealbum. com 的地址,该地址可以是客户端Ia-Id的唯一 URI标识的别名。所描述系统中会出现的问题是控制服务器6资源匮乏。即使控制服务器上的负担 可平衡到多个服务器(诸如客户端控制器7a_7c)上,但是连接到该网络的服务器6、7a_7c 上的百万或亿万个客户端将意味着大量的空闲连接。即使在最现代的操作系统中,这种空 闲连接和开放连接量也会成为容量问题。因此,在优选实施方式中,将空闲连接卸载到网络 中被选为超级客户端的客户端。一个解决方案仅是卸载到对因特网开放的那些客户端,即 没有防火墙和/或NAT保护的客户端。这将使得连接到系统5的客户端所做的工作分布不 恰当,从公平的角度来看是有问题的。因此,本系统的优选实施方式在客户端之间均等地平衡工作。指定某个客户端为 超级客户端的最简单的方式是随机地进行选择。然而,已经表明,基于对网络拓扑的检查或 之前的认知而做出的决定是可应用的。由于一些同位体位于防火墙和/或NAT的背后或者
10存在着连接或其它障碍,所以该解决方案使用两个级别的STUN。在优选实施方式中,从连接到系统5的客户端la-Id中随机地选择超级客户端。当 指定了超级客户端时,该超级客户端就创建并发起客户端上的STUN启用的子客户端控制 器(子控制器)。连接到客户端主控制器7a-7c的新的普通客户端将被重定向将超级客户 端上的客户端子控制器用作客户端控制器(客户端子控制器),而不是直接使用客户端主 控制器7a_7c。客户端子控制器将经常保持到客户端主控制器7a_7c的开放连接,以及保 持到转发给它的客户端的连接。到主控制器7a-7c的连接用于经由STUN方法转发并发起 中继自客户端主控制器7a_7c且到客户端子控制器的新的客户端连接。到客户端主控制器 7a-7c的连接还用于将要被处理的发送自客户端主控制器7a_7c的连接居间促成数据中继 到客户端子控制器的连接客户端中的一个。当同位体Ia请求到另一同位体Ib的连接时,它首先连接到7a_7c。客户端主控制 器将连接居间促成请求转发给保持用于Ib的控制器连接的超级客户端(未示出)的客户 端子控制器,并且一旦被接受,居间促成接受请求就被发回la,从而Ia和Ib就可开始STUN 连接。另一客户端Ia被重定向来完成到客户端子控制器的连接,客户端子控制器通过与客 户端Ia和Ib双方的直接通信来居间促成客户端Ia和Ib之间的连接。显然,引入多级别 的客户端子控制器还可增强该实施方式。被指定为超级客户端的典型客户端Ia-Id能够毫无问题的管理几百或上千个空 闲连接,因为该客户端仅需要到客户端控制器的一个连接。虽然前面主要参照单个的当前优选实施方式对本发明的方法和系统进行了描述, 但是本发明的范围将包括所附权利要求书所限定的使用其它类型的标准通信网络和其它 传输模式的可替换实施方式。
1权利要求
一种用于识别并连接被连接到包括控制服务器的同一网络的客户端的方法,该方法包括步骤将运行应用程序的第一客户端连接到所述控制服务器并注册与所述第一客户端相关联的客户端专用连接信息;从所述应用程序接收对由所述控制服务器所定义并与第二客户端相关联的唯一URI的请求;请求所述控制服务器居间促成到与所述唯一URI相关联的第二客户端的连接;接收与所述第二客户端相关联的连接信息;通过使用与所述第二客户端相关联的连接信息来建立到所述第二客户端的直接连接,其中连接建立由所述控制服务器居间促成;在所述直接连接上接收来自所述第二客户端的数据,并将所述数据转发给所述应用程序以用于在图形用户界面中显示所接收到的数据。
2.根据权利要求1所述的方法,其中,所述应用程序是网页浏览器应用程序。
3.根据权利要求2所述的方法,其中,所述步骤由安装在所述网页浏览器应用程序中 的插件来执行。
4.根据权利要求1所述的方法,其中,所述方法被嵌入到包括适用于与所述应用程序 交互的API的操作系统中。
5.根据前述权利要求中任一权利要求所述的方法,其中,所述URI能通过使用域名系 统的基础设施来进行解析。
6.根据前述权利要求中任一权利要求所述的方法,其中,在建立直接连接的步骤中的 所述第一客户端和第二客户端使用由所述控制服务器居间促成的TCP或UDP穿孔来建立用 于通信的直接连接。
7.根据前述权利要求中任一权利要求所述的方法,其中,向所述控制服务器注册的每 个客户端的连接信息包括IP地址和端口号。
8.根据前述权利要求中任一权利要求所述的方法,其中,所述第二客户端包括网络服 务器,其中来自所述第一客户端的进入的请求被指向该网络服务器。
9.根据前述权利要求中任一权利要求所述的方法,其中,所述控制服务器的连接居间 促成被分布到被指定为客户端子控制器的一个或多个级别的客户端上。
10.根据权利要求2所述的方法,该方法还包括初始步骤所述网页浏览器应用程序初始接收包含嵌入式网页应用程序的网页,并且其中由所述 嵌入式网页应用程序来执行随后的步骤。
11.根据前述权利要求中任一权利要求所述的方法,该方法还包括步骤从所述控制服务器接收可访问客户端的信息,该信息包括与连接到所述控制服务器的 客户端相关联的唯一 URI ;将所述信息转发到在所述第一客户端上运行的应用程序,以用于在所述图形用户界面 中显示所述信息。
12.一种用于识别并连接被连接到包括控制服务器的同一网络的客户端的系统,其中第一客户端,连接到所述控制服务器,并注册与所述第一客户端相关联的客户端专用第二客户端,连接到所述控制服务器,并注册与所述第二客户端相关联的客户端专用 连接信息;所述第二客户端被分配了唯一 URI ;所述控制服务器被请求居间促成到与由在所述第一客户端上运行的应用程序所请求 的唯一 URI相关联的所述第二客户端的连接;所述控制服务器向所述第一客户端转发与所述第二客户端相关联的连接信息,以及向 所述第二客户端转发与所述第一客户端相关联的连接信息;所述控制服务器居间促成所述第一客户端和所述第二客户端之间的直接连接的建立;所述第一客户端接收来自所述第二客户端的数据,所述数据被转发给所述应用程序并 在图形用户界面中被显示。
13.根据权利要求12所述的系统,其中,所述应用程序是网页浏览器应用程序。
14.根据权利要求13所述的系统,其中,所述网页浏览器应用程序包括插件,所述插件 与所述控制服务器和所述第二客户端进行通信。
15.根据权利要求12所述的系统,其中,操作系统包括适用于与所述应用程序进行交 互的API。
16.根据前述权利要求中任一权利要求所述的系统,其中,所述URI能通过使用域名系 统的基础设施来进行解析。
17.根据前述权利要求中任一权利要求所述的系统,其中,所述第一客户端和所述第二 客户端之间的直接连接通过使用由所述控制服务器居间促成的TCP或UDP穿孔来建立。
18.根据前述权利要求中任一权利要求所述的系统,其中,向所述控制服务器注册的连 接信息包括IP地址和端口号。
19.根据前述权利要求中任一权利要求所述的系统,其中,所述第二客户端包括网络服 务器,其中来自所述第一客户端的进入的请求被指向该网络服务器。
20.根据前述权利要求中任一权利要求所述的系统,其中,所述控制服务器的连接居间 促成被分布到被指定为客户端子控制器的一个或多个级别的客户端上。
21.根据权利要求12所述的系统,其中,所述第一客户端通过包含在网页中的嵌入式 网页应用程序连接到所述系统,所述网页由所述系统的中间方网络服务提供给所述第一客 户端。
22.根据前述权利要求中任一权利要求所述的系统,其中至少所述第一客户端从所述控制服务器接收可访问客户端的信息,该信息包括与连接到所述控制服务器的 客户端相关联的唯一 URI ;将所述信息转发到在所述第一客户端上运行的网页浏览器应用程序,以用于在所述图 形用户界面中显示所述信息。
全文摘要
用于识别并连接被连接到包括控制服务器(6)的同一网络(2)的客户端(1a-1d)的方法和系统(5),执行以下步骤将运行网页浏览器应用程序(4a-4d)的第一客户端(1a-1d)连接到控制服务器(6)并注册与第一客户端相关联的客户端专用连接信息,接收来自网页浏览器应用程序(4a-4d)的对由控制服务器(6)所定义并与第二客户端(1a-1d)相关联的唯一URI的请求,请求控制服务器(6)居间促成到与所述唯一URI相关联的第二客户端(1a-1d)的连接并在直接连接上接收来自第二客户端(1a-1d)的数据并将该数据转发给网页浏览器应用程序(4a-4d)以用于在图形用户界面中显示接收到的数据。
文档编号H04L29/08GK101946493SQ200880126827
公开日2011年1月12日 申请日期2008年2月20日 优先权日2008年2月20日
发明者C·R·格雷格森 申请人:Nabto公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1