提高在为计算机系统提供网络访问时的自动化水平的制作方法

文档序号:7563904阅读:156来源:国知局
专利名称:提高在为计算机系统提供网络访问时的自动化水平的制作方法
技术领域
本发明涉及设置计算机系统适当地在网络上通信,更特别地,涉及自动地为计算机系统提供适当的信息,以便能为计算机系统提供在网络上的通信。
背景技术
计算机系统及其相关技术影响社会的许多方面。的确,计算机系统处理信息的能力改变了我们生活和工作的方式。现在计算机系统一般执行许多在计算机系统出现以前手工完成的任务(如字处理、行程安排和数据库管理)。最近以来,计算机系统彼此连结在一起组成计算机网络,通过网络计算机系统可以电子方式通信以共享数据。结果,在计算机系统上完成的许多任务(如存取电子邮件和网页浏览)包括通过计算机网络(如因特网)与一个或多个其它计算机系统进行电子通信。
为了在计算机网络上以电子方式通信,计算机系统可能需要被授权访问这个计算机网络。例如,在计算机系统能在因特网上以电子方式通信之前,常常要求这个计算机系统向能够授权访问因特网的因特网服务提供商(在下文中被称为“ISP”)注册。向ISP注册一般包括一些除在网络上的电子通信之外的通信方式。例如,用户可能要求用户先与ISP的业务代表电话通信,以便由ISP建立一个帐号。
在这个电话通信期间,用户可向ISP业务代表提供一般的信息(如姓名、地址等)和支付形式(如信用卡号)。作为回应,ISP可给用户提供用户用户名和密码,用于认证用户并授权访问因特网。在很多情况下,ISP还通过邮递或其它递送服务发送必须在计算机系统上安装的访问软件(如拨号程序、Web浏览器等)和/或硬件(如DSL调制解调器或有线缆调制解调器)。为让用户连接至ISP从而访问因特网,必须将所有访问软件和硬件正确地安装在计算机系统上。象这样,想要访问因特网的用户常常需要等待,直到接收到这样的软件和硬件。然后,在接收到访问软件和/或硬件后,用户必须正确地在计算机系统上安装访问软件和/或硬件以允许因特网访问。
如果安装正确,则用户可连接到ISP并输入由ISP提供的用户名和密码。ISP可基于用户名和密码认证用户,并且如果适当(如当用户的支付是最新的),则ISP可授权用户的计算机系统访问因特网。可惜,如果用户当前没有向ISP注册,则在大多数情况下没有办法使用因特网上的电子通信来开始一个注册过程。这是因为大多数ISP是从因特网访问的,而当用户没有办法访问因特网时,接着他们也没有办法访问ISP进行注册。
这样在许多情况下,希望访问因特网的用户必须经过电话联系ISP并等待要交付的适当的访问软件和/或硬件。此外,没有适当的凭证(如用户名和密码)或授权(如支付不是最新的)而尝试连接至ISP的用户,一般被完全阻塞对ISP和因特网两者的所有网络访问。这样,即使用户知道拨入ISP访问号码(或尝试连接的ISP网络地址),还是要求用户用其它通信手段联系ISP才能向ISP注册(或更改账户不足)。
在一些情况下,例如,当从家里连接至ISP时,等待访问软件和硬件的延迟是可以容忍的。然而在另外一些情况下这样一种延迟可能是不可接受的。例如,当在机场旅行或呆在旅馆里时,使用诸如膝上型电脑之类的移动计算机系统的用户可能想要访问因特网。移动访问这种需求的部分结果是许多旅馆和机场通过有线和无线的两种服务提供因特网访问。获得授权通过这些服务访问因特网,一般要求一些与服务电子通信的形式以输入用户信息和支付信息。
通常,这些服务需要用户将电缆插进移动计算机系统的网络接口卡(或用无线网络接口卡启动连接),然后打开Web浏览器。不过,用户必须在他们尝试向一个服务注册前了解这些要完成的操作。例如,如果用户不知道他们必须打开Web浏览器,那用户根本就没办法向这个服务注册。当打开Web浏览器时,这个服务随后通过基于Web的注册过程重定向任何来自Web浏览器的通信。可向用户显示一个输入注册信息(如姓名、房间号、信用卡号等)的界面。如果注册信息合适,则可授权用户用这个服务访问因特网。
可惜的是,许多服务是私有的,并且每个服务可能要求不同的计算机系统配置和/或注册信息以授权访问因特网。不过,用户可能没有办法在尝试向一个服务注册前了解所需要的系统配置和/或注册信息。因此,即使用户成功地在一个地方(如机场)向一个服务注册,但是用户在另一个地方(如旅馆)可能被禁止注册,由于不适当地设置的计算机系统或缺少合适的注册信息。
此外,大多数旅馆和机场服务在帐号期满前仅授权访问因特网很短一段时间(如24小时)。在帐号期满后,用户可能需要再次打开Web浏览器(且或许也要重接电缆)并再次输入以前输入过的注册信息。这样,即使用户开始就明白他们必须打开Web浏览器向一个服务注册,用户也可能不了解必须每天打开Web浏览器以便向这个服务重新注册。通常,必须再输入前一次注册(如在前一天)输入的注册信息,即使注册信息没有变化。如果注册信息相当多,则在一段短时间之后重新注册对于在过去已经输入过合适的注册信息的用户而言是个烦恼。
另外,这些服务的大多数,如果不是全部的话,缺乏修改计算机系统软件配置的机制。也就是说,一个服务一般不能为计算机系统提供能够在计算机系统上处理使计算机系统变成与这个服务兼容的机器可读指令。服务可能提供超文本标记语言(“HTML”)指令作为接收注册信息的基于Web界面的一部分。不过,计算机系统一般不能处理HTML指令以修改计算机系统的配置。这样,必须由可能缺乏技术经验或想要为兼容于这个服务而重新设置软件的用户解决任何软件不兼容性。
因此在为计算机系统提供网络访问和设置计算机系统的时候提高自动化水平的系统、方法、计算机程序产品和数据结构将是有利的。
概述在本领域的背景上述状态下的问题可由本发明的原理克服,本发明将集中于在为计算机系统提供网络访问和设置计算机系统时提高自动化水平的方法、系统、计算机程序产品和数据结构。
包括授权客户机访问第二个网络(例如因特网)的功能的服务器。这个服务器可位于与第二个网络分开的的第一个网络或者可位于第二个网络。客户机发送凭证至这个服务器,尝试向这个服务器认证。基于这些凭证,这个服务器可能授权这个客户机至少部分地访问第二个网络和/或可能拒绝访问第二个网络并且授权这个客户机至少部分地访问第一个网络。这个服务器可以是一个位于这网络的远程认证拨入用户服务(“RADIUS”)服务器。至少为了向这个服务器认证和下载用于获得完全访问第二个网络的提供文件的目的,可为客户机部分地提供对第一个或第二个网络的访问。这样,当前不能访问位于第二个网络上资源的计算机系统可能能够以电子方式下载提供文件以获得对这些资源的访问。
是否将来自客户机的数据传送到第一个网络或第二个网络的判断可使用多种技术实现,诸如例如,虚拟局域网(“VLAN”)、互联网协议(“IP”)过滤、虚拟专用网络(“VPN”)或IP安全(“IPSec”)协议的使用。在一些实施例中,在单网络中也可使用相似的技术。在这些实施例中,服务器(至少部分基于所接收的凭证)可授权客户机至少部分地访问单个网络,诸如例如,通过授权客户机访问在单个网络上所选择的计算机系统或模块。
发送凭证可包括从客户机至服务器发送可扩展认证协议(“EAP“)Response/Identity(应答/身份)消息。如果客户机尝试通过接入点连接网络,则可将EAP-Request/Identify消息封装在一些可通过接入点传送的另外类型的消息中。在VLAN实施例中,接入点可将一个标记头部插入到封装的消息中,向数据路由设备表示要将这个封装的消息传送到第一个网络。可设置接入点阻塞来自客户机的使用除EAP和802.1X之外的协议的通信。
如果凭证不授权对第二个网络的完全访问(例如不能认证凭证,凭证是访客凭证,或者已认证的用户未经授权),则服务器可通过发送通知应答客户机,诸如例如EAP-Notification(EAP通知)或在受保护的EAP(“PEAP”)内的类型长度值(“TLV”)对象。可按照PEAP加密和完整性检查这个通知。这个通知可包括一个统一资源标识符(“URI”),指向包括为客户机提供的信息的主文档。这个通知也可以包括用户要变成被授权完全访问位于第二个网络资源所必须满足的条件(例如,注册、续订等等)。
通知可表示应该允许(不阻塞)使用HTTP协议的通信接入点,因此客户机可通过访问所包括的URI(例如,通过执行HTTP或HTTPS get(取))下载主文档。在响应这个通知时,客户机可自动地下载主文档。主文档可包括URI,指向也可被自动下载的子文件,包括一个配置子文件和一个注册子文件。当一个ISP使用来自另一个ISP的服务时,一个主文档也可包括指向另一个主文档的URI。这样,很少需要使用其它通信方法与一个服务提供商联系,以便请求获得访问一个网络的文件。可按照可扩展标记语言(“XML”)模式定义主文档和关联的子文件。例如,可按照XML配置模式定义配置子文件。
在一些实施例中,可通过除在通知中提供URI之外的机制访问主文档和子文件,诸如例如,可从可移动计算机可读介质(软盘、闪存卡等等)访问主文档和/或子文件。这在设置网络连接之前要求提供信息的环境中是有利的,诸如例如,远程拨号。在建立连接之后,随后可从网络中更新主文档和子文件。
在客户机处可处理下载的注册子文件以自动地显示可接收用户输入信息的用户界面。这样,用户不需要预先了解如何使这个用户界面被显示。可用各种各样书写语言显示用户界面,诸如例如,英语、日语、法语或德语。一旦显示,可将用户输入信息接收到用户界面中。如果为续订注册的目的显示用户界面,则可减少在用户界面中接收的用户输入量。例如,预先输入的用户信息可从用户数据库中检索到。可以是显示只包括“YES(是)”和“NO(否)”控件的用户界面,用于授权更多的信用卡支付。
包括用户输入信息的第一个基于模式的文档被提交至服务器(例如,通过执行HTTP或HTTPS post(发送))。这可包括提交一个按照XML注册模式定义的XML文档。在提交第一个基于模式的文档之后,客户机可接收一个服务器授权客户机访问位于第二个网络上的资源的标志。这可包括接收包括用户标识符和密码的或者包括一个已经授权信用卡支付的标志的第二个基于模式的文档。在VLAN实施例中,当授权用户访问位于第二个网络上的资源时,接入点可在客户机数据中插入标记头部向数据路由设备表示要将客户机数据传送到第二个网络。接入点也可允许使用除当前被阻塞的协议之外的通信,诸如例如,简单邮件传送协议(“SMTP”)和动态主机控制协议(“DHCP”)。
执行第三个基于模式的文档为兼容操作第二个网络设置客户机。这可包括执行从服务器接收的配置子文件。可执行配置子文件以设置连接类型、通信协议、认证类型、加密类型等等。实际上可在下载配置子文件之后的任何时候执行配置子文件。不要求在接收用户输入信息之前或之后执行配置子文件。通过执行基于模式的文档,可在很少或没有用户干涉的情况下重新设置客户机。这使用户免于必须为兼容操作第二个网络手工地重新设置客户机。
本发明的其它特点和优点将在下面阐述,并且从说明中部分特点和优点将是显而易见的,或者可从本发明的实施中认识到。可用在所附权利要求书中特别指出的指示或组合的实现和获得本发明的特点和优点。根据下面的说明和所附的权利要求书本发明的这些和其它特点将变得完全显而易见,或者可通过在下文中阐述的本发明实施认识到。


