具体实施方式
本发明的原理涉及一个第一计算系统中的请求者到第二计算系统中的一个验证者那里以一种不依赖于基础数据链路和物理层协议的方式验证第一计算系统。第一计算系统和第二计算系统用数据链路和物理层协议建立一个链路层连接。然后,第一计算系统中的请求者和第二计算系统中的验证者收到一个已经建立链路层连接的指示,然后,该请求者确定出现了与第二计算系统中的验证者的验证。其间,验证者确定出现了对第一计算系统中的请求者的验证。然后,请求者指示出现了与验证者的以一种不依赖于用来建立连接的基础数据链路和物理层协议的方式的验证。同样的,验证者指示出现了与验证者的以一种不依赖于基础数据链路和物理层协议的方式的验证。
本发明范围内的实施例包括可以携带或者可以传递或者计算机可执行指令或在其上存储数据结构的计算机可读介质。这样的计算机可读介质可以是任何可以通过一个普通用途或特定用途计算机进行访问的可利用的介质。为了示范,不是限定,这样的计算机可读介质能够包含例如RAM、ROM、EEPROM、CD-ROM的物理计算机可读介质,或其它光盘存储器、磁盘存储器、或其它的磁存储装置、或者任何其它以可执行计算机指示或数据结构的形式能够用来传送或存储有用程序代码的介质装置,可以通过一个普通用途或特定用途的计算机来进行访问。
当通过一个网络或另外一个通信连接(不是有线的、无线的连接就是有线或无线组合的连接)传递或提供信息到一个计算机时,该计算机作为一个计算机可读介质查看该部连接。因此,任何这样一个连接被称为一个计算机可读介质,上述的组合连接也被包括在计算机可读介质范围之内。计算机可执行指令包括例如任何指令和引导一个普通用途、特定用途的计算机的数据,或者实现某一种确定功能或功能组的特定用途处理装置。计算机可执行指令可以是例如二进制的、如汇编语言的中间格式指令、或甚至源代码。尽管不需要,在上下文中还是描述了计算机可执行指令的发明,如程序模块,能够在网络环境中通过计算机来执行。一般地,程序模块包括例行程序、程序、目标、组成成分、数据结构、等,执行特殊任务或实现特殊提取数据类型。
本发明可以在有多种类型计算机系统结构的网络处理环境中实现以提高现有技术,包括个人计算机、手持设备、多处理机系统、基于微处理机的或可编程的用户电子设备、网络PCs、小型机、大型计算机、等等。本发明也可以在分布式的处理环境中实施,任务由本地和远端处理设备通过一个通信网络的链路(不是有线链路、无线链路就是一个有线或无线的组合链路)来执行。在一个分布式处理环境中,程序模块可以放在本地和远端存储器存储装置中。
图1以一个计算机120的形式说明了采用本发明工作原理的合适的处理环境,计算机120包括一个处理单元121、一个系统存储器122、和一个系统总线123,系统总线123连接包括系统存储器122到处理单元121的多个系统组成部分。
系统总线123可以是下面几种类型的总线结构中的任何一种,包括一个存储器总线或存储控制器、一个外围总线、和采用多种总线结构中的任何一种的一个本地总线。系统存储器包括只读存储器(ROM)124和随机访问存储器(RAM)125,一个包含基本例行程序的基本输入/输出存储器(BIOS)126,帮助计算机120中各组成成分之间传递信息,例如启动,可以将信息存储在ROM124中。
计算机120也可以包括一个磁硬盘驱动器127,为了从一个磁硬盘139读取和写入数据;一个磁盘驱动器128,为了从一个可移动磁盘129读取或写入数据;一个光盘驱动器130,为了从如一个CD-ROM或其它的光介质的一个可移动光盘131读取或写入数据。磁硬盘驱动器127、磁盘驱动器128、和光盘驱动器130通过一个硬盘驱动器接口132、一个磁盘驱动器接口133、和一个光驱动器接口134连接到系统总线123。驱动器和与之相关联的计算机可读介质提供存储计算机可执行指令、数据结构、程序模块和计算机120其它数据的固定存储器。虽然在这里描述的环境样例使用了一个磁硬盘139、一个可移动磁盘129和一个可移动光盘131、其它能够用来存储数据的类型的计算机可读介质、包括磁带、闪存卡、数字影碟、柏努利盒式磁带、RAM、ROM,等等。
程序代码装置包括可以存储在硬盘139、磁盘129、光盘131、ROM124或RAM125上的一个或多个程序模块,包括一个操作系统135、一个或多个应用程序136、其它的程序模块137、和程序数据138。用户可以通过键盘140、指示装置142、或其它的输入装置(未示出)如麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等的把命令和信息输入到计算机120。这些和其它的输入装置经常通过一个连接到系统总线123的串行端口接口146连接到处理单元121。可选择的,输入装置可以通过如一个并行端口、一个游戏端口或一个通用串行总线(USB)的其它接口连接。一个监视器147或另一个显示装置通过一个如视频适配器148的接口也被连接到系统总线123。除了监视器之外,典型的个人计算机包括其它外围输出装置(未示出),如扬声器和打印机。
计算机120可以在一个网络环境中操作,逻辑连接到一个或多个远端计算机,如远端计算机149a和149b。远端计算机149a和149b可以是另一个个人计算机、一个服务器、一个路由器、一个网络PC、一个对等装置或其它的普通网络节点中的每一个,具有代表性的,包括许多或全部上面所述的关于计算机120的组成成分,虽然只在图1中举例说明了存储器装置150a和150b和相关的引用程序136a和136b。图1中所描述的逻辑连接包括一个局域网(LAN)151和一个广域网(WAN)152,这里的描述是为了举例,不是作为限定。这种网络环境是平常的办公室或企业计算机网络、企业内部互联网和因特网。
当用于一个LAN网络环境中时,计算机120通过一个网络接口或适配器153连接到本地网络151。当用于一个WAN网络环境时,计算机120可以包括一个调制解调器154、一个无线链路、或通过如因特网的广域网152建立通信的其它的装置。内置或外置的调制解调器154通过串行端口接口146连接到系统总线123。在一个网络环境中,所述的关于计算机120的程序模块或其中一部分可以储存在远端存储器存储装置中。所示样例的网络连接将会有更好的使用价值,其它通过广域网152建立通信的装置也是可以使用的。
图1说明了一个实现本发明工作原理的计算系统的例子,多种计算系统中的任何一个可以用适当的软件来实现本发明的特征。在说明书的描述和权利要求中,“计算系统(computing system)”被广泛的定义为能够用软件来实现一种或多种功能的任何一个或多个硬件组成部分。计算系统的例子包括桌上型电脑、膝上型电脑、个人数字助理(PDA)、电话、或有处理能力的任何其它的系统或设备。
图2说明了一个采用本发明工作原理的网络环境200。网络环境200包括一个可以与一个第二计算系统202进行通信的第一计算系统201,第一计算系统201启动一个请求者211,配置成在与第二计算系统202进行验证时辅助第一计算系统201的形式。因此,第一计算系统201在这里被称为“请求计算系统”201。第二计算系统202启动一个验证者221,配置成在与第一计算系统201进行验证时辅助第二计算系统202的形式。因此,第二计算系统202在这里被称为“验证计算系统”202。
请求计算系统201包括许多数据链路和物理层模块,至少其中的一个被配置成用相应的数据链路和物理层协议建立与验证计算系统202(和潜在的其它计算系统)的一个链路层连接。请求计算系统201可以包括许多数据链路/物理层模块的组合,甚至或许只是一个单一数据链路/物理层模块的组合。然而,在所图示的实施例中,请求计算系统201包括数据链路和物理层协议213、214、215和216、省略号217表示更多潜在的。数据链路和物理层协议不仅被用来建立数据链路层连接,也用相应的数据链路和物理层协议进行与验证者221的验证,并且当数据链路层连接建立时发布一个通知。
数据链路和物理层模块213至217可以运行任何数据链路和物理层协议。然而,为了举例说明,基于IEEE802.11的数据链路和物理层模块213一般用于无线网络,基于IEEE802.15的数据链路和物理层模块214经常用于蓝牙BLUETOOTH,基于IEEE802.3的数据链路和物理层模块215用于以太网,数据链路和物理层模块216基于GPRS。然而,并不限制用物理介质模块213至217实施的数据链路和物理层协议。
请求者211被配置成指示一旦收到一个数据链路和物理层模块213至217的相应链路层模块的数据链路层连接已经建立的通知,验证者221的验证就发生。此指令以一种不依赖于用来与验证计算系统202建立通信的基础数据链路和物理层协议的方式提供。一个提取模块212配置成把来自请求者211的通知转换成一种可以由创建链路层连接的数据链路和物理层模块(在本实施例中,指数据链路和物理介质模块215)解释的形式。如果由数据链路和物理介质模块215产生的通知不能直接由请求者211解释,提取模块212也可以做翻译该通知的服务。
验证计算系统202也包括许多数据链路和物理层模块,至少其中一个被配置成用相应的数据链路和物理层协议建立与请求计算系统201(和潜在的其它计算系统)的一个链路层连接。验证计算系统202也可以包括许多(甚至一个单一的)数据链路/物理层模块的组合。然而,在所图示的实施例中,验证计算系统202包括数据链路物理层模块组合223、224、225和2236、省略号227表示更多潜在的模块。数据链路和物理层模块不仅被用来建立数据链路层连接,也用相应的数据链路和物理层协议进行与验证者221的验证,当数据链路层连接建立时发布一个通知。
物理介质模块223至227可以运行任何数据链路和物理层协议。然而,为了举例说明,数据链路和物理层模块222至226分别基于IEEE802.11、IEEE802.15、IEEE802.3、和GPRS协议。在图示的实施例中,请求计算系统201的数据链路和物理层模块215与验证计算系统202同样的数据链路和物理层模块225建立一个数据链路层连接231。数据链路和物理层模块225与数据链路和物理介质模块215是一样的,有如同物理介质模块215一样的执行相同数据链路和物理层协议的能力。
验证者221配置成指示一旦收到从数据链路和物理层模块213至217中的一个发送的数据链路层连接已经建立的通知,请求者211的验证出现,此指令以一种不依赖于用来与请求计算系统202建立通信的基础数据链路和物理层协议的方式提供。一个提取模块222配置成把来自验证者221的通知转换成一种可以由创建链路层连接的数据链路和物理层模块(在本实施例中,指数据链路和物理介质模块225)解释的形式。如果由数据链路和物理层模块225产生的通知不能直接由验证者221解释,提取模块222也可以做翻译该通知的服务。
请求计算系统201和验证计算系统202可以是任何计算系统形式中的一种。然而,如果请求计算系统201采用图1的计算机120形式,请求者211、提取模块212、数据链路和物理层模块213至217可以分别是应用程序136或其它一个程序模块137中的一个。同样地,如果验证计算系统202采用图1的计算机120的形式,验证者201、提取模块222、数据链路和物理层模块223至227可以分别是应用程序136或其它一个程序模块137中的一个。在一个实施例中,请求者211和验证者221分别是IEEE802.1x请求者和验证者。
图3说明了一个请求计算系统201与验证计算系统202进行通信,以便完成请求计算机系统201的验证,或以一种不依赖于用于在请求计算系统和验证计算系统之间进行通信的基础数据链路和物理层协议的方式实现请求计算系统201或它的用户的验证的方法300的流程图。方法300可以在已经参照图2进行了详细描述的图2的网络环境200中实现。
方法300的一部分由请求计算系统201如图3左栏中“请求计算系统”标题下描述的步骤来运行;方法300另外一部分由验证计算系统202如图3右栏中“验证计算系统”标题下描述的步骤来运行;还有一部分由请求和验证计算系统如图3中间一栏“双方”标题下描述的步骤共同运行。
请求和验证计算系统与对方用一个数据链路和物理层协议组合相互作用来建立一个数据链路层连接(步骤301)。例如,参照图2,数据链路和物理层模块215和数据链路和物理层模块225相互协作形成连接213。
然后,请求计算系统201实现一种功能,请求者211以一种不依赖于基础数据链路和物理层协议的方式启动的验证的结果导向步骤(步骤311)。当该步骤可以包括任何实现该结果的相应步骤时,图示步骤311包括由请求者211运行的相应步骤312至314。
同样地,验证计算系统202实现一种功能,验证者221以一种不依赖于基础数据链路和物理层协议的方式启动的验证的结果导向步骤。当该步骤可以包括任何实现该结果的相应步骤时,图示步骤321包括由验证者221运行的相应步骤322至324。
更明确地,请求者211收到一个数据链路层连接231已经建立的指示(步骤312)。同样地,验证者221也收到一个数据链路层连接231已经建立的指示(步骤322)。这个指示可以从建立数据链路层连接的相应数据链路和物理介质模块组合形成一种通知的形式。
然后,当验证者221确定出现与请求者211的验证(步骤323)时,请求者211确定出现与验证者221的验证(步骤313)。这个确定可以相应从应用程序或用户收到的指令而形成。
然后,请求者211通知出现与验证者221的验证(步骤314)。这个指令可以被提供到建立连接的数据链路和物理层模块(在本实施例中,指数据链路和物理层模块215)。这个通知通过提取模块212提供,所以该通知可以不管是数据链路和物理层模块组合213至217中的哪个建立的连接。
当验证计算系统202上的数据链路和物理层模块225收到至少一个验证指示信息时(步骤325),请求计算系统201上的数据链路和物理层模块215收到至少一个请求指示信息(步骤315)。然后,数据和物理层模块315和数据链路和物理层模块325用相应的数据链路和物理层协议进行验证(步骤302)。
因此,本发明的工作原理允许一个计算系统采用一个请求者和一个验证者到另一个计算系统进行验证,请求者和验证者不需要与每个可以用来建立连接和验证的数据链路和物理层模块组合的特定接口。这种模式甚至可以使更复杂的请求者/验证者网络更容易实现。
图4说明了这样一种更复杂的网络400,不但包括第一计算系统201和第二计算系统202,而且包括一个第三计算系统403。第三计算系统403包括一个请求者431、一个提取模块432、和一个低层模块433至437,分别类似于关于第一计算系统201的描述中的组成成分211至217。第一计算系统201也包括一个验证者411和请求者211,验证者411类似于上面描述的验证者212,验证者411与提取模块212的接口采用与验证者221与提取模块222的接口同样的方式。
在这里,计算系统403通过连接402请求计算系统201从而进行计算系统403到计算系统201的验证,这个验证也不依赖于用来在计算系统403和201之间进行通信的数据链路和物理层协议,如同计算系统201和202之间的验证。通过连接402的数据链路和物理层协议通信甚至不需要如同通过连接231用于通信的数据链路和物理层协议。
图5说明了一种更复杂的网络来说明本发明可以创建请求和验证计算系统的任意网络的工作原理,作为例子的网络环境500包括计算系统501至509。请求从计算系统501的方向开始,运行两个请求者的实例511A和511B。请求者实例511A到计算系统502的验证者实例522进行验证,请求者实例511B到计算系统503的验证者实例523进行验证。计算系统502的请求者实例512A到计算系统504的验证者实例524进行验证,计算系统502的请求者实例512B到计算系统505的验证者实例525进行验证。计算系统504的请求者实例514到计算系统507的验证者实例527进行验证。计算系统505的请求者实例515A到计算系统508的验证者实例528进行验证,计算系统505的请求者实例515B到计算系统509的验证实例529进行验证。计算系统503的请求者实例513到计算系统506的验证者实例526进行验证。
如上面参照图2所描述的,这些验证中的每一个可以不依赖于基础数据链路和物理层协议进行。因此,请求/验证网络500可以通过一个或多个不同数据链路和物理层协议来实现,所以可以实现不依赖于数据链路和物理层协议的请求和验证,所以能够实现更灵活的请求网络。
本发明可以以不背离本发明的精神或本质特征的其它特定形式实现,所描述的实施例仅仅是用来进行说明的,不是用来进行限制的。因此,附加的权利要求比前面的描述更好地说明了本发明的范围,所有与权利要求的装置和范围等价的改变,都包括在请求保护的范围之内。