支持通过多个应用程序进行控制的无线接入点的制作方法

文档序号:7738117阅读:119来源:国知局
专利名称:支持通过多个应用程序进行控制的无线接入点的制作方法
支持通过多个应用程序进行控制的无线接入点
背景技术
计算机用户经常具有将它们的计算机连接到其他计算设备的需要。例如,用户可能希望将音频文件传输到他的MP3播放器,将他的PDA设备上的他的日历和联系人列表与他的计算机上的那些同步,或将文档打印到他的打印机上。在计算设备之间使用无线通信来进行连接导致对于计算机用户的灵活性和移动性增大。一个计算机和另一计算设备之间的无线连接可以以各种方式进行。计算设备可以使用无线对等协议彼此直接进行通信。例如,适合于低数据速率的设备可以通过诸如蓝牙或ZigBee之类的协议来进行通信。某些设备也支持Wi-Fi协议自组织(ad-hoc)模式,该模式是对等协议的另一个示例,因为它支持彼此直接进行通信的设备。支持Wi-Fi协议的设备也可以在基础架构模式下进行操作,在该模式下,它们不会如在对等协议中那样彼此直接连接,而是通过无线局域网(WLAN)进行通信。在典型的WLAN中,诸如计算机或设备(例如,MP3播放器、PDA)之类的无线客户端连接到接入点 (AP),并通过该AP,在客户端和网络之间进行通信。无线接入点通过每隔一定的时间间隔播放信标,来公告它们的存在。播放的信标可以允许无线客户端定位接入点,也可以充当定时机制,以便与连接的在网络中的设备来往的通信可以同步。AP可以是自包含硬件设备。可另选地,计算设备(例如,膝上型计算机或移动电话)可以适用于通过使用软件来充当AP。这样的基于软件的访问点或“软AP”可以允许无线客户端不仅访问计算设备所连接到的网络上的服务,而且还访问计算设备本身上的服务。

发明内容
被配置成作为无线接入点来运作的计算机可以充当许多设备的无线主机,每一个设备都可以与在计算机上执行的一个或多个应用程序进行交互。到接入点的接口有条件地对可以改变接入点的操作状态的事件作出响应。响应于这样的事件的处理将接入点置于它可以满足一个或多个应用程序中的每一个的需求的状态。接口对其作出响应的事件可包括来自应用程序的设置接入点的命令或无线设备与接入点相关联或取消关联的指示。响应于这些事件的处理可以基于事件的特征,接入点的操作状态,及诸如已处理的以前的命令的数量之类的其他状态信息。在某些实施例中,接入点支持多个操作状态,包括活动状态,其中,接入点既发出信标,又监听来自无线设备的关联请求;不活动状态,其中,接入点既不发出信标,也不监听来自无线设备的关联请求;以及无声操作状态,其中,接入点监听来自无线设备的关联请求,而不发出信标。因此,当诸如PDA设备的同步应用程序之类的在计算机上执行的应用程序通过接口向接入点发送开始命令时,无线接入点可以更新状态信息,变换到其中它监听来自设备的连接请求的无声状态。当同步应用程序开始执行时,可以发送开始命令,指出与诸如PDA 设备之类的设备进行通信的请求。当作为主机的接入点处于无声状态时,当应用程序通过应用程序编程接口发送公告命令时,作为主机的接入点可以更新其状态信息,并变换到活动状态。当设备成功地与计算机相关联时,作为主机的接入点也可以变换到活动状态。相反,当作为主机的接入点处于活动状态时,如果设备与接入点取消关联,或者如果应用程序通过接口向接入点发送隐藏网络命令,则接入点可以更新其状态信息。基于状态信息,接入点可以变换回到无声状态。但是,对于状态信息的一些值,接入点可以不改变状态。类似地,当设备处于无声状态时,如果应用程序通过接口向接入点发送停止命令,则无线接入点可以更新其状态信息。基于状态信息,无线接入点可以变换回到不活动状态。但是,对于状态信息的一些值,接入点可以不改变状态。以上是对由下面的权利要求定义的本发明的非限定性的概述。