为了描述可获得本发明的上述和其它优点和特点的方式,将通过参考在附图中所示的本发明的特定实施例,提供上面简要地描述的本发明的更详细的说明。要理解这些附图只描述本发明典型的实施例,因此不认为它们限制本发明的范围,将通过使用下面的附图更确切和详细地描述和解释本发明图1示出适合本发明原理的操作环境。
图2示出网络体系结构,可在供应客户机时便于增加自动化水平。
图3是流程图,示出一个方法的实例,用于供应计算机系统。
图4概略地示出网络体系结构的实例,能够提供对第一个网络的访问而限制对第二个网络的访问。
详细说明本发明的原理提供的是,在为计算机系统提供网络访问和设置计算机系统时增加自动化水平。客户机尝试变成被授权访问位于第二个网络(例如,因特网)的资源。这个客户将凭证发送到接入点,接入点以通信方式连接到(位于第一个网络或位于第二个网络的)能够授权访问第二个网络的服务器。这个服务器接收客户凭证并确定客户凭证是否授权访问第二个网络。
当不授权完全访问位于第二个网络上的资源时,服务器能够授权有限访问第一个网络和第二个网络,因此客户机能够下载用于得到全部访问位于第二个网络上的资源的提供文件。在一些实施例(例如,当服务器位于第一个网络上时)中,服务器能授权(至少有限的)访问第一个网络,而限制访问第二个网络。在另外的实施例(例如,当服务器位于第二个网络上时)中,服务器能授权有限访问第二个网络。能够使用多种多样的技术限制和/或有限访问网络,诸如例如虚拟局域网(“VLAN”)、互联网协议(“IP”)过滤、虚拟专用网络(“VPN”)或IP安全(“IPSec”)协议。
服务器为客户机提供一统一资源标识符(Uniform ResourceIdentifier)(“URI”),指向包括用于为客户机提供的信息的主文档。这个主文档还能包括更多指向子文件或其它主文档的URI,子文件包括配置子文件和注册子文件。在接收URI之后,客户机能够自动地下载任何适当的提供文件。可按照可扩展标记语言(“XML”)模式定义主文档和任何关联的子文件。
在客户机处可处理下载的注册子文件,以自动地显示可接收用户输入信息的用户界面。客户机可向服务器提交包括用户输入信息的第一个基于模式的文档。这可包括提交按照XML模式定义的XML文档。在提交第一个基于模式的文档之后,客户机可接收第二个基于模式的文档,这第二个基于模式的文档表示(例如,通过包括用户标识符和密码)已经授权客户机访问位于第二个网络上的资源。
在客户机处执行第三个基于模式的文档以设置客户机兼容操作第二个网络。这可包括执行从服务器接收的配置子文件。可执行配置子文件以配置连接类型、通信协议、认证类型、加密类型等等。实际上可在被下载之后的任何时候执行配置子文件。不要求在接收到用户输入信息之前或之后执行配置子文件。
在本发明的范围内的实施例包括计算机可读介质,用于含有或具有存储在其上的计算机可执行指令或数据结构。这样的计算机可读介质可以是任何能够被通用或专用计算机存取的可用介质。作为例子,但不限于此,这样的计算机可读介质可包括物理的计算机可读介质诸如RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备,或者任何能用于含有或存储所要的程序代码方法的其它介质,这些程序代码方法是以计算机可执行指令或数据结构的形式存储的,并可被通用或专用的计算机访问。
当通过网络或另外的通信连接(或者是有线的、无线的,或者是有线的或无线的组合)对计算机系统传送或提供信息时,这个计算机系统适当地将这个连接视为计算机可读介质。因此,将任何这样的连接适当地被看作计算机可读介质。上述的组合也应该包括在计算机可读介质的范围之内。计算机可执行的指令包括,例如,使通用计算机系统、专用计算机系统或专用处理设备执行某个功能或一组功能的任何指令和数据。计算机可执行指令可以是,例如,二进制、中间格式指令诸如汇编语言或甚至是源代码。
在这个说明和后面的权利要求书中,“逻辑通信连接”被定义为可使电子数据能够在两个实体诸如计算机系统或模块之间传送的任何通信路径。在两个实体之间的通信路径的实际物理表示是不重要的,并且可以随时间而改变。逻辑通信连接可包括系统总线、局域网(例如以太网、广域网、因特网、它们的组合,或者可帮助传送电子数据的任何其它路径的一部分。逻辑通信连接可包括有线连接、无线连接或者有线连接和无线连接的组合。逻辑通信连接也可包括调节或格式化部分电子数据的软件或硬件模块,以使得它们可以访问实现本发明原理的组件。这样的模块包括,例如,代理、路由器、防火墙、交换机或网关。逻辑通信连接也可包括虚拟网络的部分,诸如,例如,虚拟专用网络(“VPN”)或虚拟局域网(“VLAN”)。
在这个说明和后面的权利要求书中,“模式”定义为在一组计算机系统之间的共享词汇表的表示,允许这组计算机系统按照所表示的共享词汇表处理文档。例如,可扩展标记语言(“XML”)模式可定义和描述一类使用一种XML模式语言的模式结构的XML文档。这些模式结构可用于约束和说明如在XML文档中使用的数据类型、元素及其内容、属性及其值、实体及其内容以及标记的意义、用法和关系。因此,可访问XML模式的任何计算机系统能按照XML模式处理XML文档。而且,可访问XML模式的任何计算机系统可撰写或修改XML文档,供可访问这个XML模式的其它计算机系统使用。
模式被定义成包括文档类型定义(“DTD”),诸如,例如,以“.dtd”扩展名结尾的DTD文件。模式也被定义成包括万维网联盟(“W3C”)XML模式,诸如,例如,以“.xsd”扩展名结尾的XML模式文件。不过,对于一个特殊的DTD或XML模式,实际的文件扩展名是不重要的。实际上可利用模式定义任何数据类型,包括逻辑值、二进制数、八进制数、十进制数、十六进制数、整数、浮点数、字符、字符串、用户定义的数据类型,以及用于定义数据结构的这些数据类型的组合。可定义XML元素和属性代表由模式所定义的类型。在这个说明和后面的权利要求书中,“基于模式”指由模式和/或在模式内定义的。
图1和下列讨论旨在为可适合实现本发明的计算环境提供简要概略的说明。虽然不是必需的,但是将在计算机可执行指令的一般背景中描述本发明,诸如可在网络环境中由计算机执行的程序模块。通常,程序模块包括例程、程序、对象、组件、数据结构等等,用于执行特殊任务或实现特殊的抽象数据类型。计算机可执行指令、关联的数据结构和程序模块代表用于执行在此揭示的方法步骤的程序代码方法的实例。这样的可执行指令的特殊序列代表相应的实现在这样的步骤中所描述的功能的动作的实例。
参考图1,一实现本发明的典型系统包括通用计算设备作为常规的计算机120,它包括处理单元121、系统存储器122和系统总线123,系统总线123将包括系统存储器122在内的各种系统部件连接到处理单元121。系统总线123可以是几种类型结构总线中的任意类型,包括存储器总线或存储器控制器、外部总线以使用任何各种各样总线结构的局部总线。系统存储器包括只读存储器(ROM)124和随机存取存储器(RAM)125。基本输入/输出系统(BIOS)126可存储在ROM 124中,包含在计算机120的部件之间传输信息的例程,诸如在启动期间。
计算机120也可包括读写硬盘139的硬盘驱动器127、读写可移动磁盘129的磁盘驱动器128和读写可移动光盘131诸如CD-ROM或其它光学介质的光盘驱动器130。硬盘驱动器127、磁盘驱动器128和光盘驱动器130分别通过硬盘驱动器接口132、磁盘驱动器接口133和光盘驱动器接口134连接到系统总线123。驱动器和与它们关联的计算机可读介质为计算机120提供计算机可读指令、数据结构、程序模块和其它数据的非易失的存储。虽然在此所述的典型环境使用硬盘139、可移动磁盘129和可移动光盘131,也可使用其它类型的计算机可读介质存储数据,包括磁带、闪存卡、数字视盘、伯努利盒、RAM、ROM等等。
程序代码方法包括一个或多个可存储在硬盘139、磁盘129、光盘131、ROM124或RAM 125上的程序模块,包括操作系统135、一个或多个应用程序136、其它程序模块137和程序数据138。用户可通过键盘140、定点设备142或其它输入设备(未示出)诸如话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪等等将命令和信息输入到计算机120中。这些和其它输入设备常常通过与系统总结123连接串行接口146连接到处理单元121。可替换地,输入设备可通过其它接口诸如并行端口、游戏端口或通用串行总线(USB)连接。显示器147或另外的显示设备也可通过一个接口诸如视频适配器148连接到系统总线123。除显示器之外,个人计算机一般包括其它输出设备(未未出),诸如扬声器和打印机。
计算机120可在使用与一个或多个诸如远程计算机149a和149b这样的远程计算机的逻辑通信连接的网络化环境中运行。远程计算机149a和194b的每一个可以是个人计算机、客户机、路由器、交换机、网络PC、对等设备或其它普通网络节点,并且可包括上面涉及计算机120所述的许多或全部部件,尽管在图1中已经示出的只有存储器存储设备150a和150b和与它们相关的应用程序136a和136b。在图1中图示的逻辑通信连接包括局域网(“LAN”)151和广域网(“WAN”)152,只是作为例子在此提供它们,而不限于它们。这样的网络环境在办公室级或企业级计算机网络、企业内部互联网和因特网中是很普通的。
当在LAN网络环境(例如以太网)中使用时,计算机120通过网络接口或适配器153连接到LAN 151,可以是有线的或无线的接口。当在WAN网络环境中使用时,计算机120可包括有线的连接诸如例如调制解调器154、无线连接或其它建立在WAN 152上通信的工具。调制解调器154可以是内置的或外置的,通过串行接口146连接到系统总线123。在网络化环境中,涉及计算机120所示的程序模块或它们的一部分,可被存储在远程存储器存储设备中。应理解所示的网络连接是典型的,并且可以使用其它在广域网152上建立通信的工具。
虽然在图1示出可实现本发明原理的计算机系统实例,但是任何计算机系统可实现本发明的特点。在说明和权利要求书中,“计算机系统”被广义地定义为能够使用软件执行一个或多个功能的任何硬件组件或组件。计算机系统的例子包括桌面计算机、膝上型计算机、个人数字助理(“PDA”)、电话机(有线的或移动的两者)、无线接入点、网关、防火墙、代理、路由器、交换机、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型机、大型计算机,或者具有处理能力的任何其它系统或设备。
在本领域中熟练技术人员也应理解本发明可在实质上使用任何计算机系统配置的网络计算环境中实施。本发明也可以在分布式系统环境中实施,在这个环境中通过网络连接起来(或者通过有线连接、无线连接,或者有线连接和无线连接的组合)的本地和远程计算机系统,两者都执行任务。在分布式系统环境中,程序模块可定位在本地和远程存储器存储设备中。
依照本发明,用户界面、供应、账号维护和认证模块以及关联的数据,包括供应数据和用户数据柯被存储,并可从与计算机120关联的任何计算机可读介质存取。例如,这样的模块的部分和关联的程序数据的部分可包括在操作系统135、应用程序136、程序模块137和/或程序数据138中,以存储在系统存储器122中。当大容量存储设备,诸如例如硬盘139,连接到计算机120时,这样的模块和关联的程序数据可被存储在大容量存储设备。在网络化环境中,涉及计算机120所示的程序模块或其部分,可存储在远程存储器存储设备中,诸如例如,与远程计算机系统149a和/或远程计算机系统149b关联的系统存储器和/或大容量存储设备。执行这样的模块可在如前面所述的分布式环境中完成。
图4概略地示出网络体系结构400的实例,这个结构提供对第一个网络的访问同时限制对第二个网络的访问。网络体系结构400包括客户机405和服务器415。虽然不是必需的,可以如上面对计算机120所述的那样构成客户机405和服务器415的每一个。在此使用的术语“客户机”和“服务器”表示客户机405接收服务,诸如例如从服务器415访问网络413。虽然在这个背景中客户机405和服务器415(分别)是客户机和服务器,但是客户机405可以在另外的背景中充当服务器,而服务器415在另外的客户机中可充当客户机。
如在网络体系结构400中所示的,数据路由设备414分别通过逻辑通信链路433、434和435连接到网络411、网络412和网络413。数据路由设备414逻辑上代表能确定从网络411的接收的数据要传送到哪里,诸如例如,从客户机405接收的数据的计算机系统。也就是说,当数据路由设备414从网络411接收数据时,数据路由设备414能确定是否要将数据传送到网络412或网络413。象这样,数据路由设备414可被设置成允许访问一个网络(例如网络412)而限制访问另一个网络(例如网络413)。数据路由设备414可使用各种技术作出这个判断。
在一些实施例中,可以通过使用虚拟局域网(“VLAN”)来限制对位于网络413中的资源的访问。在这些实施例中,网络411、412和413的每一个可能是不同的VLAN的一部分。在网络体系结构中知道VLAN的设备可“标记”数据帧以向数据路由设备414表示数据帧将被路由至何处。例如,当不授权客户机405访问位于网络413的资源时,在网络411中的组件或逻辑通信链路433能标记来自客户机405的数据帧,表示要将数据帧路由至服务器415(或位于网络412的其它资源)。当授权客户机405访问网络413时,在网络411中的组件或逻辑通信链路433可标记来自客户机405的数据帧,表示在适当的时候要将数据帧路由至在网络413上的资源(例如,至因特网)或至在网络412(例如模式412)上的资源。
在其它实施例中,可通过互联网协议(“IP”)过滤限制对位于网络413上资源的访问。数据路由设备411、在网络411中的组件或在逻辑通信链路433中的组件可过滤互联网协议(“IP”)地址以限制客户机405对具有特殊IP地址的资源的访问。当不授权客户机405访问位于网络413上的资源时,可这样过滤IP地址使客户机405能访问位于网络412上资源的IP地址,而不能访问位于网络413上资源的IP地址。当授权客户机405访问网络413时,可这样过滤IP地址使客户机405能访问位于网络412和413两者上资源的IP地址。可替换地,当授权客户机405访问网络413时,IP过滤可完全停止。
在另外的实施例中,可通过使用虚拟专用网络(“VPN”)限制对网络413上资源的访问。当不授权客户机405访问位于网络413上资源时,可这样配置VPN使客户机405能访问位于网络412上的资源,而不能访问位于网络413上的资源。当授权客户机405访问位于网络413上的资源时,可这样设置VPN使客户机405能访问位于网络412和413上的资源。可替换地,当授权客户机405访问位于网络413上的资源时,VPN的使用可完全停止。
应该理解,VLAN、IP过滤和VPN技术只是一些技术的实例,可用于区别网络以便允许访问一个网络而限制访问另一个网络。应该理解可使用VLAN、IP过滤或VPN限制访问单个网络。例如,位于网络413上的服务器可为客户机405提供对位于网络413上资源的有限访问。对于本领域技术人员是显而易见的,在已经审查本说明之后,可使用除了VLAN、IP过滤和VPN技术之外的其它技术以允许访问一个网络而限制访问另一个网络。
应该进一步理解用于限制访问一个网络工作的技术也可用于提供对网络的有限访问。在一些实施例中,在网络上的服务器可为客户机提供对这个网络的有限访问。例如,位于网络413上的服务器可实现IP过滤以给客户机405提供对网络413的有限访问。包括在有限访问中的可以是访问存储提供文件的计算机系统或模块,提供文件是为得到对网络413的完全访问所需要的。可授权客户机405从这些计算机系统或模块下载提供文件,而拒绝访问位于网络413上的其它资源。
现在将描述本发明的一个使用VLAN技术的实例。图2示出网络体系结构200的实例,这个结构便于在供应客户机时增加自动化水平。网络体系结构200包括客户机205和服务器215,可以象上面为计算机120所述的那样构成它们中的每一个。
在一些实施例中,服务器215逻辑上代表远程认证拨入用户服务(“RADIUS”)服务器。也就是说,尽管实际上由单一系统所示,服务器215可包括独立的网络访问服务器(“NAS”)、独立的认证服务器和独立的共用记帐服务器。可将由服务器215逻辑上代表的服务器设置为使用RADIUS协议进行通信,更详细地说,可支持RADIUS属性EAP消息和消息认证器。服务器215可具有来自载入系统存储器中的各种各样不同的服务的模块,诸如例如,因特网信息服务(“IIS”)模块,因特网认证服务(“IAS”)模块,动态主机控制协议(“DHCP”)模块,活动目录(“AD”)模块,使得更易于实现本发明的原理。
网络体系结构200还包括数据路由设备214。数据路由设备214逻辑上代表专用计算机系统,诸如例如,路由器和/或交换机,可确定在包括在数据路由设备214中的端口之间如何传送数据。也就是说,当数据的一部分,诸如例如数据帧,被传入第一个端口(例如端口242)的时候,数据路由设备214可基于配置规则确定要将此帧在第二个端口(例如端口243)输出。例如,数据路由设备214可确定从接入点209接收的数据帧要被送往服务器215。还可以在同一端口将数据帧传入数据路由设备214和从数据路由设备214输出。
如在网络体系结构200中所示的,数据路由设备214分别通过相应的逻辑通信链路233、234和235连接到网络213、服务器215和接入点209。网络213实际上可以是任何类型的网络,诸如例如,公司或企业级网络或因特网。数据路由设备214可以是一设备,能够在单一广播域中基于准则而不是物理位置(例如,位于路由器的特殊一侧上的物理位置)将计算机系统聚合在一起。因此,可设置数据路由设备214将计算机系统分成不同的VLAN。如在图2中所示的,已经将数据路由设备214设置为将网络体系结构200分成VLANA、B和C。可将数据路由设备214设置为在如图2中所示的VLAN之间传送已标记的数据帧和未标记的数据帧两者。
已标记的数据帧是包括标记的数据帧,诸如例如,标记头部,标识与这个已标记的数据帧关联的VLAN和/或帧分类。可由知道VLAN的设备将标记头部插入数据帧,向数据路由设备214表示接收的已标记的数据帧所来自的VLAN的VLAN ID(VLAN标识符)。例如,接入点209可将标记头部插入来自的客户机205的数据,向数据路由设备214表示这个数据来自VLAN A。标记头部还可包括,可由数据路由设备214用于分类相应数据帧的其它控制信息。未标记的数据帧是不包括标记头部的帧。端口VLAN ID(“PVID”)可用于表示接收的未标记的数据帧所来自的VLAN。例如,可将在端口243所接收的未标记的数据帧分类为从VLAN B收到的数据帧。
可设置包括在数据路由设备214中的任何端口(例如端口242、243和244)传送已标记的数据帧而丢弃未标记的数据帧。另一方面,还可设置数据路由设备214的任何端口传送未标记的数据帧而丢弃已标记的数据帧。可将数据路由设备214的任意端口设置为传送已标记的和未标记的数据帧两者(混合端口设置)。
网络体系结构还包括接入点209。接入点209可以是有线的或无线的接入点,使客户机205和数据路由设备214之间的通信更容易。如在网络体系结构200中所示的,接入点209通过相应的逻辑通信链路231连接到客户机205。接入点209可通过其它相应的逻辑通信链路(未示出)连接到其它客户机(未示出)。接入点209包括端口251和252。可通过端口251在接入点209与客户机205之间传送数据。同样,可通过端口252在接入点209与数据路由设备214之间传送数据。接入点209可包括用于与其它计算机系统,诸如例如,其它客户机和/或数据路由设备这样的计算机系统通信的其它端口(未示出)。
在一些实施例中,接入点209是无线接入点,允许访问VLAN B(例如服务器215)和VLAN C(例如包括在网络213中的计算机系统)上的有线的计算机系统。可将接入点209设置为知道VLAN的设备,并可将标记头部插入从客户机205(或在VLAN A上的任何其它计算机系统)接收的、要被传送到VLAN B和/或VLAN C的数据帧中。可将接入点209设置为使用RADIUS协议进行通信,更详细地说,可支持包含客户机205(或任何其它客户机)的VLAN标记的RADIUS访问-接受消息。
在一些实施例中,客户机有可能连接除接入点209之外的一个或多个接入点(未示出)。接入点209和这些一个或多个接入点可以全部是同一服务提供商的接入点。另一方面,这些一个或多个接入点可以是一个或多个其它服务提供商的接入点,这些服务提供商不同于由接入点209提供访问的服务提供商。可向客户机205提供可用的服务提供商的列表。可接收用户的选择以初始化与包括在这个列表中的服务提供商的连接。
客户机可检测可用的无线网络,诸如例如,通过接收IEEE802.11标向帧和/或通过发送IEEE802.11探测请求帧以及接收IEEE802.11探测应答帧。标向帧可包括服务组标识符(“SSID”),这本质上是用于区别彼此之间的无线网络的网络标识符。通过使用标向帧和探测帧还可检测一个接入点的其它配置设定,诸如例如,数据传送速率、所支持的认证类型(例如开放的或共用的认证)、所支持的加密类型(例如,有线等效保护(“WEP”)或临时密钥完整性协议(“TKIP”))等等。
应该理解所列出的配置设定只是一些可能的配置设定的实例,并且除这些计算机系统实例之外,可确定大量的其它配置设定。例如,当在计算机系统之间建立连接时,可使用链路控制协议(“LCP”)协商配置设定,诸如例如,包大小、认证使用的协议、连接质量监控使用的协议、压缩等。在可LCP包的选项字段中包括数值(例如Configure-Request(配置请求)、Configure-Ack(配置确认)、Cofigure-Nak(配置不确认)和Configure-Reject(配置拒绝)包))))以协商这些配置设定。在LCP包中的选项字段内的类型字段中包括数值(例如,对于认证协议协商的数值3)。可在LCP包的选项字段内的数据字段中包括数值(例如十六进制值C227以表示EAP),为在这个类型字段所表示的协商类型提供相应的数据。当表示EAP的配置时,另外的数值(例如表示EAP-TLS的数值13或表示PEAP的数值25)可包括在LCP包中以表示所要的特定的EAP认证类型。
在客户机和服务器两者都支持特殊的EAP类型时,可确定性地选择(例如通过服务器215的管理员和/或客户机205的用户)这个特殊的EAP类型。因此,对于协商使用LCP包的必要性降低。在选择(无论是通过协商还是确定性地)EAP类型之后,计算机系统可通过按照所选择的EAP类型传送EAP消息(例如,开始消息、应答消息、请求消息、接受消息、拒绝消息等等)尝试彼此互相认证。例如,当选择EAP-TLS时,客户机可通过按照EAP-TLS的一系列EAP消息与服务器215通信,以被认证和可能被授权访问位于VLAN C上的资源。
在一些实施例中,EAP消息被封装在其它协议中。因此,尽管计算机系统本来可能不支持特殊的EAP类型,但是计算机系统能够传送封装的EAP消息。用于封装的一个协议是802.1X协议,被称为在LAN(局域网)上的EAP封装(“EAPOL”)。可将接入点209和数据路由设备214设置为支持EAPOL。因此,接入点209和数据路由设备214能传送特殊EAP类型的EAP消息,即使接入点209和数据路由设备214本来不支持这个特殊的EAP类型。另一种用于封装的协议是EAP-RADIUS,在RADIUS消息内封装EAP消息。通过可理解RADIUS协议但本来不理解EAP的计算机系统可使用EAP-RADIUS传输EAP消息。
图3是一流程图,示出为计算机系统供应的方法300。将相对于在网络体系结构200中所示的组件描述方法300。
方法300包括发送凭证的过程(过程301)。这可包括客户机发送凭证到服务器尝试由服务器认证。例如,客户机205可发送凭证到服务器215尝试由服务215认证。当客户机205连接至接入点209时,接入点209能检测到连接是活动的并可发送EAP-Request/Identify(请求/身份)消息到客户机205。可替换地,客户机可发送EAP-Start(开始)消息到接入点209,这会触发EAP-Request/Identify消息。客户机205可用包括用户标识符的EAP-Response/Identify消息响应EAP-Request/Identify。如果客户机205的用户具有与服务器215有关的账户,则这个用户标识符可以是由服务器215分配给这个用户的用户标识符。如果服务器215没有给客户机205的用户分配用户标识符,则客户机205可发送一个访客用户标识符。
接入点209可允许传送对于端口251的EAPOL包。也就是说,在端口251接收的EAPOL包可在端口252被传送出接入点209。不过,接入点209可阻塞传送其它类型的协议直到客户机205被认证(和被授权),诸如例如,超文本传送协议(“HTTP”)、DHCP和简单邮件传送协议(“SMTP”)。接入点209可将标记头部插入EAPOL包中(例如,EAP-Response/Identify),表示要将这个EAPOL包传送到VLAN B。
数据路由设备214可处理所插入的标记头部并将EAPOL包传送到VLAN B。服务器215可接收EAPOL包,将它传送到认证模块217进行认证。可替换地,接入点209和/或数据路由设备214可除去802.1X封装,并且代之以将EAP-Response/Identify消息封装在EAP-RADIUS消息中传送到VLAN B。因此,如果逻辑通信链路234包括其它RADIUS服务器,可通过这些其它的服务器将EAP-Response/Identify消息传送到服务器215。
取决于特定的EAP类型,服务器215可用多种多样的方式响应EAP-Request/Identify消息。服务器215可请求客户机205提供与用户标识符关联的密码。客户机205的用户可通过给服务器215提供密码进行应答。客户机205和服务器215也可以交换EAP消息以传递证书、密钥和所支持的密码组。依赖于EAP类型,其它凭证也可在客户机205和服务器215之间交换。
回到图3,方法300包括自动显示用户界面的过程(过程302)。这可包括自动显示能接收用户输入信息的用户界面,因此计算机系统的用户不需要预先知道如何在客户机205显示用户界面。例如,用户界面模块206能自动地在客户机205显示用户界面。
当凭证被送到服务器215时,认证模块217可接收凭证(例如,用户标识符和密码)并比较凭证和在用户数据库128中的项。如果凭证信息与在用户数据库218中的一个项匹配,则用户的身份被证实(也就是说,服务器215相信由用户标识符代表的用户是输入凭证信息的用户)。如果授权客户机205的已证实的用户访问位于VLAN C上的资源(例如,这个用户最近为它们的账户付费),那么可授权客户机205访问位于VLAN C上的资源。
另一方面,如果拒绝客户机205访问位于VLAN C上的资源,则服务器215可授权客户机205对位于VLAN B上的资源的有限访问。因此,如果客户机205当前不能访问位于VLAN C上的资源(例如,因特网资源),则客户机205能够用电子方式(从VLAN B)下载提供文件,以变成被授权访问位于VLAN C上的资源。当不能认证已经发送了访客凭证的用户时,或者不授权已认证的用户访问位于VLAN C上的资源(例如,当支付过期时)时,可拒绝客户机205访问位于VLAN C上的资源。
当拒绝客户机205访问位于VLAN C上的资源时,服务器215可发送按照按照PEAP加密和完整性检查的EAP-Notification(通知)到客户机205。EAP-Notification可包括指向主文档的统一资源标识符(“URI”),这个主文档包括为计算机系统提供对VLAN C上资源的访问的信息。指向主文档的URI可以是一HTTP统一资源定位符(“URL”),诸如例如,https//www.provider12.com/provisoning/master.xml或http//www.provider9.com/provisioning/master.xml。EAP-Notification还可包括用户要变成被授权访问位于VLAN C上资源而必须满足的条件(例如,注册,续订等等)。如果客户机205要通过访问所提供的URI完成下载,则接入点209可允许传送对于端口251的HTTP包。服务器215中发送命令到接入点209使接入点209允许传送HTTP包。
可替换地,服务器215可在PEAP内发送EAP Type-Length-Value(类型长度值)(“TLV”)对象到客户机205。TLV对象可包括指向主文档的统一资源标识符(“URI”),这个主文档包含用于为计算机系统提供对位于VLAN C上资源访问的信息。在一些实施例中,主文档(和子文件)可由不是URI的机制访问,诸如例如,通过访问来自可移动的计算机可读介质(软盘、闪存等等)的主文档和/或子文件。这在要求在能设置网络连接之前提供信息的环境中是有利的,诸如例如远程拨号。在建立连接之后,可随后从网络更新这个主文档(和子文件)。
主文档可以是按照XML主文档模式定义的XML文件,这个XML主文档模式对于在网络体系结构200中所述的计算机系统是可得到的。对于不同类型的连接,诸如例如,无线、数字用户线(“DSL”)、远程访问服务器(“RAS”)、LAN、因特网服务提供商(“ISP”)参考点、无线ISP(“WISP”)等等,可创建不同的主文档。因此,可实现本发明的原理,为计算机系统使用实际上任何类型的连接提供网络访问,包括所列的连接类型。主文档可包含子文件诸如帮助文件、配置文件、注册文件和定位文件的URL。主文档还可包含其它主文档的URL,诸如例如,当第一个ISP使用第二个ISP的服务时。
主文档还可包含存活时间(time-to-live)(“TTL”)值(例如,五分钟、二十四小时等等),表示要执行检查更新的主文档的时间。当检查指出更新的主文档是可用的,则可下载这个更新主文档(例如,到客户机205)。主文档可包括每个子文件的版本数字。当更新主文档时,可检查子文件的版本数字,并且当子文件的较新的版本可用时,可下载这些较新的版本(例如,到客户机205)。
应该理解本发明不受限于任何特殊类型的模式。不过,可用于实现本发明的原理的一种类型模式是XML模式。XML模式可定义在XML文档中使用的元素和相应的数据类型。下面是一实例XML主文档模式,定义可在XML主文档中使用的元素和相应的数据类型
<pre listing-type="program-listing"><![CDATA[<?xml version="1.0"?> <xsdschema xmlnsxsd=<http//www.w3.org/2001/XMLSchema> targetNamespace=<http//www.provision.org> xmlns="http//www.provision.org"elementFormDefault="qualified"> <xsdcomplexType name="Master"> <xsdsequence> <xsdelement name="TTL"type="xsdpositiveInteger"/> <xsdelement name="Name"type="xsdstring"/> <xsdelement name="FriendlyName"type="xsdstring"/> <xsdelement name="UpdateFrom"type="anyHttps"/> <xsdelement name="Subfile"maxOccurs="unbounded"> <xsdcomplexType><xsdsequence><xsdelement name="Schema" type="xsdstring"/><xsdelement name="URL" type="anyHttps"/><xsdelement name="Version" type="xsdpositiveInteger"/></xsdsequence><xsdattribute name=”Fragment” use=”xsdoptional”type=”xsdstring”/> </xsdcomplexType> </xsdelement> </xsdsequence> </xsdcomplexType> <xsdsimpleType name="anyHttps"> <xsdrestriction base="xsdstring"> <xsdpattern value="https//*"/> </xsdrestriction></xsdsimpleType></xsdschema>]]></pre>这个例示的XML主文档模式定义一个“Master(主要的)”complexType(行5-22),可用于创建为计算机系统提供的主文档。“Master”complexType还定义一个“TTL”元素(行7),代表存活时间。在主文档中TTL元素可用于表示何时应该更新主文档。“Master”complexType还定义了一个“UpdateFrom(更新来自)”元素(行10)。当在XML主文档中的一个TTL元素的值表示要更新这个XML主文档时,可访问与UpdateFrom元素关联的URL以下载这个XML主文档的更新版本。“Master”complexType还定义了一个“Subfile(子文件)”元素(行11-20),在主文档中可用其定义对子文件的访问。Subfile元素的“maxOccurs(最多发生)”属性表示在主文档中可包括的子文件的数量。值“unbounded”代表对于可包括在主文档中的子文件的数量没有限制。
在Subfile元素内定义的是“Schema(模式)”元素(行14)、URL元素(行15)和Version(版本)元素(行16)。可将模式元素包括在主文档中,表示与子文件关联的模式的名称。可将Version元素包括在主文档中,表示子文件的版本。可将URL元素包括在主文档中表示与子文件关联的模式可被下载的位置。在例示的XML主文档模式中,URL元素被定义为以文本前缀“https//”开始的文本字符串(行23-27)。不过,实际上在实现本发明原理的时候可以使用任何文本前缀,诸如例如“http//”、“ftp//”、“telnet//”等等。Subfile元素还可定义一个可选的“Fragment(片段)”属性,可包括在主文档中代表特殊的子文件(行18)。例如,为“#signup”的Fragment属性可用于表示注册子文件。在XML主文档内Fragment属性可与URL元素结合,以提供子文件的绝对位置,诸如例如,“https//www.provisiong.com/master.xml#signup”。
可将主文档和子文件存储在提供数据存储器219中。客户机205可访问所提供的URL(或URI)以下载主文档和任何适当的子文件。可使用HTTP或HTTPS的get(取)下载主文档和子文件。这包括使用HTTP或HTTPS get(取)从位于VLANB上的计算机系统下载文件,诸如例如,热点供应商(“HSP”)、ISP Web服务器或提供数据存储器219。可将下载的主文档和子文件存储在提供数据207中。
帮助子文件可以是按照XML帮助模式定义的XML文档,这个模式对于在网络体系结构200中所述的计算机系统是可得到的。帮助文件可包含连接到由服务器215支持的超文本标记语言(“HTML”)文件的URL,以帮助用户提供客户机205。帮助文件也可包括有关服务提供商的信息,这样用户可在注册前了解这个服务提供商。
位置子文件可以是按照XML位置模式定义的XML文档,这个模式对于在网络体系结构200中所述的计算机系统是可得到的。位置子文件可包括HSP的列表以及相应的HSP所在的邮政地址、旅馆和机场。因此,要去特殊地点的用户能够在到达这个特殊地点之前,下载从特殊地点访问一个网络(例如因特网)的提供文件。
应该理解本发明不限于在任何特殊位置连接一个网络。下面是一个实例XML位置模式,定义在位置子文件中可使用的元素和相应的数据类型,位置子文件表示网络访问可用的物理位置<pre listing-type="program-listing"><![CDATA[<?xml version="1.0"encoding="utf-8"?><xsschema targetNamespace=<http//tempuri.org/XMLSchema.xsd> elementFormDefault="qualified" xmlns=<http//tempuri.org/XMLSchema.xsd>xmlnsmstns=<http//tempuri.org/XMLSchema.xsd>xmlnsxs="http//www.w3.org/2001/XMLSchema"> <xscomplexType name="Location"> <xssequence> <xselement name="Street"type="xsstring"/> <xselement name="City"type="xsstring"/> <xselement name="State"type="xsstring"/> <xselement name="Country"type="xsstring"/> <xselement name="ZipCode"type="xsstring"/> <xselement name="AreaCode"type="xsstring"/> <xselement name="PhoneNumber"type="xsstring"/> <xselement name="SupportNumber"type="xsstring"/> <xselement name="Provider"type="xsstring"/> <xselement name="Category"> <xscomplexType><xschoice><xselement name="Hotel" type="xsstring"/><xselement name="Bar" type="xsstring"/><xselement name="Airport" type="xsstring"/> </xschoice> </xscomplexType> </xselement> </xssequence> </xscomplexType></xsschema>]]></pre>实例XML位置模式定义一个“Location(位置))”complexType(行7-31),可用其提供网络访问的位置信息。在位置子文件中可包括一个、一些或全部在行9-17定义的元素,以表示不同类型的位置信息,诸如例如,街道、城市、州、国家、邮编、电话地区号、电话号码、支持号码和供应商号码。Location complexType还定义了一个“Category”元素(行18-29),依次进一步定义位置的类别,诸如例如,可物理地定位访问网络所在的旅馆、机场和酒吧。
配置子文件是按照XML配置模式定义的XML文档,XML配置模式对于在网络体系结构200中所述的计算机系统是可访问的。配置子文件可包括对于客户机205可得到的网络的配置概要。当客户机205尝试访问无线网络时,配置子文件可包括相应于对于客户机205可访问的SSID的概要。配置子文件可包括用于配置认证、加密、支持的协议等等的信息。可将接收到的配置子文件存储在提供数据207中并由提供模块208为在特殊的网络上操作配置客户机205。
应该理解本发明不限于使用任何特殊接口连接到网络。不过,一种可用于连接网络的接口类型是无线接口(例如网络接口153可以是无线网络接口)。下面是一个实例XML配置模式,定义可在配置子文件中使用的元素和相应的数据类型,用于通过无线接口(例如无线接入点)连接网络<pre listing-type="program-listing"><![CDATA[<?xml version="1.0"encoding="utf-8"?><xsschema targetNamespaee=<http//tempuri.org/XMLSchema.xsd> elementFormDefault="aualified" xmlns=<http//tempuri.org/XMLSchema.xsd> xmlnsmstns=http//tempuri.org/XMLSchema.xsd xmlnsxs="http//www.w3.org/2001/XMLSchema"> <xscomplexType name="SSIDs"> <xssequence> <xselement name="ssid"type="xsstring"/> <xselement name="Priority"type="xspositiveInteger"/> <xselement name="Connection"> <xscomplexType> <xschoice> <xselement name="IBSS"type="xsstring"/> <xselement name="ESS"type="xsstring"/> </xschoice> </xscomplexType> </xselement> <xselement name="Authentication"> <xscomplexType> <xschoice> <xselement name="Open"type="xsstring"/> <xselement name="Shared" type="xsstring"/> <xselement name="WPA"type="xsstring"/> <xselement name="WPAPSK"type="xsstring"/> </xschoice> </xscomplexType> </xselement> <xselement name="Encryption"> <xscomplexType><xschoice> <xselement name="None"type="xsstring"/> <xselement name="WEP"type="xsstring"/> <xselement name="TKIP"type="xsstring"/> <xselement name="WRAP"type="xsstring"/> <xselement name="CCMP"type="xsstring"/> </xschoice> </xscomplexType> </xselement> <xselement name="KeyIndex"type="xspositiveInteger"/> <xselement name="802.1XAuth"> <xscomplexType><xschoice> <xselement name="None"type="xsstring"/> <xselement name="EAP-TLS"type="xsstring"/> <xselement name="EAP-PEAP_x002F_MSChapV2" type="xsstring"/></xschoice> </xscomplexType></xselement><xselement name="Non802.1XURL"type="xsstring"/><xselement name="PEAPParameters"><xscomplexType> <xssequence> <xselement name="Server_x0020_Validation" type="xsboolean"/> <xselement name="Server_x0020_Names" type="xsstring"/> <xselement name="Server_x0020_Certs" type="xsstring"/> <xselement name="CRL" type="xsstring"/> <xselement name="EAPType"> <xscomplexType> <xschoice> <xselement name="EAP-TLS" type="xsstring"/> <xselement name="EAP-MSChapV2" type="xsstring"/> </xschoice> </xscomplexType> </xselement> <xselement name="Fast_x0020_Reconnect" type="xsboolean"/> <xselement name="MSChapv2Parameters"> <xscomplexType><xssequenee> <xselement name="Windows_x0020_credentails" type="xsboolean"/> </xssequence> </xscomplexType> </xselement> </xssequence> </xscomplexType></xselement><xselement name="TLSParameters"><xscomplexType><xssequence> <xselement name="Smart_x0020_card" type="xsboolean"/> <xselement name="Local_x0020_Cert" type="xsboolean"/> <xselement name="Simple_x0020_selection" type="xsboolean"/> <xselement name="No_x0020_automatic_x0020_selection" type="xsboolean"/> <xselement name="Server x0020_Validation" type="xsboolean"/> <xselement name="Server_x0020_Names" type="xsstring"/> <xselement name="Server_x0020_Certs" type="xsstring"/> <xselement name="CRL" type="xsstring"/></xssequence></xscomplexType> </xselement> </xssequence> </xscomplexType></xsschema>]]></pre>这个实例XML配置模式定义了一个“SSID”complexType(行7-92),可用于为通过无线接入点连接到由SSID代表的网络配置参数。SSID complexType还定义“Connection(连接)”元素(行11-18)、“Authentication(认证)”元素、“Encryption(加密)”元素、“KeyIndex(密钥索引)”元素(行40)、“802.1Xauth(802.1X认证)”元素(行41-49)、“Non802.1XURL(非802.1XURL)”元素(行50)、“PEAPParameters(PEAP参数)”元素(行51-76)和“TLSParameters(TLS参数)”元素(行77-90)。
所定义的Connection元素(行11-18)进一步定义了网络所支持的连接类型。所定义的“IBSS”元素(行14)表示基本服务集的名称。可在配置子文件中包括IBSS元素,以将一个更有意义的网络名称与可能通过单无线接入点访问的网络的SSID关联。所定义的“ESS”元素(行15)表示扩展服务集的名称。在配置子文件中可包括ESS元素,以将一个更有意义的名称与构成单个网络和/或在可能通过一组无线接入点访问网络的时候的一组SSID关联。
所定义的Authentication元素(行19-28)进一步定义网络可能支持的认证类型。在配置子文件中可包括所定义的“Open”元素(行22),以表示开放认证。也就是说,认证不使用在由接入点认证时所要求的预共享密钥。在配置子文件中可包括所定义的“Shared”元素(行23),以表示在应用程序之间共享认证信息。在配置子文件中可包括所定义“WPA”元素(行24),以表示按照WiFi受保护访问进行认证。在配置子文件中可包括“WPAPSK”元素(行25),以表示按照WiFi受保护访问预共享密码进行认证。
所定义的Encryption元素(行29-39)进一步定义了网络可能支持的加密类型。在配置子文件中可包括一个、一些或全部在行32-36定义的元素,以表示不同的加密类型,诸如例如,无、WEP加密、TKIP加密、无线强认证协议(“WRAP”)加密和具有链接密码块的计数器消息认证代码协议(Counter withCipher Block Chaining Message Authentication Code Protocol)(“CCMP”)加密。
在配置子文件中可包括所定义的KeyIndex元素(行40),以表示密钥的位置,诸如例如,可用于加密或验证信息的密钥。
所定义的“802.1Xauth”元素(行41-49)进一步定义了网络可能支持的802.1X认证的类型。在配置子文件中可包括一个、一些或全部在行44-46定义的元素,以表示不同类型的802.1X认证,诸如例如,无、TLS和PEAP。
在配置子文件中可包括所定义的“Non802.1XURL”元素(行50),以表示可访问非802.1X认证的URL。这可实现与不支持EAP的传统系统兼容。
所定义的“PEAPParameters”元素(行51-76)进一步定义网络可能支持的PEAP选项。在配置子文件中可包括一个、一些或全部在行54-57和66的元素,以表示不同的PEAP选项,诸如例如,服务器验证、服务器名称列表、服务器证书散列、证书撤消列表(“CRL”)和快速重连接。所定义的“PEAPParemeters”元素(行51-76)还进一步包括一个“EAPType”元素,在配置子文件中可包括这个元素以表示由客户机认证服务器或者由服务器认证客户机。在配置子文件中可包括在行61和62的任一或两个元素,以表示不同的EAP类型,诸如例如,EAP-TLS和EAP微软询问/再播握手协议版本2(“EAP-MSChapV2”)。当表示EAP-MSChapV2时,在配置子文件中可包括行67的“MSChapV2Parameters”元素,以表示操作系统凭证是否应该用于认证。
所定义的“TLSParameter”元素(行77-90)进一步定义了网络可能支持的EAP-TLS选项。在配置子文件中可包括一个、一些或全部在80-87的元素,以表示不同的EAP-TLS选项,诸如例如,智能卡的使用、在客户机证书的使用、简单证书的使用选择、不使用证书的选择、服务器验证、服务器名称列表、服务器证书散列和证书撤消列表(“CRL”)。
注册(或续订)子文件可以是按照XML注册模式的XML文档,这个模式对于在网络体系结构200中所述的计算机系统是可访问的。在响应接收需要更多的信息的EAP-Notification(或TLV对象)(例如,允许访问位于VLAN C上的资源)时,客户机205可自动地下载注册文件。可由服务用户界面模块206处理注册文件,并在客户机205上自动地显示用户界面。因此,用户不需要预先知道如何使用户界面被显示。
XML注册模式可定义品牌信息、预订信息(例如,时期、价格等等)、供应商联系信息、支付方法的输入字段(例如,信用卡、付费伙伴、预付卡、证券(certificate)等等)、联系信息的输入字段(名称、地址、电话号码等等)、凭证类型、用户名、密码、RADIUS服务器证书等等。此外,可用各种各样不同的书写语言显示用户界面,诸如例如,英语、日语、法语或德语。使用XML语言标记可便于对不同书写语言的支持。
如果为续订注册显示用户界面,则可减少在用户界面接收的用户输入信息量。所显示的用户界面可只包括“YES(是)”或“NO(否)”控件用于授权更多的信用卡支付或其它电子支付选项。
回到图3,方法300包括一个功能性的面向结果的步骤,用于请求授权访问位于第二个网络上资源(步骤307)。步骤307可包括实现请求授权访问在第二个网络上资源的结果的任何相应过程。不过,在图3的例子中所示的,步骤307包括接收用户输入信息的相应过程(过程303)。所显示的用户界面可用于从位于客户机205的用户接收用户输入信息(例如,用户标识符、密码、名称、地址、信用卡信息等等)。当用户续订一个账户时,可接收更少的信息量。例如,如果预先注册的用户访问位于VLAN C上的资源,则账户维护模块216可访问用户数据库218以检索预先输入的用户信息,从而使用户免于必须重新输入用户信息。用户可选择“YES”控件提供授权信用卡支付或其它电子支付选项的用户输入信息。
步骤307也包括提交基于模式的文档的相应过程(步骤304)。这包括客户机提交包括用户输入的信息的第一个基于模式的文档到服务器。例如,客户机205可提交按照XML注册模式定义的第一个XML文档,包括在所显示的用户界面接收的用户输入信息。客户机205可使用HTTP或HTTPS post(发送)上载基于模式的文档至HSP、ISP网站或服务器215。账户维护模块216可具有基于Web的接口,用于接收使用HTTP和HTTPS post上载的基于模式的文档。在一些实施例中,基于Web到账户维护模块216的接口可处理包括在基于模式的文档内的用户输入信息并更新用户数据库218。
方法300还包括接收授权标志的过程(过程305)。这可包括接收第二个基于模式的文档,这个文档提供服务器授权客户机访问位于VLAN上的资源的标志。例如,客户机205可接收按照XML注册模式定义的第二个XML文档,这个文档提供客户机205被授权访问位于VLAN C上资源的标志。可在响应提交第一个基于模式的文档时接收第二个基于模式的文档。例如,在响应提交适当的用户输入信息时,客户机205可接收服务器215已经授权客户机205访问位于VLAN C上资源的标志。这可包括接收用户标识符和密码或者接收已经接受信用卡支付的信息。
当授权客户机205访问位于VLAN C上资源时,接入点209可允许当前对于端口251被阻塞的任何协议并可插入表示要将来自客户机205的数据传送到VLAN C的标记头部。服务器215可发送命令至接入点209,使接入点209允许协议并使接入点209插入适当的标记头部。
服务器215可设置一个会话超时,诸如例如,一小时,在这个时间过后接入点209将要求客户机重新认证。如果在重新认证时一个预订还有效,则客户机可通过提供适当的凭证至服务器215在后台重新认证。另一方面,如果在重新认证时预订时间期满,则服务器215可发送一个EAP-Notification(或TLV对象),使续订用户界面被显示在客户机205。预订时间可在指定的时间段(例如,一个月、24小时等等)之后或在指定的通过特殊的服务提供商连接的次数(例如,一次连接、十次连接等等)之后期满。在适当地完成续订用户界面之后,客户机205可被重新认证。
如果用户不适当地完成续订用户界面,则接入点209可停止在来自客户机205的数据中插入往VLAN C的标记头部,并可代之以开始插入往VLAN B的标记头部到来自客户机205的数据中。接入点209也可开始阻塞对于端口251的协议。服务器215可发送命令至接入点209,使接入点209阻塞协议并插入适当的标记头部。
与过程302至305并行地,方法300还包括执行基于模式的文档的过程(过程306)。这可包括执行第三个基于模式的文档,为访问第二个网络设置客户机。例如,提供模块208可执行按照XML配置模式定义的XML文档,以适当地为访问位于VLAN C上资源设置客户机205。提供模块208可从提供数据207检索先前下载的XML文档,诸如例如,配置子文件。
可执行配置子文件以配置连接类型、通信协议、认证类型、加密类型等等。实际上可在下载配置子文件之后的任何时候执行它。因此,可为访问位于网络上资源配置客户机,即使拒绝这个客户机访问这个网络。通过执行基于模式的文档,可在很少或无用户介入情况下重新设置客户机。这使用户免于必须手工地为客户机重新配置兼容操作网络。
在一些实施例中,当前使用第一个网络配置提供因特网访问的计算机系统被预先提供使用第二个网络设备访问因特网。例如,具有通过ISP访问因特网的计算机系统,可为通过无线热点访问因特网,在这个ISP网站注册。在向这个ISP注册的过程期间,计算机系统可为这个无线热点下载提供文件。因此,在连接这个无线热点时,可能已经适当地为通过这个无线热点访问因特网设置了计算机系统。此外,如果在向这个ISP注册的过程期间输入账户信息(例如,名称、地址、支付信息等等),则可能已经通过这个无线热点授权这个计算机系统访问因特网。
在不脱离本发明的精神或基本特征情况下,可用其它特定的形式实施本发明。应认为所述的实施例在任何方面只是例示性的而非限制性的。因此,本发明的范围是由所附的权利要求表示的,而不是前面的说明。应将在权利要求的等效意义和范围内得出的所有改变包括在权利要求的范围内。
权利要求
1.在可通过中间的计算机系统网络连接到第二个网络和第一个网络的计算机系统中,所述第二个网络包括一组资源,所述第一个网络至少包括用于为所述计算机系统提供对第二个网络的资源的访问,所述中间的计算机系统确定是否将数据从所述计算机系统传送到第一个网络或第二个网络,以使得可允许访问第一个网络而限制访问第二个网络,第一个网络还包括可授权计算机系统访问第二个网络的服务器,一种为所述计算机系统提供对第二个网络的访问以便减少用户输入的方法,其特征在于,所述方法包括下列内容发送凭证至所述服务器,尝试由所述服务器认证的过程;自动显示用户界面的过程,所述用户界面可接收用户输入信息,以使得不要求所述计算机系统的用户事先具有如何使所述用户界面被显示的知识;接收用户输入到所述用户界面的信息的过程;提交包括用户输入信息的第一个基于模式的文档至服务器的过程;在提交第一个基于模式的文档之后,接收提供标志的第二个基于模式的文档的过程,所述标志表明服务器授权所述计算机系统访问位于第二个网络上的资源;以及执行第三个基于模式的文档,为访问第二个网络设置所述计算机系统,使得用户免于必须手工地设置所述计算机系统的过程。
2.如权利要求1所述的方法,其特征在于,所述发送凭证至服务器的过程包括,发送凭证至与服务器以通信方式连接的接入点的过程。
3.如权利要求1所述的方法,其特征在于,所述发送凭证至服务器的过程包括,发送EAP消息至服务器的过程。
4.如权利要求1所述的方法,其特征在于,所述发送凭证至服务器的过程包括,将EAP消息封装在IEEE 802.1X消息内的过程。
5.如权利要求1所述的方法,其特征在于,所述发送凭证至服务器的过程包括,将标记头部与所述凭证关联,以便表示要将所述凭证传送到包括所述服务器的虚拟网络的过程。
6.如权利要求1所述的方法,其特征在于,所述发送凭证至服务器的过程包括,发送凭证至互联网协议地址的过程,通过互联网地址过滤器组件使所述互联网协议地址能由所述计算机系统访问。
7.如权利要求1所述的方法,所述发送凭证至服务器的过程包括,在所述计算机系统和第一个网络之间建立虚拟专用网络的过程。
8.如权利要求1所述的方法,其特征在于,所述发送凭证至服务器的过程包括,包括发送用户标识符的过程。
9.如权利要求1所述的方法,所述发送凭证至服务器的过程包括,包括发送访客凭证的过程。
10.如权利要求1所述的方法,所述自动显示可接收用户输入信息的用户界面的过程包括,通过EAP接收包括指向主提供文档的URI的通知的过程。
11.如权利要求1所述的方法,其特征在于,所述自动显示可接收用户输入信息的用户界面的过程包括,通过PEAP接收包括指向主提供文档的URI的TLV对象的过程。
12.如权利要求1所述的方法,其特征在于,所述自动显示可接收用户输入信息的用户界面的过程包括,接收EAP-Notification的过程,所述EAP-Notification包括要变成被授权访问包括所述资源组的虚拟网络所要满足的条件。
13.如权利要求1所述的方法,其特征在于,所述自动显示可接收用户输入信息的用户界而的过程包括,访问URI以下载主提供文档的过程。
14.如权利要求1所述的方法,其特征在于,所述自动显示可接收用户输入信息的用户界面的过程包括,从包括所述服务器的虚拟网络下载文件的过程。
15.如权利要求1所述的方法,其特征在于,所述自动显示可接收用户输入信息的用户界面的过程包括,处理注册子文件以使所述用户界面被显示的过程。
16.如权利要求1所述的方法,其特征在于,所述自动显示可接收用户输入信息的用户界面的过程包括,显示包括为用户先前输入的用户输入信息的续订用户界面的过程。
17.如权利要求1所述的方法,其特征在于,所述提交第一个基于模式的文档的过程包括,提交按照XML注册模式定义的XML文档的过程。
18.如权利要求1所述的方法,其特征在于,所述接收包括所述服务器授权所述计算机系统访问第二个网络的标志的第二个基于模式的文档的过程包括,接收按照XML注册模式定义的第二个XML文档的过程。
19.如权利要求1所述的方法,其特征在于,所述接收包括所述服务器授权所述计算机系统访问第二个网络的标志的第二个基于模式的文档的过程包括,接收由所述服务器认证可使用的凭证的过程。
20.如权利要求1所述的方法,其特征在于,所述执行第三个基于模式的文档为访问第二个网络设置所述计算机系统的过程包括,执行按照XML配置模式定义的XML文档的过程。
21.如权利要求1所述的方法,其特征在于,所述执行第三个基于模式的文档为访问第二个网络设置所述计算机系统的过程包括,执行基于模式的文档,以设置所述计算机系统适当地与通过无线接入点访问的有线网络通信的过程。
22.如权利要求1所述的方法,其特征在于,所述执行第三个基于模式的文档为访问第二个网络设置所述计算机系统的过程包括,执行一基于模式的文档,以配置所述计算机系统适当地与DSL供应商通信的过程。
23.如权利要求1所述的方法,其特征在于,所述执行第三个基于模式的文档为访问第二个网络设置所述计算机系统的过程包括,执行基于模式的文档,以配置所述计算机系统适当地与ISP通信的过程。
24.如权利要求1所述的方法,其特征在于,所述执行第三个基于模式的文档为访问第二个网络设置所述计算机系统的过程包括,执行一基于模式的文档,以配置所述计算机系统适当地与以太网通信的过程。
25.如权利要求1所述的方法,还包括在发送所述凭证之后,为了下载变成被授权访问位于第二个网络上的资源组所需要的提供文件,接收所述服务器已经授权有限访问第一个网络的标志的过程。
26.如权利要求1所述的方法,还包括选择要被用于认证的EAP类型的过程。
27.在可通过中间的计算机系统网络连接到第二个网络和第一个网络的计算机系统中,所述第二个网络包括一组资源,所述第一个网络至少包括用于为所述计算机系统提供对第二个网络的资源的访问,所述中间的计算机系统确定是否将数据从所述计算机系统传送到第一个网络或第二个网络,以使得可允许访问第一个网络而限制访问第二个网络,第一个网络还包括可授权计算机系统访问第二个网络的服务器,一种为所述计算机系统提供对第二个网络的访问以便减少用户输入的方法包括下列内容发送凭证至所述服务器,尝试由所述服务器认证的过程;自动显示用户界面的过程,所述用户界面可接收用户输入信息,以使得不要求所述计算机系统的用户事先具有如何使所述用户界面被显示的知识;请求授权访问位于第二个网络上的资源的步骤;在提交第一个基于模式的文档之后,接收提供标志的第二个基于模式的文档的过程,所述标志表明服务器授权所述计算机系统访问位于第二个网络上的资源;以及执行第三个基于模式的文档,为访问第二个网络设置所述计算机系统,使得用户免于必须手工地设置所述计算机系统的过程。
28.一种计算机程序产品,用于在可通过中间的计算机系统网络连接到第二个网络和第一个网络的计算机系统中,所述第二个网络包括一组资源,所述第一个网络至少包括用于为所述计算机系统提供对第二个网络的资源的访问,所述中间的计算机系统确定是否将数据从所述计算机系统传送到第一个网络或第二个网络,以使得可允许访问第一个网络而限制访问第二个网络,第一个网络还包括可授权计算机系统访问第二个网络的服务器,所述计算机程序产品用于实现为所述计算机系统提供对第二个网络的访问以便减少用户输入的方法,其特征在于,所述计算机系统在一或多个计算机可读介质上存储着下列内容计算机可执行指令,用于发送凭证至所述服务器,尝试由所述服务器认证;计算机可执行指令,用于显示用户界面,所述用户界面可接收用户输入信息,以使得不要求所述计算机系统的用户事先具有如何使所述用户界面被显示的知识;计算机可执行指令,用于接收用户输入到所述用户界面的信息;计算机可执行指令,用于提交包括用户输入信息的第一个基于模式的文档至服务器;计算机可执行指令,用于在提交第一个基于模式的文档之后,接收提供标志的第二个基于模式的文档,所述标志表明服务器授权所述计算机系统访问位于第二个网络上的资源;以及计算机可执行指令,用于执行第三个基于模式的文档,为访问第二个网络设置所述计算机系统,使得用户免于必须手工地设置所述计算机系统。
29.如权利要求28所述的计算机程序产品,其特征在于,所述用于发送凭证至所述服务器尝试由所述服务器认证的计算机可执行指令,还包括用于协商所述计算机系统由所述服务器认证时使用的认证的类型的计算机可执行指令。
30.如权利要求28所述的计算机程序产品,其特征在于,所述用于显示可接收用户输入信息的用户界面的计算机可执行指令,还包括用于接收EAP-Notification(EAP通知)的计算机可执行指令。
31.如权利要求28所述的计算机程序产品,其特征在于,所述用于执行第三个基于模式的文档为访问第二个网络设置所述计算机系统的计算机可执行指令,还包括用于执行按照XML配置模式定义的XML文档的计算机可执行指令。
32.在可通过中间的计算机系统网络连接到提供一组服务的第一个虚拟网络和第二个虚拟网络的计算机系统中,所述第二个虚拟网络至少提供一个服务组的子集,以使得所述中间的计算机系统确定是否将数据从所述计算机系统传送到第一个虚拟网络或第二个虚拟网络,其中连接到第二个虚拟网络的服务器可提供用于更新计算机系统以访问在第一个虚拟网络上的服务的更新信息,一种更新所述计算机系统以访问第一个虚拟网络上的服务以便减少用户输入的方法,其特征在于,所述方法包括下列内容尝试访问在第一个虚拟网络上的服务的过程;自动地显示标志的过程,所述标志表明要为兼容访问所述服务更新所述计算机系统,以使得不要求所述计算机系统的用户事先具有如何更新所述计算机系统的知识;接收表示要求更新所述计算机系统的用户输入信息的过程;提交包括用户输入信息的第一个基于模式的文档至服务器的过程;在提交第一个基于模式的文档之后,接收包括用于所述计算机系统的更新信息的第二个基于模式的文档的过程;以及执行第二个基于模式的文档以更新所述计算机系统,使得用户免于必须手工地更新所述计算机系统的过程。
33.一个或多个在其上存储数据结构的计算机可读介质,所述数据结构包括名称字段,用于定义命名提供主文档的格式;使用期限字段,用于定义存活时间格式,所述存活时间格式表示应更新按照在所述名称字段中定义的命名格式命名的提供主文档的时间;以及子文件字段,用于定义格式,所述格式表示在按照在所述名称字段中定义的命名格式命名的提供主文档内的子文件。
34.如权利要求33所述的一个或多个在其上存储数据结构的计算机可读介质,其特征在于,所述子文件字段由下列内容组成模式字段,用于定义表示子文件模式的格式;以及URL字段,用于定义表示子文件URL的格式。
35.如权利要求33所述的一个或多个在其上存储数据结构的计算机可读介质,其特征在于,所述子文件字段由下列内容组成片段字段,用于定义表示相应于特殊的子文件的URL片段的格式。
36.如权利要求33所述的一个或多个在其上存储数据结构的计算机可读介质,还包括更新字段,用于定义格式,所述格式表示更新按照所述在命名字段中的命名格式定义的提供主文档的位置。
37.一个或多个在其上存储数据结构的计算机可读介质,所述数据结构包括连接字段,用于定义格式,所述格式表示由网络支持的连接类型;以及认证字段,用于定义格式,所述格式表示由所述在连接字段中定义的连接类型支持的认证类型。
38.如权利要求37所述的一个或多个在其上存储数据结构的计算机可读介质,其特征在于,所述认证字段由下列内容组成EAP字段,用于定义格式,所述格式表示EAP认证的类型。
39.如权利要求37所述的一个或多个在其上存储数据结构的计算机可读介质,其特征在于,所述认证字段由下列内容组成传统认证字段,用于定义表示可访问的位置的格式,以认证不支持EAP的计算机系统。
40.如权利要求37所述的一个或多个在其上存储数据结构的计算机可读介质,还包括加密字段,用于定义表示由所述连接字段定义的连接类型支持的加密类型的格式。
全文摘要
一个计算机系统尝试由服务器认证以获得授权访问第一个网络。所述服务器确定不授权所述计算机系统访问第一个网络。为了至少下载访问第一个网络所需的文件(例如,注册和配置文件)的目的,给所述计算机系统授权访问第二个网络。接收用户输入注册信息的用户界面自动显示在所述计算机系统上。将包括用户输入信息的第一个基于模式的文档传送到所述服务器。如果所述服务器确定用户输入信息是适当的,则所述计算机系统接收包括授权访问第一个网络的标志(例如,用户标识符和密码)的第二个基于模式的文档。在计算机系统上执行第三个基于大纲的文档,为访问第一个网络兼容地设置计算机系统。
文档编号H04L29/06GK1514619SQ20031012250
公开日2004年7月21日 申请日期2003年12月8日 优先权日2002年12月6日
发明者A·W·克兰兹, T·M·摩尔, D·M·阿伯拉罕姆, S·古戴, P·白尔, B·D·阿伯达, A W 克兰兹, 摩尔, 阿伯拉罕姆, 阿伯达 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1