CN101480032A - 网络接入点的检测和使用 - Google Patents

网络接入点的检测和使用 Download PDF

Info

Publication number
CN101480032A
CN101480032A CNA2007800240817A CN200780024081A CN101480032A CN 101480032 A CN101480032 A CN 101480032A CN A2007800240817 A CNA2007800240817 A CN A2007800240817A CN 200780024081 A CN200780024081 A CN 200780024081A CN 101480032 A CN101480032 A CN 101480032A
Authority
CN
China
Prior art keywords
wireless network
profile
network
accessing points
beacon message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800240817A
Other languages
English (en)
Other versions
CN101480032B (zh
Inventor
N·乔恩克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boingo Wireless Inc
Original Assignee
Boingo Wireless Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boingo Wireless Inc filed Critical Boingo Wireless Inc
Publication of CN101480032A publication Critical patent/CN101480032A/zh
Application granted granted Critical
Publication of CN101480032B publication Critical patent/CN101480032B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

公开了网络点的访问检测和使用的***和方法。根据该***和方法,可以确定用于访问和使用的给定无线网络的适用性。该***和方法可以使用信息完全配置和逐步更新。所述配置信息可以包括网络简档和脚本函数,可以用于动态配置客户端设备以执行测试网络点的访问,确定网络的访问的可用性状态而不需要修改底层操作平台(例如操作软件平台)。所述可用性状态可以由客户端设备缓存并用于便利后续网络检测,产生网络点访问的通知选择。

Description

网络接入点的检测和使用
【0001】本专利文件公开内容的一部分包含可能以版权保护为主题的材料。版权所有者不反对任何人对本专利文件或本专利公开内容的传真复制,如出现在专利商标局的专利文件或记录中,但在其他情况下保留所有版权。
技术领域
【0002】公开了接入网点的检测和使用并更具体地公开了一种***和方法,用以确定用于接入和使用的给定无线网络的适用性,其可以使用配置信息完全配置和逐步更新,包括网络简档(profile)和脚本函数,配置信息可以用于动态配置客户设备以进行适用性检验,确定接入网点的适用性状态,该适用性状态用于选择接入点和该状态信息的存储,以方便后续网络检测和选择。
背景技术
【0003】无线网络已更加普遍并提供连接其他网络的机制,包括因特网。无线保真度“WiFi”网络(也被称为802.11网络)最近作为无线网络的主要标准出现。这主要归因于WiFi网络容易安装和涉及的最低费用。例如,操作员可以用一条或多于一条数字用户线(DSL)和/或T1线和控制接入无线网络的设备一起建立“热点”,接着出售高速无线因特网以收取费用。典型的“热点”具有在用户设备和WiFi网络之间用作连接点的一个或多于一个无线接入点(AP)。用户设备可以为具有能够与无线网络通信的WiFi芯片的任何设备(例如,台式计算机或便携式计算机、个人数字助理、数字照相机、移动电话、汽车、游戏设备、用户电子设备等等)。
【0004】随着越来越多热点被安装,用户将会有更多机会通过无线网络连接接入因特网。但是,归因于用于得到无线网络接入的不同热点或无线网络、操作员和不同的获取无线网络接入的机制的数量,无线接入因特网不会像用户希望的那样是无缝的。
【0005】为了接入无线网络,首先用户必须具有来自无线网络操作员的授权,典型地要求用户与热点操作员或与无线网络操作员订立协议的其它实体订立协议,确定接入条件和费用。基于该协议,无线网络操作员为用户提供连接/登录过程,用户必须使用该过程接入操作员的无线网络。
【0006】用户的WiFi使能设备或无线设备典型地具有嗅探或搜索现有网络的能力。典型地,该无线设备将调到一个或多于一个可用通道并接收无线网络在该通道播送的所有信标帧或信号。由该设备接收到的信标可以来自一个或多于一个无线网络。
【0007】典型地,通过网络标识符识别每个无线网络,称为服务建立标识符“SSID”,包含在无线网络播送的信标帧中,接着无线设备使用网络名称来识别并选择使用的网络。在某些网络技术中,例如基于802.11x的无线网络,标识符通常是不可靠的,并且因此不是网络适用性和/或可用性的可靠指示符。网络名称不必是唯一的。例如,这样,不同网络操作员可以使用相同网络名称。另外,对于其网络的几个类别,相同的网络操作员可以使用相同的网络名称,每个类别具有不同使用方法和可用性。
【0008】举例说明,无线网络操作员可能操作无线网络的几个种类。无线网络操作员可能提供一种类别的无线网络以服务于旅馆大厅,而提供另一种类别的无线网络以服务于旅馆会议室。但是所有的无线网络在其信标帧中播送相同的SSID作为网络标识符(即每个无线网络播送相同SSID而不管其为何种类别)。但是,用户可能只有使用某些种类网络的授权。在这种情况下,由于每个无线网络播送相同的SSID,无线设备无法通过无线网络播送的信标帧在无线网络之间进行区别。无线设备不能在无线网络之间进行区别,并且将被迫使用“反复试验”(“trial and error”)方法。换句话说,无线设备不得不尝试使用每个无线网络直到尝试成功。另外,在每次搜索同一工作平台时无线设备将不得不使用“反复试验”方法。
【0009】因此,需要在无线网络之间进行区别的机制,使用相同的网络标识信息并允许无线设备基于预定信息识别无线网络,以便无线设备可以做出通知网络选择。另外需要提供这样的网络接入和使用可配置和可更新的检测机制。
发明内容
【0010】根据一个或多于一个已公开的实施例,网络被搜索,并且网络基于搜索得到的信息被探查,以确定对于特定用户的网络的适用性。状态信息被保存在用户的无线使能设备或客户端中以将网络识别为可用、不可用或状态未知。该状态信息可以用于客户端以确定连接的网络,并且状态信息可以被更新以反映网络连接成功或失败。状态信息可以包含用于客户端具有确定状态的网络接入点的状态信息。该信息可以用于后续网络接入条件以加快网络选择并减少处理时间。状态信息由客户端缓存,在客户端上动态管理并基于检测和使用信息被更新。客户端可以被配置以使用一个或多于一个方法确定状态信息。包括该方法的配置信息可以被下载到客户端,允许用于每个客户端的唯一检测配置。配置信息可以被经常更新或修改并完全可配置以允许容易地附加和改变而不需要软件升级,例如在网络和/或与网络操作员或其他实体的协议中提供改变。
附图说明
【0011】根据以下描述并结合附图,本发明公开内容的上述特性和目标将更加明显,其中同样的参考符号表示同样的元件,其中:
【0012】图1包括图1A和图1B,为根据本发明公开内容中的一个或多于一个实施例中使用的组件的结构概略图示例。
【0013】图2提供了根据公开内容中一个或多于一个实施例中使用的映射处理流程的示例。
【0014】图3包含图3A和图3B,提供了根据公开内容中一个或多于一个实施例中样本配置的方案视图。
【0015】图4提供了根据公开内容中一个或多于一个实施例用于开发状态信息缓存的处理流程的示例。
【0016】图5提供了根据公开内容中一个或多于一个实施例中使用的连接状态处理流程。
【0017】图6包括图6A到图6I,根据本发明公开内容的一个或多于一个实施例提供了不同搜索情况的示例,使用图3的样本配置进行对应状态信息的更新。
【0018】图7包含图7A到图7C,提供了根据本发明公开内容的一个或多于一个实施例使用的探查和连接函数的示例。
【0019】图8提供了根据一个或多于一个实施例可以用作操作变量和环境变量的原语的示例。
【0020】图9包含图9A到图9C,根据本发明公开内容的一个或多于一个实施例说明了环境变量和一些***变量,当脚本函数被初始化时该***变量被迁入(populated)或者当最后的函数结束时该***变量可以被考虑。
【0021】图10包含图10A和10B,提供了根据本发明公开内容的实施例中使用的字符串处理原语的一些示例。
【0022】图11提供了根据本发明公开内容的一个或多于一个实施例中使用的数学原语的示例。
【0023】图12包含图12A和图12B,根据本发明公开内容的一个或多于一个实施例提供了用于一种程序控制的条件执行脚本原语和条件算子的示例。
【0024】图13提供了根据本发明公开内容的一个或多于一个实施例中使用的循环原语的示例。
【0025】图14包含图14A至图14C,提供了可以根据本发明公开内容的一个或多于一个实施例使用的程序控制原语和相关返回代码和结束代码的示例。
【0026】图15提供了可以用于根据本发明公开内容的一个或多于一个实施例中的睡眠和时间原语的示例。
【0027】图16包含图16A至图16D,根据本发明公开内容的一个或多于一个实施例提供了通知和输入原语、随其使用的相关定义代码的示例。
【0028】图17包含图17A至图17E,包含根据本发明公开内容的一个或多于一个实施例中使用的无线网络原语的示例。
【0029】图18包含图18A至图18C,提供了根据本发明公开内容的一个或多于一个实施例中使用的网际协议管理原语和IPSET原语中使用的参数的示例。
【0030】图19包含图19A至图19F,根据本发明公开内容的一个或多于一个实施例提供了与HTTP服务器交互的HTTP原语和原语结果的示例。
【0031】图20提供了根据本发明公开内容的一个或多于一个实施例中使用的标记原语的示例。
【0032】图21包含图21A和图21B,提供了根据本发明公开内容的一个或多于一个实施例中使用的GetCap原语和权能的示例。
【0033】图22包含图22A和图22B,根据本发明公开内容的一个或多于一个实施例说明了服务器返回的文档的一般结构,其可以用于建立和/或更新配置。
【0034】图23包含图23A至图23C,图24包含图24A至24D,根据本发明公开内容的一个或多于一个实施例提供了基于XML的文档的示例,用于更新配置。
【0035】图25至图59根据本发明公开内容的至少一个实施例提供了基于XML的元件的示例,可以被表达并更新。
具体实施方式
【0036】一般地,本发明的公开内容包括网络接入点检测和使用***与方法。
【0037】现在将根据上述附图讨论本发明公开内容的某些实施例,其中同样的参考符号表示同样的元件。尽管根据802.11无线网络环境描述了本发明公开内容的实施例,很显然地已公开的实施例对其他网络环境具有应用,包括其他无线网络环境,其示例包括但不限于802.16和802.20。
【0038】根据一个或多于一个实施例,网络搜索可能由无线-使能设备或者客户端执行,并且一些网络接入点的从搜索中被识别。状态信息被保存在客户端例如缓存中,可以用于确定搜索期间被识别的网络接入点是否已预定对客户端可用。如果当前没有状态信息关联被识别的网络接入点,则网络接入点的可用状态被认为是未知的。客户端保存配置信息,包括探查函数用于探查未知网络接入点以得到关于网络接入点可用性的更多信息。为网络接入点收集的状态信息可以用于在客户端的缓存中更新状态信息。如果从网络接入点收到了响应该探查的期望响应,则状态信息为网络接入点被更新以表明其可用性状态为“好”。如果从网络接入点收到不同于期望响应的响应,则对应网络接入点的状态信息被更新以表明其可用性为“差”。另外,网络接入点可以基于与另一个网络接入点的“结合”被确定为“好”或“差”。如果网络接入点没有对应状态信息并且没有对应探查,则网络接入点的状态信息被更新以显示“未知”状态。万一没有有关网络的决定性信息,“未知”状态可以被使用,例如网络以这样的方式响应探查或连接测试:不被视为决定性“肯定”响应,也不被视为决定性“否定”响应。
【0039】缓存在客户端的状态信息可以由客户端用于选择网络接入点以用于连接网络。该状态信息可以被更新,以反映网络连接成功或失败。
【0040】如下文中所详细描述的,状态信息可以包括无线网络检测、可用性和使用信息,其可包括唯一标识符,例如基本服务建立标识符(“BSSID”),用于已经由客户端确定状态的每个网络接入点。该信息可能用于后续网络接入的考虑以加快网络选择并减少处理时间。缓存在客户端上被动态管理,并基于检测和使用信息被更新。
【0041】根据本发明公开内容的一个或多于一个实施例,用于探查并连接可以为每个客户端配置的网络接入点的一个方法,并且接入点信息缓存的管理是可配置的,在客户端上使用可由客户端装载的配置文件被配置。这允许每个客户端或用户对应唯一检测配置。该信息可能经常被改变并是完全可配置的,以允许容易地附加和改变而不需要改变用户的底层硬件和/或软件平台。
【0042】图1提供了根据本发明公开内容的一个或多于一个实施例使用的组件的结构概略图示例。客户端108为无线-使能设备。无线-使能设备可以是具有WiFi芯片的任何设备。该设备的示例包括但不限于台式计算机或便携式计算机、个人数字助理、数字照相机、移动电话、汽车、游戏设备、用户电子设备等等。
【0043】图1A中示出的示例结构包括无线网络102的实例。无线网络102的每个实例可以包括接入点(AP)112的一个或多于一个实例。AP 112是用作诸如客户端108和无线网络102的客户端的通信或连接点的网络设备。例如,客户端108可以使用无线网络102接入例如因特网106、有线网络104和/或无线网络102的其他实例。
【0044】无线网络102实例可以包括但不必须要包括接入控制器114的一个或多于一个实例。接入控制器114包括用于控制接入无线网络102的设备。接入控制器114可以用于实施无线网络操作员接入无线网络102和/或因特网106的规则。如本文中的详细描述,通过例如允许客户端108关联网络102而不要求验证,接着阻塞客户端108的通信直到其提供有效验证信息,接入控制可以被实现。可能被使用的一种方案的示例涉及的处理为接收客户端108的初始网页请求,并将请求改向接入控制器114,接入控制器114从客户端108请求验证信息。如果客户端108提供有效验证信息,则接入控制器114允许客户端108自由使用无线网络102。
【0045】典型地,接入控制器114和无线网络102的商用实例一起使用,例如由热点操作员提供的商用实例。另一个无线网络102的实例例如用在家庭环境中的实例不需要包括接入控制器114。无线网络102的每个实例可以具有特殊过程或方法以用于关联、验证和/或连接网络,该网络可以(并可能)从无线网络102的一个实例变为另一个实例。此外,该过程可能经常改变。
【0046】本发明公开内容的实施例可以配置客户端108以适应无线网络102的实例的唯一方法和需求。根据至少一个实施例,服务器130将初始配置传送给客户端108,并且可以为配置信息提供增量更新。
【0047】图1A中示出的示例结构中,简单起见,示出了单一客户端108和服务器130。显然可以有客户端108的多个实例和/或服务器130的多个实例。此外,显然每个客户端108均可以下载不同的、唯一的配置信息。该配置信息是完全可配置的以允许容易地附加和改变而不需要升级客户端108使用的软件和/或硬件平台。换句话说,例如客户端108可以通过更新其配置信息被重新配置,为无线网络102进行地址变更关联、验证和连接过程。
【0048】图1B根据本发明公开内容的一个或多于一个实施例提供了客户端108的内部结构的示例。显然客户端108可以包括附加组件。例如,该附加组件可以取决于设备的类型。客户端108包括中央处理器(CPU)151、网络接口152的一个或多于一个实施例、输入/输出(I/O)设备接口153的一个或多于一个实例和存储器154,全部可以通过总线150接入。网络接口152可以包含无线网络接口,其可以包括WiFi电路。网络接口152的至少一个实例具有检测AP 112的实例的能力,并且使用网络通信协议发送和接收网络信息,例如由传输控制协议/因特网协议或TCP/IP、协议栈。存储器154可以包括临时存储器和持久存储器的结合,并且可以包括随机存取存储器(RAM)。存储器154的内容包括缓存155、配置156、映射157、操作软件平台158和解析器/解释器159。另外,除RAM外,存储器154可以包括永久性存储器。该永久性存储器的实例包括但是不限于快速存储器和磁盘存储器(例如,固定的或可移动的)、CD等等。
【0049】操作软件平台158包括可由CPU 151执行的程序代码,以控制客户端108的操作。解析器/解释器159包括可由CPU 151执行的程序代码以解释包含在配置156中的信息。由解析器/解释器159解释的配置156的变化可以导致客户端108行为的变化,以便动态配置客户端108而不需要修改操作软件平台158。例如,配置156和其更新可以由客户端108从服务器130得到。根据本发明的一个或多于一个实施例,使用标记语言例如可扩展标记语言(“XML”)写配置156,并且包括使用脚本语言的元素定义可解释函数。附录A提供了配置的格式的说明书,可根据公开的实施例使用。附录B包括脚本语言元素的说明书,XML连接控制脚本(XCoCoS)语言,可根据公开的实施例使用。
【0050】配置156的示例包括但不限于控制增量更新的参数、控制用于识别对客户可用的软件函数的标识符的软件函数、证书、脚本、简档(profile)、简档过滤器、网络表、位置(location)、位置过滤器和默认配置。证书可用于识别登录信息(例如,用户名、密码、证书等等)。脚本可以包含一个或多于一个函数,可以使用脚本语言书写并且包含可以由解析器/解释器159解析并解释的语句以执行一些功能性。
【0051】脚本的示例包括但不限于连接(典型地,包括登录)函数,断开(典型地,包括退出)函数、探查函数、状态更新函数、连接性检查函数等等。连接函数可以用于执行关联、验证、加密和验证过程以连接客户端108,以便客户端108或其用户可以使用无线网络102。断开函数脚本可以执行退出函数以将客户端从无线网络102断开。根据一个或多于一个实施例,探查函数验证从AP 102接收的信号,不需要客户端108登录无线网络102就可以执行该验证。当已连接到无线网络102时,状态函数可以用于连接服务器例如服务器130以确定该连接是否“健康”。连接性检查函数可以用于确定对给定无线网络102的连接是否正在工作并提供因特网接入。
【0052】配置156中包括的简档可以包含用于和无线网络102一起使用的设置。配置156的简档过滤器可以用于在简档中改变设置。网络表可以用于将无线网络102的多个实例连接到简档。位置定义了位置目录的扩展,并且位置过滤器可以用于筛选出位置(即控制为客户端和/或客户端108的用户可用的位置目录部分)。默认配置定义了默认值,并且可以包括配置156的任何元素的默认值。
【0053】缓存155包括对应AP 102的实例的信息。例如,缓存155可以包括用于AP 102(例如BSSID)的唯一标识符和包括可用性信息(例如“已知良好”、“已知差”、“关联良好”、“关联差”、“未知”、“关联未知”等等)、以及使用信息(例如最后使用的日期和时间、对良好连接和差连接计数等等)的状态信息。根据本文公开的实施例,缓存155作为搜索、探查和连接操作的结果被更新。映射157包括用于将简档映射到网络标识符(例如SSID)、将简档映射到网络表的信息。配置156可以将简档和网络分级,该分级可用于确定被检测BSSID和简档之间的匹配,该简档包含BSSID所属的无线网络102的连接首选项和其他设置。映射157可以被动态建立,并可以被存储或是虚拟的。简档分级、网络分级和是否有信号来自对应该信息的AP 112。
【0054】再次参考图1A,AP 112实例播送信标帧119。客户端108“搜索”120,本文中也相当于“嗅探”或检测由AP 112实例发送的信标帧119。也就是说例如客户端108的网络接口152侦听由AP 112的实例在给定通道上播送的信标帧119。典型地,信标帧119包括的信息例如SSID、BSSID和安全设置。如根据公开的实施例讨论的,包含在信标帧119中的信息可以和配置156一起使用来探查121以及和无线网络102的实例的AP 112一起使用,以基于探查响应122确定无线网络102实例的可用性状态。基于被确定的可用性状态并顺应配置156,客户端108可以通过无线网络102实例请求连接123到无线网络102和/或因特网106,并且基于响应连接请求123接收到的连接响应124确定连接/使用状态。
【0055】根据一个或多于一个实施例,映射157用于选择客户端108可以连接的无线网络102的实例。映射157可以用于将配置156中定义的简档映射到配置156中定义的一个或多于一个网络。在一个或多于一个公开实施例中,映射157作为分立结构被保存在存储器157中,如图1B所示。作为替代地,通过包含在配置156中的简档和网络表的搜索可以动态确定映射157。本文使用的示例中,为了解释和说明的目的,映射157作为分立结构被示出。
【0056】图2提供了根据一个或多于一个公开实施例使用的映射处理流程的示例。通常,对于配置156中定义的每个简档,将确定是否有对应网络表。如果简档具有至少一个对应的网络表,其被解析以识别关联简档的网络,像在网络表中被识别那样。简档被映射到每个网络和网络表中被识别的SSID。如果给定简档没有关联的网络表,则简档被映射到其SSID。配置156提供简档分级和将关联简档的网络分级的能力。
【0057】参看图2,映射157被清除。步骤202处确定是否有简档待处理。如果没有,映射过程终止。如果有简档待处理,则处理在步骤203处继续,以得到第一个/下一个简档。在步骤204处确定简档是否具有一个或多于一个对应的网络表。如果没有,处理在步骤208处继续,以将简档(例如其分级、SSID和参考名)添加到映射157。如果步骤204处确定当前简档具有一个或多于一个相应网络表,则处理在步骤205处继续以处理网络表。更特别地,在步骤205处确定是否有任何待处理的网络。如果确定对于当前简档没有待处理的网络,则处理在步骤202处继续以处理任何剩余简档。
【0058】但是,如果有至少一个网络表待处理,至少在第一次迭代中,处理在步骤206处继续以得到网络表中的第一个/下一个网络。万一网络表识别了多于一个网络,则下一个网络基于网络表中每个网络被识别的分级被选择。在步骤207处,映射157中为网络建立条目,可以包括相关简档的分级、网络参考名、网络分级和与当前网络关联的SSID。处理在步骤205处继续以确定是否有任何网络待处理。
【0059】图3使用示出的配置示例进一步说明了图2中示出的过程。基于样本配置156的简档301和网络表320产生映射157的示例。在该示例中,使用简档301和网络表320定义映射360。
【0060】简档301和网络表320提供了简档和网络表定义的方案视图。根据本发明的一个或多于一个实施例,简档和网络表使用基于XML的句法被定义。下文中提供了对应简档301的简档308的简档的部分定义的示例:
<Profile...id="6"...>
...
<_DISPLAYNAME>Commercial Network</_DISPLAYNAME>
<_CONNORDINAL>2</_CONNORDINAL>
...
</Profile>
【0061】上面示出的定义是使用基于XML的句法表示的简档定义的一部分。用于“Profile”元素的基于XML的句法具有块结构,并且定义关联简档的属性。例如上述简档定义包括值为“6”的简档标识符。简档标识符在为客户端108定义的简档之间唯一地标识简档。另外,该定义识别“商用网络”的显示名称和关联简档“2”的分级如“CONNORDINAL”元素指定的那样。参看图3A的简档301,简档308包括308行302列的简档分级“2”,和列304中其名称“商用网络”。继续看简档301中示出的示例,行307和309对应两个其他简档,其名称分别为“家庭网络”和“办公室网络”。简档307和309具有列302中的分级(即分别为“1”和“3”),并且列304示出了SSID名称(即分别为“家庭”和“办公室”)。
【0062】网络表320也可以根据至少一个公开实施例使用基于XML的句法被定义。网络表320定义的一部分如下所示:
<NetworkList...profileid="6"rank="2"...>
  <Network id="15"...name="WillowScript"rank="1"scriptid="1".
    ../>
  <Network id="16"...name="Sonora"rank="2"scriptid="3"...
    />
  <Network id="17"...name="Gobi"...rank="3"scriptid="3"...
    />
  ...
<Network id="12"...name="PaloVerde"...rank="4"
  scriptid="3".../>
【0063】示出的示例中,网络元素包括值为“6”的“profileid”属性,对应该值,“6”关联上面定义的“Profile”XML元素的“id”属性。该对应在网络表320中概念性地示出,即“Profile=′CommercialNetwork′”。另外,当“商用网络(Commercial Network)”简档(即入口308)被处理,相应网络表被处理,并且网络表中被识别的网络被映射到“商用网络(Commercial Network)”简档。网络表320的326行到330行对应网络表中定义的网络(即分别为"Willow","Sonora","Gobi","Arroyo"和Palo Verde")。每行具有网络分级、SSID和脚本名称,如网络表320的322列到324列中所示。
【0064】映射360说明了基于简档301和网络表320被识别的映射。映射369对应简档301的简档307定义的“家庭网络(Home Network)”。映射369的362列中示出了其第一分级,并且列365示出了其SSID:“家庭”。由于其没有关联的网络表,列364中没有网络分级。“商用网络(Commercial Network)”简档有五个入口,用于网络表320中定义的网络的每一个。简档301的简档308中映射370到374的每一个具有相同简档分级组,并且网络分级(即映射370到映射374中列364)对应其各自分级(即,网络表320的列322)。映射360的行375对应简档301的简档309。
【0065】图3B提供了被网络表中的网络引用的两个脚本340的方案视图。例如,"WillowScript-vl"脚本被网络表320的网络326引用,并且"Wispr-vl"脚本被网络表320的网络327、328和330引用。从示出的脚本示例可以看出脚本具有多个函数。在示例性脚本中,"WillowScript-vl"和"Wispr-vl"脚本都包括探查、连接、断开和检查函数。
【0066】配置156可以包括根据公开实施例使用的例如根据图3描述的一个或多于一个简档、网络表、脚本,以产生缓存在客户端108上的状态信息,客户端108可以使用该状态信息选择AP 112实例以连接无线网络102。图4提供了根据一个或多于一个实施例产生状态信息缓存中使用的处理流程的示例。
【0067】一般地,根据至少一个实施例,在客户端108执行的搜索中被检测的信号例如信标帧119的实例被与简档和网络表的映射比较,以确定被检测的信号是否匹配配置156中定义的简档和可能的网络表。该过程可以使用一个或多于一个探查功能以探查被检测的AP 112的信标帧信号以确定其可用性。该过程可以继续直到可行的AP 112实例被识别或所有被检测的AP 112实例和/或简档/网络表已经被处理。
【0068】参看图4,步骤401处,客户端108搜索网络以检测信标帧119。每个信标帧119包括SSID和BSSID。如果至少一个信标帧119被检测到,则播送被检测到的信标帧119的AP 112的状态通过使用包含在配置156中的信息被确定,例如AP 112实例是否可用。在简档301和网络表320中示出该例子,并且使用简档301和网络表320的映射360中示出该过程。图6A至6H提供了对样本缓存所作的搜索和相应更新的示例,以反映根据公开实施例识别的状态信息。但是,显然本发明公开实施例的应用不限于这些示例。
【0069】步骤402处确定是否有简档待处理。在图3A所示的示例中,简档301包含三个简档。步骤403中,选择下一个简档用于处理被检测的信标帧119。根据公开实施例,以分级顺序处理简档以便分级为“1”的第一个简档被第一个处理,例如简档301的“家庭网络(HomeNetwork)”被第一个处理。步骤404处确定关联被选择简档的SSID是否对应任何被检测信标帧119中播送的SSID。如果不对应,处理在步骤402处继续以选择另一个简档。
【0070】使用图3A和6A中示出的示例,搜索602a包括步骤401处由客户端108检测的信标帧119实例。被检测的信标帧119具有“家庭(Home)”的SSID,其对应“家庭网络(Home Network)”简档的“家庭(Home)”SSID,如图3A的映射360所示。在该示例中,步骤404识别一个匹配并且处理在步骤405处继续。
【0071】如果步骤404处确定被选择简档的SSID对应被检测信标帧119的SSID,则处理在步骤405处继续以确定客户端108是否已经知道被检测信标帧119的BSSID。步骤405使用图3A和6A中示出的示例检查缓存601a以确定例如被检测的BSSID(例如在图6A的搜索602a中列出的“0f:12:22:ef:12:22”)是否已经被列入缓存601a,以确定AP 112实例是否已经被客户端108检测,和相关状态信息是否已经被确定。在图6A的示例中缓存610a为空。但是,根据公开实施例,随着客户端108检测AP 112的实例,缓存可以被更新以反映由客户端108得到的信息。
【0072】如果确定BSSID未被列入缓存中,则处理在步骤411处继续以确定配置156是否定义了对应当前待处理简档的探查功能。如果未定义,则处理在步骤409处继续以更新缓存,表明被检测BSSID的可用性状态为“未知”。图6A中示出的示例中,缓存605a列出了BSSID和“未知”状态。再次参看图4,在缓存被更新以反映“未知”状态后,处理在步骤410处继续以将被检测AP 112实例的SSID映射到简档SSID。再次参看图6A,对应图3A中映射360的映射603a被更新以表明被检测SSID匹配“家庭网络(Home Network)”简档中识别的SSID。处理在步骤402处继续以处理任何剩余简档。
【0073】如果步骤405处确定被检测的BSSID已经被缓存,则处理在步骤406处继续以确定对应BSSID的缓存的状态是否表示为“良好”。如果为“良好”,步骤408处AP 112的当前状态被保持为“良好”,并且处理在步骤410处继续。如果AP 112为“未知”,处理在步骤410处继续以将信号映射到简档,并且以丢弃(drop)来自搜索602a的信号,并且处理在步骤402处继续以处理任何剩余简档和由AP 112播送的信标帧119。
【0074】如果确定缓存的BSSID的状态不是“良好”也不是“未知”,处理在步骤407处继续以更新缓存的状态,以表明“差”状态,并且处理在步骤402处继续以处理任何剩余简档。如果被检测BSSID的缓存的状态被标记为“差”,则信号不从搜索池中丢弃。这允许被检测的BSSID相对于另一个BSSID或剩余简档被检查。
【0075】根据一个或多于一个实施例,在给定搜索间隔执行搜索,该给定搜索间隔可以在配置156中设置。该搜索间隔可以为长时间,如30秒。根据一个或多于一个实施例,客户端108可以执行多次搜索,例如多次执行图4的步骤401,并且搜索间隔基于搜索何时发生而可以变化。例如,如果客户端108刚被使能,则搜索可以更频繁地发生(例如搜索相隔几秒发生)。根据一个或多于一个实施例,一旦客户端108发现AP 112,图4中示出的过程可以被终止,并通过AP 112的该实例连接。用于进行连接的信号可以被监控。另外,根据至少一个实施例,当客户端108已经运行了一段时间,搜索间隔可以被调节以减小搜索发生的频率。在一种情形中多次搜索被执行并保存。存储的搜索表可以被结合,并且集中表中的信号可以基于例如信号的强度、其衰减信号状态和或其不稳定信号强度被丢弃。集中表中的剩余信号可以根据例如图4的步骤被处理。如果例如客户端108的用户仅仅通过具有热点的区域,该可配置特性可以有利地避免处理客户端108瞬态信号。这将肯定地影响电池和其他资源的保持。
【0076】缓存的状态信息例如“未知”可以通过为缓存条目确定连接状态被进一步细化(refined)。可以使用配置156中定义的脚本的连接函数确定连接状态。图5提供了根据一个或多于一个公开实施例使用的连接状态处理流程。
【0077】一般地,简档根据其在其他简档中的分级被选择,缓存的BSSID条目被识别,其被确定以匹配被选择的简档,并且对应被选择简档的连接函数从配置156中被识别。与被选择简档对应的连接函数由CPU 151在解析器/解释器159的控制下被执行,以尝试连接到对应缓存的BSSID条目的AP 112实例。确定连接是否成功,并且缓存条目被更新以反映连接结果。例如,缓存可以被更新以反映连接失败或连接成功、连接或试图连接的日期和时间。良好和/或差连接数量的计数也可以被缓存。状态例如“已知良好”或“已知差”可以被更新以反映连接或试图连接的结果。另外,关联有关连接测试的BSSID的BSSID状态信息可以被更新。例如如果具有BSSID的被测试连接被确定为即将成功,则相关BSSID的缓存状态可以被更新以反映“关联良好”状态。相似地,如果BSSID的连接测试失败,关联的BSSID的缓存状态可以被更新以表明“关联差”状态。
【0078】参看图5,步骤501处确定是否有任何简档待处理。如果没有,处理结束。但是,如果有简档待处理,处理在步骤502处继续以从待处理简档中选择简档。简档选择可以基于根据图4讨论的简档分级。步骤503处确定被选择的简档是否具有AP 112实例的BSSID的任何匹配,例如可以根据图6A的映射603a确定的匹配。如果被选择的简档不具有匹配BSSID,处理在步骤501处继续以处理所有剩余简档。如果被选择的简档具有匹配BSSID,则处理在步骤504处继续,以试图连接到对应匹配BSSID的AP 112实例。
【0079】例如参看图6A,映射603a示出了“家庭网络(Home Network)”将被分级为一号并具有匹配的BSSID。例如使用例如被选择简档的定义和配置信息156,关联简档的连接函数被识别。配置156中定义的连接函数和“家庭网络(Home Network)”简档一起使用,用于试图连接到关联搜索602a中识别的BSSID的AP 112实例。
【0080】步骤505处确定连接是否成功或失败,并且步骤506或507基于该结果被执行。如果已经确定连接成功,则处理结束。如示例中所示,当发现良好连接时处理结束。显然可以预期替代实施例,借此处理后续执行连接测试以找到一个或多于一个其他“良好”的BSSID。如果连接尝试失败,则处理在步骤501处继续以处理所有剩余简档。
【0081】参看图6A,搜索604a反映成功的连接。BSSID具有表明其为“已知良好”的状态信息、最后连接尝试的日期和时间,以及一个计数,示出关联的AP 112已被使用一次,用于与关联AP 112实例的无线网络102建立成功的连接。
【0082】图6B到图6H提供了缓存604a的搜索和更新的其他示例,说明了可以使用本发明公开的实施例的一些情况。显然这些示例并不详尽,并且公开的实施例可以和其他情况一起使用。
【0083】根据图6A描述的示例中,客户端108检测“家庭(Home)”网络,并且能够成功连接到该网络。图6B的示例中,客户端108检测“家庭(Home)”无线网络102,具有不同于缓存BSSID(例如"0f:12:22:ef:12:22")的BSSID(例如"0b:3f:a1:21:0b:ad")。在该情况下,两者SSID相同即“家庭(Home)”,BSSID不同。不需要进一步检查,客户端108可以假设新检测的BSSID来自相同的无线网络102实例,并且可能试图使用BSSID访问因特网106,并在一些数量的不成功尝试后退出。这可以导致客户端108资源的相当大的消耗。如果客户端以电池供给动力运行,这些尝试会不必要地减少电池能量。本发明公开的实施例可以用于测试AP 112以确定其可用性。
【0084】图6B的缓存601b对应图6A的缓存604a,在检查AP 112之前描述缓存的内容。搜索602b中示出了搜索结果。客户端108使用映射603b选择匹配简档“家庭(Home)”。缓存601b的搜索确定被检测BSSID是新的。在示例中,客户端108试图连接到AP 112实例,其对应搜索602b中检测的BSSID。但是在该情况下,因为AP 112实例具有导致关联失败的安全设置,连接尝试失败。连接测试失败后缓存604b反映缓存的内容。缓存604b被更新以反映连接到该“家庭(Home)”网络的不成功的尝试。现在缓存604b识别了两个BSSID,一个具有“已知良好”状态,另一个具有“已知差”状态,每个缓存条目反映最后连接尝试的时间/日期和良好连接与差连接的数量。
【0085】图6C提供了另一个搜索602C的示例,检测已经在缓存601c中的BSSID。搜索602c之后,对应图6B中缓存604b的缓存601c被检查以确定被检测BSSID的状态是否已知。在该情况下,在缓存601c中发现被检测BSSID并且具有“已知良好”的状态。由于BSSID良好为已知,不需要测试BSSID,并且客户端108可以使用BSSID连接到无线网络102和因特网106。如果客户端108使用BSSID连接并且连接成功,缓存604c被更新以反映第二次成功连接。
【0086】图6D说明的情况中,基于缓存状态信息例如关联具有“已知差”状态的被检测BSSID的缓存条目,已知BSSID为差。缓存601d对应图6C中的缓存604c,两者将搜索602d中检测的BSSID识别为“已知差”。尽管关联“已知差”AP 112的SSID匹配简档的SSID,如映射603d所示,客户端108可以避免尝试探查或连接到AP 112实例,因为其被预定为差。缓存604d被更新以增加“差计数”。当然,客户端108可能基于其配置156被配置,以测试AP 112实例以更新其状态信息。在这种情况下,关联的缓存条目可以被更新以反映任何状态变化,例如“最后使用”信息可以被更新以反映另一个失败的连接尝试。
【0087】图6E提供了搜索602e的示例,其检测多个BSSID,即多个信标帧119由AP 112的实例播送,具有相同的SSID。参看映射603e,简档即“家庭网络(Home Network)”具有更高级别,因此其将首先被检查以确定其是否识别“Sonora”SSID。接着下一个简档,“商用网络(Commercial Network)”简档被检查,并且“Sonora”SSID被确定以对应“商用网络(Commercial Network)”。映射603e反映该匹配。但是,与搜索602e的第一条目关联的BSSID不对应任何缓存的BSSID。探查和/或连接操作可能被执行以确定该BSSID的状态。
【0088】图7包含图7A至图7C,提供了根据本发明公开的一个或多于一个实施例使用的探查和连接函数的示例。
【0089】参看图7A,示出了探查函数的示例。样本探查函数包括部分701至705。通常,探查函数通过被检测的AP 112关联无线网络102,并且接着尝试访问因特网106以确定网关是否正如期望,表现为配置156中识别的那样工作。
【0090】部分701包括用于声明和初始化变量的脚本语句。例如,变量“alive”被初始化为用于网页的通用资源定位符“URL”。部分702尝试“关联”(例如,设法连接)AP 112,例如进行数据链路层连接。部分702中的逻辑“IF”块检查关联操作的结果“r”以确定关联是否成功。例如,在返回结果具有“200”到“203”的值的情况下认为关联操作是成功的。如果关联操作成功,则函数在部分703中继续以基于配置156中定义的信息应用IP设置(例如确定IP地址是否为静态、动态等等),并且结果被测试以确定操作是否成功。
【0091】如果IP设置操作成功,函数继续执行部分704以请求由URL索引的网页,该URL在“alive”变量中被指定。被检索的文档的内容在部分705中被检查。如果文档包含字符串“1234567654320”,函数成功结束(例如由返回代码“50”表明)。如果内容不同于指出的字符串,确定被返回文档是否指示识别另一个URL位置的重定向操作,从该URL位置检索网页文档。如本文中所讨论,重定向可以为访问控制器114实例。如果重定向操作被指示,则使用第一个文档中指定的新URL执行另一个文档检索请求。当被检索文档中指示重定向操作时,该过程被执行。不同于“重定向”的消息类型终止“while”循环并且处理继续以检查最新消息类型以确定探查是否成功。WiFi分离操作被执行并且函数结束。
【0092】图7B和图7C提供了连接函数的示例。通常,样本连接函数执行变量声明和关联与IP设置操作,与探查函数中执行的相似。接着连接函数尝试使用身份验证信息登录(例如配置156中被识别的用户名和密码凭证)。如果登录成功,则函数以类似于根据图7A描述的方式请求网页,包括返回文档的检查和执行由文档指示的重定向。如果返回文档具有期望的内容,则函数返回,具有函数被成功执行的指示。否则函数尝试检查被检索文档的内容以确定采取什么动作。
【0093】在声明和初始化变量、执行关联并得到IP设置上,部分711至713与图7A的部分701至703类似。部分714从配置156检索登录凭证,部分715从变量“alive”指定的网站检索网页文档并且部分716检查被检索文档的内容。如果被检索文档具有期望的值,函数返回成功返回代码。否则,在该情况下,函数为“重定位”消息类型检查文档,并从新位置检索文档。如果遇到不同于重定位消息类型的消息,部分717尝试识别收到的消息。部分718包含用来在登录表格中设置值的脚本代码,其接着被发送到服务器。发送的结果被检查以确定发送是否成功。部分719检查被检索文档的内容以确定其是否包含用于退出的指示(例如用于退出的URL)。如果包含,指示被存储在环境变量中,并且函数返回成功指示。部分720检查被检索文档的内容以确定是否指定延迟。如果指定,函数在指定的一段时间内执行睡眠操作。
【0094】参看图6E,假设图7A至图7C中示出的探查函数和连接函数都被执行并且搜索602e中为第四条目获得(yielded)成功结果(即“0f:02:22:ef:00:03”)。缓存604e中的第一条目对应该BSSID,并且表明最后连接的日期、时间和“1”的良好计数。另外,该BSSID的状态被设置为“已知良好”。另外,对应其他BSSID的条目与“已知良好”BSSID具有相同的SSID,被给定“关联良好”状态。就是说,当它们未使用探查函数或连接函数被测试时,这些BSSID基于它们与被测试的BSSID的关联(例如具有相同的SSID)被认为是良好。
【0095】根据一个或多于一个实施例,缓存例如缓存604e使用最近使用的(“MRU”)缓存管理方案以便新检测的条目位于缓存的顶端而旧的条目被移动到底部,并可能最终从缓存中被除去。显然可以使用任何类型的缓存管理方案。另外,显然可以使用一些方案的混合或结合,并且方案可以基于例如优先选择被修改。例如关联用户自己的家庭无线网络102的BSSID可以永久地设置在缓存中,以便其不被除去。另外,显然可以基于例如配置信息156为给定客户端108动态地调整或自定义缓存大小。
【0096】在图6F示出的示例中,搜索602f检测AP 112的多个实例和多个无线网络102。映射603f说明被检测的BSSID匹配两个无线网络102,即“Gobi”、“Arroyo”和“adminwifi”。假设“Gobi”网络的探查获得未确定的结果。这在探查不能最后确定“Gobi”网络可用或不可用的情况下可能发生。另外,假设“Arroyo”的探查获得确定的“已知良好”结果。缓存601f说明缓存先于探查,并且缓存604f在探查后示出缓存。关联“Gobi”SSID的BSSID被测试,被标记为“已知,未确定”,因为它已知(或被检测),但是其可用性状态未被确定为“良好”或“差”。另外,另一个关联“Gobi”的未测试BSSID被标记为“已关联,未确定”。被测试“Arroyo”网络的BSSID在缓存中示出,具有“已知良好”状态,并且“Arroyo”网络的另一个未测试BSSID被示出为“已关联,良好”。
【0097】另外,对应“adminwifi”SSID的BSSID在搜索602f中被检测,其代表新发现的BSSID和SSID。“adminwifi”SSID未被映射到配置简档,如映射603f中所示。对应“adminwifi”的BSSID不添加到缓存。代表搜索602f之前的缓存状态的缓存601f被更新,如代表搜索602f之后缓存状态的缓存604f中反映的那样。
【0098】参看图6G,缓存601g对应图6F的缓存604f,代表缓存先于搜索602g。搜索602g如搜索602f那样检测相同的BSSID和对应“Gobi”网络的一个附加BSSID。根据“adminwifi”出现相似的结果,其不匹配映射603g中的简档。这时“Arroyo”网络未被探查,因为最后搜索中探查成功。另外,因为有“已知,良好”BSSID,不需要探查关联“Gobi”网络的BSSID。假设图6F和图6G中相同的AP 112被用于连接网络,缓存将反映计数“2”,如缓存604g中所示。
【0099】图6H的缓存601h对应图6G的缓存604g。图6H的搜索602h检测AP 112的多个实例和多个相应SSID。如映射603h中所示,在搜索602h中确定具有匹配SSID的两个简档。在当前情况下,使用“已知,良好”“Arroyo”BSSID连接到因特网106的尝试失败。缓存604h被更新以在“差计数”列中反映一个差连接。缓存601h将“Gobi”网络的两个BSSID识别为“未确定”。但是,“Gobi”网络的新发现的BSSID被成功探查并被用于连接。其被添加到缓存604h,具有“已知,良好”状态,并且其“良好计数”字段(field)增加以反映一个良好连接。“Gobi”网络的其他两个BSSID的状态从“已知,未确定”和“已关联,未确定”变为“已关联,良好”。
【0100】参看缓存器604h并假设后续搜索获得与搜索602h同样的结果,客户端108可以在“已知,良好”的三个AP 112实例中选择以便连接到例如因特网106。根据一个或多于一个实施例,可以基于关联BSSID的“良好计数”和“差计数”值在可能的选择之间选择。
【0101】例如根据图6H,如“Arroyo”和“Gobi”网络的缓存BSSID之间,可能的优先选择为“Gobi”网络的BSSID,因为没有关联的差计数。通过基于良好计数和差计数与缓存604h中关联BSSID的最后连接信息鉴定BSSID的等级可以进行确定。例如根据“已知,良好”BSSID,被确定为最后一次使用的(例如,基于“最后使用”状态信息)BSSID被识别。五个分数被分配给该BSSID和其关联的BSSID的每一个。接着为每个“良好计数”分配一个分数,并且为每个“差计数”减去两个分数。缓存604h示出的示例中,“Gobi”将具有分数16(即15+1=16),而“Arroyo”将具有分数10(即10+2-2=10)。基于该分数,将选择BSSID关联“Gobi”网络。
【0102】当然,显然可以使用任何类型的标准进行这样的选择。例如,选择可以基于用户的优先选择、关联成本等等。
【0103】参看图6I,示出的另一个情况中,客户端从AP 112的一个实例转移到另一个实例,例如只要用户被连接到热点。缓存60li对应图6H的604h,并且反映缓存先于该转移的状态。图6I的示例情况中,随着客户端108用户绕热点环境行走时,客户端108被连接到一个AP112实例,例如“0f:33:12:ac:19:99”,接着客户端108被切换到另一个AP 112实例,例如“0f:02:15:29:01:01”。另外,搜索602i被执行,其检测例如新AP 112实例信标帧119,其包括“03:cd:12:aa:99:ad”BSSID和“Gobi”SSID。新信号被映射到“Gobi”网络,如映射603i中所示。另外,新BSSID以“已关联良好”被列入缓存604i中,因为其关联一个网络,对于该网络,AP 112实例已知为良好。另外,根据对应“0f:02:15:29:01:01”BSSID的缓存604i条目,最后使用和良好计数字段被更新以反映转移到该BSSID。
【0104】这样可知,本发明公开的实施例可以被应用在多个网络具有共同SSID的情况中,但是在不同的位置可能表现不同。为了说明,假设移动电话携带者在不同类型的位置(例如咖啡店、机场、不同国家的咖啡店和机场等等)具有无线网络102的几个实例。用户能在所有咖啡店访问携带者的无线网络102,但是不能在机场访问携带者的无线网络102。但是,咖啡店和机场的所有无线网络102实例具有相同的网络或SSID标志。本发明公开的实施例为客户端108提供了功能性以通过测试(例如探查和/或连接尝试)知道哪个网络可以使用和哪个网络不可以使用。接着状态信息可以被缓存,基于得到的信息向客户端108给出可以用于进行智能连接决定的信息。
【0105】用于这样的情况的探查脚本可能包括例如使用预定用户名快速登录到网络服务器。基于携带者提供的信息,客户端108可以被配置以确定如果登录成功则位置可用,和如果登录失败则位置不可用。当客户端108到达位置,其可以执行作为探查一部分的该测试登录,并且基于该探查结果确定该位置是否可用。例如,因为探查结果缓存在客户端108上,可能建立信息并知道该网络。
【0106】这样,如果你每个早上停留在相同咖啡店并且客户端108具有来自先前探查的信息,该位置网络为“已知,差”,就不需要每个早上都设法登录。不需要在该位置再一次浪费时间和电池。如果探查未确定,则客户端108也将具有该信息,并且可以确定是否再一次探查。
【0107】在某些情况下,可能需要根据本文描述的一个或多于一个实施例检测一个网络,并且接着使用探查脚本寻找其他网络。例如,“D-WiFi”SSID可能在某一位置是可见的。当该SSID可见,探查可能尝试连接到不可见的“D-WiFi-WPA”SSID。假设探查操作成功,客户端108将知道该网络为“已知良好”。接着,当客户端108决定连接,该连接函数将尝试连接到“D-WiFi-WPA”。有利地,该特殊WiFi配置情况提供了连接的灵活方法,并且其可以通过配置156被配置。
【0108】本发明公开的实施例使用客户端软件工具包,其执行如探查、连接、断开等操作。客户端软件包支持XML连接控制脚本(XCoCoS)语言。有利地,XML分析可以用于配置信息管理和实施脚本语言,后者包括最小附加码。本发明公开的实施例平衡了简单编程语言的需要,当不需要复杂解释器时还提供了执行大多数普通函数的能力。
【0109】XML脚本包括执行基于网络登录的功能性(可以出现在关联到访问点之后)和3层连通功能性。外加基于802.11的身份验证方法,支持WPA,XML脚本的范围扩展到包括预关联、关联、后关联登录、探查、退出和分离任务。
【0110】可以用于连接的方法可以包括登录,可以用于断开的方法可以包括退出。根据公开实施例提供的基于XML的脚本也支持探查、状态更新和连通性检查,探查用于确定特殊信号是否按先前期望的行为登录,状态更新用于当被连接以确定是否有状态信息来自网络访问控制器,连通性检查用于确定连接是否建立并运行。这些不同任务在基于XML的脚本的函数中被执行,单一的基于XML的脚本可能包含多个函数。
【0111】例如,当执行函数时(例如,连接、探查、连通性检查等),客户端108基于其目的和使用的网络简档中引用的脚本名称在基于XML的脚本中调用适当的函数。如果需要的函数在脚本中不存在,客户端108将回到默认脚本中的给定函数。
【0112】根据一个或多于一个实施例,脚本明确地运行单线程和应用程序全局符,并且每次运行一个脚本。脚本包含用于环境变量(存在于脚本和应用程序运行之间)、常规变量(在脚本运行期间有效)和可间接访问HTTP变量(只涉及HTTP请求并在脚本运行期间有效直到新HTTP请求成功进行)的分立数据空间。
【0113】根据至少一个公开实施例,用于脚本语言的组织概念为通过名称被引用的脚本。每个脚本包含一个或多于一个函数,其也通过名称被引用。每个脚本可以包含至少一个函数。一些函数类型可以被预定义用于特殊目的,并且如果函数具有保留名称,则该类型可以隐含在函数名称中。例如,“探查”、“连接”、“检查”、“状态”和“断开”是对应***定义函数的函数类型的示例。例如,***定义函数可以在由下划线作前缀的函数标志的名称属性中指定。本文讨论了探查、连接、连通性检查、状态更新和断开函数类型。
【0114】探查函数可以用于确认给定信号的行为是否按照期望。该类型的函数可以用于确定给定“顶点”SSID是否可以用于连接到网络而实际上不登录(例如以避免用户应负担的事件)。
【0115】连接函数可以用于关联到给定AP、执行必要的关联、身份验证、加密、网络和确认过程,以使用户登录并使用户到达用户可使用网络的点。连接函数支持用于WiFi保护访问(“WPA”)的802.1x身份验证。
【0116】连通性检查函数可以用于确认到给定网络/AP的连接正在运行,并通过执行动作提供因特网访问,例如因特网控制信息协议(“ICMP”)查验、使用地址解析协议(“ARP”)对网关地址解析、域名服务(“DNS”)查找或者基于网络的连通性检查。这提供了超出(beyond)网关确认因特网连通性的能力。例如,检查功能可能连接到只有因特网连接打开并激活时才能看到的网络服务器,或可以查验执行某些功能需要的会话初始化协议(“SIP”)服务器。
【0117】当被连接以连接到状态服务器用于确定连接是否健康时,状态更新函数可以被执行。例如在飞机上时,状态方法可以用于和机载控制器一起检查以获得有关卫星条件禁止因特网访问的信息。
【0118】断开函数可以用于执行基于退出函数、释放IP关联、释放访问点关联等的用户账号管理(“UAM”)。
【0119】根据一个或多于一个实施例,脚本可以具有至少一个函数并且可能具有多个函数。脚本名称的范围可以由客户端配置确定并且在其范围中是唯一的。在配置更新文件中没有限制机制以确保名称不被复制,关于冲突消解具体参看配置文件格式。
【0120】函数名称范围可以由脚本确定并且在其范围内是唯一的。在该情况下,给定脚本中允许每个类型的一个函数,即一个脚本可能具有_Probe和_Connect函数。
【0121】如本文中根据配置文件更详细描述的那样,信号简档具有关联的网络表,其包含关联指定脚本的网络。对于给定脚本中未定义的函数,可以使用默认函数。默认函数可以包含在名为_Default的脚本中,其可以隐含地出现在每个客户端108中。所有默认函数可以通过定义被包含在_Default中。软件或配置更新可以不考虑_Default脚本。除非不考虑默认脚本,其执行的函数为每个预定义函数返回成功。
【0122】通过允许用于将给定信号集中在一个脚本中的所有函数、从网络表单个关联,涉及用于登录、退出等的计划性相互作用的所有数据被集中在一个地方,便于维护和赋值并减小出错几率(例如为简档分配登录方法而不分配匹配的退出方法)。
【0123】许多附加函数可以在脚本中定义,这些函数的名称不以“”开头,以“_”开头的名称意味着***定义的函数。
【0124】根据一个或多于一个公开实施例,使用了脚本和函数分级,其中使用了脚本的全局表,每个脚本包含一级的函数。
【0125】脚本变量操作包括如声明、分配/改变、存在性检查和放弃在单一脚本解释器运行操作期间维持的简单变量的能力。环境变量可以在从方法运行到方法运行维持的持久环境中被存储、列出、检索和销毁。支持只读持久变量,并且专用持久变量可以被定义。原语“能力”指的是允许脚本通过请求所有能力的表或者特殊功能存在或不存在而确定应用程序的能力。在被调用的函数标识符之后的第一条命令处执行开始,当遇到函数结束或发出返回指令时执行结束。
【0126】在一个或多于一个实施例中,脚本能力包括调试特性,其包括支持脚本调试的两个结构:DBGBREAK属性和PRINT元素。在软件实施的非调试版本中都可以忽略。
【0127】Print命令将给定字符串打印到日志文件。DBGBREAK属性可以作为具有属性的任何命令的属性被添加。根据正常评测规则评测“val”参数,例如参看脚本语言的条件元素。如果被测评为真(非0,非空字符串),脚本的执行先于具有附带的DBGBREAK属性的元素被中断。
【0128】和所有其他属性一样,应用了变量代换,所以可能通过将变量设置为0(调试关闭)或1(调试开启)并使用该变量作为val,以执行条件调试。
【0129】所有变量、方法和函数名称可以如“ASCII码文本”中指定的那样。可以使用命名约定,例如字符A-Z、a-z、0-9、和-可能作为名称的用户分配的部分被提供。开头的“_”指示的值为***定义值。用户定义函数、方法和变量名不以“_”开头。名称区分大小写,这样test、TEST和Test为三个不同的名称。
【0130】脚本名称、函数名称、变量名称和环境变量名称可以具有自己的范围。在范围内名称是唯一的(例如变量和环境变量都可以被命名为“Test”并被认为是唯一的)。
【0131】对于其范围,在一个或多于一个实施例中脚本名称为全局的,例如对于给定用户使用给定配置运行给定客户端,脚本名称是唯一的。函数名称为本地的,以便其在给定脚本元素中是唯一的。对于给定的解析器/解释器,变量名称为全局的。对于给定的客户端,环境变量名称为全局的。
【0132】在一个或多于一个实施例中,脚本环境中的函数名称中使用圆点以在另一个脚本中引用函数,并且在脚本和函数名称之间被用作分隔符。
【0133】根据一个或多于一个实施例,脚本环境支持两种类型的变量:脚本变量和环境变量。脚本变量可以由***定义或在脚本中定义,当解析器/解释器159运行时存在。当脚本执行结束,变量被销毁。环境变量存在于应用程序环境中,并且在脚本运行甚至应用程序运行之间不变,即它们的值被存储在永久性存储器中。环境变量的范围是基于每个用户的应用程序和设备范围。该机制用于在脚本运行之间(例如具有断开函数可用的、由连接函数存储的连接指定退出URL)提供永久性数据并且提供对应用程序全局数据(如登录凭证、软件和将脚本的结果传送到主应用程序的能力)的访问。
【0134】变量名称可以为长度不大于16个字符的ASCII字符串。根据一个或多于一个实施例,所有变量内容为ASCII字符串。算术操作将字符串值转换为整型、执行请求的操作并且返回另一个字符串。
【0135】在生成变量时,取决于使用的命令,变量作为脚本变量或环境变量被识别。为了操作环境变量,其被复制到脚本变量并***作,被复制回环境变量。对环境变量起作用的函数为例如ISENV,SETENV和GETENV。
【0136】用户定义的脚本变量为读-写;取决于其函数,***定义的脚本变量可以为只读或读-写二者之一。{str}或{int}被指定为参数的地方可以使用文字值(literal value)。通过在变量名称前放置$可以设置变量的内容。为了在文字中含有$,在一行中包括两个$(例如$$)。
【0137】一些环境变量可以为只读,例如与设备、应用程序或例如凭证的固定参数传达给定参数的变量。
【0138】***变量可以使用以“_”开头的命名规范识别。在该情况下,用户可定义的变量不以“_”开头。
【0139】图8提供了可以根据一个或多于一个实施例用于操作变量和环境变量命令的示例。图9包括图9A到图9C,说明了根据本发明的一个或多于一个公开实施例的一些环境变量和***变量,当脚本环境被初始化时该***变量可以***作,或当最后一个函数结束时该***变量可以被考虑。
【0140】图10包括图10A和图10B,提供了根据本发明公开实施例使用的字符串操作函数的示例。字符串操作函数可以包括检查字符串长度、找出子串位置、连接字符串、自变量计数、检索第n个自变量、去除下一个自变量、子串、URL编码、URL解码、base64编码和解码、替代子串的函数。该字符串操作函数可以带一个或多于一个自变量;自变量可以为变量或文字串的名称。在引用前面使用“$”识别变量引用。为了使用美元符号,使用两个美元符号(其将被单个美元符号代替)。
【0141】图11提供了根据本发明公开的一个或多于一个实施例使用的数学函数的示例。图12包括图12A和图12B,提供了条件执行脚本原语和用于允许一种形式的程序控制的条件算子的示例。例如,if语句允许在两个变量之间确认条件,该条件可以为相等、不相等、空值或空、小于、大于、小于或等于、大于或等于,switch语句允许变量的评测。
【0142】图13提供了根据本发明公开的一个或多于一个实施例使用的循环原语的示例。为了说明,一句这样的原语为“For”-式循环,其具有单步增量直到指定最大值的指派的整型的计数器。此外,“while”循环可以用于估计简单条件。
【0143】图14包含图14A到图14C,提供了根据本发明公开的一个或多于一个实施例使用的程序控制原语、关联的返回和退出码的示例。程序控制提供了将执行转移到同一个的或另一个方法中另一部分的能力而不返回正在运行的方法和部分(Jump),或在其他方法和部分完成后返回正在运行的方法的能力(Call),以及提供了在任意点从脚本退出(Exit)的能力。程序控制原语提供例如通过转移到代码的其他部分以控制程序执行、调用函数并返回控制到调用函数的能力。
【0144】图15提供了可以根据本发明的一个或多于一个实施例使用的睡眠和时间原语的示例。睡眠和时间原语允许程序执行中的时间延迟和得到当前时间。
【0145】图16包括图16A到图16D,根据本发明公开的一个或多于一个实施例提供了通知和输入原语、关联的与之使用的定义代码。这些通知和输入命令允许函数与父进程交互作用,提供传达进展和状态的机会,并请求特定的参数,可以用于用户通知。图16C根据本发明公开的一个或多于一个实施例提供了用于“Ask”原语的代码参数的值的示例。图16D提供了“告知码(tell code)”值的示例,可以根据本发明的实施例用于创建具有适当信息的对话。
【0146】图17包括图17A到图17E,包括根据本发明公开的一个或多于一个实施例使用的无线网络原语的示例。该原语提供了关联、身份验证并得到结果、分离的能力。例如这些原语提供了得到信息的能力,该信息关于WiFi无线电的状态、已连接或正在连接的信号,并且向宿主软件发出指定原语以指导连接过程。这些原语可以是WiFi特定的。当其他技术类型被添加时(例如WiMax、WWAN)显然可以添加附加的原语。图17B根据本发明公开的一个或多于一个实施例提供了返回“ConnStatus”代码的示例。图17C和图17D提供了根据本发明公开的一个或多于一个实施例用于WiFi关联操作中的参数和识别WiFi关联操作结果的结果代码示例。图17E提供了根据本发明公开的一个或多于一个实施例的分离操作的结果的示例。
【0147】图18包括图18A到图18C,提供了根据本发明的一个或多于一个实施例使用的因特网协议管理原语和IPSET原语中使用的参数的示例。这些命令提供了执行IP网络函数的能力,如设置并得到适当IP地址并控制IP状态。根据一个实施例并为了减小复杂度,这些命令不是异步的。
【0148】HTTP和HTTPS原语提供了使用HTTP和/或HTTPS的能力;例如使用HTTP和/或HTTPS的post,并提供HTTP头;提供并解析出HTTP内容,提供HTTP结果,提供安全信息,设置超时,提供安全参数,为POST请求得到并设置形值,并从结果得到XML。图19包括图19A到图19F,提供了HTTP原语和原语的结果的示例,用于根据本发明公开的一个或多于一个实施例与HTTP服务器交互作用。这些原语提供了具有SSL加密或不具有SSL加密的与HTTP服务器交互的能力。在一个或多于一个实施例中,脚本具有由所有函数使用的一个全局HTTP内容。HTTP原语作用于该内容。即使从一个函数跳转到另一个函数时该上下文保持完整。被调用的函数可以修改该内容。
【0149】HTTP处理可以返回头和文档。所有头可由各自名称个别地得到,并且可以得到所有头的列表以允许一次中可以走查(walk through)所有的头。简单起见文档作为一个大字符串被处理,其可以由字符串操作函数检查。因此在很多实例中,使用的功能性涉及将数据填充进将被发送的表格中,被实施的一些帮助允许函数通过名称得到表格的列表,将表格装填到POST空间,接着在将表格发送回之前检查并修改表格。表格空间的概念也是全局的。
【0150】当产生新HTTP请求,请求已得到第一网络服务器响应时,头、文档(Doc)、表格和POST空间都被清除。图19F根据本发明公开的一个或多于一个实施例提供了与Hget和HPOST原语有关的指示操作成功的“res”内容的示例。
【0151】客户端108的实例可以使用标志,其在网络身份验证期间支持使用多个用户标识,一种标志存储器交互的机制。例如,客户端108的便携式电脑实例可以具有存储指定的多个标志(凭证组)的能力。每个组典型地包含用户名、密码和/或证书。这些命令确认指定标志的存在并将标志的内容返回到_USERNAME,_PASSOWORD,_REALM和CERT变量。根据至少一个实施例,当能力标志:1可用时这些命令被提供。图20提供了根据本发明公开的一个或多于一个实施例使用的标志原语的示例。
【0152】能力原语允许函数确定主应用程序和OS可以提供哪些函数。GetCap原语返回描述软件可以执行哪些功能性的能力字符串或能力字符串组。脚本可以在具有不同能力的不同平台上运行,和/或使用不同软件实施方式,并且动态地确定使用得到的信息时的特征和可以执行的操作。
【0153】如果特定的能力或由逗号分离的能力组在cap中作为输入,给定的能力和其版本号被返回。如果没有能力被输入,所有能力和版本号被返回。能力具有由冒号分割的名称和版本号。对于“cap”参数,如果未提供版本,任何能力将匹配。如果提供了版本,确切的版本将匹配。例如确定环境变量可用的能力为EnvVar,第一版本为1,所以全部能力将为EnvVar:1。能力名称可以为ASCII字符串,由A-Z、a-z和-组成,并且可以为大于0的整数。能力和版本号可以由冒号分开。图21包括图21A和图21B,提供了根据本发明公开的一个或多于一个实施例使用的GetCap原语的示例和能力的示例。显然能力的示例并不详尽,并且根据本发明公开的实施例,能力可以被添加或替换。
【0154】本发明公开的实施例提供了更新配置156的能力,更新可以在配置156的所有或一部分上被执行。例如图1A的服务器130可以向客户端108发送初始配置,并且其后只发送配置156被更新的那部分。为了说明,假设对于无线网络102的一个或多于一个实例,网络操作员修改其身份验证、关联或连接过程。服务器130可以发送被修改的脚本函数以重新配置客户端108。为了说明,来自服务器130的配置更新可以通过简档的id识别简档,并且指示操作如“移除”或“添加”。在“移除”操作的情况下,从配置156中移除被识别的简档。在“添加”操作并且简档已经存在于配置156中的情况下,简档基于服务器130发送的配置更新被更新。在“添加”和简档不存在于配置156中的情况下,简档被添加到配置156。
【0155】配置156可以包括默认配置和非默认配置,两者之一或两者都可以被更新。关联默认配置和非默认配置部分的“autoupdate”参数可以使用来自服务器130的配置更新被自动地更新。
【0156】根据至少一个公开的实施例,如果收到配置更新,客户端108保存存在的配置156,将更新应用到配置156的副本,并在解析旧配置156之前确认被更新的配置156(例如在被更新的配置156中解析基于XML的语句)。
【0157】在至少一个实施例中,配置156的内容可以被认为是一组规则。下表I提供了一些规则的示例:
 
规则类型 描述
自动更新 控制自动更新的参数
函数 软件函数控制,识别用户可以使用并控制软件中的哪些函数        
凭证 向软件传达用户名、密码和证书信息的机制                      
脚本 发送并管理登录、退出和探查脚本的机制                        
简档 用于向软件发送预配置网络简档
简档过滤器 用于在软件的简档中改变设置
网络列表 发送不同SSID列表和可以附加到简档的脚本和安全设置关联的机构                          
位置 定义位置目录的范围
位置过滤器 控制位置目录的哪部分对用户可见                          
默认配置 在客户端上发送并存储默认配置或“seed”的机制            
表I
【0158】客户端108可以请求来自客户端130的配置156或对配置156的更新。根据至少一个实施例,客户端108使用如表II示出的参数执行HTTP GET请求以得到配置156。
 
参数 请求 格式 描述
protocol Y 整型 协议版本,通常为1               
swversion Y 字符型,32 软件版本,用于初始设备软件1     
currentversion Y 整型 当前配置版本号。0如果不存在配置1如果加载了默认配置>1表示加载了当前配置号        
request Y 字符型,32 常量请求类型,通常为:SwConfig  
reg N 字符型,32 客户端注册ID。如果客户端还不具有被分配的ID,该参数将被省略。    
lang N 字符型,4 ISO语言标识符
表II
【0159】下文提供了请求的示例,没有URL部分:
...SwConfig/update.php?protocol=1&swversion=1&currentversion=0&request=SwConfig&reg=1211AD783H3&lang=3012
【0160】服务器130可能请求基本HTTP身份验证,并且客户端108能够以被配置的用户名和密码或默认用户名例如没有密码的“guest”作出响应。
【0161】服务器130响应并且发送HTTP响应。客户端108基于响应代码处理该响应。根据一个或多于一个实施例,不考虑使用无效SSL证书的HTTPS的响应。响应代码“200”表示服务器130响应包括有效XML配置文档,客户端108处理并评测该响应。响应代码“302”表示重定向到另一个服务器130。客户端108跟踪重定向。根据一个或多于一个实施例,允许十六次重定向。客户端108可以跟踪后续重定向并检测循环。如果发现循环,客户端108可以停止更新尝试并认为更新失败。如果另一个响应代码被客户端108检测,更新尝试停止并被认为失败。
【0162】响应“200”中,客户端108可以期望不同类型的响应,例如“无可用更新”、“无效请求”或更新。如果响应表示无可用更新,客户端108上的配置156被认为是最新的,并且不需要改变/更新。客户端108继续使用存在的配置156。下文提供了基于XML响应的示例,表示不需要更新:
<!--No Update Available-->
<SwConfig protocol="1">
  <NoUpdate/>
</SwConfig>
【0163】响应“200”的示例表示客户端108进行的请求如下:
<!--No Update Available-->
<SwConfig protocol="1">
 <InvalidRequest error="nnn"message="Why we failed"/>
</SwConfig>
【0164】客户端108可以再阐述并重新提交申请。客户端108具有在该情况下使用默认配置的选项,例如确定没有暂时错误(transitoryerror)。
【0165】根据一个或多于一个实施例,如果客户端108进行的请求有效并且更新可用,返回的文档包含“SwConfig”元素,如上述示例所示,或者一个或多于一个AutoUpdate,Functions,Tokens,Scripts,NetworkLists,DefaultConfig或LoadDefaultConfig,如下文详细描述的那样。
【0166】图22包含图22A和图22B,根据一个或多于一个实施例示出了服务器130返回的文档的总体结构,可以用于创建和/或更新配置156。黑体项对应元素名称,后面是圆括号中的允许发生的次数、选项状态和专用,后面是简短描述。标志“D”表示通用格式与客户端108从配置服务器接收响应有关,并且“C”表示的响应包括策略服务器产生的策略文档的内容。个别项用“D”或“C”或者这两者标记。
【0167】图23包括图23A到图23C,图24包括图24A到图24D,提供了基于XML文件的示例,用于根据本发明公开的一个或多于一个实施例更新配置。
【0168】图25到59根据本发明的至少一个实施例提供了基于XML元素的示例,可以用于对其表示或更新。
【0169】图25中示出的“SwConfig”元素为根元素。图26中示出的“InvalidRequest”元素可以用于表示对服务器130的请求无效。“NoUpdate”元素可以用于表示收到有效请求,并且客户端108具有当前配置156,或表示服务器130当时不能提供更新。“NoUpdate”和和“AutoUpdate”元素在图27中示出。“AutoUpdate”元素标识自动软件配置更新参数,其可以补充更新器函数的设置。
【0170】图28中示出的“Functions”元素可以作为应用程序函数控制定义的容器。每个预定义的应用程序函数可以包含函数控制元素。如果其包含在SwConfig中,“Functions”元素描述当前函数设置。如果其包含在DefaultConfig中,“Functions”元素定义当配置156为默认时应用的函数设置。
【0171】图29中示出的“Function”元素为给定应用程序函数识别“mode”。可选择地,“Function”元素可以指示函数控制是否对用户可见,和用户是否可能改变该函数的模式。该元素可以用于全局应用程序范围函数,如在应用程序中关闭所有WiFi或WLAN函数。可选择地,该元素可以包含AllowedMode元素,图29示出了该元素,其识别将在配置时给予用户的模式。根据至少一个实施例,部位数字的“ids”和“modes”参数允许策略更容易地在不同应用程序之间被共享。“Function”元素可以被预先地定义为通用机制,其可以被扩展并用于控制多种应用程序函数。
【0172】元素“AllowMode”提供了当改变给定函数时用户可见的模式的列表。“modes”可以表示为字符串以使得模式在多个应用程序可用。函数定义中隐含了模式是否被认为是可结合的,如同列举的元素的性质。图29中示出的“Credentials”元素作为凭证(credential)的容器。凭证是例如用户名和密码的用户识别和身份验证数据组。如果“Credentials”元素包含在“SwConfig”元素中,其可以描述当前函数设置。如果其包含在DefaultConfig中,其可以定义配置156为默认时应用的设置。
【0173】图30中示出的元素“Remove”可以用于从当前工作配置156中消除指定的配置。该元素可以包含通过元素标识符识别的0或更多个其它元素。被识别的元素被从配置156中消除。图30中示出的“RemoveAll”元素可以用于从当前配置156中消除所有配置元素。当“RemoveAll”包含在“DefaultConfig”元素中时,“RemoveAll”元素不被执行直到“DefaultConfig”被加载。
【0174】图30中示出的元素“Add”可以用于基于元素ID(或不具有ID的元素的名称)将配置元素添加到当前配置156中。元素“Add”可以包含具有元素ID的零个或更多个其它元素和用于元素的所有需要的参数;这些元素的每一个被添加到当前配置中。如果指定的ID已经被使用,给定配置项首先被隐含地移除,接着被重新添加。当被包含在DefaultConfig中时,“Add”元素不被执行直到DefaultConfig被加载。
【0175】图30中示出的“Credential”元素可以和凭证组一起使用,也被称为被调用的“标志”。凭证可以用于定义唯一识别用户并用于身份验证的用户名和密码。其可以为区分大小写的信息并被加密存储在客户端108里。图30中示出的元素“UserName”包含用户名例如最大长度为127个字符的字符串。元素“Password”包含密码例如最大长度为127个字符的字符串。图31示出的“Certificate”元素包含Base6-编码证书例如最大长度为4096个字符。
【0176】图31中示出的“Scripts”元素可以用作连接控制脚本的容器,用于例如动态控制探查、连接、状态、连接检查和断开过程。如果包含在“SwConfig”元素中,“Scripts”元素描述当前函数设置。如果其包含在“DefaultConfig”元素中,其定义当配置156为默认时将被应用的设置。图31示出的“Script”元素可以用于指出基于XML的连接控制脚本。
【0177】图31示出的“Profles”元素可以用作网络简档的容器。如果其包含在“SwConfig”元素中,其描述当前函数设置,并且如果其包含在“DefaultConfig”元素中,其定义当配置156为默认时将被应用的设置。图32示出的“Profile”元素为连接简档,例如WiFi简档,其包含描述连接网络的相关设置的属性和元素。图33到图50提供了属性的示例,可以用在简档定义中。例如图33中示出的“DisplayName”表示简档列表中和/或AP 112实例的列表中使用的名称。图33示出的“The UseDisplayName”元素可以用于确定是否有来自AP 112的信号被映射到给定简档,该给定简档通过其SSID或通过AP 112列表中简档的名称被引用。
【0178】图51中示出的“ProfileFilter”元素可以用作简档过滤器的容器。简档过滤器可以用于在存在的简档中修改参数。
【0179】图53中示出的“NetWorkLists”元素可以用于将具有不同设置的许多网络关联到简档。如果每个简档只允许一个NetworkList,网络表可以被包括在简档中。但是,作为单独的元素,其可能具有关联单个简档的多个网络。另外,其允许在非设备平台上实施。图52中示出的“NetworkList”元素可以包含图55中示出的多个网络元素,并且可以将网络元素关联到简档。
【0180】更新序列可以用于更新配置156。图59提供了可以使用的更新序列的示例。使用本发明公开的实施例,可以使用包含DefaultConfig、LoadDefaultConfig和若干其他(例如Profiles、Scirpts、NetworkLists)元素的单一SwConfig。
【0181】当已经根据目前被认为是最实际和优选的实施例描述了设备和方法,应该理解公开内容不限于所公开的实施例。意欲覆盖包括在权利要求的精神和范围中的不同修改和相似的配置,其范围应该与最广泛的解释一致以便包含所有这样的修改和相似结构。本发明的公开内容包括下列权利要求的任何和所有实施例。

Claims (24)

1.一种方法,由识别无线网络状态的客户端设备执行,所述方法包括以下步骤:
检测来自无线网络的至少一个访问点的信标消息,所述信标消息包括识别所述访问点的信息;
使用至少一个预定义操作尝试与所述访问点通信;
基于来自所述访问点对所述至少一个预定义操作被接收的响应确定可用性状态;和
在缓存中存储所述确定的可用性状态,所述可用性状态关联所述访问点的唯一标识符。
2.根据权利要求1所述的方法,其中所述可用性状态包括将所述访问点识别为“良好”、“差”或“未知”的信息。
3.根据权利要求1所述的方法,其中在所述客户端设备存储的配置信息中定义所述至少一个预定义操作。
4.根据权利要求3所述的方法,其中所述配置信息包括一个或多于一个简档,每个简档对应至少一个无线网络。
5.根据权利要求4所述的方法,其中使用对应所述信标消息中被识别的所述无线网络的标识符的简档识别所述至少一个预定义操作。
6.根据权利要求4所述的方法,其中对应所述无线网络的所述简档识别一个或多于一个的探查、连接、断开和状态检查操作。
7.根据权利要求4所述的方法,其中所述配置信息包括识别多个网络的至少一个网络列表,所述网络列表对应一个所述简档以便所述一个简档被用于所述网络列表中的每一个网络。
8.根据权利要求1所述的方法,其中所述可用性状态包括识别最后连接尝试的信息和所述最后连接尝试的结果。
9.根据权利要求1所述的方法,其中所述可用性状态包括识别多个良好连接和多个差连接的信息。
10.根据权利要求1所述的方法,该方法进一步包括:
检测后续信标消息,所述后续信标消息识别访问点;和
查看所述缓存以确定可用性状态,该可用性状态对应所述后续信标消息中识别的所述访问点标识符。
11.根据权利要求10所述的方法,该方法进一步包括:
如果缓存中不存在对应所述后续信标消息中识别的所述访问点标识符的可用性状态,则使用至少一个预定义操作尝试与所述后续信标消息中识别的所述访问点通信;
基于从所述至少一个预定义操作中接收的响应确定所述后续信标消息中识别的所述无线访问点的可用性状态;以及
在缓存中存储所述被确定的可用性状态,所述可用性状态与所述后续信标消息中识别的所述访问点的唯一标识符关联。
12.根据权利要求10所述的方法,该方法进一步包括:
确定所述后续信标消息中识别的所述访问点对应存储在所述缓存中的所述访问点标识符;和
使用存储在所述缓存中的所述可用性状态确定是否通过所述被识别的访问点连接到所述无线网络。
13.根据权利要求1所述的方法,其中所述客户端包括操作软件平台,并且其中配置信息被存储在包括多个预定义操作的所述客户端上,多个预定义操作的每一个用可解释的程序设计语言写成,该可解释的程序设计语言可以使用所述客户端的操作软件平台解释,所述方法进一步包括:
接收被更新的配置信息,该配置信息包括存储的配置信息中所述多个预定义操作中的一个预定义操作的更新;
更新所述配置信息以包括所述更新,以便控制所述客户端设备的行为而不改变所述操作软件平台。
14.根据权利要求1所述的方法,其中所述至少一个预定义操作包含在脚本中。
15.根据权利要求14所述的方法,其中所述脚本包括多个预定义操作。
16.根据权利要求1所述的方法,其中所述存储在所述客户端上的配置信息包括多个脚本,并且其中每一个脚本包括多于一个预定义操作。
17.根据权利要求16所述的方法,其中所述配置信息包括多个简档,至少一个所述简档可以被映射到所述信标消息识别的所述访问点,所述方法进一步包括:
使用所述信息识别所述信标消息中的所述无线网络以识别包含在所述配置信息中的简档;
基于所述被识别的简档识别脚本;和
基于所述被识别的脚本和简档识别所述至少一个预定义操作。
18.由客户端设备执行的识别无线网络的状态的一种方法,所述方法包括以下步骤:
检测来自多个访问点的多个信标消息,每个信标消息包括访问点标识符和无线网络标识符,多个信标消息具有相同的无线网络标识符;
使用至少一个预定义操作尝试与所述多个信标消息中的一个信标消息中被识别的访问点通信;
基于来自所述访问点的对所述至少一个预定义操作的被接收的响应而确定可用性状态;
为所述一个访问点在缓存中存储所述被确定的可用性状态;和
为每一个剩余访问点在缓存中存储所述被确定的可用性状态,该剩余访问点在具有所述相同无线网络标识符的多个信标消息中被识别。
19.根据权利要求18所述的方法,其中所述客户端设备存储的配置信息包括多个简档,每个简档具有相对于其他简档的唯一等级,所述方法进一步包括:
基于简档等级选择所述简档中的一个;
识别所述被检测信标消息中的一个,该被检测信标消息具有和所述被选择简档关联的无线网络标识符匹配的无线网络标识符,以便所述被检测的信标消息中所述被识别的一个被用在所述尝试步骤中。
20.根据权利要求19所述的方法,其中所述配置信息包括对应所述简档中的一个简档的至少一个网络列表,所述网络列表识别多个无线网络,以及识别所述网络列表中被识别的多个无线网络的每一个的无线网络标识符,并且其中用于识别所述被检测信标消息中的一个并与所述被选择的简档关联的所述无线网络标识符是所述网络列表中被识别的所述无线网络标识符中的一个。
21.根据权利要求20所述的方法,其中所述网络列表中被识别的每一个所述无线网络均具有等级,所述方法进一步包括:
基于其等级在所述网络列表中选择所述无线网络中的一个,以便用于识别所述被检测信标消息中的一个信标消息并关联所述被选择简档的所述无线网络标识符是对应所述无线网络中被选择的一个无线网络的所述无线网络标识符。
22.由客户端设备执行的确定无线网络状态信息一种方法,所述客户端设备存储包含简档和对应的网络列表的配置信息,所述简档包括无线网络标识符,并且所述网络列表识别多个无线网络,每一个无线网络均具有无线网络标识符,所述方法包括:
检测来自多个访问点的多个信标消息,每个信标消息包括访问点标识符和无线网络标识符;
选择包含无线网络标识符的信标消息,该无线网络标识符和对应所述网络列表中被识别的无线网络的无线网络标识符匹配;
使用包含在所述简档中的信息识别的至少一个预定义操作来尝试与所述被选择的信标消息中所述被识别的访问点通信;
基于来自所述访问点对所述至少一个预定义操作的被接收的响应而确定可用性状态;以及
为所述被选择的信标消息中被识别的所述访问点在缓存中存储所述被确定的可用性状态。
23.根据权利要求21所述的方法,该方法进一步包括:
为信标消息中被识别的每一个所述访问点在所述缓存中存储所述被确定的可用性状态,该信标消息具有的无线网络标识符和所述网络列表中被识别的网络的无线网络标识符对应。
24.一种方法,由识别无线网络状态的客户端设备执行,所述方法包括以下步骤:
检测来自无线网络的至少一个访问点的信标消息,所述信标消息包括识别所述访问点的信息;
使用至少一个预定义操作尝试与另一个访问点通信,该访问点不同于所述检测步骤中被检测到的信标消息对应的访问点;
基于来自所述其他访问点的对所述至少一个预定义操作的被接收的响应而确定可用性状态;和
在缓存中存储所述确定的可用性状态,所述可用性状态关联所述其他访问点的唯一标识符。
CN2007800240817A 2006-05-15 2007-05-14 网络接入点的检测和使用 Expired - Fee Related CN101480032B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/435,019 2006-05-15
US11/435,019 US9319967B2 (en) 2006-05-15 2006-05-15 Network access point detection and use
PCT/US2007/068909 WO2008054875A2 (en) 2006-05-15 2007-05-14 Network access point detection and use

Publications (2)

Publication Number Publication Date
CN101480032A true CN101480032A (zh) 2009-07-08
CN101480032B CN101480032B (zh) 2013-08-07

Family

ID=38750127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800240817A Expired - Fee Related CN101480032B (zh) 2006-05-15 2007-05-14 网络接入点的检测和使用

Country Status (7)

Country Link
US (1) US9319967B2 (zh)
EP (1) EP2030429B1 (zh)
JP (1) JP5101603B2 (zh)
KR (1) KR20090023382A (zh)
CN (1) CN101480032B (zh)
CA (1) CA2652210A1 (zh)
WO (1) WO2008054875A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299683A (zh) * 2011-01-09 2013-09-11 缤果无线有限公司 用于动态无线网络发现的***、方法和装置
CN103957580A (zh) * 2014-05-14 2014-07-30 俞芳 一种用于智能硬件的wifi快速组网配对方法及模块
CN104812093A (zh) * 2015-03-25 2015-07-29 青岛海尔智能家电科技有限公司 用于智能家居的wifi设备接入网络的方法及装置
CN105790801A (zh) * 2016-03-11 2016-07-20 青岛海信电器股份有限公司 一种电子设备与蓝牙设备的配对测试方法及测试装置
CN105828294A (zh) * 2016-05-19 2016-08-03 北京小米移动软件有限公司 检测方法及装置
CN106465240A (zh) * 2015-04-07 2017-02-22 华为技术有限公司 一种接入处理方法及装置

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4136771B2 (ja) 2003-04-23 2008-08-20 キヤノン株式会社 通信システム、通信装置、及びその制御方法、並びにコンピュータプログラム
JP4125173B2 (ja) * 2003-04-23 2008-07-30 キヤノン株式会社 情報処理装置の接続制御方法、情報処理装置、及びコンピュータプログラム
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
US8990366B2 (en) * 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
JP4829635B2 (ja) * 2006-02-17 2011-12-07 キヤノン株式会社 通信装置、通信方法、ネットワークを構成する方法、通信システム
US8565766B2 (en) 2007-02-05 2013-10-22 Wefi Inc. Dynamic network connection system and method
US8644828B2 (en) 2007-02-05 2014-02-04 Wefi Inc. Method and system for selecting a wireless network
US8229427B2 (en) * 2006-07-14 2012-07-24 Qualcomm Incorporated Status validation for terminals in a wireless communication system
US8743778B2 (en) * 2006-09-06 2014-06-03 Devicescape Software, Inc. Systems and methods for obtaining network credentials
US8554830B2 (en) * 2006-09-06 2013-10-08 Devicescape Software, Inc. Systems and methods for wireless network selection
US9326138B2 (en) * 2006-09-06 2016-04-26 Devicescape Software, Inc. Systems and methods for determining location over a network
US8549588B2 (en) * 2006-09-06 2013-10-01 Devicescape Software, Inc. Systems and methods for obtaining network access
JP4886463B2 (ja) 2006-10-20 2012-02-29 キヤノン株式会社 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置
US8239522B1 (en) * 2006-11-16 2012-08-07 Adobe Systems Incorporated Dynamic variables for tracking wireless device website usage
WO2008061347A1 (en) * 2006-11-21 2008-05-29 Research In Motion Limited Displaying a list of available wireless local area networks
US8000276B2 (en) * 2007-02-05 2011-08-16 Wefi, Inc. Providing easy access to radio networks
US20120076118A1 (en) * 2010-09-29 2012-03-29 Michael Montemurro Methods and apparatus to present network capabilities available via wireless networks
EP2184892B1 (en) * 2007-07-31 2016-12-21 Lenovo Innovations Limited (Hong Kong) Wireless lan terminal and access point searching method
US20090055515A1 (en) * 2007-08-21 2009-02-26 Alcatel Lucent Facilitating distributed and redundant statistics collection
US20100020776A1 (en) * 2007-11-27 2010-01-28 Google Inc. Wireless network-based location approximation
US8549912B2 (en) 2007-12-18 2013-10-08 Teradyne, Inc. Disk drive transport, clamping and testing
US8238099B2 (en) 2008-04-17 2012-08-07 Teradyne, Inc. Enclosed operating area for disk drive testing systems
US8095234B2 (en) 2008-04-17 2012-01-10 Teradyne, Inc. Transferring disk drives within disk drive testing systems
US7848106B2 (en) 2008-04-17 2010-12-07 Teradyne, Inc. Temperature control within disk drive testing systems
US20090262455A1 (en) 2008-04-17 2009-10-22 Teradyne, Inc. Temperature Control Within Disk Drive Testing Systems
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8332495B2 (en) * 2008-06-27 2012-12-11 Affinegy, Inc. System and method for securing a wireless network
US8359372B2 (en) * 2008-06-29 2013-01-22 Microsoft Corporation Automatic transfer of information through physical docking of devices
JP5337879B2 (ja) * 2008-09-29 2013-11-06 株式会社東芝 複数のネットワークアクセスポイントの事前評価
US20100263022A1 (en) * 2008-10-13 2010-10-14 Devicescape Software, Inc. Systems and Methods for Enhanced Smartclient Support
EP2340477B1 (en) * 2008-10-13 2014-08-06 Devicescape Software, INC. Systems and methods for identifying a network
GB2464480B (en) * 2008-10-15 2011-01-12 Nomad Spectrum Ltd Network communication
DE102009048303A1 (de) * 2009-05-07 2010-11-18 Siemens Aktiengesellschaft Beacon für ein Sternnetz, Sensorknoten in einem Sternnetz, Verfahren zur Initialisierung eines Gateways in einem Sternnetz und Verfahren zum Betrieb eines Sternnetzes
US9713074B2 (en) * 2009-06-05 2017-07-18 Apple Inc. Network association in an environment with hidden networks
US8687356B2 (en) 2010-02-02 2014-04-01 Teradyne, Inc. Storage device testing system cooling
US8547123B2 (en) 2009-07-15 2013-10-01 Teradyne, Inc. Storage device testing system with a conductive heating assembly
US8628239B2 (en) 2009-07-15 2014-01-14 Teradyne, Inc. Storage device temperature sensing
US8466699B2 (en) 2009-07-15 2013-06-18 Teradyne, Inc. Heating storage devices in a testing system
JP5397090B2 (ja) * 2009-08-25 2014-01-22 富士通モバイルコミュニケーションズ株式会社 携帯端末装置および無線lan接続方法
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
EP2508027A4 (en) * 2009-12-01 2013-12-18 Nokia Corp METHOD AND DEVICE FOR PROVIDING A FRAMEWORK FOR EFFICIENT RECORDING AND SESSION MANUFACTURE
US8346255B2 (en) 2010-02-11 2013-01-01 Apple Inc. Method and apparatus for using a wireless communication device with multiple service providers
WO2011132873A2 (ko) * 2010-04-18 2011-10-27 엘지전자 주식회사 무선랜 시스템의 인에이블먼트 방법 및 그를 이용한 무선랜 통신 장치
CN103109555B (zh) * 2010-09-13 2016-06-29 诺基亚技术有限公司 用于共同关联和地址提供的方法和装置
US8923257B2 (en) 2010-09-29 2014-12-30 Blackberry Limited Methods and apparatus to discover network capabilities available via wireless networks
EP2676399A4 (en) 2011-02-14 2016-02-17 Devicescape Software Inc SYSTEMS AND METHODS FOR NETWORK CARE
JP5608693B2 (ja) 2011-02-17 2014-10-15 パナソニック株式会社 ネットワーク接続装置および方法
US20130174124A1 (en) * 2011-12-29 2013-07-04 Christina Watters Version numbering in single development and test environment
US8666399B2 (en) 2011-04-15 2014-03-04 Blackberry Limited Methods and apparatus for use in efficiently scanning for wireless networks based on mobile device velocity
US8681759B2 (en) 2011-04-15 2014-03-25 Blackberry Limited Methods and apparatus for use in efficiently scanning for wireless networks based on application type
CN102457514B (zh) * 2011-05-31 2014-08-27 高儒振 面向移动终端的无线网络的短信身份认证方法
GB2491617B (en) * 2011-06-08 2014-04-09 Broadcom Corp System information cache
KR101257784B1 (ko) * 2011-09-23 2013-04-24 주식회사 인트로메딕 캡슐 내시경 시스템의 실시간 데이터 전송 방법 및 장치
JP5843143B2 (ja) * 2011-09-26 2016-01-13 ブラザー工業株式会社 端末装置及びプログラム
JP2015518297A (ja) * 2012-03-05 2015-06-25 インターデイジタル パテント ホールディングス インコーポレイテッド 通信ネットワークにおける事前関連付け検出のためのデバイスおよび方法
US20130326010A1 (en) * 2012-03-21 2013-12-05 Novatium Solutions Pvt Ltd System and method for monitoring network connections
KR101561113B1 (ko) * 2012-06-07 2015-10-16 주식회사 케이티 설정 정보 기반 능동적 스캐닝 및 연결 방법
US10560343B1 (en) 2012-07-06 2020-02-11 Cradlepoint, Inc. People centric management of cloud networks via GUI
US10135677B1 (en) 2012-07-06 2018-11-20 Cradlepoint, Inc. Deployment of network-related features over cloud network
US10601653B2 (en) * 2012-07-06 2020-03-24 Cradlepoint, Inc. Implicit traffic engineering
US10177957B1 (en) 2012-07-06 2019-01-08 Cradlepoint, Inc. Connecting a cloud network to the internet
US10110417B1 (en) 2012-07-06 2018-10-23 Cradlepoint, Inc. Private networks overlaid on cloud infrastructure
US9167551B2 (en) * 2012-07-31 2015-10-20 Qualcomm Incorporated Mobile access point detection
US9084122B2 (en) 2012-07-31 2015-07-14 Qualcomm Incorporated Processing of access point crowdsourcing data
KR102023402B1 (ko) * 2013-02-28 2019-09-23 삼성전자주식회사 통신 시스템에서 인터넷 연결 상태 모니터링 방법 및 장치
JP6157222B2 (ja) * 2013-05-30 2017-07-05 キヤノン株式会社 通信装置、制御方法、及びプログラム
US20150049630A1 (en) * 2013-08-13 2015-02-19 International Business Machines Corporation Smart wireless access point analyzer
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9716622B2 (en) * 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
JP5844440B1 (ja) * 2014-08-08 2016-01-20 ソフトバンク株式会社 通信端末装置及び通信システム
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
CN104967994B (zh) * 2014-10-31 2019-04-12 腾讯科技(上海)有限公司 将设备接入局域网的方法和装置
EP3228148B1 (en) * 2014-10-31 2021-03-17 Ap1 Inc. Beacon addressing
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
CN105991379A (zh) * 2015-03-04 2016-10-05 美的集团股份有限公司 电器设备的入网方法和***
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US11696216B2 (en) * 2016-02-18 2023-07-04 Comcast Cable Communications, Llc SSID broadcast management to support priority of broadcast
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
KR102480997B1 (ko) * 2016-05-02 2022-12-26 주식회사 케이티 비콘 서비스 제공 장치 및 방법과 비콘 서비스 관리 서버
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10009951B2 (en) * 2016-05-10 2018-06-26 Kodacloud Inc. Executing a corrective action based on behavior detected during a connection stage
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US10845410B2 (en) 2017-08-28 2020-11-24 Teradyne, Inc. Automated test system having orthogonal robots
US11226390B2 (en) 2017-08-28 2022-01-18 Teradyne, Inc. Calibration process for an automated test system
US11469941B2 (en) * 2017-10-13 2022-10-11 BLX.io LLC Configuration for IoT device setup
CN107889193B (zh) * 2017-11-27 2020-05-05 Oppo广东移动通信有限公司 网络连接方法、移动终端及计算机可读存储介质
CN109104291B (zh) * 2018-06-07 2021-07-30 内蒙古工业大学 断网控制方法、断网控制装置以及网络控制***
US10775408B2 (en) 2018-08-20 2020-09-15 Teradyne, Inc. System for testing devices inside of carriers
US11206550B2 (en) * 2018-12-13 2021-12-21 Hewlett Packard Enterprise Development Lp Assisted network roaming with predictive network tool
US11997635B2 (en) * 2019-04-29 2024-05-28 Sonicwall Inc. Establishing simultaneous mesh node connections
US10972916B2 (en) 2019-04-29 2021-04-06 Sonicwall Inc. Instant secure wireless network setup
US20210334925A1 (en) * 2020-04-23 2021-10-28 Sennco Solutions, Inc. Network detection-based monitoring of electronic merchandise
CN113543188B (zh) * 2021-07-22 2023-10-27 中移(杭州)信息技术有限公司 无线网络信号质量检测方法、终端设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5919247A (en) 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
JP2000115153A (ja) * 1998-09-30 2000-04-21 Fujitsu Ltd セキュリティ方法及びセキュリティ装置
US6119160A (en) 1998-10-13 2000-09-12 Cisco Technology, Inc. Multiple-level internet protocol accounting
US6587680B1 (en) * 1999-11-23 2003-07-01 Nokia Corporation Transfer of security association during a mobile terminal handover
US7120129B2 (en) * 2001-03-13 2006-10-10 Microsoft Corporation System and method for achieving zero-configuration wireless computing and computing device incorporating same
US6967944B2 (en) 2001-03-30 2005-11-22 Koninklijke Philips Electronics N.V. Increasing link capacity via concurrent transmissions in centralized wireless LANs
US7020687B2 (en) 2001-05-18 2006-03-28 Nortel Networks Limited Providing access to a plurality of e-mail and voice message accounts from a single web-based interface
US20030031150A1 (en) 2001-08-10 2003-02-13 Satoru Yukie Dual network modem
US7769838B2 (en) 2001-08-23 2010-08-03 The Directv Group, Inc. Single-modem multi-user virtual private network
JP4040403B2 (ja) * 2001-11-27 2008-01-30 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7110783B2 (en) 2002-04-17 2006-09-19 Microsoft Corporation Power efficient channel scheduling in a wireless network
JP4397168B2 (ja) * 2002-08-21 2010-01-13 レノボ シンガポール プライヴェート リミテッド コンピュータ装置、無線ネットワークの接続方法
JP4176587B2 (ja) * 2003-08-12 2008-11-05 株式会社東芝 情報処理装置およびプログラム
JP3790239B2 (ja) * 2003-09-19 2006-06-28 株式会社エヌ・ティ・ティ・ドコモ 無線lan端末機及び接続確立方法
EP1526457B1 (en) * 2003-10-22 2013-03-13 Sony Deutschland GmbH Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
JP2005176021A (ja) * 2003-12-12 2005-06-30 Toshiba Corp 情報処理装置およびプログラム
US7292870B2 (en) * 2003-12-24 2007-11-06 Zipit Wireless, Inc. Instant messaging terminal adapted for Wi-Fi access points
US20050198319A1 (en) 2004-01-15 2005-09-08 Yahoo! Inc. Techniques for parental control of internet access including a guest mode
TWI367008B (en) 2004-03-03 2012-06-21 Univ Columbia Methods and systems for reducing mac layer handoff latency in wireless networks
US20050243758A1 (en) 2004-05-03 2005-11-03 Torarp Carl-Johan Y Systems and methods for managing and controlling broadband wireless network
US8285855B2 (en) 2004-08-02 2012-10-09 Microsoft Corporation System, method and user interface for network status reporting
US20060068799A1 (en) 2004-09-27 2006-03-30 T-Mobile, Usa, Inc. Open-host wireless access system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299683A (zh) * 2011-01-09 2013-09-11 缤果无线有限公司 用于动态无线网络发现的***、方法和装置
CN103957580A (zh) * 2014-05-14 2014-07-30 俞芳 一种用于智能硬件的wifi快速组网配对方法及模块
CN103957580B (zh) * 2014-05-14 2017-10-17 俞芳 一种用于智能硬件的wifi快速组网配对方法及模块
CN104812093A (zh) * 2015-03-25 2015-07-29 青岛海尔智能家电科技有限公司 用于智能家居的wifi设备接入网络的方法及装置
CN104812093B (zh) * 2015-03-25 2021-04-02 青岛海尔智能家电科技有限公司 用于智能家居的wifi设备接入网络的方法及装置
CN106465240A (zh) * 2015-04-07 2017-02-22 华为技术有限公司 一种接入处理方法及装置
CN106465240B (zh) * 2015-04-07 2020-04-28 华为技术有限公司 一种接入处理方法及装置
CN105790801A (zh) * 2016-03-11 2016-07-20 青岛海信电器股份有限公司 一种电子设备与蓝牙设备的配对测试方法及测试装置
CN105790801B (zh) * 2016-03-11 2019-08-09 青岛海信电器股份有限公司 一种电子设备与蓝牙设备的配对测试方法及测试装置
CN105828294A (zh) * 2016-05-19 2016-08-03 北京小米移动软件有限公司 检测方法及装置

Also Published As

Publication number Publication date
EP2030429A4 (en) 2010-08-04
CA2652210A1 (en) 2008-05-08
JP5101603B2 (ja) 2012-12-19
EP2030429A2 (en) 2009-03-04
WO2008054875A3 (en) 2008-06-26
EP2030429B1 (en) 2018-08-01
US20070275701A1 (en) 2007-11-29
US9319967B2 (en) 2016-04-19
WO2008054875A2 (en) 2008-05-08
KR20090023382A (ko) 2009-03-04
JP2009538059A (ja) 2009-10-29
CN101480032B (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
CN101480032B (zh) 网络接入点的检测和使用
CN101484888B (zh) 用于监控无线网络访问的方法和设备
JP4663709B2 (ja) 装置への情報提供方法
CN100594493C (zh) 用于将内容交付到移动设备的方法
US7496739B1 (en) System and related methods for automatically configuring a computing system
CN104838618B (zh) 在无线通信***中验证访问授权的方法和设备
CN101953192B (zh) 用于管理无线通信装置中的预订凭证的方法和设备
CN102668642B (zh) 网络选择机制
CN102334311B (zh) 安全数据连接请求的重定向方法
EP3337219B1 (en) Carrier configuration processing method, device and system, and computer storage medium
CN104067571A (zh) 用于无线网络连接性的可扩展框架
US20140108943A1 (en) Method for browsing internet of things and apparatus using the same
CN104902460B (zh) 一种网络接入方法和移动通信终端
CN102170633A (zh) 基于移动运营商定标应用
CN102480501A (zh) 应用资源下载方法及相关设备
CN101164297A (zh) 移动台、以及用于移动台的参数配置***和方法
CN101341710A (zh) 对于集成wlan热点客户端的支持
CN104902547A (zh) WiFi网络连接方法及装置
US20150142980A1 (en) Context-Based Selection of Instruction Sets for Connecting Through Captive Portals
CN104994563A (zh) 一种网络接入方法及移动通信终端
CN105657710A (zh) 一种无线网络认证方法及***
CN103260262A (zh) 实现自动创建无线热点的方法、装置和***
CN107659927A (zh) 一种用于智能设备的sim卡的管理方法及管理装置
EP2308218B1 (en) Configuration of a communication device
CN101044474B (zh) 用于综合和管理移动终端的信息的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130807

CF01 Termination of patent right due to non-payment of annual fee