用于远程访问服务的双层架构的制作方法

文档序号:6476082阅读:208来源:国知局
专利名称:用于远程访问服务的双层架构的制作方法
技术领域
本发明涉及在计算机网络内创建网络连冲妻。更具体地,本发明 涉及通过互联网在计算机之间创建直接网络连接。
背景技术
网络(例如,互联网)上的第一计算才几可以远程访问该网络上 的第二计算机,这使得很多合作的任务成为可能。例如,用户可以 使用第 一 计算机来远程访问第二计算机,并由此远程地在第二计算 机上执行任务,这是通常称为桌面共享的概念。作为另一示例,用 户可以使用第一计算机来通过网络主持会议或会晤。会晤或会议可 以由网络上远程访问第 一计算机中的 一个或多个其他计算机的用户
实现,此实现通常称为web会议。然而,为了计算机能够通过计算 机网络远程访问另 一个计算才几,必须首先在计算机之间创建网络连接。
现在参考图1,其示出了用于在两个计算机之间创建网络连接的 传统三层架构。传统三层架构包括主机计算机105、客户端计算机 115和提供远程访问网站110的远程访问服务器120。主机计算机105 通过网络连接125连接至远程访问服务器120。客户端计算机115 还通过网络连接130连接至远程访问服务器120。远程访问服务器 120充当主机计算机105与客户端计算机115之间的中间媒介,在两 个计算机105、 115之间交换的所有数据分组都通过服务器120。这 样,在整个连接期间,两个计算才几105、 115之间的网络连接需要远 程访问服务器120在数据传输中发挥积极作用。这种三层架构具有 很多不希望的缺点。第一个缺点在于远程访问服务器120消耗大 量的带宽和计算资源。第二个缺点在于随着更多的主机计算机105和更多的客户端计算机115访问远程访问服务器120,系统复杂度增 加。第三个缺点在于远程访问服务器120代表系统内的单个故障 点,从而限制了系统的鲁棒性。

发明内容
本发明的实施方式包括在网络上的两个或更多计算机之间提供 远程访问服务以促进各种活动的方法,其中各种活动包括桌面共享、 web会议和web会晤。
在一个实施方式中,第一计算机将其连接信息发送至服务器。 服务器存储用于第一计算机的连接信息。如果第二计算机想要远程 访问第一计算机,则第二计算机可以向服务器进行请求。服务器将 其为第一计算机存储的连接信息发送至第二计算机。第二计算机使 用用于第 一 计算机的连接信息来通过直接网络连接将用于第二计算 机的连接信息发送至第一计算机。从此刻起,第一计算机和第二计 算机通过直接网络连接来交换用于远程访问的数据,而这与服务器 无关。
在另一实施方式中,第一计算机可以位于专用网络中并且可能 不能通过网络公开访问。然而,第一计算机可通信地耦合至可以通 过网络公开访问的转发器。第 一 网络将对应于转发器的连接信息发 送至服务器。如果第二计算机想要远程访问第一计算机,第二计算 机可以向服务器进行连接第一计算机的请求。服务器将其为转发器 存储的连接信息发送至第二计算机。第二计算机使用用于转发器的 连接信息、经由通过转发器的直接网络连接来将用于第二计算机的 连接信息发送至第一计算机。从此刻起,第一计算机和第二计算机 通过直接网络连接来交换用于远程访问的数据,而这与服务器无关。
在此说明书中描述的特征和益处并不是全包含的,并且特别地, 对于本领域技术人员而言,根据附图、说明书和权利要求,很多附 加的特;f正和益处是显然的。而且,应当注意,在本"i兌明书中^f吏用的
语言是为了易读性和指导性目的而大体选择的,而不是为了勾勒或限制发明性的主题而选择的。


