通过信任介质的用于非信任介质设备配置的可扩展架构的制作方法

文档序号:7611213阅读:247来源:国知局
专利名称:通过信任介质的用于非信任介质设备配置的可扩展架构的制作方法
技术领域
本发明一般涉及计算机系统,并且尤其涉及通过信任介质的用于非信任介质(例如,无线)设备配置的可扩展架构。
背景技术
使用具有计算机系统的无线设备的人数近年来增多了。例如,许多设备通过诸如WiFi(IEEE 802.11)和/或蓝牙的无线总线进行通信。
“蓝牙”指在设备之间允许设备之间的无线连接的短距离(例如,大约10米)频率跳跃无线链路的协议。蓝牙使用高斯移频键控以把数据调制成大约2.4GHz频率以及能支持点对点或点对多点通信。这个灵活性允许蓝牙的无线技术渗透各种应用中的市场,诸如心率监视器、PDA(个人数字助理)、以及例如键盘的人类接口设备(HID)。
一般地,关于WiFi,当用户来到无线网络的范围内,客户机设备能标识关于网络的两条信息,而不连接它(例如,来自无线网络信标)(1)网络的服务设定标识符(SSID)(例如,实质上是它的名称);以及(2)网络是否加密数据。如果网络使用加密,那么需要加密密钥。加密密钥可由用户根据802.1x协议手动地输入和/或发送。
用客户机设备能从无线网络信标中检索的信息,客户机设备能一般确定网络是未加密类型还是加密类型,或者外加使用WPA预共享的密钥加密的或使用WPA加密的Wi-Fi保护访问(WPA)信息元素。如果是未加密的,那么用户仅仅需要确认网络是不安全的,以及尽管该信息,他们依然希望使用该网络。然而,如果是加密的且不使用WPA,那么需要用户输入有线等同私密(WEP)密钥或是自动地分发WEP密钥的支持802.1x的网络(需要客户机计算机启用802.1x认证以完成连接)。
具有计算机系统的无线设备的使用能明显不同于有线设备的使用中。例如,可以要求无线设备的用户表明用户希望无线设备与哪个计算机系统和/或网络通信。此外,用户和/或无线设备能提供密钥以促进加密的通信。另外,计算机系统和/或无线设备能参与相互认证和/或处理走出范围外和重新出现的设备。
存在多个关于无线设备使用的安全问题。例如,一欺诈计算机系统和/或网络能在无线设备用户可把无线设备与用户选择的计算机系统和/或网络关联之前附加到无线设备上。此外,使用传统的系统,无线设备与特定计算机系统和/或网络的关联可花费过多的时间(例如,5分钟)。

发明内容
以下呈现了本发明简化的概要以提供对本发明一些方面的基本理解。该概要不是本发明的全面综述。它不是要标识本发明的重要/关键元素,也不是描绘本发明的范围。而是,该概要的唯一目的是以简化的形式呈现本发明的某些概念作为以下呈现的更为详细的描述的序幕。
本发明提供通过信任介质的用于非信任介质(例如,无线)设备配置的可扩展架构。该架构能用于关联使用非信任介质(例如,无线连接)的设备。通过使用例如有线连接的信任介质来影响关联。
该架构能促进设备的配置以通过非信任介质(例如,无线连接)通信(例如,安全地)。设备的配置至少可部分基于通过信任介质(例如,有线连接)被交换的信息。例如,设备能发送关联请求至驱动程序以及从驱动程序接收关联响应。“关联请求”指从设备发送至驱动程序的数据块以初始化关联。“关联响应”指从驱动程序发送至设备的数据块以完成关联(例如,成功和/或不成功)。
如果关联是成功的,那么关联响应能包括,例如,配置信息(例如,加密密钥)以使设备能通过非信任介质通信(例如,安全地)。如果关联是不成功的,那么关联响应能包括,例如,错误信息。
根据本发明的一个方面,驱动程序通过信任介质把接收到的关联请求从设备引导至管理管理器。驱动程序还能通过信任介质把从管理管理器接收到的关联响应提供至设备。或者,驱动程序能生成和提供关联请求至关联管理器。可选地,驱动程序还能确定用于关联请求发送的适当的时间。
本发明的另一个方面提供关联管理器以把关联数据指向适当的组件。关联管理器能从驱动程序接收关联请求。至少部分基于在关联请求内的路由信息,关联管理器能提供与关联请求关联的信息至具体的用于处理的处理程序。一旦具体的处理程序已经完成关联请求的处理,处理程序能提供关联响应至关联管理器。关联管理器能提供关联响应至请求驱动程序。
本发明还有另一个方面提供处理程序(可能与其他组件一起(未示出))以消耗关联请求和生成与关联响应关联的信息。处理程序至少部分基于关联请求的内容采取动作,如以下更加详细描述的。例如,动作能依赖于关联请求想要建立的连接类型。一旦具体的处理程序已经完成关联请求的处理,那么处理程序能提供关联响应至关联管理器。
该架构能包括存储与一个或多个处理程序关联的标识信息的处理程序登记表。关联管理器能使用存储在处理程序登记表内的标识信息以确定多个处理程序中的哪个处理程序提供具体的关联请求。
此外,该架构能选择性地包括存储与一个或多个驱动程序关联的标识信息的驱动程序登记表。关联管理器能使用存储在驱动程序登记表内的标识信息以确定一个或多个驱动程序中的哪个驱动程序例示,例如,在初始化期间。
为了前述的和相关目标的实现,以下的描述和附加的附图详细描述了本发明的某些说明的方面。然而,这些方面仅仅表示可使用本发明的原理的各种方式中的一些方式并且本发明是要包括所有这些方面和等同。当结合附图时,本发明的其他优点和新的特性将从以下本发明的详细的描述中变得明显。
附图描述