附图不旨在按比例绘制。在附图中,各个附图中示出的每一完全相同或近乎完全相同的组件由同样的标号来表示。出于简明的目的,不是每个组件在每张附图中均被标号。 在图形中图1是其中可以实施本发明的各实施例的计算机系统的概念框图;图2是根据本发明的一些实施例的无线接入点的体系结构的框图;图3示出了根据本发明的一些实施例的无线接入点的状态图,其中,无线接入点可以被配置成在许多状态下进行操作,并能够基于对事件的接收和处理在至少一部分状态之间进行变换;图4是根据本发明的一些实施例的响应于“开始设备网络”命令在无线接入点内处理的流程图;图5是根据本发明的一个些实施例的在无线接入点内处理“公告设备网络”的流程图;图6是根据本发明的一些实施例的在无线接入点内处理“隐藏设备网络”命令的流程图;以及图7是根据本发明的一些实施例的在无线接入点内处理“停止设备网络”的流程图。
具体实施例方式发明人已经认识到和理解,无线接入点的改进的控制机制可以简化它们的使用, 并增加可以使用无线通信的应用程序的数量。通过为无线接入点提供有条件地对事件作出响应的控制界面,可以将应用程序编写得更简单点,而仍利用无线接入点的功能。尽管如此,同时使用接入点来以无线方式与其他设备交换数据的多个应用程序,可以在那些应用程序使用无线接入点功能时,通过避免那些应用程序之间的冲突,以比较直观的方式执行。 作为结果,可以更容易应用无线技术来控制、编程,或在设备以及计算机上的应用程序之间传输数据。此能力可以被用来例如将诸如PDA或智能电话之类的无线设备与计算机上的应用程序同步,或以无线方式访问诸如打印机之类的设备。在某些实施例中,为无线接入点提供了改进了的控制界面,如可以将其主宿在也作为多个应用程序的主机的计算设备上,每一个都应用程序都可以控制无线接入点的操作状态。响应于来自应用程序的命令或可以影响接入点的操作状态的其他事件,控制机制可以确定适当的状态转换。状态转换可以取决于无线接入点的当前操作状态及其他条件两者,如使用接入点的应用程序的数量或与它相关联的客户端的数量。另外,当对事件作出响应时,控制机制可以更新所存储的状态信息,以便也可以基于最新的状态信息,有条件地处理随后的事件。状态信息可包括,例如,使用接入点的应用程序的数量,在一种或多种状态下使用接入点的应用程序的数量,或与无线接入点相关联的客户端设备的数量。根据本发明的各实施例的改进的控制机制可以在任何合适的计算环境中实现。然而,图1是其中可以实施本发明的各实施例的计算机环境100的概念框图。计算机环境100 可以位于任何合适的位置,包括家庭或办公室,室内或室外,在这方面,本发明不受限制。计算机环境100包括诸如膝上型计算机106之类的计算机。尽管膝上型计算机106是移动计算机,但是,本发明不仅限于在带有移动计算机的环境中实施。在其中实施了本发明的某些环境中,膝上型计算机106可以连接到诸如因特网之类的一个或多个外部计算机网络108。 然而,在其中实施了本发明的其他环境中,诸如膝上型计算机106之类的计算机可以不具有与诸如外部计算机网络108之类的任何外部网络的任何连接。如果在膝上型计算机106 和外部计算机网络108之间存在连接,则连接可以是通过任何合适的通信介质,包括有线或无线通信介质,在这方面,本发明不受限制。膝上型计算机106可包括无线网络接口,并可以通过无线网络接口被配置成充当无线接入点110。无线接入点110可以使用任何合适的无线协议(例如,Wi-Fi)进行通信, 在这方面,本发明不受限制。接入点功能可以允许一个或多个无线设备通过膝上型计算机 106与网络108进行通信,或与也与无线局域网(WLAN) 120中的接入点相关联的其他设备进行通信。可以有任何数量或类型的设备通过连接到在膝上型计算机106上提供的无线接入点110,来与膝上型计算机106进行通信。设备可以是能够通过被无线接入点110理解的无线协议进行通信的任何合适的计算设备。例如,在计算机环境100中,所示的设备是MP3 播放器112、移动设备114、膝上型计算机116,以及打印机118。在图1所示的示例中,每一个设备都是不同的设备类型,并提供不同的功能,但是,可以理解,设备的类型或数量不是本发明的受限的特征,只要每一个设备都能够通过被无线接入点110理解的无线协议进行通信即可。膝上型计算机106和诸如移动设备114之类的设备之间的无线网络连接可以以任何合适的方式来建立,在这方面,本发明不受限制。在其中可以实施本发明的某些环境中, 膝上型计算机106和移动设备114可以以Wi-Fi保护设置参与,包含来自用户的输入,或者诸如例如对移动设备114的手动配置之类的任何其他合适形式的注册。移动设备114和膝上型计算机106可以执行802. Ili和802. IX密钥交换。在其中实施本发明的某些环境中, 膝上型计算机106可以被配置成对于不同的设备使用不同的预共享密钥(PSK)。如果密钥交换成功地进行,则在其中可以实施本发明的某些环境中,可以在此时成功地建立连接。然而,上文所描述的用于建立连接的步骤只充当示例,可以使用任何合适的方式来在设备和膝上型计算机106之间建立连接。一旦在设备和膝上型计算机106上的无线接入点110之间建立了连接,设备就包括由膝上型计算机106作为主机的无线局域网(WLAN 120)的一部分。在膝上型计算机106上运行的应用程序可以与连接到WLAN 120的设备进行通信。 例如,用户可能希望使用在膝上型计算机106上运行的同步应用程序在膝上型计算机106 和移动设备114之间同步电子邮件、日历或联系人信息。作为另一个示例,膝上型计算机 106的用户可能希望在MP3播放器112和在膝上型计算机106上运行的提供数字音乐库的应用程序之间传输音乐文件。作为第三示例,膝上型计算机106的用户可能希望运行与膝上型计算机116交换数据的对等应用程序。膝上型计算机106也可以配置有诸如设备中心之类的应用程序,该应用程序提供用于显示或管理通过无线接入点110进行连接的与诸如移动设备114之类的设备的连接的用户界面。无线接入点110可以在不同的时间在不同的状态下操作。无线接入点110在任何时间的操作状态可能受在膝上型计算机106上执行的访问连接到WLAN 120的设备应用程序的动作的影响。与无线接入点110相关联的,或者请求与无线接入点110相关联的设备的动作也可能会影响无线接入点110的操作状态。例如,无线接入点110可以以它在其中主动地发出信标的“活动状态”进行操作。当在“无声状态”下进行操作时,无线接入点110 可以监听来自设备的通信,而不主动地发出信标。无线接入点110,当在“不活动状态”下进行操作时,可能既不发出信标,也不监听来自无线设备的通信。无线接入点110可以基于其对事件的处理,配置其操作状态,事件可能来源于多个源中的任何一种。在本发明的某些实施例中,事件可以是接收来源于在膝上型计算机106 上执行的软件组件的命令。在某些实施例中,事件可以附加地或另外地是来源于除膝上型计算机106以外的设备的通信,并通过膝上型计算机106所连接到的计算机通信介质发送。 例如,事件可以是通过外部计算机网络108发送的消息,或者可以由诸如移动设备114之类的设备通过WLAN 120发送,并通过无线接入点110接收。一般而言,(如果事件不来源于膝上型计算机106)事件可能来源于任何合适的源,或通过任何合适的通信介质,在这方面,本发明不受限制。当事件是从多个源接收到的时候,在本发明的某些实施例中,无线接入点110可以有条件地对事件作出响应,响应取决于在事件发生时无线接入点110的状态及其他考虑。例如,在某些情况下,当无线接入点110接收到特定类型的事件时,它可以改变其配置以在不同的状态下进行操作。然而,在其他情况下,无线接入点110可以对相同类型的事件作出响应,而不进行任何配置改变。任何合适的考虑都可能会影响事件的条件处理,在这方面,本发明不受限制。在某些实施例中,考虑可包括主动地使用无线接入点110的应用程序的数量和/或与无线接入点相关联的设备的数量。条件处理可以附加地或另外地基于无线接入点110的操作状态。例如,在本发明的某些实施例中,无线接入点110可以默认地处于不活动状态。在本发明的某些实施例中,可以将命令从在膝上型计算机106上执行的软件应用程序发送到无线接入点110。在其中无线接入点110当前可能处于不活动状态的示例中,在膝上型计算机106上运行的请求了无线接入点启动与其中一个设备的通信的应用程序可以向无线接入点110发送“开始”命令。应用程序的触发这样的开始命令的功能对本发明不是关键的。然而,命令也可以通过用户启动同步应用程序来触发,例如,以通过WLAN 120与诸如移动设备114之类的设备交换数据。无线接入点110可以处理开始命令,并基于许多条件,可以将其状态改变为无声状态。如果在膝上型计算机106上运行的每一个其他应用程序也向无线接入点110发送开始命令,而它已经处于无声状态,则无线接入点可以不对其状态进行任何改变。在本发明的某些实施例中,无线接入点110可以跟踪发送了开始命令的应用程序的数量,并使用该信息作为其条件处理的一部分。尽管这可以以任何合适的方式进行, 本发明在这一方面不受限制,在某些实施例中,无线接入点110可以为此目的维护一个或多个计数器。类似地,在上面示例中,在膝上型计算机106上执行的应用程序可以向无线接入点110发送停止命令。可以以任何合适的方式,包括通过应用程序编程接口,从应用程序向无线接入点110发送停止命令。例如,停止命令可以构成诸如同步应用程序之类的应用程序请求不再通过WLAN 120与设备进行通信的通知。接收到停止命令之后,无线接入点110 可以处理它,并基于一个或多个条件,它可以将其状态从无声状态改变为不活动状态。然而,在本发明的某些实施例中,在处理停止命令时,可以不进行状态改变。此决定可以考虑任何合适的考虑因素,在这方面,本发明不受限制。在某些实施例中,无线接入点110可以考虑已经指出诸如通过发出开始命令来启动通过WLAN 120进行通信的软件应用程序的数量,如上文所讨论的,其可以以任何合适的方式来进行跟踪。在某些实施例中,当无线接入点110判断没有应用程序指出通过WLAN 120来访问设备的请求时,响应于来自应用程序的停止命令,它可以将其状态改变为不活动状态,虽然更改状态的决定也可以考虑附加的或替换的考虑因素。如上文所讨论的,事件可以来源于任何合适的源,包括来自诸如移动设备114之类的设备,指出通过WLAN 120启动与膝上型计算机106的通信的请求。事件可以采取任何合适的形式。在某些实施例中,将设备与无线接入点110成功地关联可以构成事件的另一个示例。基于其对关联事件的处理,无线接入点110可以配置其本身在不同的状态下进行操作。由无线接入点110在不同的状态下进行操作的决定可以考虑任何合适的考虑因素, 在这方面,本发明不受限制。在某些实施例中,决定可以至少部分地基于无线接入点110的当前状态。例如,无线接入点110可以在无声状态下进行操作,但是基于其对关联事件的处理,无线接入点110可以变为活动状态。然而,无线接入点110可以在接收到关联事件时不进行任何配置状态改变,如果它当前已经在处于活动状态。图2示出了根据本发明的某些实施例的可被配置成无线接入点的诸如膝上型计算机106之类的计算设备的体系结构。计算设备200可包括操作系统,其可以是诸如由微软公司推出的Windows Vista, 的一个版本之类的任何合适的操作系统202。计算设备200也可以包括无线网络接口 204,其可以是能够使用无线协议进行通信的硬件和软件的任何合适的组合,并可以被配置成适合于无线接入点的一种或多种状态下进行操作。网络接口 204 也可以包括用于通过诸如无线电设备210之类的无线介质进行信号的物理传输的组件。可以理解,在本发明的某些实施例中,可以将图2中的被描绘成单独的组件的组件分组在单一组件中,而本发明的其他实施例可包括将实现归结到在图2中所示出的实施例中的单一组件的功能的多个组件。另外,在本发明的某些实施例中,组件可以以不同的方式分布在操作系统202和无线网络接口 204之间。被示为在无线网络接口 204内的组件可以附加地或另外地被包括在操作系统202内,反之亦然。然而,所示出的体系结构允许处理事件的条件组件被包括到逻辑组件212,无需专门地设计应用程序214或网络接口 204。在图2所示的示例中,无线网络接口 204可以包括驱动程序206,该驱动程序206可以通过应用程序编程接口(API) 208与在计算设备200上的运行的其他软件组件进行通信。驱动程序206可以控制无线电设备210。无线电设备210 可以在多个状态操作,这些状态可以由通过API 208发送到驱动程序206的命令来设置。计算设备200可包括逻辑组件212,该逻辑组件212可以有条件地处理事件,并可以通过API 208与无线网络接口 204进行通信。逻辑组件212可以使用计算机可执行指令或使用任何其他合适的实现方式来实现。逻辑组件212可以对事件作出响应,以确定无线接入点的操作状态,并可以生成发往无线网络接口 204的命令。命令可以根据由逻辑组件 212所确定的状态,导致无线网络接口 204的配置改变。一个或多个应用程序214可以在操作系统202上运行。应用程序214也可以通过API 216与逻辑组件212进行通信。示例应用程序可以是同步应用程序,其通过无线接入点110启动与诸如移动设备114之类的设备进行通信的请求,以便与该设备同步数据,如结合图1所讨论的。将图1中的同步应用程序的示例应用到图2中所示出的体系结构,诸如“开始”命令之类的由同步应用程序所发送的命令,可以通过API 216被发送到逻辑组件212,供进行条件处理。在结合图1所讨论的关联事件的示例中,可以通过API 208将关联事件从无线网络接口 204发送到逻辑组件212, 供进行处理。如此,尽管可以从任何合适的源发送事件,在这一方面,本发明不受限制,但是,在图2中所示出的示例中,逻辑组件212可以通过API 216从应用程序214接收事件, 或者通过API 208从无线网络接口 204接收事件。然而,在其他实施例中,可以从无线接入点110内部的或外部的其他来源接收事件,以及通过任何其他合适的计算机通信介质。如结合图1所讨论的,在某些实施例中,无线接入点可以被配置成在多个状态下进行操作。作为其事件处理的一部分,逻辑组件212可以存储与无线接入点相关联的状态信息218。在某些实施例中,状态信息的至少一部分可以是一个或多个计数器220,其可以跟踪例如当前相关联的设备的数量,或已经请求了无线接入点开始与一个或多个设备进行通信的应用程序214的数量。然而,可以以任何合适的方式来跟踪状态信息218,在这方面, 本发明不受限制。图3示出了本发明的各实施例的状态图,其中,无线接入点可以被配置成在许多状态下进行操作,并能够基于对事件的接收和处理在至少一部分状态之间进行变换。关于是否在多个状态之间进行变换的决定可以至少部分地由无线接入点中的软件组件(如图2 中的逻辑212)作出。在多个状态之间的变换可以受到发送到诸如图2中所示出的无线网络接口 204之类的无线网络接口的命令的影响。设备可以在任何合适的数量或类型的状态下进行操作,在这方面,本发明不受限制。图3中所示出的示例示出了四个状态不活动状态300、无声状态302、活动状态304,以及不可用状态306。在不活动状态300,如结合图1所讨论的,设备可以接通电源,但不监听来自设备的请求,也不发送无线电信标。如果设备处于无声状态302,则它会主动地监听设备请求,但不发送无线电信标。当设备在活动状态304下进行操作时,它既监听设备请求, 也发送无线电信标。另外,设备还可以处于不可用状态306,在该状态下,它不能容易地基于接收到一个或多个事件而变换到状态300、302或304中的任何一个。作为不可用状态的示例,如果结合图2所讨论的无线电设备210停止运转,则无线接入点可能不可用。如由变换308、310,以及312所指示的,无线接入点可以从状态300、302或304中的任何一个变换到不可用状态306。多个可能的事件或情况可能会导致由无线接入点所提供的功能变得不可用。判断是否使无线接入点不可用可以以任何合适的方式进行,在这方面,本发明不受限制。另外,在本发明的某些实施例中,变换到不可用状态可以不是有意的。例如,它可以是作为硬件或软件故障的结果。当应用程序处于不活动状态300时,诸如由图2中的逻辑组件212对事件的处理可能导致设备变换到无声状态302。在本发明的一个实施例中,从不活动状态300到无声状态302的变换314可以是作为从应用程序接收到“开始”命令的结果。如结合图1和2所讨论的,开始命令可以指出应用程序请求了无线接入点开始与设备进行通信。例如,同步应用程序可以请求无线接入点开始与诸如移动设备114之类的设备进行通信,以便同步日历或电子邮件数据。从应用程序到无线接入点的命令可以以任何合适的方式发送。在本发明的一个实施例中,来自应用程序的命令是通过诸如图2中的API 216之类的API发送的。无线接入点也可以实现无声状态302和不活动状态300之间的变换316。变换316 可以通过应用程序发出“停止”命令所引起,该命令可以指出应用程序已经请求不再通过无线接入点与任何设备进行通信。在本发明的某些实施例中,变换316不在每次接收到停止命令时发生,但是,有条件地,只在从发送了开始命令但是没有后续的停止命令的最后一个应用程序接收到停止命令时发生。从无声状态302到活动状态304的变换也可以作为对事件的处理的结果而发生。 在本发明的某些实施例中,如果任何应用程序发出“公告”命令,其中,它指出它请求了无线接入点公告设备网络,可能会导致变换318。如结合图1所讨论的,当设备成功地与无线接入点时,可以附加地或另外地导致变换318。变换320也可以是相反的方向,从活动状态304到无声状态302。当最后一个现用应用程序发出“隐藏”命令,向无线接入点指出隐藏设备网络的请求时,可以有条件地发生变换320。变换320中的此最后一个保留应用程序是指发出了“公告”命令但是没有发出隐藏命令的最后一个保留应用程序。如同变换318,在某些实施例中,变换320也可以由于其他原因而发生。例如,在某些实施例中,变换320可以由诸如接收到最后一个活动客户端已经与无线接入点断开连接或取消关联的指示之类的事件所引起。本发明的各实施例可以处理任何数量或类型的事件。图4到7示出了响应于可能在本发明的一些实施例中产生的事件的处理。图4示出了根据本发明的一个实施例的无线接入点对“开始设备网络”命令400的条件处理的流程图。如上文所讨论的,可以从在无线接入点上执行的应用程序发送“开始设备网络”命令,该命令可以指出应用程序请求了无线接入点开始与诸如移动设备114之类的外部设备进行通信。此流程图可以以任何合适的方式来实现。在图2所示的本发明的实施例中,流程图的逻辑可以通过逻辑组件212来实现。流程图在框402开始,接收开始设备网络命令400。在框404,过程可以检查无线接入点当前是否处于不活动状态。检查无线接入点的当前状态可以以任何合适的方式进行。 在图2所示的实施例中,过程可以通过检查由逻辑组件212所维护的状态信息218来达到这一目的。可另选地,可以通过API 208,通过轮询诸如图2所示的无线网络接口 204之类的无线网络接口,来确定无线接入点的状态。不管检查无线接入点的当前状态的方式如何, 如果当前状态是不活动状态,则它在框406检查这是否无线接入点第一次接收到开始与任何设备的通信的请求(即,无线接入点之前没有作为过无线网络的主机)。如果是,它可以在框408为诸如WLAN 120之类的主宿的网络创建安全的配置文件。可以以任何合适的方式创建安全配置文件,在这方面,本发明不受限制。在图2所示的本发明的实施例中,操作系统202可以被配置成选择充分安全并唯一默认地作为无线网络的主机的无线设置。然后,进入框410。如上面结合图1和2所讨论的,在本发明的某些实施例中,无线接入点可以跟踪已经发出通过无线接入点与设备进行通信的请求的当前应用程序的数量。 尽管本发明的各实施例可以以各种方式跟踪此信息,但是,图3和4所示的实施例通过至少一个计数器达到这一目的。图4-7的实施例为此目的利用两个计数器,虽然其他实施例可以利用较少的或更多的计数器。全局接入点计数器(GlcAal AP Count)维护跨所有应用程序的统计,并可以用于确定何时启动或停止主宿的无线设备网络。另外,每应用程序接入点计数器(per-Application AP count)为每一个应用程序维护一个计数器。在某些实施例中,可以使用每应用程序接入点计数器来验证从应用程序接收到的事件,以及在应用程序异常地退出(如通过崩溃)的情况下清除全局接入点计数器。如此,在框410,过程可以将全局接入点计数器和每应用程序接入点计数器初始化为1。如果在框406判断这不第一次无线接入点接收到请求与任何设备进行通信的请求,过程可以跳过408处的安全配置文件创建,并执行如上文所描述的相同的步骤。流程图接下来转到框412。本发明的一些实施例也跟踪指出请求无线接入点发出信标信息的实体的数量。尽管本发明不仅限于已经请求从无线接入点发出信标的实体的类型,但是,在本发明的某些实施例中,设备可以触发指出请求发出信标的事件。在其他实施例中,在被配置成充当无线接入点的同一个计算设备上执行指令的应用程序也可以请求从无线接入点发出信标。如在上面的对AP计数的讨论中,可以以任何合适的方式跟踪此信息。在图4所示的本发明的实施例中,使用一个或多个计数器(在此实施例中,简称为信标计数器)的附加的的集合来跟踪该信息。如在上面的对AP计数器的讨论中,使用计数器来跟踪此信息的应用程序可以使用任何合适的数量的计数器来达到这一目的。在图4-7的实施例中,使用两个计数器来跟踪此信息。全局信标计数器(Global Beacon Count)可以记录跨所有应用程序引用,并可以用于确定何时公告或隐藏无线设备网络。另外,可以为每一应用程序维护每应用程序信标计数器(per-Application Beacon Count),其可以用于验证从应用程序接收到的事件,以及在应用程序异常地退出(如通过崩溃)的情况下清除全局信标计数器。在框412中,可以将全局信标计数器和每应用程序信标计数器两者都初始化为零。在图4所示的本发明的实施例中,由应用程序发送开始设备网络命令不会表明应用程序请求发出信标。本发明的其他实施例可以具有与图4所示的实施例不同的状态或不同类型的命令,在这样的情况下,可以将一个或多个信标计数器设置为除零以外的值。流程转到框414,此时,无线接入点将其状态变换为无声状态,该状态在结合图3 所讨论的实施例中表示无线接入点监听设备请求,但不发送信标。暂时返回到框404,此时,对无线接入点的当前操作状态执行检查,取决于当前操作状态,过程可以分叉。在框404中,如果无线接入点判断其当前状态不是不活动状态,则流程转到框416,此时,它增大全局接入点计数器和每应用程序接入点计数器,如上面结合框410所讨论的。以上的讨论没有考虑可包括“不可用状态”的实施例,如结合图3所讨论的。在带有不可用状态的各实施例中,如果当前状态是不可用状态,全局接入点计数器和每应用程序接入点计数器将不会被增大。
此时,对开始设备网络命令的处理可以结束;因此,流程可以转到结束框418。图5示出了根据本发明的一个实施例的对“公告设备网络”命令500的条件处理的流程图。如上文结合图3所讨论的,可以从在被配置成充当无线接入点的诸如图2中的计算设备200之类的设备上执行的应用程序发送公告设备网络命令,其可以表示应用程序从无线接入点请求发出信标。如同图4,在图2的实施例中,可以由逻辑组件212来控制图 5的流程图的过程。流程图在框502开始,接收公告设备网络命令500。在框504,过程可以检查接入点当前是在无声状态还是在活动状态下进行操作。如结合图4所讨论的,在图2所示的实施例中,过程可以通过状态信息218来检查状态。如果当前状态不是无声状态或活动状态, 则过程可以在框506以错误结束。过程可以响应于错误状态任何合适的处理,不同的错误状态可以引出不同的响应,在这方面,本发明不受限制。在本发明的一个实施例中,公告命令500可以只是当无线接入点在无声状态或活动状态下进行操作有效地接收到的。否则,流程图转到框508和509,此时,它可以分别增大全局信标计数器和每应用程序信标计数器,如结合图4所讨论的。然后,取决于无线接入点是否处于无声状态,过程可以在框510分叉。在本发明的某些实施例中,如果它不是在无声状态,则过程可以假设它已经在活动状态下,可以处理公告命令,并可以转到框512。如果过程在框510判断它处于无声状态,则它转到框514,此时,它可以设置信标周期以及发射功率。在本发明的某些实施例中,可以以这样的方式设置信标周期和发射功率,以降低无线接入点的电能消耗,以及通过它连接的任何设备的电能消耗。在本发明的某些实施例中,设置信标周期和发射功率可以有效地打开信标发送。设置信标周期和发射功率可以以任何合适的方式进行,在图2的实施例中包括通过利用API 208向无线网络接口 204发送一个或多个命令。然后,流程转到框516,此时,过程可以变换到活动状态。在本发明的某些实施例中,对公告设备网络命令的处理可以在此时结束,而过程可以转到结束框512。如结合图3所讨论的,在本发明的某些实施例中,接收到附加的或可替换事件,如成功地将设备与无线接入点关联500b,也可以表示要求接入点发送信标。在本发明的某些实施例中,设备的成功的关联500b可以遵循与图5的流程图所示的类似的过程。在图5所示的本发明的实施例中,设备的成功关联500b遵循与接收公告设备网络命令的过程相同的过程,以虚线框示出的框509除外,该框可能不适用于设备的成功的关联500b。图6示出了根据本发明的一个实施例的对“隐藏设备网络”命令600的条件处理的流程图。如上文结合图3所讨论的,可以从在无线网络上执行的应用程序发送隐藏设备网络命令,其可以表示应用程序不再需要从无线接入点发出信标。如同图4,在图2的实施例中,可以由逻辑组件212来控制流程图的过程。流程图在框602开始,接收隐藏设备网络命令600。在框604,过程可以检查它是否处于活动状态。如结合图4和5所讨论的,在图2所示的实施例中,过程可以通过状态信息218来检查其状态。如果过程在框604判断无线接入点当前不在活动状态下进行操作, 则过程可以转到框605,此时,它可以以一个错误结束。在某些实施例中,如果如结合图4所讨论的每应用程序信标计数器不大于零,则无法有效地处理隐藏设备网络命令,因为在为同一个应用程序接收到对应的公告网络命令500时本应增大每应用程序信标计数器。因此,在框606,过程可以检查每应用程序信标计数器是否小于或等于零,如果是,则它可以在框607以一个错误结束。否则,过程可以转到框608,此时,它可以减小全局信标计数器,如上面结合图4和 5所讨论的。转到框609,过程可以减小每应用程序信标计数器。在步骤610中,过程可以检查当前全局信标计数器是否被置零。如果不,那么,对隐藏设备网络命令的处理可以结束, 流程可以转到结束框614。如果当前信标统计被置为零,则在框612中,过程可以变换到无声状态,如结合图3所讨论的,然后,可以转到结束框614。如结合图5所讨论的,在本发明的某些实施例中,接收到附加的或可替换的事件, 如成功地将设备与无线接入点取消关联600b,也可以表示设备不再要求从无线接入点发出信标。在本发明的某些实施例中,将设备取消关联600b可以遵循与图6的流程图所示的类似的过程。在图6所示的本发明的实施例中,将设备与接入点取消关联600b遵循与接收隐藏设备网络命令的过程相同的过程,以虚线框示出的框606和609除外,这些框可能不适用于对设备的取消关联600b。图7示出了根据本发明的一个实施例的对“停止设备网络”命令700的条件处理的流程图。如上文结合图3所讨论的,可以从在无线网络上执行的应用程序发送停止设备网络命令,其可以指出应用程序发出了不再通过无线接入点与诸如移动设备114之类的外部设备进行通信的请求。如同图4,在图2的实施例中,可以由逻辑组件212来实现流程图的过程。流程图在框702开始,接收停止设备网络命令700。在框704,过程可以检查它是否处于不活动状态。如结合图4所讨论的,在图2所示的实施例中,过程可以通过状态信息 218来检查其状态。在本发明的某些实施例中,如果过程在框704判断它当前正在在不活动状态下进行操作,则它可以转到框706,此时,它可以以一个错误结束。否则,过程转到框708,此时,它可以检查结合图4所讨论的每应用程序接入点计数器t是否小于或等于零。如果是,则过程可以在框710中以一个错误结束。如果不,则在框712,过程可以检查每应用程序接入点计数器是否等于1,每应用程序信标计数器是否大于零。如果两个条件都为真,则过程可以在框714中以一个错误结束。否则,过程转到框716,此时,它检查其当前操作状态是否是无声状态。如果不处于无声状态,则在本发明的某些实施例中,过程可以假设它处于活动状态。然后,它可以转到框718,此时,它可以减小全局接入点计数器和每应用程序接入点计数器,如结合图4所讨论的。本发明的一些实施例此时结束处理停止设备网络命令,并转到结束框720。返回到框716,如果过程判断无线接入点当前在无声状态下进行操作,则在框 722,它可以减小全局接入点计数器和每应用程序接入点计数器。在框724,过程可以检查以查看全局接入点计数器是否被置为零。如果全局接入点计数器没有置零,则处理可以在此时结束,它可以转到结束框720。另一方面,如果全局接入点计数器被置为零,则过程在框726中变换为不活动状态,此时,过程可以结束处理停止设备网络命令,并可以转到结束框 720。至此描述了本发明的至少一个实施方式的若干方面,可以理解,本领域的技术人员可容易地想到各种更改、修改和改进。这样的更改、修改和改进旨在是本发明的一部分,且旨在处于本发明的精神和范围内。从而,上述描述和附图仅用作示例。可以用多种方式中的任一种来实现本发明的上述实施例。例如,可使用硬件、软件或其组合来实现各实施方式。当使用软件实现时,该软件代码可在无论是在单个计算机中提供的还是在多个计算机之间分布的任何合适的处理器或处理器的集合上执行。此外,应当理解,计算机可以用多种形式中的任一种来具体化,如机架式计算机、 台式计算机、膝上型计算机、或图形输入板计算机。另外,计算机可以具体化在通常不被认为是计算机但具有合适的处理能力的设备中,包括个人数字助理(PDA)、智能电话、或任何其它合适的便携式或固定电子设备。同样,计算机可以具有一个或多个输入和输出设备。这些设备主要可被用来呈现用户界面。可被用来提供用户界面的输出设备的示例包括用于可视地呈现输出的打印机或显示屏和用于可听地呈现输出的扬声器或其它声音生成设备。可被用于用户界面的输入设备的示例包括键盘和诸如鼠标、触摸板和数字化输入板等定点设备。作为另一示例,计算机可以通过语音识别或以其它可听格式来接收输入信息。这些计算机可以通过任何合适形式的一个或多个网络来互连,包括作为局域网或广域网,如企业网络或因特网。这些网络可以基于任何合适的技术并可以根据任何合适的协议来操作,并且可以包括无线网络、有线网络或光纤网络。而且,此处略述的各种方法或过程可被编码为可在采用各种操作系统或平台中任何一种的一个或多个处理器上执行的软件。此外,这样的软件可使用多种合适的程序设计语言和/或程序设计或脚本工具中的任何一种来编写,而且它们还可被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。就此,本发明的各实施例可以使用一个或多个程序编码的一个或多个计算机可读介质(例如,计算机存储器、一个或多个软盘、紧致盘、光盘、磁带、闪存、现场可编程门阵列或其它半导体器件中的电路配置,或其他有形的计算机存储介质)来提供,当这些程序在一个或多个计算机或其它处理器上执行时,它们执行实现本发明的上述各个实施例的方法。这一个或多个计算机可读介质可以是便携的,使得其上存储的一个或多个程序可被加载到一个或多个不同的计算机或其它处理器上以便实现本发明上述的各个方面。此处以一般的意义使用术语“程序”或“软件”来指可被用来对计算机或其它处理器编程以实现本发明上述的各个方面的任何类型的计算机代码或计算机可执行指令集。另外,应当理解,根据本实施方式的一个方面,当被执行时实现本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以按模块化的方式分布在多个不同的计算机或处理器之间以实现本发明的各方面。计算机可执行指令可以具有可由一个或多个计算机或其他设备执行的各种形式, 诸如程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以按需在各个实施方式中进行组合或分布。而且,数据结构能以任何合适的形式存储在计算机可读介质上。为简化说明,数据结构可被示为具有通过该数据结构中的位置而相关的字段。这些关系同样可以通过对各字段的存储分配传达各字段之间的关系的计算机可读介质中的位置来得到。然而,可以使用任何合适的机制来在数据结构的各字段中的信息之间建立关系,例如通过使用指针、标签、或在数据元素之间建立关系的其他机制。本发明的各个方面可单独、组合或以未在前述实施方式中特别讨论的各种安排来使用,从而并不将其应用限于前述描述中所述或附图形中所示的组件的细节和安排。例如, 可使用任何方式将一个实施方式中描述的各方面与其它实施方式中描述的各方面组合。同样,本发明的各实施例可以通过方法来提供,其示例已经提供。作为该方法的一部分所执行的动作可以按任何合适的方式来排序。因此,可以构建各个实施方式,其中各动作以与所示的次序所不同的次序执行,不同的次序可包括同时执行某些动作,即使这些动作在各说明性实施方式中被示为顺序动作。在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要求元素本身并不意味着一个权利要求元素较之另一个权利要求元素的优先级、先后次序或顺序、 或者方法的各动作执行的时间顺序,而仅用作将具有某一名字的一个权利要求元素与(若不是使用序数词则)具有同一名字的另一元素区分开的标签以区分各权利要求元素。同样,此处所使用的短语和术语是出于描述的目的而不应被认为是限制。“包括”、 或“具有”、“包含”、“涉及”以及它们的变体的使用,是指包含其后列出的项目,其等效的项目,以及额外的项目。
权利要求
1.一种操作无线网络接入点(110)的方法,所述无线网络接入点支持多个操作状态, 所述方法包括检测表示由应用程序(214)或处于所述多种状态中一种状态下的无线客户端(112)对所述接入点(110)的使用的事件;响应于检测到所述事件,基于所述事件和表示一个或多个先前事件的状态信息(218) 来选择所述接入点(110)的操作状态,每一个以先前事件表示由应用程序014)或处于所述多种状态中的一种状态下的无线客户端(112)对所述接入点(110)的使用;以及配置所述接入点(110)以在所选状态下进行操作。
2.如权利要求1所述的方法,其特征在于,还包括 响应于检测到所述事件,更新所述状态信息(218)。
3.如权利要求2所述的方法,其特征在于 所述多个操作状态包括活动状态(304),其中所述接入点(110)发出信标并监听来自无线设备(112)的连接请求;不活动状态(300),其中所述接入点(110)既不发出信标也不监听来自无线设备(112) 的连接请求;以及无声状态(302),其中所述接入点(110)监听来自无线设备(11 的连接请求但不发出信标。
4.如权利要求3所述的方法,其特征在于当所述接入点(110)处于所述不活动状态(300)并且所述事件包括来自应用程序 (214)的启动所述接入点(110)的命令(400)时选择所述操作状态包括选择所述无声状态(302);以及更新所述状态信息(218)包括存储一个应用程序(214)请求了所述接入点(110)的无声状态(302)操作的指示。
5.如权利要求4所述的方法,其特征在于当所述接入点(110)处于所述无声状态(30 并且所述事件包括来自应用程序(214) 的启动所述接入点(110)的命令(400)时选择所述操作状态包括选择所述无声状态(302)以及更新所述状态信息包括增加请求所述接入点(110)的无声状态(30 操作的应用程序 (214)的数量的指示。
6.如权利要求5所述的方法,其特征在于当所述接入点(110)处于所述无声状态(302)并且所述事件包括来自应用程序(214) 的停止所述接入点(110)的命令(700)时选择所述操作状态包括,当请求无声状态(30 操作的应用程序014)的数量的所述指示大于1时,选择所述无声状态(302)更新所述状态信息(218)包括,减少请求所述接入点(110)的无声状态(302)操作的应用程序014)的数量的指示;以及选择所述操作状态包括,当请求无声状态(30 操作的应用程序014)的数量的所述已更新的指示指出没有应用程序(214)时,选择所述不活动状态(300)。
7.如权利要求3所述的方法,其特征在于当所述接入点(110)处于所述无声状态(302)中,并且所述事件包括来自应用程序 (214)的公告所述接入点(110)的命令(500)时选择所述操作状态包括选择所述活动状态(304)以及更新所述状态信息(218)包括存储一个应用程序(214)请求了通过所述接入点(110) 发出信标的指示。
8.如权利要求7所述的方法,其特征在于当所述接入点(110)处于所述活动状态(304)中,并且所述事件包括来自应用程序 (214)的公告所述接入点(110)的命令(500)时选择所述操作状态包括选择所述活动状态(304)以及更新所述状态信息(218)包括增加请求了通过所述接入点(110)发出信标的应用程序 (214)的数量的指示。
9.如权利要求8所述的方法,其特征在于当所述接入点(110)处于所述活动状态(304)中,并且所述事件包括来自应用程序 (214)的隐藏所述接入点(110)的命令(600)时选择所述操作状态包括当已经请求通过所述接入点(110)发出信标的应用程序(214) 的数量的所述指示指出有一个以上的应用程序(214)请求了发出信标时,选择所述活动状态(304);更新所述状态信息(218)包括减少请求了通过所述接入点(110)发出信标的应用程序 (214)的指示;以及选择所述操作状态包括,当已经请求通过所述接入点(110)发出信标的应用程序 (214)的数量的所述已更新的指示指出没有应用程序(214)请求了发出信标时,选择所述无声状态(302)。
10.一种在其上包括计算机可执行指令的计算机存储介质,所述计算机可执行指令包括接入点(110)的接口,当执行时,所述接口适用于 接收来自应用程序014)的命令;基于所述命令以及存储的关于所述接入点(110)的操作的状态信息(218)来确定所述接入点(110)的操作状态;以及为所述接入点(110)生成将所述接入点(110)置于所确定的操作状态的命令。
11.如权利要求10所述的计算机存储介质,其特征在于,所述接口进一步适用于 从所述接入点(110)接收与无线设备(11 成功关联的指示;以及更新所述已存储的状态信息018)以指出所述无线设备(112)与所述接入点(110)相关联。
12.如权利要求11所述的计算机存储介质,其特征在于,所述接口进一步适用于 从所述接入点(110)接收将以前相关联的无线设备(11 取消关联(600b)的指示; 基于将以前相关联的无线设备(112)取消关联(600b)以及存储的关于所述接入点(110)的操作的状态信息018)来确定所述接入点(110)的操作状态;以及更新所述已存储的状态信息018)以指出所述无线设备(112)与所述接入点(110)取消关联。
13.如权利要求12所述的计算机存储介质,其特征在于,所述接口适用于更新所述存储的状态信息(218),以通过将表示发出信标请求的统计增加1来指出所述无线设备(112) 与所述接入点相关联。
14.如权利要求13所述的计算机存储介质,其特征在于,所述接口适用于,响应于接收到将以前相关联的无线设备(11 取消关联(600b)的所述指示将发出信标请求的所述统计减少1 ;以及当所述减少将发出信标请求的所述统计减少到零时,基于通过确定所述操作状态是其中所述接入点不主动地发出信标的状态,将以前相关联的无线设备(11 取消关联(600b) 以及所述存储的状态信息(218)来确定所述接入点的所述操作状态。
15.如权利要求14所述的计算机存储介质,其特征在于,所述接口适用于响应于从应用程序(214)接收到主动地发出信标的命令(500),将表示发出信标请求的所述统计增加1 ;以及响应于从应用程序(214)接收到隐藏所述接入点的命令(600)将表示发出信标请求的所述统计减少1。
全文摘要
可配置为可以从多个应用程序进行控制的无线网络接入点的计算设备。该计算设备提供接口,应用程序可通过该接口输入改变接入点的状态的命令。该接口以不干扰使用接入点的应用程序或设备的方式对这些命令及诸如无线客户端的关联或取消关联之类的其他事件作出响应。为确定对任何事件的适当的响应,该接口可以维护状态信息,包括对已采取动作指示无线接入点的操作状态的应用程序和/或无线设备的数量的统计。
文档编号H04W74/04GK102257870SQ200980151836
公开日2011年11月23日 申请日期2009年11月17日 优先权日2008年12月18日
发明者A·巴纳基, C·瓜尔, D·A·罗伯茨, H·沈, S·玛哈简, S·蒋 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1