CN101218577B - 用于远程网络访问的统一体系结构 - Google Patents

用于远程网络访问的统一体系结构 Download PDF

Info

Publication number
CN101218577B
CN101218577B CN2006800247224A CN200680024722A CN101218577B CN 101218577 B CN101218577 B CN 101218577B CN 2006800247224 A CN2006800247224 A CN 2006800247224A CN 200680024722 A CN200680024722 A CN 200680024722A CN 101218577 B CN101218577 B CN 101218577B
Authority
CN
China
Prior art keywords
internet resources
request
client device
network address
network
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.)
Active
Application number
CN2006800247224A
Other languages
English (en)
Other versions
CN101218577A (zh
Inventor
A·格巴德格辛
D·G·泰勒
P·G·梅费尔德
A·M·墨奇
H·L·桑德斯
N·C·吉德瓦尼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101218577A publication Critical patent/CN101218577A/zh
Application granted granted Critical
Publication of CN101218577B publication Critical patent/CN101218577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了一种允许远程访问网络的统一的体系结构。该网络可以包括例如虚拟个人网络(VPN)和/或对等网络。在一个实施例中,该体系结构包括安装在客户端设备/节点和网关/超节点上的组件。在该客户端设备上实现的组件可方便类似于传统VPN的方式的访问,而该网关上的组件可方便类似于应用程序代理的方式的访问。作为示例,客户端设备和网关之间的通信可经由加密套接字协议层(SSL)通信协议而进行。

Description

用于远程网络访问的统一体系结构
技术领域
本发明一般涉及通信网络,尤其涉及实现远程访问通信网络的组件。
背景技术
虚拟个人网络(VPN)是其中至少部分通过诸如因特网的公共网络基础构架传递通信的个人网络。VPN广泛地用于公司内或公司之间的通信,因为它们可以扩展用户能连接公司网络的地理区域,降低远程用户的传递时间和传输成本,并提高劳动者的生产力。
为了连接到某些VPN,用户调用驻留在他/她的客户端设备(例如个人计算机、个人数字助理或其它设备)的一个或多个软件组件(例如VPN客户端应用程序)来建立连接。调用软件组件使得客户端设备与VPN上的网络接入网关通信,该网关通常基于软件组件提供的信息来验证用户的访问证书。一旦认证发生,在客户端设备上运行的应用程序一般能够按需访问网络上的资源。网络资源可以包括例如网页、数据结构(例如文件)或电子邮件服务器。每次客户端设备上的应用程序请求访问网络资源时,网关便推动连接。这种布置一般称为“传统VPN”模式。
通过其它VPN,经济和/或安全顾虑会造成采用其它的访问技术。例如,最近转而采用使用加密套接字协议层(SSL)技术的应用程序代理来建立远程用户对VPN的访问。简而言之,在采用应用程序代理的配置中,在客户端应用程序能够访问网络上的资源之前,用户使用在客户端设备上运行的浏览器应用程序来导航到指定为到VPN的接入点的网页。用户可经由浏览器应用程序提供登陆证书以获得对VPN的访问。在认证时,在客户端设备上运行的其它应用程序能够访问网络资源,而无需用户再次提供登陆证书。这种配置一般被称为“应用程序代理”模型。
转向应用程序代理模型的一个原因是对于企业使用不是很昂贵,因为允许自动向VPN认证的软件组件无需在所有的客户端设备上安装和维护。另一个原因是应用程序代理模型提供额外的安全优点,即在接入点接收到的通信会得到比传统VPN配置中更严格的监视,这样恶意方会更难以使用客户端设备来攻击公司VPN。
发明简述
申请人意识到,与使用应用程序代理模型来允许远程用户访问VPN相关联的一个缺点是:通常,当客户端认证时,客户端设备上的应用程序,以及在许多情况下它们的服务器对应部分,必须在客户端应用程序能够自动地访问网络资源之前被修改。作为示例,由于许多企业在它们各自用户社区之间有成千上万的应用程序正在使用中,这些修改可能对通过应用程序代理模型为雇员提供远程网络访问的企业提出严重挑战。例如,对于需要修改的每个应用程序,可能要求企业与应用程序的供应商协商以要求必要的修改、实现修改并将它们铺开到用户社区。这个过程会是非常昂贵和耗时的。此外,对于某些应用程序,实现所需修改可能有重大的技术障碍。
这与传统的VPN模型不同,在传统模型中在认证时,在客户端设备上运行的应用程序一般能够无缝地访问网络资源而无需修改。然而,如上所述,采用传统的VPN模型是昂贵的,因为对于每个用户的个别认证,它会要求将软件组件安装在客户端设备上。传统的VPN模型也会提供较少的应用程序专用安全功能。
为了平衡这些竞争顾虑,许多企业对远程网络访问采用应用程序代理模型,但仅允许在客户端设备上运行的应用程序的子集访问网络资源。因而,许多企业采用应用程序代理模型,并且知道某些用户会不能采用特定应用程序提供的某个功能(例如要求网络访问)。这种安排不是最佳的。
相应地,本发明的一个实施例以提供应用程序代理模型的安全优点以及与传统的VPN模型相关联的应用程序对网络资源的无缝访问,而无需修改在客户端设备上运行的应用程序的方式,提供了便于远程网络访问的体系结构。
在一个实施例中,该体系结构包括安装在客户端设备上和网络接入网关两者上用于验证网络上的客户端的基于软件的组件。在一个实施例中,客户端上的组件包括客户端网络访问管理器(CNAM),其中当发生预定事件(例如应用程序尝试解析网络名称)时,该管理器会自动地开始与网络的通信,并经由网关来方便验证以建立与网络的连接。在一个实施例中,客户端设备上CNAM的存在使得无需修改其它客户端应用程序,由此便于使用并且提供类似于传统VPN模型的功能。在一个实施例中,该体系结构也包括安装在网络接入网关上的组件,该组件提供许多通常与应用程序代理模型相关联的安全优点。
虽然本发明的实施例会对便于对VPN的远程访问有用,但是本发明不限于这个方面。例如,可以采用该体系结构来方便对任何适当类型的专用或半专用网络的访问。作为示例,可以部署该体系结构来允许向对等网络的访问。可以提供用于管理对等通信的组件,诸如管理分配到此的带宽和/或在其上施加安全策略的组件。
附图简要描述
附图并不一定按照比例绘制。在附图中,不同附图中示出的每个相同或近似相同的组件由相同的附图标记表示。为了清楚起见,每个组件不会在每个附图中都进行标注。在附图中:
图1是根据本发明的一个实施例示出方便远程访问的示例性体系结构组件的框图;
图2是根据本发明的一个实施例示出示例性进程的流程图,该进程可以由客户端设备上的组件执行以方便客户端设备对网络的远程访问;
图3是根据本发明的一个实施例示出示例性进程的流程图,该进程可以由服务器上的组件执行以方便远程网络访问;
图4是根据本发明的一个实施例示出可用于方便访问对等网络的示例性体系结构组件的框图;
图5是根据本发明的一个实施例示出示例性进程的流程图,该进程可以由超节点执行以管理分配给对等通信的带宽;
图6是示出其上可实现本发明的实施例的各方面的计算机的框图;以及
图7是示出其上可实现本发明的实施例的各方面的示例性存储器的框图。
具体实施方式
图1示出了本发明的方便对VPN的远程访问的一个示例性实施例。所示出的实施例包括驻留在客户端设备100和网络接入网关150上的体系结构组件。图1也示出了经由这些组件使客户端设备100可进行访问的网络资源170。在一个实施例中,每个示出的组件通过软件来实现。然而,本发明不限于这个方面,因为这些组件中的任一个或全部可以以任何合适的方式实现,包括通过硬件来实现。
图1所示组件的功能可以通过描述客户端应用程序访问网络上的资源170A的进程来示出。在该进程的开始处,用户可以采用(例如,提供输入)客户端设备100上的应用程序105。在一个实施例中,应用程序105包括电子邮件应用程序(例如由华盛顿州雷德蒙市的微软公司提供的Microsoft Outlook),而网络资源170A包括电子邮件服务器。图1的以下描述的剩余部分假设情况如此。然而,应该理解本发明不限与此,因为可以采用任何客户端应用程序和/或访问任何网络资源。
在所描述的实施例中,由网络堆栈110(在一个实施例中是在客户端设备100上执行的操作系统的组件)检测到应用程序105的活动,诸如应用程序105试图解析网络资源的名称。在这方面,本领域的技术人员会认识到,由于应用程序105通常对网络资源170A采用与用于标识网络上网络资源170A(例如网络地址,诸如IP地址)的标识符不同的标识符(例如域名),应用程序105通常试图解析网络资源170A的名称以确定其网络标识符。应该理解,活动无需由作为操作系统的部分来实现的组件(例如网络堆栈110)来观测,因为本发明不限于这个方面。可用采用任何适当的组件。
当然,应用程序105无需采用诸如域名的标识符来访问网络资源。例如,如果有可能,应用程序105可采用网络资源的网络地址。以下参考图4描述了应用程序指定网络地址的示例性情况。
在所述的实施例中,应用程序105首先与域名服务(DNS)解析器120通信,以尝试解析客户端上的网络名称。在一个实施例中,DNS解析器120维护先前已解析出的域名的网络标识符的集合,诸如那些作为先前应用程序活动结果被访问的网络资源的网络标识符。
在所述实施例中,如果DNS解析器120不能在不咨询DNS服务器的情况下将网络资源170A的网络地址提供给应用程序105,则通知CNAM 115。在所述实施例中,CNAM 115包括定义了在预定义事件发生时进行的处理的已编程指令,诸如当DNS解析器120需要解析域名时。
图2示出了一进程的示例性实施例,执行该进程以评估与在客户端设备上执行的应用程序相关的事件是否应该造成要建立网络连接。在进程200开始时,在动作210处观察到与应用程序相关发生的事件。该事件可以是例如应用程序尝试解析网络名称。在动作220处通过将该事件与一个或多个规则进行比较来评估该事件。例如,会将事件与CNAM 115所包含的已编程指令定义的一个或多个规则作比较。在动作230中,判定事件是否满足任一规则。例如,在动作230处会判定应用程序105尝试解析网络名称是否满足规则。如果判定应用程序事件满足任何规则,那么就在动作240处建立连接,并且进程结束。否则,进程返回到开始处,以便可以继续观察应用程序事件。
当然,在观察到应用程序事件时执行的处理不限于建立到网络的连接,并且定义处理的事件不限于应用程序尝试解析网络名称。可以定义任何适当的事件和/或处理。定义处理和/或事件的已编程指令可以是例如由诸如网络管理员的用户所定义的。
在所描述的实施例中,当预定事件发生时所进行的处理是:CNAM 115评估DNS解析器120尝试解析的域名,基于域名选择特定的DNS服务器(即DNS映射器160)(例如域名与DNS映射器160之间的关联),并指示DNS解析器120联系DNS映射器160以解析域名。
应该理解,可以基于所提供的域名从多个类似的DNS服务器组件选择DNS映射器160。此外,由于基于域名选择DNS服务器,如果不提供域名,那么无需采用网关来方便客户端和网络资源之间的通信。在网关是到VPN的接入点的实现中这会很有利。例如,当网关150是到VPN的接入点时,如果客户端设备100提供了例如CNAM 115判定不应该发送给DNS映射器160的域名,则可以无需采用网关来方便客户端设备100和可经由因特网公开访问的网络资源之间的通信。该系统可允许客户端访问网络资源而不接入VPN,由此消除处理开销和与之相关联的费用。
也应该理解,无需仅基于域名来选择DNS服务器,因为DNS服务器可以基于任何适当的信息来选择。本发明不限于特定的实现。
在所描述的实施例中,DNS解析器120于是尝试联系DNS映射器160。该尝试由网络堆栈110处理。如果还没有建立连接,则网络堆栈110会指示远程接入服务(RAS)连接125来连接到网络接入网关150,以使得应用程序105可以访问网络资源170A。更具体地,指示RAS连接125在客户端100和网络接入网关150之间建立点对点连接。本领域的技术人员会认识到,在客户端和网关之间建立点对点连接在客户端100上建立了网络接口,这类似于传统的VPN布置,而与应用程序代理模型不同。由于建立了网络接口,在以下描述的步骤中会将IP地址分配给客户端100用于与网络通信。
RAS连接125于是尝试通过联系VPN服务器155而在客户端100和网络接入网关150之间建立点对点连接。在所描述的实施例中,RAS连接125和VPN服务器155建立并维护客户端100和网络接入网关150之间的连接,并且可以保持该连接直到它在一可配置的时间段上保持空闲(即不在连接上传递通信)。本领于的技术人员会认识到,以这种方式使用RAS组件来建立和维护客户端和网关之间的点对点连接是与传统VPN共通的。
在一个实施例中,客户端100和网络接入网关150之间的通信经由SSL协议进行,虽然本发明不限于这方面。可以采用任何合适的通信协议。
然而,根据本发明的一个实施例,与将网络资源170A的实际网络地址(例如IP地址)提供给应用程序150不同,DNS映射器160提供新的网络地址,将它分配给VPN服务器155,并将该新提供的地址提供给客户端100上的DNS解析器120。结果,可以在客户端上解析客户端设备100上应用程序对访问网络资源的后续尝试,从而无需与DNS映射器进行通信。
在一个实施例中,新提供的地址由DSN映射器160动态生成。具体地,与一些传统的方法不同,不预先提供(例如手动创建)新的地址以用于访问网络资源,它是由DNS映射器160特定地生成,以供客户端100用于访问网络资源170A。新的地址也不是经由一种或多种算法从实际网络地址导出的。同样地,在一个实施例中,不会将新的地址限制于特定的格式。例如,可以使用IPv4、IPv6或任何其它适当的格式生成地址,从而如果已知例如客户端或网络资源采用IPv4格式,则动态地生成IPv4格式的地址。
在所描述的实施例中,DNS映射器160也将网络资源170A的新提供的网络地址和实际的网络地址提供给传输层代理165。因为对于许多不同的网络资源和/或客户端设备,该进程可以被重复许多次,所以可以向VPN服务器155提供许多IP地址,每个网络资源一个。
图3示出了描述用于执行上述进程的示例性技术的流程图。在进程300开始时,在动作310处接收到访问网络资源的请求。在动作320处,确定(例如,如上所述解析)资源的网络地址。在动作330处,提供新的网络地址。例如,可以将新的地址分配给VPN服务器155。在动作340处,将新的地址提供给客户端设备,用于访问网络资源。在完成动作340时,该进程结束。
作为该进程的结果,当应用程序105随后尝试访问网络资源170A时,它使用新提供的网络地址。应用程序105将访问请求发送到该地址,且由VPN服务器155接收该请求。接着请求被发送给传输层代理165,在所描述的实施例中,该传输层代理165会维护由DNS映射器160先前提供的信息,使得它能够基于新提供的网络地址确定网络资源170A的网络地址。然而,应该理解,可以用任何适当的方式来确定网络资源170A的实际网络地址,因为本发明不限于这个方面。
在所描述的实施例中,与向网络资源170A发送请求不同,传输层代理165终止网关150上的访问请求并使用网络资源170A的实际网络地址与之建立直接连接。此后,从应用程序105到网罗资源170A的通信首先传输到网关150,接着沿该新建立的连接从网关150传输到网络资源170A。类似地,从网络资源170A到应用程序105的通信首先在网络资源170A和网关150之间传输,接着沿网关150和客户端100之间的连接传输。这样,传输层协议165用作应用程序105和资源170A之间的代理。
在所描述的实施例中,传输层代理165采用插件168来实现用于应用程序105和网络资源170A之间通信的安全策略。插件168可以例如包括已编程指令,当执行该指令时,检查应用程序105和网络资源170A之间的连接以判定它是否符合策略。作为示例,插件168可用检查通信以判定它是否不带病毒。然而,应该理解,可以以任何适当的方式应用任何适当的策略。例如,可以实现不与安全直接或间接相关的策略。此外,无需由插件对传输层代理165实现策略,因为可以采用任何适当的组件。此外,作为示例,可以由用户(例如网络管理员或第三方供应商或顾问)来定义策略。同样地,策略可以定义对网关150上传输的任何通信的检查,包括向诸如服务器、端口和/或其它资源等资源的通信。
应该理解,上述的组件和技术提供了常规VPN体系结构的许多优点,而不包含它们相应的缺点。例如,上述体系结构可以提供应用程序代理模型的安全优点,而无需修改客户端应用程序以允许访问网络资源。类似地,上述体系结构便于对典型的传统VPN的网络资源的无缝访问,而无需牺牲安全性。
也应该理解,上述体系结构包括客户端设备上、使其很像传统VPN中的客户端设备那样运作的组件和网络接入网关上、使其很像应用程序代理那样运作的组件。例如,客户端100上的CNAM 115可以以类似于在传统VPN中实现的客户端组件的方式管理应用程序(例如应用程序105)和网络资源170之间的通信,使得客户端设备上的应用程序可以无缝并透明地访问网络资源而不被修改。类似地,传输层代理165和/或插件168会通过终止网络接入网关150上的访问请求和检查其上的通信来提供可与应用程序代理模型相比拟的安全级别。
如上所述,虽然本发明的各方面在允许远程访问VPN时是有用的,但是本发明的实施例可以具有许多用途,包括与便于其它网络配置中的连接相关的用途。例如,可以采用许多上述的组件和技术中的多个来方便对等(P2P)网络中的连接。
本领域的技术人员会认识到,对等连接主要是经由超节点来完成的,超节点在网络的节点之间中继通信。通常,超节点可访问节点(即它们不驻留在防火墙、网络接入转换器(NAT)组件或防止输入连接的其它设备的之后),包括驻留在防火墙、NAT或其它安全设备之后的节点。一般地计算机会志愿作为超节点(例如由它拥有者,可以是个人或企业)。其作为超节点的身份通常诸如经由华盛顿州雷德蒙市的微软公司提供的对等名称解析协议(PNRP)公布。简而言之,PNRP允许将超节点的身份和/或位置公布到分布式数据库,可使用分布式数据库来访问节点(例如因特网上的)。当客户端设备启动对等应用程序(例如由华盛顿州雷德蒙市的微软公司生产的Windows Messenger或其它对等应用程序)时,应用程序会查询数据库以发现超节点的位置和身份。
在一个实施例中,安装在图1的客户端设备100上的组件可以在对等节点上实现,且安装在图1的网络接入网关上的组件可以在超节点上实现,以便于对等网络上的节点对另一节点进行访问。图4示出了一个说明性实现。
由图1所示的组件执行的许多技术可以由图4所示的组件执行,以方便到对等网络的连接。作为示例,节点101会尝试访问超节点151,作为“自举(bootstrapping)”进程的部分,以获取超节点151提供的通信中继服务。网络堆栈110可以观察该事件并通知包含定义了在诸如自举进程的事件发生时所进行的处理的已编程指令的CNAM 115。例如,CNAM 115会导致经由对等RAS连接126和RAS转发服务器156来在节点101和超节点151之间建立连接。然后,超节点会向节点101分配网络地址(例如IP地址)。
如图1中所描述的实施例,节点101和超节点151之间的通信可以经由SSL通信协议或任何其它适当的通信协议进行。
超节点151会通知节点101可经由网络访问的其它节点。节点101可发出访问节点102的请求,它会指定节点102的网络地址。具体地,节点101可向超节点151发送传输控制协议(TCP)连接请求(例如发送分组请求),超节点151会检查节点101为请求指定的目标网络地址(例如IP地址),确定它对应于仍可经由网络访问的节点,并在判定节点102仍可访问时转发请求。节点102可接收和拒绝访问请求。
在一个实施例中,由于对等网络上的节点之间的通信流过超节点,而不在传输层代理165处终止,因此无需DNS映射器160来解析由节点101提供的标识符或提供新的网络地址并将其提供给节点101,如图1中所示的配置中。取而代之,通信指向超节点151,并流过超节点151到达节点102。
在对等网络上可以有多于一个超节点,且对于每个超节点可能不能直接访问所有的节点。如果节点102不能由超节点151直接访问,那么超节点151可将通信转发到能够直接访问节点102的另一个超节点。因此,在一个实施例中,超节点151包括互连180,它判定超节点151是否可以直接访问节点102,如果否,就将通信转发给超节点152以最终传递给节点102。
在一个实施例中,超节点151包括带宽管理器175,它可以管理在超节点上传输的通信量所占用的带宽。例如当超节点是志愿的计算机,而提供方也希望将计算机用于需要网络访问(例如浏览万维网)的其它活动时,这会是有用的。例如,带宽管理器175会确保预留足够的带宽用于与计算机作为超节点的职能不相关的这些其它活动。在一个实施例中,带宽管理器175可以被配置成(例如由诸如网络管理员的用户)改变预留带宽的量。
图5示出了可用于管理分配给对等通信的带宽的示例性技术。当节点向超节点发出要经由对等网络来通信的请求时,诸如当节点自举时,进程500可以开始。在进程500开始时,在动作510中,超节点接收到来自节点的要经由对等网络通信的请求。该请求可以包括在节点和第二节点之间传递信息的期望带宽要求的信息。可以使用任何适当的技术来确定期望带宽要求,诸如通过检查由节点执行的先前通信。
在动作520处,检查该请求以判定超节点是否具有足够的带宽来支持期望的带宽要求。例如,超节点151上的带宽管理器175最初将带宽的第一部分分配给对等活动,将第二部分分配给其它活动。
此外,超节点会积极参与支持网络上其它节点之间的对等通信。结果,超节点可检查最初分配给对等活动的带宽量、用于正在进行的对等通信的带宽量和/或其它信息,以判定是否存在足够的带宽来支持节点提供的期望带宽要求。
如果判定不存在足够带宽来支持期望带宽要求,则在动作530处,超节点向节点发出拒绝请求的通信,且该进程结束。例如,超节点会向节点发送指明由于缺乏足够的带宽而拒绝请求的消息。节点可例如接着将类似的连接请求发送给另一超节点。
如果在动作502处判定超节点具有足够带宽来支持期望带宽要求,则在动作540处,超节点向节点发出批准请求的通信。在动作540完成时,该进程结束。此后,节点会经由超节点将通信发送到另一节点。通过可以由超节点直接发送给另一节点,或者可以被发送给另一超节点,以便最终递送给另一节点。
在一个实施例中,可以采用插件168来向由超节点151中继和/或发送的通信上施加策略(例如与安全性相关的)。例如,如果将超节点151用于企业网络上用户之间的对等连接,则企业会使用插件168来确保用户之间的通信是不带病毒的。
应该理解,本发明实施例的各方面可以在一个或多个计算机系统上实现,诸如图6所示的示例性计算机系统600。计算机系统600包括输入设备602、输出设备601、处理器603、存储系统604和存储606,它们都经由互连机构605直接或间接地耦合,该互连机制605可包括一个或多个总线或交换机。输入设备602从用户或机器(例如操作员或电话接收机)接收输入,而输出设备601向用户显示信息或将信息发送给机器(例如液晶显示器)。
处理器603执行称为操作系统的程序,该操作系统控制其它计算机程序的执行,并提供调度、输入/输出和其它设备控制、计算、编译、存储分配、数据管理、存储器管理、通信和数据流控制。处理器和操作系统定义了计算机平台,对该平台可以以其它计算机编程语言编写应用程序。
处理器603也可以执行一个或多个程序,以实现各种功能,诸如体现本发明各方面的功能。这些程序可以用诸如过程程序设计语言、面向对象程序设计语言、宏语言、或其组合的计算机编程语言来编写。
这些程序可以存储在存储系统606中。存储系统可以将信息保持在易失性或非易失性介质上,并可以是固定的或可移动的。图7更详细地示出了存储系统。它一般包括计算机可读和可写的非易失性记录介质701,在其上存储定义程序或程序所使用的信息的信号。介质可以是例如磁盘或闪存。通常,在操作中,处理器603使得数据从非易失性记录介质701读出,并读入到易失性存储器702中(例如随机存取存储器或RAM),与介质701相比,易失性存储器702允许处理器603更快速地访问该信息。该存储器702可以位于存储系统706中,如图7中所示,或位于存储系统604中,如图6中所示。处理器603一般在集成电路存储器604、702中操控数据,并在处理完成后将数据复制到介质701。对于管理介质701和集成电路存储器元件604、702之间的数据移动,有多种已知的机制,并且本发明不限于此。本发明也不限于特定的存储器系统604或存储系统606。
也应该理解,本发明的上述实施例可以用多种方式中的任一种来实现。例如,可是使用硬件、软件或其组合来实现上述功能。当用软件实现时,可以在任何适当的处理器或处理器集合(无论是在单个计算机中提供还是在多个计算机之间分布)上执行软件代码。在这方面,应该理解,代理的上述功能可以分布在多个进程和/或系统之间。还应该理解,执行本申请中所描述的功能的任何组件或组件集合一般被视为控制上述功能的一个或多个控制器。一个或多个控制器可以用许多方式实现,诸如使用专用硬件,或采用使用微码或软件来编程的一个或多个处理器来执行上述功能。当控制器存储或提供用于系统操作的数据时,这样的数据可以存储在一中央储存库、多个储存库或它们的组合中。
由此描述了本发明的至少一个实施例的若干个方面,应该理解,对于本领域的技术人员容易进行各种改变、修改和改进。这种改变、修改和改进旨在作为本发明的部分,并旨在落入本发明的精神和范围中。相应地,以上描述和附图仅是示例性的。

Claims (14)

1.一种在包括经由网络通信的客户端设备、网关系统和网络资源的系统中用于远程网络访问的方法,所述客户端设备能够通过在所述网络上与所述网关系统的通信来访问所述网络资源,所述网络资源在所述网络上由第一网络地址标识,所述第一网络地址具有第一格式,所述第一格式是多种格式之一,所述方法包括以下动作:
(A)从所述客户端设备接收访问所述网络资源的第一请求,所述第一请求指定所述客户端设备用以标识所述网络资源的名称或网络地址;
(B)判定所述第一请求是否指定了名称;以及
(C)在判定所述第一请求指定了名称时:
(C1)处理所述第一请求以基于所述名称确定所述网络资源的所述第一网络地址;
(C2)动态地生成第二网络地址以供所述客户端设备用于访问所述网络资源,在执行动作(B)之前不提供所述第二网络地址用于访问所述网络资源,所述第二网络地址不限于符合所述第一格式;
(C3)将所述第二网络地址提供给所述客户端设备,用于访问所述网络资源;
(C4)从所述客户端设备接收访问所述网络资源的第二请求,所述第二请求被引导到所述第二网络地址;
(C5)与所述第一网络地址处的网络资源建立连接;
(C6)终止所述第二请求;以及
(C7)经由所述连接来方便所述客户端设备和所述网络资源之间的通信。
2.如权利要求1所述的方法,其特征在于,所述动作(C7)还包括在所述客户端设备和所述网络资源之间的通信上施加安全策略。
3.如权利要求2所述的方法,其特征在于,所述动作(C7)包括判定所述客户端设备和所述网络资源之间的通信不带有病毒。
4.如权利要求1所述的方法,其特征在于,所述动作(C7)还包括经由加密套接字协议层SSL协议来方便所述客户端设备和所述网关系统之间的通信。
5.如权利要求1所述的方法,其特征在于所述动作(C)还包括,在判定所述第一请求指定所述第一网络地址时:
(C8)将所述第一请求转发给所述第一网络地址处的网络资源。
6.如权利要求5所述的方法,其特征在于,所述客户端设备包括对等网络上的第一节点,所述网关系统包括所述对等网络上的超节点,且所述网络资源包括所述对等网络上的第二节点。
7.如权利要求5所述的方法,其特征在于,所述动作(C8)还包括在将所述第一请求转发给所述网络资源之前,判定在所述网关系统上是否分配了足够的带宽来支持所述第一请求,并在判定分配了足够的带宽时转发所述第一请求。
8.如权利要求5所述的方法,其特征在于,所述动作(C8)还包括在将所述第一请求转发给所述网络资源之前,在所述第一请求上施加安全策略。
9.如权利要求8所述的方法,其特征在于,施加所述安全性策略的所述动作(C8)还包括判定所述第一请求不带有病毒。
10.如权利要求1所述的方法,其特征在于,所述网关系统包含单个设备。
11.一种包括客户端设备、多个网关系统中的第一网关系统和网络资源的系统,所述客户端设备、第一网关系统和网络资源经由网络通信,所述网络资源在所述网络上由第一网络地址标识,所述第一网络地址具有第一格式,所述第一格式是多种格式之一,其中:
所述客户端设备用于通过经由所述网络向所述第一网关系统发出第一请求来访问所述网络资源,所述第一请求指定由所述客户端设备用以标识所述网络资源的名称或用于在网络上标识网络资源的网络地址,
所述第一网关系统用于处理所述第一请求,以判定所述第一请求是指定了名称还是网络地址,
在判定所述第一请求指定名称时,终止所述第一网关系统上的所述第一请求,并经由所述第一网关系统和所述网络资源之间的连接来方便所述客户端设备和所述网络资源之间的通信,包括:
处理所述第一请求以基于所述名称确定所述网络资源的所述第一网络地址;
动态地生成第二网络地址以供所述客户端设备用于访问所述网络资源,在判定所述第一请求指定名称之前不提供所述第二网络地址用于访问所述网络资源,所述第二网络地址不限于符合所述第一格式;
将所述第二网络地址提供给所述客户端设备,用于访问所述网络资源;
从所述客户端设备接收访问所述网络资源的第二请求,所述第二请求被
引导到所述第二网络地址;
与所述第一网络地址处的网络资源建立连接;
终止所述第二请求;以及
经由所述连接来方便所述客户端设备和所述网络资源之间的通信,
而在判定所述第一请求指定网络地址时,将所述第一请求转发给所述网络地址处的网络资源,其中所述客户端设备还用于从所述多个网关系统中选择第一网关系统,用于基于由所述客户端设备用于标识所述网络资源的名称来接收所述第一请求。
12.如权利要求11所述的系统,其特征在于,所述第二请求是经由SSL协议发送的。
13.如权利要求11所述的系统,其特征在于,其中在判定所述第一请求指定网络地址时,所述第一网关系统还用于判定所述第一网关系统上是否有足够的带宽可用于支持所述请求。
14.如权利要求11所述的系统,其特征在于,所述第一网关系统还用于在所述第一请求上施加安全策略。
CN2006800247224A 2005-07-08 2006-07-10 用于远程网络访问的统一体系结构 Active CN101218577B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/178,219 2005-07-08
US11/178,219 US8166538B2 (en) 2005-07-08 2005-07-08 Unified architecture for remote network access
PCT/US2006/026820 WO2007008856A2 (en) 2005-07-08 2006-07-10 Unified architecture for remote network access

Publications (2)

Publication Number Publication Date
CN101218577A CN101218577A (zh) 2008-07-09
CN101218577B true CN101218577B (zh) 2010-10-06

Family

ID=37619732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800247224A Active CN101218577B (zh) 2005-07-08 2006-07-10 用于远程网络访问的统一体系结构

Country Status (11)

Country Link
US (1) US8166538B2 (zh)
EP (1) EP1902383A2 (zh)
JP (1) JP2009500968A (zh)
KR (1) KR20080026161A (zh)
CN (1) CN101218577B (zh)
AU (1) AU2006268313A1 (zh)
BR (1) BRPI0612400A2 (zh)
CA (1) CA2611554A1 (zh)
MX (1) MX2008000175A (zh)
RU (1) RU2007148416A (zh)
WO (1) WO2007008856A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281509A1 (en) * 2007-01-18 2010-11-04 Thomson Licensing Prefix caching assisted quality of service aware peer-to-peer video on-demand
US8528058B2 (en) * 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
US8613044B2 (en) * 2007-06-22 2013-12-17 4Dk Technologies, Inc. Delegating or transferring of access to resources between multiple devices
US8369343B2 (en) * 2008-06-03 2013-02-05 Microsoft Corporation Device virtualization
EP2148493A1 (en) * 2008-07-24 2010-01-27 Nokia Siemens Networks OY P2P overlay network for administrative services in a digital network
US20100146120A1 (en) * 2008-12-09 2010-06-10 Microsoft Corporation Caller-specific visibility masks for networking objects
US10142292B2 (en) 2010-06-30 2018-11-27 Pulse Secure Llc Dual-mode multi-service VPN network client for mobile device
US8549617B2 (en) 2010-06-30 2013-10-01 Juniper Networks, Inc. Multi-service VPN network client for mobile device having integrated acceleration
US8458787B2 (en) * 2010-06-30 2013-06-04 Juniper Networks, Inc. VPN network client for mobile device having dynamically translated user home page
US8127350B2 (en) 2010-06-30 2012-02-28 Juniper Networks, Inc. Multi-service VPN network client for mobile device
US8973088B1 (en) 2011-05-24 2015-03-03 Palo Alto Networks, Inc. Policy enforcement using host information profile
US20120331032A1 (en) * 2011-06-22 2012-12-27 Microsoft Corporation Remote Presentation Session Connectionless Oriented Channel Broker
US8875223B1 (en) 2011-08-31 2014-10-28 Palo Alto Networks, Inc. Configuring and managing remote security devices
US8862753B2 (en) 2011-11-16 2014-10-14 Google Inc. Distributing overlay network ingress information
WO2014068818A1 (ja) * 2012-10-31 2014-05-08 日本電気株式会社 Mplsネットワーク及びそれに用いるトラフィック制御方法
US9143481B2 (en) 2013-06-06 2015-09-22 Apple Inc. Systems and methods for application-specific access to virtual private networks
US8917311B1 (en) 2014-03-31 2014-12-23 Apple Inc. Establishing a connection for a video call
US9762625B2 (en) 2014-05-28 2017-09-12 Apple Inc. Device and method for virtual private network connection establishment
US20160095224A1 (en) * 2014-09-30 2016-03-31 Skyworks Solutions, Inc. Apparatus and methods related to ceramic device embedded in laminate substrate
CN105959345A (zh) * 2016-04-18 2016-09-21 Ubiix有限公司 企业网络服务加速方法、装置及所应用的代理服务器
US9985930B2 (en) 2016-09-14 2018-05-29 Wanpath, LLC Reverse proxy for accessing local network over the internet
CN108124301A (zh) * 2017-12-29 2018-06-05 深圳市智搜信息技术有限公司 一种无线ap的连接方法及其系统
US11876798B2 (en) * 2019-05-20 2024-01-16 Citrix Systems, Inc. Virtual delivery appliance and system with remote authentication and related methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561040A (zh) * 2004-02-24 2005-01-05 武汉虹信通信技术有限责任公司 基于gprs/cdma2000 1x的通用无线透明vpn网桥系统传输方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898830A (en) * 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US6473406B1 (en) * 1997-07-31 2002-10-29 Cisco Technology, Inc. Method and apparatus for transparently proxying a connection
JPH11122301A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
CA2228687A1 (en) * 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
JP3745616B2 (ja) * 2000-11-24 2006-02-15 株式会社エヌ・ティ・ティ・ドコモ 中継装置
JP3616571B2 (ja) 2001-01-04 2005-02-02 日本電気株式会社 インターネット中継接続におけるアドレス解決方式
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP4237055B2 (ja) 2001-09-28 2009-03-11 ファイバーリンク コミュニケーションズ コーポレーション クライアント側網アクセス・ポリシー及び管理アプリケーション
US7389533B2 (en) * 2002-01-28 2008-06-17 Hughes Network Systems, Llc Method and system for adaptively applying performance enhancing functions
EP1532539B1 (en) * 2002-06-06 2015-12-09 Pulse Secure, LLC Method and system for providing secure access to private networks
US7447751B2 (en) * 2003-02-06 2008-11-04 Hewlett-Packard Development Company, L.P. Method for deploying a virtual private network
JP4173517B2 (ja) * 2003-03-05 2008-10-29 インテリシンク コーポレイション コンピューティング・ネットワークとリモート装置との間のバーチャル・プライベート・ネットワーク
US7305705B2 (en) 2003-06-30 2007-12-04 Microsoft Corporation Reducing network configuration complexity with transparent virtual private networks
BR0318455A (pt) 2003-08-29 2006-09-12 Nokia Corp método, sistema e servidor de porta de comunicação para prover as regras para o acesso sem fio em uma conexão de túnel segura
US7757074B2 (en) * 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561040A (zh) * 2004-02-24 2005-01-05 武汉虹信通信技术有限责任公司 基于gprs/cdma2000 1x的通用无线透明vpn网桥系统传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CN 1561040 A,全文.
第50段至第57段,附图1-3.

Also Published As

Publication number Publication date
CN101218577A (zh) 2008-07-09
KR20080026161A (ko) 2008-03-24
AU2006268313A1 (en) 2007-01-18
US8166538B2 (en) 2012-04-24
WO2007008856A3 (en) 2007-05-10
EP1902383A2 (en) 2008-03-26
US20070011733A1 (en) 2007-01-11
WO2007008856A2 (en) 2007-01-18
RU2007148416A (ru) 2009-07-10
MX2008000175A (es) 2008-03-26
JP2009500968A (ja) 2009-01-08
CA2611554A1 (en) 2007-01-18
BRPI0612400A2 (pt) 2010-11-03
WO2007008856A9 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
CN101218577B (zh) 用于远程网络访问的统一体系结构
CN110351191B (zh) 网络配置方法、系统、设备及存储介质
US8738741B2 (en) Brokering network resources
US7039701B2 (en) Providing management functions in decentralized networks
US7181536B2 (en) Interminable peer relationships in transient communities
TWI493481B (zh) 一種用於表現社交網路圈資源的裝置與方法
US20030217140A1 (en) Persisting node reputations in transient communities
US20030187973A1 (en) Managing storage resources in decentralized networks
US20050015340A1 (en) Method and apparatus for supporting service enablers via service request handholding
CN108780410A (zh) 计算系统中的容器的网络虚拟化
US20080141333A1 (en) Method and system for object-based multi-level security in a service oriented architecture
JP2021505014A (ja) エンドツーエンドネットワークを提供するためのシステム
JP2004187305A (ja) 共通のグループラベルを用いたピア・ツー・ピアネットワークにおけるノード間の通信のための方法
US6754212B1 (en) Repeater and network system utililzing the same
WO2003084186A1 (en) Dynamic addressing in transient networks
US11616687B2 (en) Systems and methods for dynamic layer 3 network connection
US20060085851A1 (en) Systems, Methods, and Computer Readable Medium for Avoiding a Network Address Collision
US20070195766A1 (en) Virtualized services system and method
CN111542001A (zh) 一种服务器集群分布的网络系统及其构建方法
JP2004509492A (ja) 遠距離通信サービスの連係の方法および装置
KR20080050935A (ko) 피어 투 피어 네트워크에서 확장홈 서비스 장치 및 서비스제공 방법
Xu et al. A formal model for dynamic web services composition MAS-Based and simple security analysis using SPI calculus
Farley et al. The Ret Reference Point definition and a prototype implementation
JP2000010890A (ja) 端末、接続制御装置、サーバクライアントシステム及びそのプログラム記憶媒体
García et al. Web-based service for remote execution: NGI network design application

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150422

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150422

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.