图1是根据本发明的一个方面的关联架构的框图。
图2是根据本发明的一个方面的关联请求的图。
图3是根据本发明的一个方面的关联响应的图。
图4是根据本发明的一个方面的关联管理系统的框图。
图5是根据本发明的一个方面的关联管理系统的框图。
图6是根据本发明的一个方面的关联处理程序系统的框图。
图7是根据本发明的一个方面的关联驱动程序系统的框图。
图8是根据本发明的一个方面的关联设备的方法的流程图。
图9是根据本发明的一个方面的促进设备的关联的方法的流程图。
图10是根据本发明的一个方面的通过USB连接关联设备的方法的流程图。
图11是进一步示出图10的方法的流程图。
图12是进一步示出图10和11的方法的流程图。
图13是根据本发明的一个方面的关联管理方法的流程图。
图14是根据本发明的一个方面的关联管理方法的流程图。
图15是进一步示出图14的方法的流程图。
图16是进一步示出图14和15的方法的流程图。
图17是根据本发明的一个方面的关联处理程序方法的流程图。
图18示出了示例操作环境,其中可实现本发明。
发明的详细描述现在参考附图描述本发明,其中相似的编号用于表示相似的元素。在以下描述中,为了解释的目的,描述了大量特定细节以提供对本发明的全面理解。然而,显然本发明可以在没有这些具体细节的情况下被实现。在其他实例中,以框图的形式显示了已知的结构和设备以促进描述本发明。
如在本申请中所使用的,术语“组件”、“处理程序”、“模型”、“系统”等是旨在指计算机相关实体,或者是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是,但不局限于,在处理器上运行的进程、处理器、对象、可执行的程序、执行的线程、程序、和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可驻留在执行的进程和/或线程内并且组件能被定位在一台计算机上和/或分布在两台或更多计算机之间。并且,这些组件能从各种具有存储在其上的各种数据结构的计算机可读介质中执行。组件可通过本地和/或远程进程通信,诸如根据具有一个或多个数据包的信号(例如,来自通过该信号与在本地系统、分布系统中的另一个组件交互的、和/或跨诸如因特网的网络中与其它系统交互的组件的数据)。计算机组件可被存储在,例如,计算机可读介质上,该计算机可读介质根据本发明包括,但不局限于,ASIC(专用集成电路)、CD(光盘)、DVD(数字化视频光盘)、ROM(只读存储器)、软盘、硬盘、EEPROM(电可擦可编程只读存储器)以及记忆棒。
此外,“信任介质”指信任连接,通过该信任连接关联信息能被传送以关联非信任介质。信任介质的例子包括,但不局限于,串行连接、并行连接和/或通用串行总线(USB)连接。“非信任介质”指正在被关联以建立信任的介质。诸如蓝牙和/或IEEE 802.11的无线连接是非信任介质的例子。
参考图1,示出了根据本发明的一个方面的关联架构100。架构100能用于关联使用非信任介质(例如,无线连接)的设备110。通过使用信任介质,例如,有线连接来关联。
“关联请求”指从设备110发送到驱动程序120的数据块以初始化关联。然后,关联请求能被转发到关联管理器130,关联管理器130转发关联请求至适当的处理程序140。“关联响应”指从驱动程序120发送至设备110的数据块以完成关联(例如,成功和/或不成功)。
架构100能促进设备110的配置以通过非信任介质(例如,无线连接)通信(例如安全地)。设备110的配置能至少部分基于通过信任介质(例如,有线连接)交换的信息。在一个例子中,设备110发送关联请求至设备120并从驱动程序120接收关联响应。如果关联是成功的,那么关联响应能包括,例如,配置信息(例如,加密密钥)以使设备110能通过非信任介质通信(例如安全地)。如果关联是不成功的,那么关联响应能包括,例如,错误信息。
在一例子中,设备110是支持无线并且还包括USB连接的数字照相机。USB连接(信任介质)能用于配置数字照相机的无线连接(非信任介质)。例如,“找到新的硬件”向导向能用于选择和/或创建无线简档以通过架构100传送至数字照相机。一旦简档信息已经通过USB连接传送至数字照相机,那么USB连接可被断开连接并且数字照相机能通过无线连接通信。
例如,驱动程序120能把接收到的关联请求通过信任介质从设备110导向至关联管理器130。驱动程序120还能通过信任介质提供从关联管理器130接收到的关联响应至设备110。在另一个例子中,驱动程序120生成和提供关联请求至关联管理器130。可选地,驱动程序120还能确定用于关联请求发送的适当时间。
还在另一个例子中,具体的驱动程序120能用于配置多个非信任介质。例如,驱动程序120能用于通过USB连接通信至多个通过多个非信任介质通信的设备110。
关联管理器130提供关联数据至适当的组件。关联管理器130能从驱动程序120接收关联请求。至少部分基于关联请求内的路由信息,关联管理器130能提供与关联请求关联的信息至具体的用于处理的处理程序140。一旦具体的处理程序140已经完成关联请求的处理,处理程序140能提供关联响应至关联管理器130。至少部分基于关联响应内的路由信息,关联管理器130能提供关联响应至请求驱动程序120。
处理程序140与实现设备安装的服务(未示出)接口。在一个例子中,处理程序140是架构100的具有关联请求的清楚知识的唯一组件。处理程序140至少部分基于关联请求的内容采取动作,如以下更加详细描述的。例如,动作能依赖于关联请求想要建立的连接类型。一旦具体的处理程序140已经完成关联请求的处理,那么处理程序140能提供关联响应至关联管理器130。
架构100能包括存储与一个或多个处理程序140关联的标识信息的处理程序登记表150。关联管理器130能使用存储在处理程序登记表150内的标识信息以确定多个处理程序140中的哪个处理程序提供具体的关联请求。
此外,架构100能选择性地包括存储与一个或多个驱动程序120关联的标识信息的驱动程序登记表160。关联管理器130能使用存储在驱动程序登记表160内的标识信息以确定一个或多个驱动程序120中的哪个驱动程序要实例化,例如,在初始化期间(如以下讨论的)。
尽管被描绘成单实体,本领域的技术人员将意识到设备110能包括发送和/或接收关联请求的对象以及最终与主机关联的对象(例如,目标设备),在一例子中,架构100仅仅支持一个关联请求和关联的关联响应。在该例子中,由设备110中需要的以促进关联的信息被嵌入在关联请求内。类似地,设备110所需的以促进关联的信息被嵌入在关联响应内。
参考图2,示出了根据本发明的一个方面的关联请求200。关联请求200包括关联请求头部210和一个或多个关联请求属性220(例如,属性类型、长度和数据)。属性是在关联请求和/或响应内的单项。例如,关联请求头部210能包括一组被全局定义的请求属性,类似于那些在以下描述关于关联请求属性220描述的格式。
在一个例子中,将关联请求和/或关联响应组织成能分析流。该流包括多个属性,每个属性具有定义的类型和关联的数据。这促进架构的灵活性和可扩展性。表1中描述了典型属性结构

表1该典型属性结构能被定义,例如,如typedef struct_PNG_ATTRIBUTE{USHORT AttributeType;USHORT AttributeDataLength;PBYTE Data;}PNG_ATTRIBUTE,*PPNG_ATTRIBUTE;表2在一个例子中,存在多个预定义的属性类型,这些属性类型要被系统本身所使用(例如,对多个关联类型所公用),并且不是特定于任何具体的关联类型。




表3典型的关联状态值是