通过结合附图考虑以下具体描述,可以容易地理解本发明实施 方式的教导。
图1是示出了用于通过计算机网络在计算机之间提供网络连接 的传统三层架构的框图。
图2A是根据本发明实施方式的、用于通过计算机网络在计算机
之间提供网络连接的双层架构的框图。
图2B是示出了本发明的实施方式可以使用的计算机的框图。
图2C是示出了根据本发明另一实施方式的、用于通过计算机网 络在计算机之间提供网络连接的双层架构的图。
图2D是示出了根据本发明又一实施方式的、用于通过计算机网 络在计算机之间提供网络连接的双层架构的^^匡图。
图3是根据本发明实施方式的远程访问服务器所提供的网页快照。
图4是示出了根据本发明实施方式的、用于通过计算机网络在 计算机之间提供网络连接的过程的事件图。
图5是示出了根据本发明实施方式的、由主机计算机执行以便 通过计算机网络在计算机之间提供网络连接的过程的流程图。
图6是示出了根据本发明实施方式的、由客户端计算机执行以 便通过计算机网络在计算机之间提供网络连4妄而执行的过程的流程图。
图7是示出了根据本发明另一实施方式的、用于通过计算机网 络在计算机之间提供网络连接的双层架构的框图。
图8是示出了根据本发明另一实施方式的、用于通过计算机网 络在计算机之间提供网络连接的过程的事件图。
图9是示出了根据本发明另一实施方式的、由主机计算机执行 以便通过计算机网络在计算机之间提供网络连接的过程的流程图。
8图IO是示出了根据本发明另一实施方式的、由客户端计算机执 行以便通过计算机网络在计算机之间提供网络连接而执行的过程的
流程图。
具体实施例方式
式。应当注意,从下述讨论中,在不脱离所要求保护的本发明原理 的前提下可以使用可行的备选,所以可以容易地认识到在此7>开的 结构和方法的备选实施方式。
现在具体参考本发明的若干实施方式,其示例在附图中示出。 应当注意,可用的类似或相同附图标记可以在附图中^f吏用,并且可 以指示类似或相同的功能性。附图仅出于说明的目的描绘了本发明
的实施方式。通过下述描述,本领域技术人员能够容易地认识到 在不脱离在此描述的本发明原理的前提下,可以使用在此说明的结 构和方法的备选实施方式。
架构性的考虑
图2A示出了才艮据本发明一个实施方式的、用于在两个网络化计 算机之间提供网络连接的双层架构。图2A示出的实施方式包括主机 计算机205、客户端计算机215和用于主控远程访问网站210的远程 访问服务器220。在一个实施方式中,主机计算机205、客户端计算 机215和远程访问服务器220每一个都连接至互联网200。主机计算 机205运行主机助手程序216-1,以及客户端计算机215运行客户端 助手程序216-2。在双层架构中,主机计算机205和客户端计算机215 使用主机助手程序216-1和客户端助手程序216-2、通过直接网络连 接235来交换数据,其中主机助手程序216-1和客户端助手程序216-2 将参照图2B、图4、图5和图6在下面进一步详述。因此,与图l 中所示的传统三层架构不同,图2A的双层架构不需要所有的数据分 组都通过远程访问服务器220。
9对于耦合至互联网的计算机205、 215,相关联的IP地址提供了 可以向其发送数据或从其接收数据的明确目的地。在发生任何数据 交换之前,两个计算机205、 215必须设法获得对方的IP地址。在 图2A所描绘的实施方式中,计算机205、 215的每一个都耦合至互 联网200,并且远程访问服务器220的首要目的在于将主机计算机 205的IP地址提供给客户端计算机215。为此,远程访问服务器220 主控远程访问网站210。计算机205、 215的用户可以访问远程访问 网站210,登录账户(例如,将用户名和相关联的口令提供给网站 210),以及与网站210交互以便从远程访问服务器220提供的各种 服务中进行选择。
例如,主机计算机205访问远程访问服务网站210并选择充当 主机计算机205。这样,主机计算机205通过网络连接225将其IP 地址发送至远程访问服务器220。远程访问服务器220存储主机计算 机205的IP地址。当客户端计算机215随后访问远程访问网站210 并选择远程访问主机计算才几205时,远程访问服务器220通过网络 连接230将主机计算才几205的IP地址发送至客户端计算机215。
一旦客户端计算机215接收到主机计算机205的IP地址,其可 以通过直接网络连接235将数据直接发送至主机计算机205。在此, 在网络连接的上下文中使用术语"直接"、"直接地"、"直接连 接,,或者"直接网络连接"表示不通过远程访问服务器220的网络
中间媒介,诸如交换机或路由器。另外,客户端计算机215通过直 接连接235将客户端计算机215自身的IP地址发送至主机计算机 205。换言之,尽管主机计算机205的IP地址是经由间接连4妄225、 230通过远程访问服务器220发送至客户端计算机215的,但是客户 端计算机215的IP地址是经由直接连接235发送至主机计算机205 的,而无需通过远程访问服务器220。这样,两个计算机205、 215 都能过获得对方的IP地址并创建直接网络连接235。 一旦两个计算 机205、 215都具有了对方计算机的IP地址,从此刻起,便不再涉及远程访问服务器220,而是经由直接网络连接235来进行计算机 205、 215之间的后续数据交换。以下参考图4、图5和图6来提供 用于根据双层架构建立网络连接的过程的进一步细节。
在传统三层架构(诸如,图1中所描绘的)中,远程访问服务 器120获得并存储主机计算机205的IP地址和客户端计算机215的 IP地址。然而,如上所述,根据如图2A所示的本发明的实施方式, 远程访问服务器220并不存储客户端计算机的IP地址。而是仅将主 机计算机215的IP地址存储在远程访问服务器220中。这有益地降 低了远程访问服务器220的计算要求,这尤其是因为附加的计算机 205、 215利用了由远程访问服务器220提供的远程访问服务。如果 存在利用远程访问服务器220的一千个主机计算机205,则远程访问 服务器220必须存储一千个IP地址(每个主机计算机205 —个IP 地址)。然而,在诸如图1所描绘的传统三层架构中,远程访问服 务器220将需要存储一百万个IP地址(每个主机计算机205 —个IP 地址,加上每个客户端计算机215—个IP地址)。其他计算资源要 求可以与上述示例类似地缩放,从而使得根据本发明的双层架构更 适合用于大量的主机计算机205和客户端计算机215。
图2B是示出了计算设备201的硬件架构的框图。图2B中描绘 的计算设备201可以是根据本发明 一 个实施方式的主机计算机205 或客户端计算机215。在一个实施方式中,计算设备201是通用个人 计算机,其包括处理器202、存储器204、存储模块(例如,硬盘驱 动器)206、通信接口 208、输入设备212和显示器214,所有这些 设备都通过数据总线222彼此交换数据。存储器204包括各种应用 软件,诸如,助手程序216和web浏览器218。如果计算设备201 是主机计算机205,则助手程序216是主机助手程序216-1。如果计 算设备201是客户端计算机215,则助手程序216是客户端助手程序 216-2。在本发明的某些实施方式中,单个计算设备201可以同时充 当主机计算机205和客户端计算机215,在这种情况下,主才几助手程 序216-1和客户端助手程序216-2都包括在存储器204中。处理器202是传统处理器或控制器。存储器204是传统计算存 储器,诸如,随机访问存储器(RAM)。存储模块206是传统长期 存储设备,例如硬盘驱动器(例如,磁性硬盘驱动器)或者闪存存 储器驱动器。通信接口 208可以包括用于通过网络(诸如,互联网) 发射和接收数据的一个或多个接口 。通信接口 208可以是互联网接 口、串行接口、并4亍接口、 USB (通用串行总线)接口 、以太网^妄 口、 Tl接口、蓝牙接口、 WiFi (IEEE 802.11 )接口 ,或者任何类型 的有线或无线通信接口。输入设备212可以是任何标准设备(诸如 键盘或鼠标),其允许用于与计算设备201交互。显示器214可以 是LCD或CRT计算机显示器,或者适用于计算机显示的任何其他 设备。
web浏览器218是这样的软件应用,其在处理器202上执行,以
web浏览器218可以是任何传统web浏览器218,诸如来自于 Microsoft ,>司的Internet Explorer 或来自Mozilla的FirefoxTM。
助手程序216是在计算设备201内的处理器202上执行的软件 应用。具体地,助手程序216是根据本发明实施方式的、#1设计用 来提供远程访问服务(诸如,桌面共享)的软件应用。在一个实施 方式中,在充当主机计算机205的计算设备201上冲丸行的、在此称 作"主机助手程序216-1"的助手程序216是虚拟网络计算("VNC") 远程访问主机应用。在一个实施方式中,在充当客户端计算机215 的计算设备201上执行的、在此称作"客户端助手程序216-2"的助 手程序216是远程访问VNC阅览器应用。
图2A中所示的本发明的实施方式可被调整,以包括多个主机计 算机205和/或多个客户端计算机。为此目的,图2C和图2D示出了 根据本发明实施方式的双层架构,这些双层架构在一个或多个主才几 计算机205与多个客户端计算机215之间提供了远程访问。
图2C是示出了根据本发明另一实施方式的、用于在计算机网络 上的计算机之间提供网络连接的双层架构的框图。图2C所示实施方式包括多个主机计算机205a、 205b...205n;多个客户端计算机215a、 215b...215n;以及主控远程访问网站210的远程访问月良务器220。在 图2C所示双层架构中,主机计算才几205和客户端计算才几215通过直 接网络连接235交换数据。
在一个实施方式中,通过上文参照图2A的实施方式而描述的类 似过程,针对多个主机计算机205a、 205b.,.205n和多个客户端计算 机215a、 215b…215n来提供远程访问。主机计算机205a、 205b…205n 和客户端计算机215a、 215b…215n的每一个分别耦合至互联网200, 并且远程访问服务器220的首要目的在于将主机计算机205a、 205b…205n的IP地址提供给客户端计算机215a、 215b…215n。主机 计算机205a、 205b…205n访问远程访问服务网站210,并通过网络 连接225将其各自的IP地址发送至远程服务器220。远程服务器220 存储主机计算机205各自的IP地址。当客户端计算才几215a、 215b...215n随后访问远程访问网站210时,指定可用主才几计算枳^ 205a、 205b…205n中的一个或多个以用于远程访问。 一旦指定了主 机计算机205a、 205b.,.205n中的一个或多个,则远程服务器220通 过网络连接230将每个已指定主机计算机205a、 205b...205n的IP 地址发送至客户端计算机215a、 215b…215n。
一旦客户端计算机215a、 215b…215n具有了已指定主机计算机 205a、 205b.,.205n的IP地址,则其可以通过直接网络连接235将数 据直接发送至指定的主机计算机205a、 205b...205n。具体地,客户 端计算机215可以通过直接网络连接235将客户端计算机215a、 215b...215n自身的IP地址发送至指定的主机计算机205a、 205b...205n。这样,计算机205、 215能够获得对方的IP地址并创 建直接网络连接235。这样,从此刻起,便不再需要涉及远程访问服 务器220,而是通过直接网络连接235来进行计算机205、 215之间 的所有后续数据交换。
图2D示出了根据本发明另一实施方式的、在主机计算机205和 多个客户端计算机215之间促进桌面共享的双层架构。图2D所示实施方式包括主机计算机205a、多个客户端计算机215a、 215b…215n 以及主控远程访问网站210的远程访问服务器220。在图2D所示双 层架构中,客户端计算机215a、 215b…215n能够通过直接网络连接 235共享主机计算机205a的桌面。
在一个实施方式中,使用与上文参照图2A的实施方式所描述的 类似过程来促进桌面共享。计算机205a、 205b…205n的每一个分别 耦合至互联网200,并且远程访问服务器220的首要目的在于将主机 计算机205a的IP地址提供给客户端计算机215a、 215b…215n。主 机计算机205a访问远程访问服务网站210并通过网络连接225将其 IP地址发送至远程访问服务器220。远程访问服务器220存储主机 计算机205a的IP地址。当客户端计算机215a、 215b…215n中的一 个随后访问远程访问网站210时,远程访问服务器220通过网络连 接230将主机计算机205a的IP地址发送至客户端计算机215a、 215b…215n。
一旦客户端计算机215a、 215b…215n具有了主机计算机205a 的IP地址,则其可以通过直接网络连接235将数据直接发送至主机 计算机205a。具体地,客户端计算机215a、 215b…215n可以通过直 接网络连接235将客户端计算机215a、215b…215n自身的IP地址发 送至主机计算机205a。这样,计算机205和计算机215a、 215b…215n 都能够获得对方的IP地址并创建直接网络连接235。这样,从此刻 起,便不再需要涉及远程访问服务器220,而是通过直接网络连接 235来进行与客户端计算机215a、 215b…215n共享主机计算机205a 的桌面有关的所有后续数据交换。
在本发明的附加实施方式中,图2D中示出的双层架构和在此描 述的随附方法适用于在主机计算机205与一个或多个客户端计算机 215之间提供web会议。
对过程的考虑
在本发明的一个实施方式中,远程访问网站210提供了多个web页面,其允许用户使用远程访问服务器220的服务。当用户通过web 浏览器218访问远程访问网站210时,用户可以#4居标准互联网4支 术来提供用户名和相关联的口令,从而登录到网站210。在登录后, 用户可以通过与选项页面305交互来使用远程访问服务器220提供 的服务。图3示出了根据本发明一个实施方式的选项页面305。在一 个实施方式中,选项页面305包括PHP、 ASPX或HTML格式的文 件。
选项页面305提供与远程访问服务器220所提供的服务相对应 的图标。在一个实施方式中,选项页面305列出了一个或多个主机
来对其进行访问。另外,选项页面305给出了可选择的主机计算机 205a、 205b、 205c的状态。在一个实施方式中,主才几计算机可以具 有已连接、在线或离线的状态。目前离线的主机计算机205c可能无 法访问。主机计算机205c可能由于不具有互联网连接或并未运行而 离线。"在线,,的主机计算机205a可以使用根据本发明实施方式的 双层远程访问服务来进行访问。"已连接"的主机计算机205b正在 使用根据本发明实施方式的双层远程访问服务而#皮访问。客户端计 算机215的用户可以使用相应的图标302a、 302b选择状态为"已连 接"或"在线,,的主机计算机205a、 205b,以便按照根据本发明各 种实施方式的用于远程访问的双层结构来获得对主机计算机205a、 205b的远程访问。
另外,用户可以选择使用图标304将用户的计算机本身变成主 机计算机205,从而授权其他客户端计算机215对该用户的计算机进 行远程访问。用户还可以选择4吏用图标306将主才几计算机205从可 访问主机计算机205的列表中移除,或者使用图标308来搜索未显 示的主机计算机205。而且,用户可以选择使用图标310来创建事件, 诸如web会议或桌面共享会话。备选地,用户可以选择使用图标312 来搜索由不同用户组织的web会议或桌面共享会话。图3中所示和 以上描述的选项仅出于说明的目的而提供,不是用于限制。其他用户可选的选项可以由远程访问服务器220来提供,和/或呈现在远程
访问网站210的选项页面305上。
现在参考图4,给出了与用于在两个网络化的计算机之间提供网 络连接的双层架构相对应的过程。图4中所示的过程对应于如下双 层架构,其包括主机计算机205、执行客户端web浏览器218的客 户端计算机215和主控远程访问网站210的远程访问服务器220(图 2A)。当客户端计算机215通过客户端web浏览器218访问远程访 问网站210时,远程访问服务器220向客户端web浏览器218发送 登录表单。在一个实施方式中,登录表单包括PHP、 ASPX或HTML 格式的web页面。客户端web浏览器218随后显示430登录表单(此 处未示出)。 一旦完成了登录表单,客户端web浏览器218将完成 的登录表单返回435远程访问服务器220。
在一个实施方式中,完成的登录表单的返回435引起远程访问 服务器220执行440指定的公共网关接口 (CGI)脚本。在一个实施 方式中,CGI脚本利用PERL编程语言实现的命令,这些命令引起远 程访问服务器220将选项页面305 (图3 )发送445至客户端web浏 览器218。客户端web浏览器218随后显示450选项页面305,以允 许选择选项。如上所述,客户端计算机215的用户可以选择图标302 来访问主机计算机205或者选择用于其他选项的其他图标。用户选 择随后被发送455至远程访问服务器220。基于该选择,将ActiveX 控件从远程访问服务器220下载460至客户端web浏览器218。
如果选择是访问主机计算机205,则ActiveX控件将被下载460 以用于(i)将客户端助手程序216-2下载465至客户端计算机215; (ii)将主机计算机205的IP地址下载470至客户端计算机215;以 及(iii)使用下载470的主才几计算机205的IP地址,将客户端计算 机215上的客户端助手程序216-2连接至主机计算4几205上的主机助 手程序216-1。连接两个助手程序216-1、 216-2包括客户端计算机 215将客户端计算机215的IP地址发送475至主才几计算机205。 一 旦连接了客户端计算机215上的助手程序216-2和主机计算机205上的助手程序216-1,便可以在两个计算机205、 215之间直接交换 480数据,而无需任何数据通过远程访问服务器220。在某些实施方 式中,下载460的ActiveX控件可以激活已经存在于客户端计算枳^ 215上的客户端助手程序216-2 (此处未示出),而不是将客户端助 手程序216-2下载465至客户端计算机215。
在另一实施方式中,如果选择是变成新主机,则将发生与图4 中所描绘的过程略有不同的过程。具体地,ActiveX控件将被下载 460以用于(i)将主机助手程序216-1下载(未示出)至客户端 计算机215; (ii)进入监听模式以等待来自于一个或多个其他客户 端计算机215的客户端助手程序216-2的连接请求。此时,客户端计 算才几215现在也充当主机计算机205。因此,其IP地址被发送至远 程访问服务器220并由远程访问服务器220存储,从而可以在稍后 其IP地址被请求时,将该IP地址才是供给其他客户端计算机215。
图5给出了根据本发明实施方式的、由主机计算机205执行一 遍通过计算机网络在计算机之间提供网络连接而冲丸行的过程的流程 图。首先,主机计算才几205启动505主机助手程序216-1。在一个实 施方式中,主机助手程序216-1是VNC远程访问主机应用。主机助 手程序216-1随后将主机计算机205连接510至远程访问服务器220。
一旦主机计算机205连接510至远程访问服务器220,则主机计 算机205登录515由远程访问服务器220主控的远程访问网站210。 主机助手程序216-1随后将主机计算机205的IP地址发送520至远 程访问web服务器220。远程访问web服务器220存储525主机计 算机205的IP地址,以便稍后分发至客户端计算机215。
图6给出了根据本发明实施方式的、由客户端计算机215执行 以便通过计算机网络在计算机之间提供网络连接而执行的过程的流 程图。客户端计算机215登录605由远程访问服务器220主控的远 程访问网站210。远程访问网站210随后显示610 —个或多个主机计 算^L 205的状态。在一个实施方式中,在选项页面305 (诸如,图3 中所描绘的)上显示一个或多个主机计算机205的状态。如果在步骤615客户端计算机215选择访问主机计算机205,则 远程访问服务器220将客户端助手程序216-2下载至客户端计算机 215和/或激活630客户端计算机215上的客户端助手程序216-2。客 户端助手程序216-2随后下载635选定主机计算机205的IP地址。 使用下载635的主机计算机205的IP地址,客户端助手程序216-2 连接640至主机计算机205上的主机助手程序216-1,并且使用两个 助手程序216-1、 216-2通过直接连接235 (图2A )来进行进一步的 数据交换,以用于主机计算4几205与客户端计算机215之间桌面共 享、web会晤或其他类型的远程访问。
如果客户端计算机215选择变成主机计算机205 (步骤615为 "否"并且步骤620为"是"),则远程访问服务器220将主机助 手程序216-1下载至客户端计算机215和/或激活645客户端计算机 215上的主才几助手程序216-1。客户端计算机215 (现在还是新的主 机计算机205 )随后将其IP地址发送650至远程访问服务器220, 在该处存储655该IP地址,以便稍后分发至一个或多个其他客户端 计算机215。
最后,用户可以选择625除了访问主机计算机或变成主才几计算 机以外的其他服务选项(步骤615为"否,,且步骤620为"否")。
在某些情况下,主机计算机205可能具有动态IP地址,这使得 使用双层架构创建网络连接复杂化。例如,主机计算机205可以通 过互联网服务提供商("ISP")耦合至互联网。通常,ISP具有有 限数量的互联网连接,并且因此其在任意时刻只能分配有限数量的 IP地址。这样,当主机计算才几205通过ISP连接至互联网时,其每 次连接时都会被动态指派新的IP地址。本发明解决了动态IP地址问 题,并且每当主机计算机205通过ISP连接至互联网时便发送新IP 地址。
对专用网络的考虑
主机计算机205可能驻留于专用网络(例如,公司或单位的内
18部网络)。互联网编号分配机构("IANA")为专用网络分配指定
的IP地址集合,并且互联网上的路由器被配置用于丟弃与来自于该 指定集合的IP地址相关联的任何数据包。专用网络通常包括计算机 网络安全屏障,通常称为"防火墙,,,以防止对专用网络的未授权
入侵。这样,专用网络上的主机计算机205的IP地址不是唯一的(即, 全球别处的专用网络上的其他计算机可能具有同一IP地址),并且 不能从公共互联网访问。
图7示出了根据本发明一个实施方式的、适用于在连网计算才几 之一不具有唯一的可公共访问IP地址时提供网络连接的双层架构。 图7中所示实施方式包括主机计算机205、客户端计算机215、用于 主控远程访问网站210的远程访问服务器220、防火墙740和转发器 745。主机计算机205通过专用网络700连接至互联网200。专用网 络700由防火墙740保护。这样,主机计算机205和客户端计算机 215都连接至互联网200,但是由防火墙740隔开。
在一个实施方式中,图7中所示双层架构的功能与上文参考图 2A描述的双层架构很相似,只有些许改动。具体地,添加了转发器 745,其具有唯一的可/>共访问的IP地址。转发器745可以由^f吏用 远程访问服务器220来提供远程访问服务的供应商提供。主机计算 机205能够访问转发器745并形成网络连接750。这样,转发器745 提供了唯一的可公共访问的IP地址,专用网络700外面的客户端计 算机215可以通过该IP地址访问主才几计算机205。
在一个实施方式中,当主机计算机205访问远程访问网站210 时,其通过网络连接225将转发器745的IP地址发送至远程访问服 务器220。在备选实施方式中,远程访问服务器220可能已经具有转 发器745的IP地址,因为是远程访问服务器220将转发器745提供 给主才几计算机205的。在其他实施方式中,远程访问服务器220存 储转发器745的IP地址。当客户端计算机215随后访问远程访问网 站210并选择远程访问主机计算机205时,远程访问服务器220通 过网络连接230将转发器745的IP地址发送给客户端215。 一旦客户端计算机具有了转发器745的IP地址,其可以通过直接网络连接 735将数据发送至转发器745。而且,客户端计算机215通过直接网 络连接735将客户端计算机215本身的IP地址发送至转发器745。 换言之,尽管转发器745的IP地址是经由间接连接225、 230通过 远程访问服务器220发送至客户端计算机215的,但是客户端计算 机215的IP地址是经由直接连接735发送至转发器745的。这样, 客户端计算机215和转发器745都能够获得对方的IP地址并创建直 接网络连接735。从此刻起,在主机计算机205与客户端计算机215 之间通信数据便不再涉及远程访问服务器220,而是通过连接750 和直接网络连接735来进行主机计算4几205与客户端计算4几215之 间的后续数据交换。为清楚起见,以下参考图8、图9和图10给出 用于根据双层架构与专用网络700上的主机计算机205建立网络连 接的过程的进一步细节。
应当注意,转发器745并不提供涉及活跃地提供远程访问会话 的任何功能。例如,转发器745并不在任何数据包在两个计算机205、 215之间传递时对其进行解释。相反,其仅对数据包进行重传,这在 不可访问的专用网络700与公共互联网200之间形成了重要的桥梁, 以便促进数据交换。在一个实施方式中,可以提供多个转发器745, 以供单个主机计算机205或单个专用网络700上的一组主机计算机 205访问。这有益地防止了转发器745成为系统内的单个故障点。
在某些实施方式中,使用上述技术对图7、图2C和图2D中描 绘的双层架构进行调整,以便为专用网络上的多个主机计算机205 和/或多个客户端计算机215提供远程访问服务。在这种实施方式中, 转发器745可能需要在多个主机计算机205之间进行区分,以确保 仅将数据传输到一个或多个适当目的地。
将要共享的会议会话所对应的唯一会议ID与转发器745的IP地址 一起发送至客户端计算机215。客户端计算机215随后可以将该唯一 的会议ID与客户端计算机215的IP地址一起发送至转发器745。在一个实施方式中,远程访问服务器220还将唯一的会议ID发送至主 机计算机205,主机计算机205继而将其发送至转发器745。转发器 745可以将唯一的会议ID和主机计算机205的关联IP地址二者存储 在查找表中。这样,当客户端计算机215向主机计算机205发送数 据时,其可以将该数据指定为对应于特定会议ID,从而允许转发器 745使用查找表来将数据传输至适当的主机计算机205。
在图7所示的专用网络环境中使用转发器745具有多个益处。 例如,转发器745能够以多播的方式进行操作,在该方式中,相同 的数据包在多个主机计算机205和/或多个客户端计算机215之间重 传。典型的互联网路由器不具有这种能力,因为出于成本和复杂性 考虑,它们仅支持单播。另外,转发器745在使用RFB (远程帧緩 冲区)方面与典型的互联网路由器不同,与传统使用ITUT.120协议 相比,这有益地显著降低了系统复杂度。
更具体地,诸如ITUT.120 (多点数据会议和实时通信协议,包 括T.121、 T.122、 T.123、 T.124和T.125)的传统通信协议用于多点 网络数据通信。ITU T. 120协议可以支持两个或更多计算机建立连 接,在彼此之间传输和接收数据,以及使用兼容的数据会晤特征进 行合作,其中数据会晤特征诸如远程访问、桌面共享、桌面数据会 晤、多点会议、多用户应用、多层游戏等。
然而,ITU T. 120通过计算机之间的点对点通信来实现多点网络 通信,这可以通过非常复杂的通信协议来实现。将ITUT.120标准用 于多点数据会晤的网络的复杂性例如随着网络中的节点(或计算机) 数量成指数增长。另外,ITUT.120通常需要使用非标准UDP(用户 定义的协议)和非80端口来进行直"t妄的点对点通信,而这通常被7> 司防火墙749阻止,以便过滤软件病毒、蠕虫等。这样,在安装有 防火墙740的公司计算环境中实现ITU T.120是很复杂的。
与使用T.120相比,使用RFB协议的转发器745的优势在于非 常易于实现。另外,使用利用RFB协议的转发器745的网络复杂性 仅随分布式计算网络中客户端数量的增长成线性增长。而且,转发
21器745使用标准互联网协议(例如,HTTP、 TCP/IP等)和80端口 , 从而易于穿过公司防火墙740,因为公司防火墙740通常允许将80 端口用于使用标准互联网协议的互联网访问。注意,在本发明的实 施方式中,可以为公共网络上的主机计算机205提供转发器745,以 获得上述同样的益处。
通常,具有防火墙740的专用网络还具有在客户端web浏览器 218与远程访问服务器220之间运行的SOCKS (套接字)代理。在 这种实施方式中,由远程访问服务器220执行440的CGI脚本被强 制下载到SOCKS代理的IP地址,而不是下载到主^L计算沖几205的 IP地址。为了解决这一问题,远程访问服务器220提供了名称注册 守护进程(daemon),其注册每个主机计算机205或客户端计算机 215的IP地址和端口号。当在计算才几205、215上启动助手程序216-1、 216-2时,助手程序216-1、 216-2连接至守护进程,以允许守护进程 注册计算机205、 215的IP地址。
现在参考图8,示出了根据本发明一个实施方式的、用于在客户 端计算机215和专用网络上的主机计算机205之间提供网络连接的 过程。尽管如8中所示过程与图4中所示过程有很多相似之处,但 是仍然值得注意某些关键不同。图8中的过程步骤基本上与图4中 所示的步骤类似,不同之处在于步骤870、 875、 880、 885和890以 及涉及的转发器745。具体地,图8的事件图对应于包括转发器745、 且主机计算机205位于专用网络700上的双层架构。当主才几计算机 205位于专用网络700上时,远程访问服务器220将唯一的会议ID 发送870至主机计算机205。客户端215也从远程访问服务器220 下载875该唯一的会议ID以及转发器745的IP地址。随后,客户 端计算机215的IP地址和会议ID由客户端计算机215发送880至 转发器745。从此刻起,数据可以在客户端计算机215与主机计算机 205之间交换890,而转发器745充当专用网络700与互联网200之 间的桥梁。如上所述,当客户端计算机215向主机计算机205发送 数据时,其可以将数据指定为与特定的会议ID对应,从而允许转发器745使用查找表将数据传输至适当的主机计算机205。
图9给出了根据本发明实施方式的、由专用网络700上的主机 计算机205 4丸行以便通过计算机网络在计算机之间提供网络连接而 执行的过程的流程图。首先,主机计算机205启动905主才几助手程 序216-1。在一个实施方式中,主才几助手程序216-1是VNC远程访 问主机应用。主才几助手程序216-1随后将主机计算机205连接908 至转发器745。 一旦主机计算机205连接908至转发器745,主机助 手程序216-1便将主机计算机205连接910至远程访问服务器220。 这允许由远程访问服务器220主控的远程访问网站210在选项页面 305上准确地反映主机计算机205的状态。主机计算才几205登录915 由远程访问月良务器220主控的远程访问网站210。主才几助手程序 216-1随后将转发器745的IP地址发送920至远程访问服务器220。 远程访问服务器220存储转发器745的IP地址,以便稍后分发至客 户端计算机215。
图IO给出了根据本发明实施方式的、由客户端计算机215执行 以便提供与专用网络上的主机计算机205的网络连接的过程的流程 图。图10中的过程步骤基本上与图6中所示步骤相同,不同之处是 步骤1035和1040。由于主机计算机205位于通过转发器745与公共 互联网网络200通信的专用网络中,所以客户端助手程序216-2下载 1035转发器745的IP地址。而且,当客户端助手程序216-2连接1040 主机助手程序216-1时,连接1040将通过转发器745。
应当理解,在本发明的某些实施方式中,可以为^^共网络(诸 如互联网200)上的主机计算机205 ^是供转发器745,以上描述的用 语提供远程访问的方法进行相应调整。在一个实施方式中,用于公 共网络上的主机计算机205的转发器745可以实现为主机计算机205 的部分。在一个实施方式中,用于专用网络700上主^U十算机205 的转发器745可以在独立于主机计算机205的计算机上实现。
其他考虑应当注意,在一个实施方式中,此处描述的过程被配置用于作 为软件或计算机程序产品进行操作。软件可以作为计算机可读介质
(诸如,存储器204或存储模块(或设备)206)中的指令进行存储 和执行。过程的指令(例如,步骤)还可以被配置为一个或多个硬— 件或软件模块,它们被配置以执行在此描述的功能。
还要注意,尽管此处的公开在某些实施方式中参考了主机计算 机和客户端计算机之间的交互,但是在此公开的原理适用于两个计 算设备可通信地耦合的任何配置。例如,在某些实施方式中,在第 一计算设备和第二计算设备之间可以存在通信,其中第 一设备可以 使任何计算类型设备(例如,服务器计算机系统、个人计算机、台 式计算机、膝上型计算机、个人数字助理、游戏设备、智能手机等), 第二设备可以是任何计算设备(例如,也可以是服务器计算机系统、 个人计算机、台式计算机、膝上型计算机、个人数字助理、游戏设 备、智能手机等),它们中的一个设备可以是主机,另一设备可以 是客户端,或者设备可以是对等实体(例如,端对端连接)。
在阅读了此公开后,本领域技术人员通过本发明所公开的原理 将会理解附加的备选结构性和功能性设计,这些设计用于计算机之 间双层远程访问的系统和过程。这样,尽管示出并描述了本发明的 特定实施方式和应用,但是应当理解,本发明并不限于此处公开的 精确结构和组件,在不脱离所附权利要求中定义的本发明精神和范 围的前提下,可以在此处公开的本发明方法和设备的布置、操作和 细节中做出本领域技术人员易知的各种修改、改变和变化。
2权利要求
1.在用于促进耦合至网络的一个或多个第一计算机与一个或多个第二计算机之间的远程访问的服务器中,一种计算机实现的方法,包括从所述第一计算机中的一个计算机接收对应于所述第一计算机中的所述一个计算机的第一连接信息;将对应于所述第一计算机中的所述一个计算机的所述第一连接信息存储在所述服务器中;从所述第二计算机中的一个计算机接收用于建立对所述第一计算机中的所述一个计算机的远程访问的请求;以及将所存储的对应于所述第一计算机中的所述一个计算机的第一连接信息发送至所述第二计算机中的所述一个计算机,所述第二计算机中的所述一个计算机直接连接至由所述第一连接信息标识的所述第一计算机中的所述一个计算机,并将对应于所述第二计算机中的所述一个计算机的第二连接信息直接发送至所述第一计算机中的所述一个计算机。
2. 根据权利要求1所述的方法,其中所述第二计算机中的所述一个计算机分别使用所述第一连接信息和第二连接信息、通过直接网络连接与所述第 一计算机中的所述一个计算机交换数据。
3. 根据权利要求1所述的方法,其中所述第一连接信息和所述第二连接信息分别是对应于所述第 一计算机中的所述一个计算机和所述第二计算机中的所述一个计算机的IP (互联网协议)地址。
4. 根据权利要求1所述的方法,其中从所述第二计算机中的一个计算机接收用于建立对所述第一计算机中的所述一个计算机的远程访问的请求包括主控显示所述第一计算机的网站;以及从所述第二计算机中的 一 个计算机接收对所述第 一 计算机中的所述一个计算机的选择,以进行远程访问。
5. 根据权利要求1所述的方法,其中对应于所述第一计算机中的所述一个计算机的所述第一连接信息是对应于转发器的可公共访问的IP (互联网协议)地址,其中所述第一计算机中的所述一个计算机可通信地耦合至所述转发器。
6. 根据权利要求5所述的方法,进一步包括将唯 一 的标识符指派给所述第 一 计算机中的所述 一 个计算机;以及将所述唯一标识符发送给所述第二计算机中的所述一个计算机,所述第二计算机中的所述一个计算机直接与由所述第一连接信息标识的所述转发器连接,并将指派给所述第 一计算机中的所述一个计算机的所述唯一标识符直接发送给所述转发器。
7. —种计算机可读介质,其存储有用于促进耦合至网络的一个或多个第一计算机与一个或多个第二计算机之间的远程访问的计算机指令,当服务器上的处理器执行所述指令时,致使所述处理器从所述第 一 计算机中的 一 个计算机接收对应于所述第 一 计算机中的所述一 个计算机的第 一连接信息;将对应于所述第一计算机中的所述一个计算机的所述第一连接信息存储在所述服务器中; 、从所述第二计算机中的一个计算机接收用于建立对所述第一计算机中的所述一个计算机的远程访问的请求;以及将所存储的对应于所述第 一计算机中的所述一个计算机的第一连接信息发送至所述第二计算机中的所述一个计算机,所述第二计算机中的所述一个计算机直接连接至由所述第一连接信息标识的所述第一计算机中的所述一个计算机,并将对应于所述第二计算机中的所述一个计算机的第二连接信息直接发送至所述第 一计算机中的所述一个计算机。
8. 根据权利要求7所述的计算机可读介质,其中所述第二计算机中的所述一个计算机分别使用所述第 一连接信息和第二连接信息、通过直接网络连接与所述第 一计算机中的所述一个计算机交换数据。
9. 根据权利要求7所述的计算机可读介质,其中所述第一连接信息和所述第二连接信息分别是对应于所述第 一 计算机中的所述一个计算机和所述第二计算机中的所述一个计算机的IP(互联网协议)地址。
10. 根据权利要求7所述的计算机可读介质,其中从所述第二计算机中的一个计算机接收用于建立对所述第一计算机中的所述一个计算机的远程访问的请求包括主控显示所述第一计算机的网站;以及从所述第二计算机中的 一 个计算机接收对所述第 一计算机中的所述一个计算机的选择,以进行远程访问。
11. 根据权利要求7所述的计算机可读介质,其中对应于所述第一计算机中的所述一个计算机的所述第 一连接信息是对应于转发器的可公共访问的IP (互联网协议)地址,其中所述第一计算机中的所述一个计算机可通信地耦合至该转发器。
12. 根据权利要求11所述的计算机可读介质,所述指令进一步致使处理器将唯 一 的标识符指派给所述第 一 计算机中的所述 一 个计算机;以及将所述唯一标识符发送给所述第二计算机中的所述一个计算机,所述第二计算机中的所述 一 个计算机直接与由所述第 一 连接信息标识的所述转发器连接,并将指派给所述第 一计算机中的所述一个计算机的所述唯 一 标识符直接发送给所述转发器。
13. —种计算机可读介质,其存储有用于促进耦合至网络的一个或多个第 一 计算机与 一个或多个第二计算机之间的远程访问的计算机指令,当所述第二计算机中的 一个计算机的处理器执行所述指令时,致使所述处理器从服务器接收对应于所述第一计算机中的一个计算机的第一连接信息;存储所述第一连接信息;建立与由所述第 一连接信息标识的所述第 一计算机中的所述一个计算机的直接连接;以及将对应于所述第二计算机中的所述一 个计算机的第二连接信息直接发送至所述第一计算机中的所述一个计算机。
14. 根据权利要求13所述的计算机可读介质,其中所述指令进一步配置用于使所述第二计算机中的所述一个计算机分别使用所述第 一连接信息和第二连接信息、通过直接网络连接来与所述第 一计算机中的所述一 个计算机交换数据。
15. 根据权利要求13所述的计算机可读介质,其中所述第一连接信息和所述第二连接信息分别是对应于所述第 一计算机中的所述一个计算机和所述第二计算机中的所述一个计算机的IP (互联网协议)i也址。
16. 根据权利要求13所述的计算机可读介质,其中对应于所述第 一计算机中的所述一个计算机的所述第 一连接信息是对应于转发器的可公共访问的IP (互联网协议)地址,其中所述第一计算机中的所述一 个计算机可通信地耦合至所述转发器。
17. 根据权利要求16所述的计算机可读介质,其中所述指令进一步被配置用于使所述第二计算机中的所述一个计算机分别使用所述第一连接信息和第二连接信息、通过直接网络连接来与所述转发器交换数据。
18. 根据权利要求17所述的计算机可读介质,所述指令进一步致使所述处理器从所述服务器接收所述服务器指派给所述第一计算机中的所述一个计算机的唯一标识符;以及将指派给所述第一计算机中的所述一个计算机的所述唯一标识符直接发送至所述转发器。
全文摘要
在网络上的两个或更多计算机之间提供远程访问服务,以促进各种活动,包括桌面共享、web会议和web会晤。第一计算机将其连接信息发送至服务器。服务器存储用于第一计算机的连接信息。第二计算机可以向服务器请求远程访问第一计算机。服务器将其针对第一计算机而存储的连接信息发送至第二计算机。第二计算机使用用于第一计算机的连接信息、通过直接网络连接将用于第二计算机的连接信息发送至第一计算机。从此时起,第一计算机和第二计算机通过直接网络连接来交换用于远程访问的数据,而这与服务器无关。
文档编号G06F15/16GK101568914SQ200880001241
公开日2009年10月28日 申请日期2008年6月11日 优先权日2007年6月12日
发明者梁庚荣 申请人:梁庚荣
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1