具体实施方式
在进行本发明的各个实施例的描述之前,提供可以实现本发明的各实施例的计算机的描述。虽然不是必须,本发明将在诸如由计算机执行的程序模块那样的计算机可执行指令的一般情况中描述。通常,程序包括例行程序,对象,组件,数据结构等,它们完成特定任务或实行特定的抽象数据类型。这里用的术语“程序”可以不是单个程序模块或协同工作的多个程序模块。这里使用的术语“计算机”或“计算设备”包括用电子方法执行一个或多个程序的任何设备,如个人计算机(PC),手持设备,多处理器系统,基于微处理器的可编程消费者电子设备,网络PC,小型机、输入板PC、膝上计算机,具有微处理器或微控制器的消费者电器设备,路由器,网关,集线器等。本发明也能在分布式计算环境中使用,在那里任务由通过通讯网络连接的远程处理设备执行。在分布式计算环境中,程序可位于本地或远程的存储器存储设备中。
参考图1,示出其中可实施这里描述的本发明的诸方面的计算机102的基本配置的例。在此最基本的配置中,计算机102通常至少包括一个处理单元104和存储器106。处理单元104按本发明的各实施例执行指令来执行任务。在执行那样任务中,处理单元104能发送电子信号到计算机102的其他部分和计算机102之外的设备来引起某个结果。根据计算机102的精确配置及类型,存储器能量易失性(如RAM),非易失性(如ROM或闪存)或两者的某种组合。此最基本的配置在图2中用虚线108示出。
计算机102也能具有另外的特征/功能。例如,计算机102也能包括另外的存储器(可移除的和/或不可移除的),包括,但不限于,磁盘或光盘,或磁带。计算机存储介质包括以任何方法或技术实现的易失的和非易失的,可移除的和不可移除的介质,用于存储包括计算机可执行指令,数据结构,程序模块,或其他数据那样的信息。计算机存储介质包括,但不限于,RAM,ROM,EEPROM,闪存,CD-ROM,数字多功能盘(DVD)或其他光存储器,盒式磁带,磁带,磁盘存储器或其他磁存储设备,或任何能用于存储所希望的信息并能由计算机102访问其他介质。任何那样的计算机存储介质能是计算机102的一部分。
计算机102最好还包含通讯连结114,它允许该设备与诸如远程计算机116那样的其他设备通讯。通讯连接是通讯媒体的例子。通讯媒体通常体现在以诸如载波或其他传输机制那样的调制数据信号中的计算机可读指令,数据结构,程序模块和其他程序数据中,并包括任何信息提交媒体。作为例子但不作限止,术语“通讯媒体”包括诸如声音,RF,红外和其他无线媒体的无线媒体这里使用的术语“计算机可读介质”包括计算机存储介质和通讯媒体。
计算机102也能具有诸如键盘/键板,鼠标,笔,声音输入设备,接触输入设备等那样的输入设备118。也能包括诸如显示器,扬声器,打印机等的输出设备120。所有这些设备在本专业内是熟知的,不必在此阐述。
除非另外说明,在下面描述中,本发明将参照由一个或多个计算设备完成的动作或操作的符号表示来描述。因此可以理解,有时称为计算机可执行的那些动作和操作包括由计算机的处理单元对以结构形表示数据的电信号的处理。此处理转换了数据,或将其保持在计算机存储系统的位置中,此数据以本专业熟知的方式重新配置或更换计算机的操作。保持数据的数据结构是存储器的物理位置,它具有由数据的格式定义的特定属性。然而,虽然本发明以上述情况描述,这不意味着加以限止,如本专业人士理解,后面描述的各种动作和操作也能在硬件中实现。
参考图2描述适合于加入本发明的诸方面的计算机网络环境的例子。示例计算机网络环境200包括通过每个以云表示的若干计算机网络220,222,224,226,228互相通讯的若干计算机202,204,206,208,210,212,214,216,218(例如每个能是上面参考图1描述的计算机102)。每个计算机网络220,222,224,226,228能包括众知的组件,如路由器,网关,集线器等,并能允许计算机202,204,206,208,210,212,214,216,218通过有线和/或无线媒体通讯。当通过计算机网络220,222,224,226,228互相交互时,一个或多个计算机202,204,206,208,210,212,214,216,218相对于另外的计算机202,204,206,208,210,212,214,216,218能扮演客户机,服务器或对等设备的角色。因而,本发明的各实施例能在客户机,服务器,对等设备或其组合上实现,即使这里包含的具体例子不专指所有这些类型的计算机。
计算机202连结到计算机网络220。认证(Auth)服务器204也连结到计算机网络220,认证服务器在本专业是众知的,所以这里只强调它们的某些特征。认证服务器24是一类计算机(通常具有在该计算机上执行的认证服务应用程序或操作系统组件),它提供认证服务,如向成功地认证或本地保持来源可靠的认证状态的计算机发出认证权标。例如安全策略那样的计算机网络策略可要求,计算机在被授予对诸如文件,数据库,目录,打印机等的网络服务和资源的进一步访问之前应成功地认证。配置成域控制器的微软的Windows
XP服务器是认证服务器之一例。
计算机网络220通过防火墙206连接到网络222。防火墙是本专业众知的,所以这里只强调它们的某些特征。防火墙206是一类计算机(通常具有在计算机上执行的防火墙应用程序或操作系统组件),它对于到达该防火墙的计算机网络通信量强制实行计算机网络通信量策略,如安全策略。例如,防火墙260能允许某些类型的计算机网络通讯量从计算机网络222通过到计算机网络220,但阻断其他类型的通讯量。
计算机208连结到计算机网络224。认证服务器210也连结到计算机网络224。计算机网络224连结到计算机网络222。计算机212连结到计算机网络226。计算机网络226连结到计算机网络222。表示计算机网络222的云比表示计算机网络220,224,226,228的云大,表明计算机网络222是其他计算机网络经过它通讯的计算机网络(即中间网),例如,计算机网络224和计算机网络226通过计算机网络222通讯。计算机214连接到计算机网络222。计算机216和计算机218连接到计算机网络228。计算机网络228不连接到图2的其他计算机网络220,222,224,226。
图3示出适合于加入本发明的诸方面的示例高层系统结构。应用程序302得益于通过网络应用程序编程界面(API)306的网络服务304。网络API306包括一网络位置认知(network location awareness-NLA)组件308。NLA组件308包括一网络指纹组件310。
网络服务304包括诸如建立和维持通讯连接114(图1)的基本计算机网络服务。网络服务304包括由低层通讯设备和协议提供的服务,例如按电气电子工程师协会(IEEE)802.1x系列通讯标准,因特网协议(IP),传输控制协议(ICP)的设备和协议。网络服务304还能包括计算机网络底层结构服务,例如由动态主机配置协议(DHCP),因特网域名系统(DNS)等提供的服务。网络服务304也能包括较高层通讯服务,如由分布式组件对象模型(DCOM)等提供的那些。这些网络服务例子的每一个在本专业中是众知的,不需在此详述。对于示例的分布式组件对象模型的细节见微软的DeveloperNetwork(MSDN)库的DCOM段。
网络应用程序编程界面在本专业是众知的。Windows Socket2(Winsock)是合适的网络API306的例子,其细节在MSDN库中2003年2月的微软的Windows
Platform Software Devolopment Kit(SDK)文档的Windows Sovkets2段中。网络API306的网络位置认知组件308检索并监控计算机网络的属性。应用程序302能通过网络API306和带有网络位置认知组件308的寄存器访问计算机网络的属性,以便通知对计算机网络属性的改变。网络位置认知是本专业熟知的,所以这里只强调其某些特征。对于示例的网络位置认知组件的细节,见MSDN库中2003年2月的微软的Windows
Platform SDK文档的Network Location Awareness Service Provider段。
能由NLA组件308检索及监控的计算机网络属性的例子包括低层通讯设备操作参数,如按无线通讯标准的IEEE802.11序列的无线接入点的媒体访问控制(MAC)地址。如IP地址和IP子网规格那样的通讯协议操作参数也能由NLA组件308检索和监控。另外以计算机网络属性能包括底层结构服务配置和操作参数,操作参数如默认网关、DHCP服务器、认证服务器、DNS和其他名字服务器的网络地址;以及认证域名;服务器名;如全球统一识别符(GUID)那样的唯一的服务器识别符;和如由全球定位系统确定的服务器和/或网络单元的物理位置。NLA组件308能检索和监控任何合适的网络服务配置或操作参数。
NLA组件308能直接从网络服务304检索参数,或通过网络API306检索参数。如网络服务304配置和操作参数等计算机网络属性可分类为被动(Passive)和主动(active)的。在本发明的一实施例中,当检索主动的网络属性(ANA)时,由NLA组件308产生如一对请求和响应消息的计算机网络通信量,但在检索被动网络属性(PNA)时不产生计算机网络通信量。连结状态,IP地址,IP子网和默认的网关网络地址的通信媒体每个均是被动网络属性之例。在本发明的一实施例中,被动网络属性是在建立主动通讯连结之前存在的计算机网络属性。主动网络属性的例子包括认证状态(如来自可靠来源的远程认证服务器)和在存在远程网络服务时由远程网络服务提供者保持的其他网络服务属性。检索和/或检测主动网络属性改变比被动网络属性占用更多NLA组件时间。
不同的计算机网络能具有某些相同的计算机网络属性。例如图2的计算机网络220和计算机网络228能使用相同的专用IP子网(如192、168、1、0/24)。特定计算机网络的计算机网络属性能随时间改变。例如,在计算机网络226中的无线接入点的数目(图2)能随时间改变。计算机网络的这些特征是为什么对明确地确定特定计算机网络的身份是一个挑战的部分理由。
网络指纹组件310确定对被网络位置认知组件308认知的每个计算机网络的计算机网络识别符(NID),如GUID。在本发明的一实施例中,网络指纹组件310还相对于各种计算机网络确定对每个网络识别符的置信度级(“身份置信度”)。特定网络识别符的身份置信度能是正确识别被网络位置认知组件308认知的一个计算机网络的概率。例如,身份置信度能具有最小身份置信度值(如0%)和最大身份置信度值(如100%)之间的值。身份置信度能具有数量化标度上的值,如标度0(无置信度)到5(最高置信度)。
特定网络识别符的身份置信度能根据当前的和以前的网络属性组的比较。网络指纹组件310能具有对由网络位置认知组件308检索的每个网络属性的访问。网络指纹组件310可预订对由网络位置认知组件308监控的网络属性的改变。某些计算机网络可能不拥有可作为确定身份置信度的部分使用的特定的计算机网络属性,例如,某些计算机网络可以不包括认证服务器。对那些计算机网络可能不可用一个或多个最高级的身份置信度。
响应对被网络位置认知组件308认知的一个计算机网络的身份的请求,例如由一个应用程序302产生的请求,网络指纹组件310可以用网络识别符和每个网络识别符的身份置信度的响应组作为回答。例如,网络识别符的响应组按网络识别符的身份置信度的降序分类。在本发明的一实施例中,加入网络指纹组件310的计算机能交换关于被识别的网络(如网络识别符)与它们的邻网的信息,使能作共享的网络映射。
图4示出按本发明的一实施例的示例网络指纹组件310的结构。由网络指纹组件310保持的数据结构包括一组发出的网络识别符402,一组发出的被动网络属性404,和一组发出的主动网络属性406。每个发出的网络识别符能与一组被动网络属性关联,关还能与一组主动网络属性关联。发出的被动网络属性组404能包含与发出的网络识别符402关联的被动网络属性组。发出的主动网络属性组406能包含与发出的网络识别符402关联的主动网络属性组。
由网络指纹组件310保持的数据结构还包括一组当前的被动网络属性(PNA)408和一组当前的主动网络属性(ANA)410。在特例中,与加入网络指纹组件310的计算机连接的每个计算机网络具有被动网络属性的特别组和主动网络属性的特别组。在该特例中,对网络指纹组件310可用的那些被动网络属性(即在此例中从图3的网络位置认知组件308可用)可由当前的被动网络属性的组408所包含。在该特例中对网络指纹组件310可用的主动网络属性可由主动网络属性的组410所包含。
由网络指纹组件310保持的数据结构还包括一组当前的身份置信度(CIC)412,一组被动的网络属性(PNA)身份置信度修改符(ICM)414,一组主动的网络属性(ANA)身份置信度修改符(ICM)416,和一组学习的身份置信度修改符(LICM)418。在本发明的一实施例中,通过应用身份置信度修改符到基本置信度(如0%)对每个发出的网络识别符确定当前的身份置信度。在当前的被动的网络属性408匹配对应的发出的被动网络属性404时,能将被动的网络属性身份置信度修改符414应用到当前的身份置信度412。在当前的主动的网络属性410匹配对应的发出的主动网络属性406时,能将主动的网络属性身份置信度修改符416应用到当前的身份置信度412。学习的身份置信度修改符418能应用到当前的身份置信度412,来修改不依赖于当前主动的网络属性410确定的当前的身份置信度412。除非在下面另外表明或明显与上下文矛盾,若属性值之间的差在匹配容差由,计算机网络和其他属性可以匹配。
由网络指纹组件310保持的数据结构还包括一组被动网络属性(PNA)已改变的指示符420,和一组主动网络属性(ANA)已改变的指示符422。被动网络属性已改变的指示符420能包括表示当前的被动网络属性408何时最后一次更新的一个或多个时间标记;表示对应的当前被动网络属性408自从当前身份置信度412被最后一次确定后已经改变的一个或多个布乐值;或帮助重复确定身份置信度的任何合适的属性改变指示符。主动的网络属性已改变的指示符422组能包括类似的改变指示符。
在被动的网络属性列中示出被动的网络属性身份置信度修改符414,当前从动网络属性408,被动网络属性已改变的指示符420,和发出的被动网络属性404数据结构。在被动网络属性列中的每个数据结构能具有对每个被动网络属性的对应条目。在主动网络属性列中示出主动网络属性身份置信度修改符416,当前主动网络属性410,主动网络属性已改变的指示符422,和发出的主动网络属性406数据结构。主动网络属性列中的每个数据结构对每个主动网络属性能具有对应的条目。在发出的网络识别符行中示出发出的网络识别符402,当前身份置信度412,发出的被动网络属性404,学习的身份置信度修改符418和发出的主动网络属性406。在发出的网络识别符行中对每个发出的网络识别符能具有对应的条目。本专业人士明白,图4中示出的数据结构能保持在如关系数据库的一个或多个表中。
在本发明的一实施例中,对网络识别符的关键使用是作为对网络有关的配置和/或策略,如安全策略的索引。那样的配置和策略能早期在加入网络指纹组件的计算机初始化时,如在任何网络接口硬件和/或通讯连结114(图1)使能前被参照。网络指纹组件310作为初始化的一部分能频繁地接收对网络识别符的请求,如2分钟内100次请求。此计算机初始化过程对网络指纹组件310不必须是最重要的操作过程,但它确实帮助提供了关于将网络识别符与计算机网络相关联的方法的下面讨论的环境。
图5示出按本发明的实施例响应对网络识别符的请求能执行的示例步骤。图5中示出的步骤能对网络位置认知组件308当前认知的每个计算机网络(每个“当前计算机网络”)执行。一个或多个网络识别符能被添加到对带有由网络位置认知组件308认知的至少一个网络属性的每个计算机网络的响应组(返回的)。
网络指纹组件310通常不能预订被网络位置认知组件308认知的每一个网络属性。例如,网络指纹组件310能预订三个被动的网络属性,如网络接口硬件MAC地址,IP子网和认证域名,以及两个主动网络属性,如远程认证服务器的存在和远程认证服务器的认证状态。当网络位置认知组件310开始变得认知或检索到网络指纹组件310感兴趣的网络属性时,该网络位置认知组件308能将新的或更新的传送到网络指纹组件310。
网络指纹组件310能添加新的或经更新的被动网络属性到当前的被动网络属性408(图4),并更新对应的被动网络属性已改变的指示符420。网络指纹组件310能添加新的或经更新的主动网络属性到当前的主动网络属性410,并更新对应的主动网络属性已改变的指示符422。在当前的主动网络属性410成为可用之前,当前的被动网络属性408能成为可用。结果在步骤502,网络指纹组件310判断,对该计算机网络当前主动网络属性410是否变得可用,或是否它们当未确定(即,空)。若对该计算机网络的当前主动网络属性410已成为可用(即它们非空),则过程进到步骤504。否则过程进到步骤506。
在步骤504,例如通过检验主动网络属性已改变的指示符422判断,自从当前身份置信度412被最近一次计算以来当前主动网络属性410(图4)是否已改变。若当前主动网络属性410已改变,则过程进到步骤508,在那里确定当前的身份置信度412。否则跳过步骤508,过程进到步骤510。
在步骤506,例如通过检验被动网络属性已改变的指示符420判断,自从当前身份置信度412被最近一次计算以来,当前被动网络属性408(图4)是否已改变。若当前被动网络属性408已改变,则过程进到步骤508。否则跳过步骤508,过程进到步骤510。
在步骤508,确定对计算机网络的当前身份置信度412(图4)。确定当前身份置信度412的示例步骤在下面参考图6作更详细的描述。在步骤510判定,是否对该计算机网络的任何当前身份置信度412具有最大的身份置信度值(如100%)。若对该计算机网络的一个或多个当前身份置信度412具有最大值,则过程进到步骤512。否则过程进到步骤514。在步骤512,那些带有最大值的当前身份置信度412的发出的网络识别符402被添加到响应组(被返回给请求者)。
在步骤514判定,是否对该计算机网络的任何当前身份置信度412(图4)具有高于最小身份置信度响应阈值(如50%)。若对该计算机网络的一个或多个当前身份置信度412确定具有高于最小身份置信度响应阈值的值;则过程进到步骤516。否则过程进到步骤518。在步骤516,那些带着高于最小身份置信度响应阈值的发出的网络识别符402被添加到响应组(返回给请求者)。
在步骤518,发出新的网络识别符。例如,网络指纹组件能产生新的网络识别符,并将新的网络识别符添加到发出的网识别符402(图4)。与新的网络识别符关联的发出的被动网络属性404和发出的主动网络属性406可以是在确定对该计算机网络的当前身份置信度412中使用的当前被动的网络属性408和当前主动的网络属性410的值。与该新的网络识别符关联的当前身份置信度和学习的身份置信度修改符的值可以是它们对应的默认值。在步骤520,新的网络识别符被添加到响应组(即被返回给请求者)。对新的网络识别符返回的身份置信度能是非正常返回的特殊值,如0%,表明它是新的网络识别符(即以前未知的计算机网络),且不是以前发出的网络识别符的那一个(即以前识别的计算机网络之一)。
图6示出按本发明的一实施例确定对特定计算机网络的当前身份置信度值的示例步骤。在步骤602,与发出的网络识别符402(图4)关联的每个当前身份置信度被复位到初始身份置信度值,如0%。在步骤604,将被动的网络属性身份置信度修改符414被应用到与匹配当前的被动网络属性408的发出的被动网络属性404相关联的每个当前身份置信度上。按本发明的一实施例,应用被动的网络属性身份置信度修改符的示例过程在下面参考图7予以描述。
应用了被动的网络属性身份置信度修改符414(图4)之后,过程进到步骤606。在步骤606判断,对该计算机网络的当前主动网络属性410是否已变成可用,或它们仍然未确定(即空)。若当前主动的网络属性410尚未变得可用,过程进到步骤608。否则过程进到步骤610。
在步骤608,学习的身份置信度修改符418(图4)被应用到带有高于最小学习的修改身份置信度阈值(如20%)的值的对应的当前身份置信度412。按本发明的一实施例应用学习的身份置信度修改符的示例过程在下面参考图8描述。在步骤608之后,如上参考图5所述,可利用当前的身份置信度412。
在步骤610,主动的网络属性身份置信度修改符416被应用到与匹配当前主动的网络属性410的发出的主动的网络属性406相关联的每个当前的身份置信度。按本发明的一实施例应用主动的网络属性身份置信度修改符的示例过程在下面参考图9描述。步骤610之后,如上面参考图5所述,可以使用当前的身份置信度412。
图7示出按本发明的一实施例,将被动的网络属性身份置信度修改符应用到当前的身份置信度的示例步骤。在步骤702,从发出的网络识别符组402(图4)选择下一个发出的网络识别符(NID)作为候的网络识别符。每个发出的网络识别符能与一个或多个被动的网络属性如PNA1、PNA2和PNA3关联。在步骤704,选择下一个被动的网络识别符(PNA)作为候选的被动网络属性。候选的被动网络属性在当前被动网络属性408(当前值)的组及与候选的网络识别符(发出的值)相关联的发出的被动网络属性404的子集中均有条目。例如,PNA1具有在当前被动网络属性408中的当前值,和在发出的被动网络属性404中与候选的网络识别符相关联的发出值。
在步骤706,在当前被动网络属性408(图4)中的候选的被动网络属性条目与在发出的被动网络属性404中与候选的网络识别符关联的候选的被动网络属性条目相比较。若在当前被动网络属性值与发出的被动网络属性值之间存在匹配,则过程进到步骤708。否则过程进到步骤710。
每个被动网络属性能与一个或多个被动的网络属性身份置信度修改符414(图4)关联,例如,被动网络属性PNA1、PNA2和PNA3能关系到被动网络属性身份置信度修改符PNA ICM1、PNA ICM2,和PNA ICM3。在当前与发出的网络属性之间的匹配能增加在特定计算机网络识别中的置信度。某些身份置信度修改符,即正的(+ve)身份置信度修改符打算作为当前和发出的网络属性之间匹配的结果被应用。在当前和发出的网络属性之间的不匹配能减少在特定计算机网络识别中的置信度。某些身份置信度修改符,即负的(-ve)身份置信度识别符打算作为当前和发出的网络属性之间的不匹配的结果被应用。每个被动网络属性能与正的和负的被动网络属性身份置信度修改符相关联。
在步骤708,与候选的被动网络属性相关的正的被动网络属性身份置信度修改符(+ve PNA ICM)被应用到与候选的网络识别符相关的当前身份置信度。在步骤710,与候选的被动网络属性相关的负的被动网络属性身份置信度修改符(-ve PVA ICM)被应用到与候选的网络识别符相关的当前身份置信度。
在本发明的一实施例中,身份置信度修改符414、416和418(图4)能将当前身份置信度设置成特定值,或当前身份置信度的函数的结果,如设置成当前的身份置信度的线性变换的结果。例如,对IP子网的被动网络属性的身份置信度修改符能被“设置当前身份置信度到50%。对认证域名被动网络属性的正的身份置信度修改符可以被“增加20%到当前身份置信度”。对认证域名被动网络属性的负的身份置信度修改符可以被“从当前身份置信度减去20%。对IP子网规格被动网络属性的负的身份置信度修改符能被“设置当前的身份置信度为0%”。身份置信度修改符414,416和418也能是空修改符,即在应用到当前身份置信度时不起作用。
在步骤712判断,对该候选网络识别符是否还有更多被动网络属性的候选。若还有被动网络属性候选,则过程返回到步骤704。否则过程进到步骤714。在步骤714判断,是否还有更多发出的网络识别符候选。若对该计算机网络还有更多发出的网络识别符候选,则过程返回到步骤702。否则,被动的网络属性身份置信度修改符414(图4)已被应用到当前的身份置信度412。本专业人士明白,等价的过程是可能的,例如步骤704可以被理解成穿越身份置信度估值树的决策操作。
图8示出按本发明的一实施例将学习的身份置信度修改符应用到当前的身份置度的示例步骤。在步骤802,从发出的网络识别符402(图4)的组选择下一个发出的网络识别符(NID)作为候选的网络识别符。在步骤804判断,该候选的网络识别符的当前身份置信度是否高于最小学习的修改身份置信度阈值。若候选的网络识别符的当前身份置信度高于最小学习的修改阈值,则过程进到步骤806。否则过程进到步骤808。
每个发出的网络识别符能具有相关的学习的身份置信度修改符以及当前的身份置信度。在步骤806,与候选的网络识别符关联的学习的身份置信度修改符(LICM)被应用到候选的网络识别符的当前身份置信度。在本发明的一实施例中,存在当前身份置信度的封顶值,如80%,当前的身份置信度不能通过学习的身份置信度修改符提升到超过它。按本发明的一实施例,确定学习的身份置信度修改符的示例过程在下面参考图10予以描述。
在步骤808判断,是否还有更多的发出的网络识别符候选者。若存在更多的发出的网络识别符候选者,则过程返回到步骤802。否则,学习的身份置信度修改符418(图4)被应用到当前的身份置信度412。
图9示出按本发明的一实施例,将主动的网络属性身份置信度修改符应用到当前的身份置信度的示例步骤,此示例过程与参考图7的示例过程具有相似性。结果,参考图7描述的各方面能应用于此例,反之亦然。
在步骤902,选择下一个发出的网络识别符401(图4)作为侯选的网络识别符。每个发出的网络识别符能与一个或多个主动的网络属性,如ANA,和ANA2,相关联。在步骤904,选择下一个那样的主动的网络属性作为侯选的主动的网络属性。该侯选的主动网络属性具有在当前的主动网络属性410中的当前值,和在发出的主动网络属性406中与侯选的网络识别符相关的发出值。
在步骤906中,候选的网络属性的当前值和与侯选的网络识别符相关的发出值比较。若在当前的主动网络属性和发出的主动网络属性之间存在匹配,则过程进到步骤908。否则过程进到910。
如被动的网络属性的情况,每个主动的网络属性能与一个或多个主动的网络属性身份置信度修改符416(图4)相关。某些主动的网络属性身份置信度修改符能是正的主动的网络属性身份置信度修改符(+ve NAN ICM),作为在当前及发出的主动网络属性之间匹配的结果被应用。某些主动的网络属性身份置信度修改符能是负的主动网络属性身份置信度修改符(-ve ANA ICM),作为在当前及发出的主动网络属性之间不匹配的结果被应用。例如,主动的网络属性ANA1能与主动的网络属性身份置信度识别符+ve ANA ICM1相关,而主动网络属性ANA2能与主动网络属性身份置信度修改符+ve ANA ICM2和-ve ANA ICM2相关联。
在步骤908,与侯选的主动网络属性相关的正的主动网络属性身份置信度修改符被应用到与侯选的网络识别符相关的当前身份置信度。在步骤910,与侯选的主动网络属性相关的负的主动网络属性身份置信度修改符被应用到与侯选的网络识别符相关的当前身份置信度。对认证状态(带特定远程认证服务器),主动网络属性的示例正的主动网络属性身份置信度修改符是“设置当前身份置信度到100%”。对认证状态,主动网络属性的示例负的主动网络属性身份置信度修改符是“设置当前身份置信度到0%”。
在步骤912判断对该侯选的网络识别符是否还存在更多的主动网络属性侯选者。若存在更多的主动网络属性侯选者,则过程返回到904。否则过程进到步骤914。在步骤914判断,是否存在认为是对该计算机网络的更多的发出的网络识别符侯选者。若还存在更多的发出的网络识别符,则过程进到步骤902。否则该主动网络属性身份置信度修改符416(图4)已被应用到当前的身份置信度412。本专业人士明白,等价于所描述的例子的过程是可能的,例如,步骤906能理解成穿过身份置信度估值树的分支决策。
对特定的计算机网络的被动网络属性在主动网络属性之前变成可用。可能没有主动网络属性就不能达到高的网络身份置信度,如100%,例如被动网络属性可能是不安全的,或可能就是那种策略,即高的置信度网络识别包括由主动网络属性的确认。为了提供与主动网络属性无关的精确的网络身份置信度,可将学习的身份置信度修改符418(图4)应用到当前身份置信度412。
学习的身份置信度修改符418能开始作为默认的身份置信度修改符,例如作为空修改符。若主动网络属性在一旦变成可用时确认无关于主动网络属性作出的特定身份置信度测定,则相关的学习的身份置信度修改符将被增加,即如此转换,使得在应用时,学习的身份置信度修改符将导致更高的身份置信度值。若主动的网络属性与无关于主动网络属性作出的特定身份置信度测定矛盾,则有关的学习的身份置信度修改符能被减少,即如此转换,使得在应用时,学习的身份置信度修改符将导致更低的身份置信度值。例如,学习的身份置信度修改符能通过将学习的变量值加到身份置信度值修改身份置信度修改身份置信度。为增加此学习的身份置信度修改符,可将增加常数加到学习的身份置信度修改符,可将增加常数加到学习的变量上。为减少此学习的身份置信度,从学习的变量中减去该增加常数。在本发明的一实施例中,学习的身份置信度修改符418如此调节,使得对特定的计算机网络在主动网络变得可用之前和之后的当前身份置信度412之间的差最小。
图10和11示出按本发明的一实施例将学习的身份置信度修改符更新成为新可用的主动网络属性的结果的示例步骤。在图10的步骤1002,一个或多个主动网络属性已成为最新可用的。例如,网络位置认知组件308能通知网络指纹组件310(图3),该网络指纹组件310预订的主动网络属性的新的可用性。在更新当前的主动网络属性410(图4)之前判断,自从当前身份置信度412最近一次无关于主动网络属性地计算以来,该主动网络属性是否第一次变成新的可用的。
例如,网络指纹组件310可以将主动网络属性已改变的指示符422与被动网络属性已改变的指示符420作比较。若每个主动网络属性已改变的指示符小于(如具有较早的时间标记)最早的被动网络属性已改变的指示符,则可以确定,这是自从当前身份置信度412最近一次无关主动网络属性被计算以来主动网络属性第一次变成最新可用。若确实如此,则过程进到步骤1004。否则,过程进到步骤1006。
在步骤1004,无关于主动网络属性(pre-ANA CIC)计算的当前身份置信度412(图4)的拷贝被记录,如记录在临时存储器中。在步骤1006,用新可用的主动网络属性更新一个或多个当前主动网络属性410。在步骤1008,更新对应的主动网络属性已改变的指示符422。在本发明的一实施例中,步骤1006和1008作为基本更新操作出现。
在步骤1010,如上面参考图5描述地计算当前的身份置信度412(图4)。得到的当前身份置信度412(新CIC)被更新,以反映由新可用的主动网络属性提供的信息。在步骤1012,通过将记录的身份置信度(老的pre-ANA CIC)与新计算的当前身份置信度(新CIC)比较,调节学习的身份置信度修改符418。若特定的老的和新的身份置信度对比较结果较差(如具有大的差别),则可以调节对应的学习的身份置信度修改符,使得在未来计算中减少该差。与特定的老的和新的身份置信度对相关的学习的身份置信度修改符若比较良好(如具有低的差),则可以保持不调整。
图11示出按本发明的一实施例更新学习的身份置信度修改符的示例步骤。例如,图11中示出的步骤可用来执行图10的步骤1012。在步骤1102,选择下一个发出的网络识别符作为侯选的网络识别符。在步骤1104,候选的网络识别符的当前身份置信度(新CIC的一个)与最小学习的身份置信度阈值比较。若侯选的网络识别符的当前身份置信度高于最小学习的身份置信度阈值,如0%,则过程进行步骤1106。否则,过程进到步骤1108。
在步骤1106,侯选的网络识别符的新计算的(即上面参考图10描述的)当前身份置信度与该侯选的网络识别符的记录的身份置信度(即老的,pre-ANACIC)比较。若当前(新)身份置信度与记录的(老的)身份置信度比较结果很好(如匹配),则不希望调节到学习的身份置信度修改符,且过程进到步骤1108。若记录的身份置信度小于当前的身份置信度,则希望增加学习的身份置信度修改符,且过程进到步骤1110。若记录的身份置信度大于当前的身份置信度,则希望减少学习的身份置信度修改符,且过程进到步骤1112。
在步骤1110,侯选的网络识别符的学习的身份置信度修改符能(如线性地)增加,使得下次应用较高的当前身份置信度结果。例如,若在步骤1110之间学习的身份置信度修改符能是“增加20%到当前的身份置信度”,则在步骤1110之后,学习的身份置信度修改符能是“增加40%到当前的身份置信度。”在步骤1112,侯选的网络识别符的学习的身份置信度修改符可以(如线性地)减少,使得下次应用较低的当前身份置信度结果。例如,若在步骤1112之前学习的身份置信度修改符被“从当前身份置信度减少20%”,则在步骤1112之后,学习的身份置信度修改符被“从当前身份置信度减少40%。”
在步骤1108,判断,是否存在更多的发出的网络识别符侯选者。若还有更多的侯选的网络识别符,则过程返回步骤1102。否则按本发明的一实施例,学习的身份置信度修改符418(图4)已被调整。
包括出版的资料,专利申请及专利的所有这里引用的参考资料加入这里作为同样范围内容的参考,好象每个参考资料单独和特别地表明加入这里作为参考,并以其整体列举在这里。
在描述本发明的上下文中术语“a”和“an”和“the”及相关事物的使用(尤其在下面权利要求中)被解释为包括单数与复数,除非特地指出或明显与上下文矛盾。术语“comprising-由…组成”,“having-具有”,“including-包括”,“containing-包含”被解释为无终止的术语(即,意味着“包括但不限于”),除非另作说明。这里对值的范围的列举仅试图用作参照落入该范围的每个各别的值的简化方法,除非这里另作说明,且每个单独的值被加入到说明中,好象它在这里单独地被列举。这里描述的所有方法能以任何合适的次序执行,除非这里另外指出或明显与上下文矛盾。任何和所有例子或这里提供的示例语言(如“诸如”)的使用只试图更好地解释本发明,而不对本发明的范围提出限止,除非另加声明。在专利说明中没有语言被解释为将任何非权利要求的元素解释为对实施本发明是重要的。
这里描述了本发明的较佳实施例,包括发明者所知的完成本发明的最好方式。在阅读前面描述后,这里较佳实施例的变种对本专业人士是明白的。本发明期待专业人士合适的采用那些变动,且本发明者希望本发明在不同于这里说明性描述的情况实践。因此,本发明包括在附后的权利要求引用的被专利应用的法律允许的主题的所有修改及等价物。此外,在所有可能变种中上述元素的所有组合被本发明所包含,除非这里另外指出或明显与上下文矛盾。