表4
关联请求在该例子中,关联请求是多个属性。第一个属性是AssociationType。这用于标识请求应该被指向哪个处理程序。在这个例子中,该值是由处理程序(或某些与处理程序关联的规格)定义的GUID。例如,为了关联蓝牙设备,可存在蓝牙特定的GUID,以及被指定的处理具体GUID的处理程序。
关联请求内的第二个属性是Length。这是在该请求内的所有属性的总长度,包括AssociationType和Length字段本身。这用于协助分析,以使如果组件不对特定的AssociationType感兴趣,那么它能跳过整个请求而不必分析其中每个属性。
在这个例子中,紧随长度的属性被小心地定义以促进简单的设备能使用最小处理实现基本关联(例如,具有无固件的硅唯一解决方案的设备)。为了实现这个,能仅仅跳至结构内预定的偏移量以提取想要的数据是有帮助的。如此,在这个例子中,紧随长度的属性包括实现基本关联所需要的最少的数据。此外,属性能以预定的次序安排并总是存在。在一个例子中,实质上这个请求数据全部被包括在单个属性内。在这个例子中,任何可变长度的字段被定位在这些基本属性的末端以不影响关联请求内的偏移量。
在另一例子中,多个属性被使用,每个属性包括少量的数据。如此,可以理解的是可能跟随任何数量的属性,如果有的话,例如,以提供可扩展的功能。
关联响应转向图3,示出了根据本发明的一个方面的关联响应300。关联响应300包括关联响应头部310和零个、一个或多个关联响应属性320。例如,关联响应头部310能包括一组被全局定义的请求属性,类似于那些在以下关于关联响应属性320描述的格式。
关联响应属性320是包括属性类型、长度、和数据的一条数据。类似于以上讨论的关联请求,在一个例子中,关联响应是多个属性。在这个例子中,第一个属性是AssociationType。这用于回应导致该响应的关联请求的AssociationType。
关联响应内的第二个属性是长度(length)。这是这个请求中所有属性的总长度,包括AssociationType和length。这用于协助分析,以使如果组件不对特定的AssociationType感兴趣,那么它能跳过该响应而不必分析其中每个属性。
关联响应的第三个属性是AssociationStatus。这是通知设备关于关联请求的结果。在这个例子中,如果关联过程是成功的,那么该值将是0x0000,表示设备能继续读取关联响应内的属性。如果值是0xc0001,那么主机不能找到能处理指定的AssociationType的处理程序。在这种情况下,设备不应该做出任何关于关联响应内其他属性的假设。
如以上讨论的,紧随AssociationStatus的属性被小心地定义以允许简单的设备能使用最小处理实现基本关联。在这个例子中,为了实现这个,能仅仅跳至结构内预定的偏移量以提取想要的数据是必要的。所以这些属性包括实现基本关联所需要的最少的数据。在本例中,属性也以预定的次序安排并总是存在。任何可变长度的字段被定位在这些基本属性的末端以不影响关联请求内的偏移量。可以跟随任何数量的属性,如果有的话,以提供扩展的功能。
参考图4,示出了根据本发明的一个方面的关联管理系统400。关联管理系统400包括具有管理通信组件420和处理程序标识组件430的关联管理器410。系统400还包括处理程序登记表150,以及可选地,驱动程序登记表160。
关联管理器410负责提供关联数据(例如,关联请求和/或关联响应)到适当的组件(例如,处理程序和/或驱动程序))。管理器通信组件420能从驱动程序中(未示出)接收关联请求。管理器通信组件420能提供至少部分关联请求(例如,关联请求头部)到处理程序标识组件430。
基于由管理器通信组件420提供的信息和存储在处理程序登记表150内的标识信息,处理程序标识组件430标识关联请求被提供至的具体的处理程序(未示出)。在一个例子中,关联管理器410装载由处理程序标识组件430标识的处理程序。在另一个例子中,处理程序在初始化时被装载(如以下详细讨论的)。此后,管理器通信组件420提供与关联请求关联的信息至由处理程序标识组件430标识的处理程序。
一旦处理程序已经处理关联请求,那么处理程序提供关联响应至管理器通信组件420。然后,管理器通信组件420提供关联响应至请求驱动程序。
在一个例子中,关联管理器410认证关联请求。例如,关联管理器410能确定是否是合式的。如果请求不是合式的,那么关联管理器410能生成表明关联请求是异常的关联响应(例如,状态属性设置成ERROR_MALFORMED_ASSOCIATION_REQUEST)并提供关联响应至请求驱动程序。在这个例子中,关联管理器410使用以下的规则来确定关联请求是否是合式的a.请求长度至少足够大以保存Association Type和Length属性(例如,36字节);b.第一个属性是Association Type并且它的长度是适当的大小(例如,基于与具体的处理程序关联的全局唯一标识符(GUID));c.第二个属性是Length并且是适当的大小(例如,ULONG);d.Length属性的值比Association Type和Length属性大(例如,36字节),并且小于或等于请求的长度;e.随后的每个属性具有这样的长度,当被添加到请求内它当前的位置时不导致比Length属性大的值。
f.在请求内有且只有一个Association Type(关联类型)属性和一个Length属性。
接下来,关联管理器410确定是否存在已经为指定的关联类型登记的处理程序被包括在关联请求内(例如,存储在处理程序登记表150内的GUID)。如果没有找到处理程序,那么关联管理器410能生成关联响应,表明请求的关联类型不被支持并且提供关联响应至请求驱动程序。
如果找到处理程序,在这个例子中,那么关联管理器410能分析关联请求和提取属性列表。然后,关联管理器410能提供提取的属性列表至具体的处理程序。
如果关联管理器410不能成功地提供提取的属性列表至具体的处理程序,那么关联管理器410能生成表明具体的处理程序没有响应的关联响应并提供关联响应至请求驱动程序。
如果关联管理器410成功地提供提取的属性列表至具体的处理程序,在通过处理程序的处理完成后,在这个例子中,关联管理器410从处理程序接收关联响应属性列表。关联管理器410能确定关联响应属性列表是否是合式的。例如a.有且只有一个状态属性;b.不存在Length属性和Association type(关联类型)属性(例如,要由关联管理器410添加);c.如果关联请求包括最大响应长度属性,那么属性的总大小必须小于该值。
如果响应是合式的,那么关联管理器410至少部分基于关联响应属性列表生成关联响应(例如,字节数组)。例如,关联管理器410能a.合计在响应属性列表内的所有属性的总大小;b.合计关联类型和长度属性需要的大小;c.分配足够大的缓冲器以保存响应;d.设置缓冲器内第一个属性至来自关联请求的关联类型;e.通过使用计算好的响应长度把长度属性添加到缓冲器中;f.添加关联状态属性;g.添加每个其他属性以使它们在列表中。
然后,关联管理器410能提供关联响应至请求驱动程序。
在一个例子中,关联管理器实现以下接口interface IManager{HRESULT SendAssociationRequest(BYTE*AssociationRequest,ULONG AssociationRequestLength,PBYTE*AssociationResponse,PULONG AssociationResponseLength);}
表5SendAssociationRequest()由驱动程序调用以开始关联过程。关联响应作为字节数组返回,这能容易地被发送回设备。在一个例子中,驱动程序负责释放AssociationResponse。
参考图5,示出了根据本发明的一个方面的关联管理系统500。系统500包括关联管理器510、处理程序登记表150、驱动程序登记表160以及初始化组件520。
关联管理器510负责提供关联数据(例如,关联请求和/或关联响应)至适当的组件(例如,处理程序和/或驱动程序),如先前讨论地。然而,在这个例子中,初始化组件520使用存储在驱动程序登记表160内的信息以确定一个或多个驱动程序(未示)中的哪个要实例化,例如,在系统500的初始化期间。例如,驱动程序能在计算机系统(未示)的配置期间被登记(例如,手动地和/或自动地)。
在一个例子中,在系统初始化后,初始化组件520至少部分基于分别存储在驱动程序登记表160和处理程序登记表150内的信息标识驱动程序和处理程序。此后,初始化组件520创建被标识的处理程序和被标识的驱动程序的实例。
在这个例子中,对于每个处理程序,关联管理器510能检索关联类型数量并分配关联的存储缓冲器(例如,关联类型数量*sizeof(GUID))。该缓冲器能用于从处理程序中检索关联类型。在另一个例子中,处理程序分配存储空间并提供其至关联管理器。
关联类型可以是表示处理程序支持的特定关联类型的GUID的数组。对于每个检索到的GUID,要将条目添加到存储在处理程序登记表内的GUID至处理程序的映射的列表。例如typedef struct_ASSOCIATION_TYPE_MAPPING{GUID AssociationType;IHandler Handler;
}ASSOCIATION_TYPE_MAPPING,*PASSOCIATION_TYPE_MAPPING;表6然后,这个映射列表能由关联管理器510使用以确定关联请求至适当的处理程序的路由。
在这个例子中,一旦处理程序已经被创建并且它们的关联类型被发现,那么初始化组件520激活驱动程序。激活在处理程序已经被装载和初始化后发生以确保关联请求不被接收直到处理程序已经被发现和装载。例如,为了激活驱动程序,可调用“Start()”方法。
接下来,参考图6,示出了根据本发明的一个方面的关联处理程序系统600。系统600包括包含请求组件620、响应组件630和关联处理器的处理程序610。
处理程序610(连同可能的其他组件(未示))消耗关联请求并生成与关联响应关联的信息。
例如,请求组件620能从关联管理器(未示)中接收与关联请求关联的信息(例如,关联请求和/或分析的属性列表)。请求组件620能分析与关联请求关联的信息的内容以确定要采取什么动作。关联处理器640通过服务650促进动作。动作能依赖于例如,要建立的连接类型。一旦动作已经被完成,那么关联处理器640能提供关于关联的信息至响应组件630。然后,响应组件630能生成与关联响应关联的信息(例如,关联响应和/或属性列表),该信息能被提供至关联管理器。
在一个例子中,多个处理程序610实现以下的COM接口interface IPngHandler{//特性HRESULT Manager([in]IPngMgr newVal);HRESULT AssociationTypes([out,retval]PGUID*pVal);HRESULT AssociationTypeCount([out,retval]short*pVal);
//方法HRESULT HandleAssociationRequest(IAttributeList*RequestAttributes,IAttributeList**ResponseAttriibutes);表7在这个例子中,“管理器”是对于关联管理器的接口指针。此外“AssociationTypes”返回PONG Handler能处理的AssociationType GUID的数组。类似地,“AssociationTypeCount”是PONG Handler能处理的AssociationTypes的数量。
当关联管理器接收到处理程序610报告它支持的关联请求时,“HandleAssociationRequest()”被关联管理器调用。“RequestAttributes”是属性结构列表。处理程序610被期望分配需要的存储器以返回ResponseAttributes,该ResponseAttributes是将被返回至设备(未示)的属性的属性结构列表。
在另一个例子中,处理程序610存储关于设备的信息,例如,在数据库中用于将来一旦在目标介质上发现设备时的安装。例如,具体的处理程序610能关于Wi-Fi目标介质。在这个例子中,希望使用Wi-Fi目标介质的设备以属性列表形式发送关联请求并接收关联响应。属性列表能由处理程序610提供至随后能形成关联响应的关联管理器。
参考以下的表9、10和11,“属性”指与属性元素关联的友好得名称。“Attribute ID”是用于标识属性列表内属性元素的标识符(例如,编号)。“Length”指属性元素内数据的长度。属性长度能变化和/或固定,并且在这个例子中,以字节的形式表示。长度值也能指定最大长度。在关联响应中,在一个例子中,固定的长度能被使用以使值的偏移量是确定的;帮助设备的分析响应的能力。属性的真实值不会用完分配给数据的整个长度。在这些情况下,其他字段能指定属性数据的真实长度。“允许的数值”指描述由设备支持的数值的允许的值域。如果需要允许的数值,那么这表明如果该值包括在属性列表中那么设备必须支持该数值。除非在表9、10和/或11中描述的,数值应该被假设成是需要的。如果允许的数值是可选的,那么设备不需要支持数值,而应该为它被包括在属性列表中做准备。可选的数值可在这个规格将来的版本中变成是需要的。
无线协议IEEE 802.11标准组定义两种网络类型加密的网络(例如,WEP网络)和未加密的网络。由于WEP协议公知的弱点,实现的无线工业支持IEEE 802.1x标准作为用于解决在WEP协议的关键缺陷的机制,那些关键缺陷是用户认证、加密密钥管理和加密密钥分发。对于WEP加密的网络,用户需要提供加密密钥并且如果用户具有有效的证书(例如,诸如数字证书或用户名和密码),那么用于能支持802.1x网络的密钥被自动地提供。对于被加密的802.11网络,存在一个可用性问题,如当前不可能通过推理来确定用户是否需要输入WEP密钥或网络是否支持802.1x,而在这种情况下用户不需要输入它。
为了解决WEP算法基本的弱点,该弱点已经显示出加密较弱,对于标准的802.11组的安全增强被引进,称为Wi-Fi保护访问(WPA)。WPA也通过指定能支持WPA的访问点在它们的信标帧内包括的信息元素来解决原始802.11标准的某些可用性问题。这个信息元素特别描述了网络是否需要用户输入加密密钥,这称为WPA预共享的密钥模式(WPA-PSK)或密钥是否依靠用户证书自动地提供,这称为“WPA模式”。
有线等同私密WEP由IEEE 802.11标准定义并要提供等同于有线网络的数据保密性等级。由于无线LAN网络的本性,实现监控对于网络的物理访问的安全基础结构是困难的。不像有线网络需要物理连接,任何在无线访问点(AP)范围内的用户有可能发送和接收帧并且收听其他正在被发送的帧。这使得无线LAN帧的偷听和远程探查变得非常容易。
WEP通过加密在无线节点之间发送的数据来提供数据保密性服务。对于802.11帧的WEP加密通过在802.11帧的MAC头部内设置WEP标志来指示。WEP通过在无线帧被加密的部分内包括完整性检验数值(ICV)来提供用于随机误差的数据完整性。
以下的表示出了两种WEP定义的共享的密钥密钥类型描述多播/全局密钥 帮助保护从无线AP到所有它连接的无线客户机的多播和广播通信的加密密钥。
单播会话密钥帮助保护在无线客户机和无线AP之间的单播通信和通过无线客户机发送至无线AP的多播和广播通信的加密密钥。
表8WEP加密使用具有40位和104位加密密钥的RC4对称流密码。
Wi-Fi保护的访问WPA是被设计成提高WEP的安全特性的Wi-Fi标准。不像WEP,802.1x认证在WPA内是需要的。通过WPA,需要单播和全局加密密钥两者的重新加密。对于单播加密密钥,暂时密钥完整性协议(TKIP)改变每帧的密钥,并且同步无线客户机和无线访问点(AP)之间的改变。对于全局加密密钥,WPA包括用于无线AP的便利以把改变的密钥通告给连接的无线客户机。
TKIP把WEP替换成比WEP算法更强的加密算法。TKIP也提供在加密密钥被确定后的安全配置的验证;用于每帧的单播加密密钥的同步的改变;以及,用于每个预共享的密钥认证的唯一开始单播加密密钥的确定。
WPA还使用已知为“Michael”的方法,该方法指定计算8字节消息完整性代码(MIC)的算法。MIC位于IEEE 802.11帧的数据部分和4字节完整性检验数值(ICV)之间。MIC字段与帧数据和ICV一起被加密。
WPA是临时的标准,它将被IEEE的802.11i标准完成后所替代。
Wi-Fi处理程序关联类型是被包括在关联请求和关联响应的头部部分的属性,并且与数据属性分离。该属性由关联管理器使用以转发关联请求至正确的处理程序。在这个例子中,Wi-Fi处理程序410具有以下需要的关联类型

表9关联请求的数据部分包括这种属性类型特定的属性。以下的表格标识了关联管理器能转发至Wi-Fi处理程序610的典型的属性


表10
MAC地址MAC地址是包括MAC地址的48位数值的6字节数值。例如,0x00 0x070xE9 0x4C 0xA8 0x1C。
网络认证类型标志这组标志允许设备发信号通知所支持的“网络认证类型”类型。该信息能用于诊断目的。如果设备不能支持需要的属性,那么用户能被通知并被给予能起反应的指令以改正问题。在这个例子中,该字段的数值是以下数值的一个或多个的按位或0x0001=Open(打开)0x0002=WPAPSK0x0004=Shared(共享的)0x0008=WPA0x0010=WPA-NONE0x0020=WPA2在这个例子中,其他数值被保留并被设置成0。
数据加密类型标志这组标志允许设备发信号通知所支持的“数据加密类型”类型。该信息能用于诊断目的。如果设备不能支持需要的属性,那么用户能被通知并被给予能起反应的指令以改正问题。在这个例子中,该字段的数值是以下数值的一个或多个的按位或0x0001=WEP0x0002=TKIP0x0004=AES再次,在这个例子中,其他数值被保留并被设置成0。
连接类型标志这组标志允许设备发信号通知所支持的“连接类型”类型。该信息能被用于诊断目的。如果设备不能支持需要的属性,那么用户能被通知并被给予能起反应的指令以改正问题。该字段的数值是以下数值的一个或多个的按位或0x01=ESS(扩展的服务集)0x02=IBSS(独立的基本服务集)在这个例子中,其他数值被保留并被设置成0。
至少部分基于处理程序610与服务650的交互,响应组件630生成与关联响应关联的信息。继续结合Wi-Fi处理程序的例子,表11标识了典型关联响应属性。在这个例子中的属性列表中属性的长度是被固定的。如此,设备厂商能容易地跳到适当的偏移量以读取响应内任何给定的属性的数值。偏移量指属性的开始处。



表11SSID如先前描述的,SSID是用在广播无线网络中的字符串。
网络密钥网络密钥是用于保护网络安全的字符串。在这个例子中,以下的属性被放置作为在网络密钥的允许的数值上的限制。设备必须被准备以接受或拒绝以下的配置

表12WEP密钥当数据认证类型是WEP时,网络密钥可以是40位或104位WEP密钥的ASCII或十六进制表示。类型可由字符串的长度所确定。
WPAPSK口令短语如果网络密钥属性是0-63字符的ASCII字符串并且“网络认证类型”属性是WPA,那么网络密钥属性被用作口令短语以得到WPA二进制密钥。
自动提供的密钥(802.1x)“自动提供的密钥(802.1x)”属性描绘网络密钥是否通过801.x提供。当WPA-PSK、或WEP用于保护无线网络时的情况下,这通常被设置成0。
网络认证类型网络认证类型表明被需要以加入具体的网络的安全机制的类型。这个标志组指定以下机制中的哪些被使用0x0001=Open(打开)0x0002=WPAPSK0x0004=Shared(共享的)0x0008=WPA0x0010=WPA-NONE0x0020=WPA2在这个例子中,其他数值被保留并设置成0。值得注意的是,不像关联请求,这些标志是相互排斥的—一次只能设置一个标志。
数据加密类型该数值指定由无线网络部署的加密机制。这个标志组指定以下机制中的哪些被使用0x0001=WEP0x0002=TKIP0x0004=AES所有其他数值被保留并设置成0。值得注意的是,不像关联请求,这些标志是相互排斥的—一次只能设置一个标志。
连接类型连接类型定义无线网络的类型。这个标志组指定以下机制中的哪些被使用0x01=ESS0x02=IBSS所有其他数值被保留并设置成0。这些标志是相互排斥的。
接下来转到图7,示出了根据本发明的一个方面的关联驱动程序系统700。系统700包括包含信任介质通信组件720和驱动程序通信组件730的驱动程序710。
信任介质通信组件720通过信任介质(例如,USB连接)与设备740接口。在一个例子中,信任介质通信组件720从设备740接收关联请求(例如,与设备列举无关的关联请求开始的时间)。在另一个例子中,信任介质通信组件720接收请求的通知以发送关联请求。此后,驱动程序710生成通过驱动程序通信组件730被发送到关联管理器(未示)的关联请求。
在一个例子中,驱动程序710实现以下的接口interface IPngDriver{//特性HRESULT Manager([in]IPngMgr*newVal);//方法HRESULT Start();HRESULT Stop();}表13“管理器”是对于关联管理器的接口指针以使驱动程序能调用SendAssociationRequest。Start()由关联管理器当其希望驱动程序开始检测和发出新的关联请求时所调用。Stop()由关联管理其当其希望驱动程序停止发出新的关联请求时所(例如,当用户希望禁止通过具体的信任介质的关联时)调用。
在一个例子中,具体的驱动程序710能与USB信任介质相关。在该例子中,希望使用非信任介质的设备通过驱动程序710安全地发送关联请求和接收关联响应。
对于实现动态关联功能的设备,关联请求能独立于设备列举而被生成,在一个例子中,存在可选的中断IN端点。这个端点促进新的关联请求的通知。用于这个可选端点的标准端点描述符能在表14中找到

表14如果设备的接口不包括可选端点,那么关联仅仅在列举时间产生。如果这样的设备希望开始关联过程,那么它必须使设备启动的USB复位。这将导致设备由主机重新列举,在这点上主机将从设备中检索关联请求。在另一个例子中,设备也能实现HUB功能以导致关联功能如设备希望的那样到来和离开。
由于控制端点是唯一用于支持关联接口的设备的强制端点,必要的数据传送通过该端点发生。在这个例子中,这些传送用关联类请求的形式。
表15描绘了在一个例子中必须由设备支持的关联类请求的列表。

表15GET_ASSOCIATION_INFORMATION这个请求从设备中检索关联信息结构。关联信息包括REQUEST_INFO块列表。每个REQUEST_INFO块属于设备希望发出的单个关联请求bmRequestType10100001BbRequest GET_ASSOCIATION_INFORMATIONwValue 0x0000wIndex 接口wLength 请求的数据的长度Data ASSOCIATION_INFORMATION表16表17示出了典型的ASSOCIATION_INFORMATION结构


表17表18提供了典型的Association Information Flag(关联信息标志)信息

表18表19示出了典型的REQUEST_INFO结构

表19GET_ASSOCIATION_REOUEST该请求从设备中检索具体的关联请求。请求由wValue字段内的RequestID数值所标识bmRequestType 10100001BbRequest GET_ASSOCIATION_REQUESTwValueRequestID BlockNumberwindexInterface(接口)wLength Length of requested Data(请求的数据的长度)Data Association Request(关联请求)表20在这个例子中,请求块是4KB的数据块。控制传送的最大传送大小是64KB,所以16个请求块在理论上能在每个GET_ASSOCIATION_REQUEST内传送。实际要传送的数据量由wLength字段指定。在wValue字段内被指定的BolckNumber标识用于这个控制传送的开始块编号。所以,在这个例子中,设备540应该返回由在偏移量BlockNumber*4KB处开始的并传送wLength字节5的RequestID指定的请求的关联请求数据。
SET_ASSOCIATION_RESPONSE这个请求发送响应到特定的由wValue字段内的RequestID数值标识的关联请求bmRequestType 00100001BbRequestSET_ASSOCIATION_RESPONSEwValue RequestID TransferFlagswIndex Interface(接口)wLength Length of response Data(响应数据的长度)DataAssociation Response(关联响应)表21在这个例子中,TrasferFlags数值是在表22中找到的数值中的零个或多个的按位或

表22
关联中断IN消息NewAssociationRequest该中断IN消息对主机表明设备有需要被处理的新的或被修改的关联请求。在接收该消息后,主机能发出GET_ASSOCIATION_INFORMATION请求,并相应地处理请求。

表23可以理解的是系统100、设备110、关联管理器120、处理程序130、驱动程序140、处理程序登记表150、驱动程序登记表160、系统400、关联管理器410、管理器通信组件420、处理程序标识组件430、关联管理器510、初始化组件520、系统600、处理程序610、请求组件620、响应组件630、关联处理器640、服务650、系统700、驱动程序710、信任介质通信组件720、驱动程序通信组件730和/或设备740可以是计算机组件,如在此定义的术语。简要地参考图8-18,示出了根据本发明的可实现的方法。尽管,为了简要说明的目的,方法被显示和描述成多个框,可以了解和理解的是本发明不被这些框的次序所限制,因为根据本发明,某些框能以不同的次序和/或与在此显示的和描述的其他框同时发生。此外,根据本发明,不是所有示出的框都被需要以实现方法。
本发明可在由一个或多个组件执行的诸如程序模块的计算机可执行指令的一般上下文中被描述。一般地,程序模块包括执行具体任务或实现具体抽象数据类型的例行程序、程序、对象、数据结构等。一般地,程序模块的功能可按需地在多个实施例中被结合或分布。
参考图8,示出了根据本发明的一个方面的关联设备800的方法。在810,通过信任介质(例如,USB)建立连接(例如,设备的)。在820,通过例如设备和/或关联的驱动程序发出关联请求。在830,与关联响应关联的信息被接收(例如,从驱动程序)。信息能包括,例如,从关联管理器接收的关联响应。或者,信息能包括从关联管理器接收的关联响应的一部分。
在840,做出关联是否成功的确定。如果在840的确定是NO(否),那么没有进一步的处理发生。如果在840的确定是YES(是),那么在850,与关联响应关联的信息用于通过非信任介质(例如,无线连接)连接(例如,设备)。
接下来参考图9,示出了根据本发明的一个方面的促进设备900的关联的方法。在910,接收到与关联请求关联的信息。在920,做出关联请求是否被接收到的确定。如果在920的确定是NO,那么在930,生成关联请求并且处理在940继续。如果在920的确定是YES,那么接收到的关联请求被发送到,例如,关联管理器。
在950,关联响应从例如关联管理器中被接收。在960,与关联响应关联的信息被提供至请求设备。例如,信息能包括整个关联响应和/或关联响应的一部分。此后,没有进一步的处理发生。
接下来,参考图10-12,示出了根据本发明的一个方面的通过USB连接1000关联设备的方法。在1004,设备被列举和/或新的关联请求事件被发出。在1008,GET_ASSOCIATION_INFORMATION请求被发送到该设备,例如,通过驱动程序。在1012,通过例如驱动程序确定总的关联信息的大小(例如,大小=3+sizeof(REQUEST_INFO)*PendingRequestCount)。
在1016,通过例如驱动程序做出所有的关联信息是否实质上已经被接收的确定。如果在1016的确定是NO,那么处理在1008继续。如果在1016的确定是YES,那么在1020,做出PendingRequestCount是否大于0的确定。如果在1020的确定是NO,那么没有进一步的处理发生。
如果在1020的确定是YES,那么在1024,请求被标识以处理(例如,通过驱动程序)。在1028,确定传送的大小(例如,关联请求)。在1032,发送GET_ASSOCIATION_REQUEST。在1036,做出是否存在更多的请求数据的确定。如果在1036的确定是YES,那么处理在1028继续。如果在1036的确定是NO,那么在1040,请求的关联被处理并且生成关联响应(例如,通过关联管理器和/或处理程序)。
在1040,确定关联响应传送的大小。在1048,发送SET_ASSOCIATION_RESPONSE。在1052,做出是否存在更多响应数据的确定。如果在1052的确定是YES,那么处理在1044继续。如果在1052的确定是NO,那么在1056,做出是否存在更多请求的确定。
如果在1056的确定是YES,那么处理在1024继续。如果在1056的确定是NO,那么在1060,做出其他请求标志是否已经在关联信息内被发送的确定。如果在1060的确定是YES,那么处理在1008继续。如果在1060的确定是NO,那么没有进一步的处理发生。
参考图13,示出了根据本发明的一个方面的关联管理方法1300。在1310,从例如驱动程序中接收到关联请求。在1320,用于关联请求的处理程序被标识。在1340,做出是否存在用于关联请求的处理程序的确定。如果在1340的确定是NO,那么在1350,生成失败的关联响应并且处理在1360继续。
如果在1340的确定是YES,那么在1370,与关联请求关联的信息被发送至处理程序。例如,信息能包括关联请求和/或关联请求的一部分(例如,属性列表)。
在1380,与关联响应关联的信息从处理程序中接收。在1360,关联响应被提供给请求驱动程序。
参考图14-16,示出了根据本发明的一个方面的关联管理方法1400。在1404,从例如驱动程序中接收到关联请求。在1408,关联请求被验证。在1412,做出关联请求是否是合式的确定。如果在1412的确定是NO,那么在1416,生成表明异常的关联请求的关联响应,并且处理在1420继续。
如果在1412的确定是YES,那么在1424,用于关联请求的处理程序被定位。在1428,做出处理程序是否已经被找到的确定。如果在1428的确定是NO,那么在1432,生成表明关联类型不被支持的关联响应,并且处理在1420继续。如果在1428的确定是YES,那么在1436,分析关联请求并建立属性列表。在1440,属性列表被发送到标识的处理程序。在1444,响应信息从处理程序中接收。在1448,做出关联是否成功的确定。如果在1448的确定是NO,那么在1452,生成表明适当的错误状态的关联响应,并且处理在1420继续。
如果在1448的确定是YES,那么在1456,验证响应格式。在1460,做出响应是否是合式的确定。如果在1460的确定是NO,那么在1464,生成表明适当的错误状态的关联响应,并且处理在1420继续。
如果在1460的确定是YES,那么在1468,基于来自处理程序的响应生成关联响应。在1420,关联响应被提供给请求驱动程序,并且没有进一步的处理发生。
参考图17,示出了根据本发明的一个方面的关联处理程序方法1700。在1710,与关联请求关联的信息(例如,属性列表)被接收,例如,响应管理器。在1720,处理关联请求。在1730,响应信息被提供给关联管理器。
为了提供用于本发明的各个方面的其他上下文,图18和以下的讨论是要提供合适的操作环境1810的简要、一般的描述,在该环境中可实现本发明的多个方面。尽管本发明已经在诸如由一个或多个计算机执行的程序模块的一般计算机可执行指令的上下文中被描述,本领域的技术人员可以意识的是本发明也能结合其他程序模块和/或硬件和软件的组合所实现。然而,一般地,程序模块包括执行具体任务或实现具体抽象数据类型的例行程序、程序、对象、组件、数据结构等。操作环境1810仅仅是合适的操作环境中的一个例子,而不是要建议任何本发明的使用或功能范围的限制。其他公知的适合结合本发明使用的计算机系统、环境、和/或配置包括,但不局限于,个人计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包括以上系统或设备的分布式计算环境等。
参考图18,用于实现本发明的各个方面的典型环境1810包括计算机1812。计算机1812包括处理单元1814、系统存储器1816、以及系统总线1818。系统总线1818耦合系统组件,包括但不局限于,系统存储器1816到处理单元1814。处理单元1814可以是多种可用处理器中的任何一个。双微处理器和其他多处理器架构也能用作处理单元1814。
系统总线1818可以是多个总线结构类型中的任何一种,包括存储器总线或存储控制器、外围设备总线或外部总线、和/或使用多种可用总线架构中的任何一种的本地总线,多种可用总线架构包括,但不局限于,8位总线、工业标准结构(ISA)、微信道结构(MSA)、扩展工业标准结构(EISA)、智能电子驱动程序(IDE)、VESA局部总线(VLB)、外设部件互连(PCI)、通用串行总线(USB)、高级图形接口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)以及小型计算机系统接口(SCSI)。
系统存储器1816包括易失性存储器1820和非易失性存储器1822。基本输入/输出系统(BIOS)存储于非易失性存储器1822中,它包括基本例行程序以在计算机1812内的两个元件之间,诸如在启动期间,传送信息。通过说明,而非限制,非易失性存储器1822可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、或快闪存储器。易失性存储器1820包括用作外部高速缓冲存储器活动的随机存取存储器(RAM)。通过说明,而非限制,RAM可以多种形式获得,诸如同步随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SERAM(ESDRAM)、同步链DRAM(SLDRAM)、以及直接存储器总线RAM(DRRAM)。
计算机1812也包括可移动/不可移动、易失性/非易失性计算机存储介质。图18所示,例如,磁盘存储器1824。磁盘存储器1824包括,但不局限于,像磁盘驱动程序器、软盘驱动程序器、磁带驱动程序器、Jaz驱动程序器、Zip驱动程序器、LS-100驱动程序器、快闪存储器卡、或存储棒。此外,磁盘驱动程序器1824可包括独立的存储介质或与其他存储介质结合的存储介质,该其他存储介质包括,但不局限于,诸如光盘驱动程序器(CD-ROM)、可记录光盘驱动程序器(CD-R Drive)、可写光盘驱动程序器(CD-RM Drive)或数字化通用光盘ROM驱动程序器(DVD-ROM)的光盘驱动程序器。为了促进磁盘存储设备1824与系统总线1818的连接,通常使用诸如接口1826的可移动或不可移动接口。可以理解的是图18描述软件,该软件作为在合适的操作环境1810内描述的用户和基本计算机资源之间的中介物。这样的软件包括操作系统1828。操作系统1828可存储在磁盘存储器1824上,用以控制和分配计算机系统1812的资源。系统应用1830通过操作系统1828由存储在系统存储器1816或磁盘存储器1824上的程序模块1832和程序数据1834利用资源的管理。可以理解的是本发明可使用各种操作系统或操作系统的组合所实现。
用户通过输入设备1836输入命令或信息至计算机1812。输入设备1836包括,但不局限于,诸如鼠标、跟踪球、记录笔、触摸板、键盘、麦克风、操纵杆、游戏板、圆盘式卫星电视天线、扫描仪、TV调谐卡、数码照相机、数码摄影机、网络照相机等的指示设备。这些和其他输入设备由接口端口1838通过系统总线1818连接到处理单元1814。接口端口1838包括,例如,串行端口、并行端口、游戏端口、和通用串行总线(USB)。输出设备1840使用如输入设备1836的端口相同类型中的某些类型。如此,例如,USB端口可用以提供输入至计算机1812,并用以将从计算机1812输出的信息提供至输出设备1840。提供输出适配器1842以说明存在诸如某些在其他输出设备1840中,需要特殊适配器的监视器、扬声器、和打印机的输出设备1840。输出适配器1842包括,仅为说明而非限制,提供在输出设备1840和系统总线1818之间连接方式的视频和声频卡。应该注意的是其他设备和/或设备的系统提供输入和输出能力两者,诸如远程计算机1844。
计算机1812可在网络的环境中使用逻辑连接到一个或多个诸如远程计算机1844的远程计算机进行操作。远程计算机1844可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的装置、对等设备或其他公共网络节点等,并且通常包括许多或所有关于计算机1812描述的元件。为了简明,只有记忆存储器设备1846结合远程计算机1844示出。远程计算机1844通过网络接口1848逻辑地连接至计算机1812,然后通过通信连接1850物理地连接。网络接口1848包括诸如局域网(LAN)和广域网(WAN)的通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网/IEEE802.3、令牌网/IEEE 802.5等。WAN技术包括,但不局限于,点对点链接、如综合服务数字网(ISDN)及其变种的电路交换网络、包交换网络、和数字用户线路(DSL)。
通信连接1850指以用于连接网络接口1848至总线1818的硬件/软件。尽管所示的通信连接1850为了清楚的说明是在计算机1812内部,它也可以是在计算机1812的外部。对于连接到网络接口1848必要的硬件/软件包括,只为示例目的,诸如包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器、和以太网卡的调制解调器的内部和外部技术。
以上描述的内容包括本发明的例子。当然,为了描述本发明而描述每个组件或方法可以想到的组合是不可能的,但是本领域的普通技术人员可意识到本发明的许多进一步的组合和改变是可能的。相应地,本发明要包括属于在附加的权利要求书的精神和范围内的所有更改、修改和变换。此外,对于在详细的描述或权利要求书中使用的这样术语“包括”是要以类似于术语“包含”当被用作在权利要求书中过渡单词时的解释方式来包含的。
权利要求
1.一种关联管理系统包括处理程序登记表,存储与一个或多个处理程序关联的标识信息;关联管理器,至少部分基于关联请求内的路由信息和存储在处理程序登记表内的标识信息对具体的处理程序提供关联请求。
2.根据权利要求1所述的系统,其特征在于,所述与处理程序关联的标识信息包括全局唯一标识符。
3.根据权利要求1所述的系统,其特征在于,进一步包括初始化组件,所述初始化组件标识在系统初始化期间要实例化的至少一个驱动程序以及至少一个处理程序,所述初始化组件进一步开始至少一个驱动程序和至少一个处理程序的实例化。
4.根据权利要求3所述的系统,其特征在于,进一步包括驱动程序登记表,所述驱动程序登记表存储与至少一个要实例化的驱动程序关联的信息。
5.根据权利要求1所述的系统,其特征在于,所述关联请求包括至少一个关联请求属性。
6.根据权利要求5所述的系统,其特征在于,所述关联请求属性包括属性类型、属性数据长度和数据。
7.根据权利要求1所述的系统,其特征在于,所述关联管理器至少部分基于由处理程序提供的信息生成关联响应。
8.根据权利要求7所述的系统,其特征在于,所述关联响应包括关联响应属性。
9.根据权利要求8所述的系统,其特征在于,所述关联响应属性包括属性类型、属性长度、和数据。
10.根据权利要求7所述的系统,其特征在于,所述关联响应包括用于设备通过非信任介质与计算机系统通信的信息。
11.根据权利要求10所述的系统,其特征在于,非信任介质包括无线通信连接。
12.根据权利要求10所述的系统,其特征在于,通过驱动程序生成关联请求,所述驱动程序进一步接收关联响应。
13.一种关联管理方法包括至少部分基于关联请求标识处理程序;发送与关联请求关联的信息至被标识的处理程序;从处理程序中接收响应;至少部分基于响应生成关联响应;以及提供关联响应至请求驱动程序。
14.根据权利要求13所述的方法,其特征在于,进一步包括以下中的至少一个验证关联请求;确定关联请求是否是合式的;以及如果关联请求不是合式的,生成指示异常关联请求的关联响应。
15.根据权利要求13所述的方法,其特征在于,进一步包括以下中的至少一个确定处理程序是否被定位;如果处理程序没有被定位,生成指示关联类型不被支持的关联响应;以及分析关联请求以建立属性列表。
16.根据权利要求13所述的方法,其特征在于,进一步包括以下中的至少一个验证响应格式;确定关联是否是成功的;如果关联不成功,生成指示错误状态的关联响应;确定响应是否是合式的;以及如果响应不是合式的,生成指示错误状态的关联响应。
17.一计算机可读介质具有存储于其上的用于实现权利要求13所述的方法的计算机可执行指令。
18.一在两个或两个以上计算机组件之间被发送的用以促进设备关联的数据包,所述数据包包括关联响应,所述关联响应包括关联响应头部和关联响应属性,所述关联响应提供用于设备通过非信任介质与计算机系统通信的信息。
19.根据权利要求18所述的数据包,其特征在于,所述关联响应属性包括属性类别、属性长度、和数据。
20.根据权利要求18所述的系统,其特征在于,所述非信任介质包括无线通信连接。
全文摘要
一种用于通过信任介质的非信任介质(例如,无线)设备配置的可扩展的架构。该架构能用于关联使用非信任介质(例如,无线连接)的设备。通过使用信任介质,例如,有线连接,来影响关联。该架构能促进设备的配置以通过非信任介质(例如,无线连接)通信(例如,安全地)。设备的配置能至少部分基于通过信任介质(例如,有线连接)交换的信息。设备能发送关联请求至驱动程序和从驱动程序中接收关联响应。如果关联是成功的,那么关联响应能包括,例如,配置信息(例如,加密密钥)以使设备能通过非信任介质通信(例如,安全地)。如果关联不成功,那么关联响应能包括,例如,错误信息。
文档编号H04L29/06GK1798020SQ200510003528
公开日2006年7月5日 申请日期2005年12月30日 优先权日2004年12月30日
发明者B·E·尼克, F·K·比萨尼亚, R·E·奥尔, S·A·曼彻斯特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1