具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的一些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在此使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
应理解,尽管本文可以使用术语“第一”和“第二”等来描述各种元件,但这些元件不应受到这些术语的限制。这些术语仅用于区分一个元件和另一个元件。例如,第一元件可以称为第二元件,同样,第二元件可以称为第一元件,而不脱离实施例的范围。如本文所用,术语“和/或”包括一个或多个所列术语的任何和所有组合。
在此使用的术语“电路”是指以下的一项或多项:
(a)仅硬件电路实现方式(诸如仅模拟和/或数字电路的实现方式);以及
(b)硬件电路和软件的组合,诸如(如果适用):(i)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)硬件处理器的任意部分与软件(包括一起工作以使得诸如光线路终端(OLT)或其他计算设备等装置执行各种功能的数字信号处理器、软件和存储器);以及
(c)硬件电路和/或处理器,诸如微处理器或者微处理器的一部分,其要求软件(例如固件)用于操作,但是在不需要软件用于操作时可以没有软件。
电路的定义适用于此术语在本申请中(包括任意权利要求中)的所有使用场景。作为另一示例,在此使用的术语“电路”也覆盖仅硬件电路或处理器(或多个处理器)、或者硬件电路或处理器的一部分、或者其随附软件或固件的实现方式。例如,如果适用于特定权利要求元素,术语“电路”还覆盖基带集成电路或处理器集成电路或者OLT或其他计算设备中的类似的集成电路。
如本文所用,术语“通信网络”是指遵循任何适当通信标准的网络,例如LTE、LTE高级(LTE-A)、宽带码分多址(WCDMA)、高速分组访问(HSPA)、窄带物联网(NB-IoT)等等。此外,终端设备和通信网络中的网络设备之间的通信可以根据任何合适的一代通信协议执行,包括但不限于第一代(1G)、第二代(2G)、2.5G、2.75G、第三代(3G)、第四代(4G)、4.5G、未来第五代(5G)通信协议和/或第一代(WIFI1)、第二代(WIFI2)、第三代(WIFI3)、第四代(WIFI4)、第五代(WIFI5)、第六代(WIFI6)、未来第七代(WIFI7)局域网通信协议和/或目前已知或将来开发的任何其他协议。本发明的实施例可应用于各种通信系统。考虑到通信技术的快速发展,当然也会有未来类型的通信技术和系统,本发明可能会与之结合。不应将其视为将本公开的范围仅限于上述系统。
如本文所用,术语“网络设备”是指通信网络中的节点,终端设备通过该节点访问网络并从中接收服务。取决于应用的术语和技术,网络设备可以指基站(BS)或接入点(AP),例如,节点B(NodeB或NB)、演进NodeB(eNodeB或eNB)、NR NB(也称为gNB)、远程无线单元(RRU)、无线报头(RH)、远程无线报头(RRH)、中继、诸如微微基站或毫微微基站的低功率节点等等。
术语“终端设备”是指任何能够进行无线通信的终端设备。通过示例而非限制,终端设备也可以称为通信设备、用户设备(UE)、用户站(SS)、便携式用户站、移动站(MS)或访问终端(AT)。终端设备可以包括但不限于移动电话、移动电话、智能电话、IP语音(VoIP)电话、无线本地环路电话、平板电脑、可穿戴终端设备、个人数字助理(PDA)、便携式计算机、台式机、例如数码相机的图像采集终端设备、游戏终端设备、音乐存储和播放设备、车载无线终端设备、无线端点、移动台、笔记本嵌入式设备(LEE)、笔记本电脑设备(LME)、USB加密狗、智能设备、无线客户驻地设备(CPE)、物联网(LOT)设备、手表或其他可穿戴设备、头戴式显示器(HMD)、车辆、无人机、医疗设备和应用程序(如远程手术)、工业设备和应用程序(如机器人和/或其他无线设备在工业和/或自动化处理链上下文)、消费电子设备、在商业和/或工业无线网络上运行的设备等。在下面的描述中,术语“终端设备”、“通信设备”、“终端”、“用户设备”和“UE”可以互换使用。
如本文所用,术语“通信网络”可以是指使用WiFi、蓝牙等无线方式通信的家庭网络、企业网络或其它类似局域网络。该通信网络也可以是任何能够实现本公开的实施例的有线或无线通信网络。在一些实施例中,通信网络可以是MBSS和ESS中的一种。考虑到通信技术的快速发展,当然也会有未来类型的通信技术和网络,本发明可能会与之结合。因此,不应将其视为将本公开的范围仅限于上述网络。
在传统MBSS和ESS网络中,每个AP节点在与终端设备的通信(即,前传(fronthaul))中具有相同的SSID,但具有不同的BSSID。在这种情况下,无论是漫游还是负载均衡,终端设备都需要与新的AP节点完成认证连接后,才可以通过新的AP节点获取互联网服务。在诸如AR和VR的超大数据量和超低时延的应用场景中,会出现在漫游过程中因为时延导致瞬间卡顿的问题,无法提供良好的客户体验。此外,连接过程中会涉及密钥的重新协商。一旦遭受到嗅探攻击,造成在协商过程中密钥被捕获,那么用户数据将存在泄漏和被监听的可能。
在传统方案中,针对在漫游过程中的时延问题,提出了快速漫游,如802.11r标准所定义的那样。通过这种方式,可以将时延降低到50ms,但仍然无法满足AR/VR对于超低时延的要求。而且需要AP节点和终端设备都支持802.11r标准,才可以正常操作。对于无法支持802.11r标准的终端设备而言,只能按照重新关联、四次握手、申请IP地址的步骤来进行操作。因此,仍然存在时延问题。
此外,在传统方案中,针对密钥协商过程中可能存在嗅探攻击的问题,802.1X标准和Wi-Fi保护接入(WPA)3协议都提出了更安全的密钥协商机制。但这些机制需要AP节点和终端设备都支持802.1X标准或WPA3协议才可以正常操作。而目前大多数终端设备、特别是物联网(IoT)设备,都无法支持802.1X标准或WPA3协议。此外,802.1X标准提出的机制会导致更长的时延。
鉴于此,本公开的实施例提出了一种通信网络中的新的通信机制。在该机制中,通信网络中的多个AP节点以相同的标识信息面向终端设备。即,从终端设备的角度看,该多个AP节点可视为一个节点。在这种情况下,由于多个AP节点在与终端设备的通信中均具有相同的标识信息,所以多个AP节点之间可实现无缝切换,而不影响终端设备的通信。也就是,通过多个AP节点之间的协作,可以使得终端设备可以安全无缝地连接到任意AP节点,而不需要重新建立连接。由此,可以提高终端设备的通信的安全性。此外,通过调整第一或第二设备的负载均衡和及时捕获第三设备的移动路径,可以为第三设备动态选择最优的通信设备,从而大大降低终端设备的服务时延。此外,可以很好地兼容大多数终端设备。
图1示出了本公开实施例可在其中实施的示例通信系统100的示意图。如图1所示,该系统100可以包括通信网络110、互联网120和设备130(为方便起见,下面也称为第三设备130)。第三设备130可以经由通信网络110连接到互联网120,从而进行数据访问。在一些实施例中,第三设备130可以是终端设备。当然,本公开的实施例并不限于此,第三设备也可以是其它类型的设备。
通信网络110可以包括第一设备111以及第二设备112-1和112-2(为方便起见,下面也可以将它们统称为至少一个第二设备112)。第一设备111作为通信网络110中的根节点,第二设备112作为通信网络110中的扩展节点。在一些实施例中,第一设备111和第二设备112可以是路由器。当然,本公开的实施例并不限于此,第一设备和第二设备也可以是其它类型的设备。此外,第二设备的数目不限于所示数目,而是可以包括更多或更少的数目。
第三设备130可以通过经由无线链路而与通信网络110中的任意AP节点(诸如第一设备111和第二设备112)通信。通信网络110中的各节点之间可以通过经由无线链路或以太网链路的回传(backhaul)而彼此通信。通信网络110中的第一设备111可以通过广域网(WAN)端口与互联网120连接。应理解到,通信网络110和第三设备130的数目都不限于图1所示的示例,而是可以包括更多的数目。此外,它们的实施也不限于上述具体示例,而是可以以任意合适的方式实施。
在本公开的实施例中,通信网络110中的第一设备111和第二设备112在与第三设备130的通信(即,前传)中都具有相同的标识信息。由此,第一设备111和第二设备112可被第三设备130视为同一节点。在一些实施例中,第一设备111和第二设备112都具有相同的SSID、BSSID和AID。在一些实施例中,第一设备111和第二设备112也都具有相同的基本服务集颜色(BSS color)。在一些实施例中,第一设备111和第二设备112也都具有相同的时间戳。例如,第一设备111和第二设备112都具有相同的信标帧时间戳。当然,本公开的实施例并不限于这些特定示例,其它任意实现方式也是可行的。
在本公开的实施例中,第三设备130接入或重新接入通信网络110后,通信网络110中的所有AP节点(例如,第一设备111和第二设备112)均可以获取并更新与第三设备130的通信相关联的密钥信息。
在本公开的实施例中,在通信网络110中只有一个与第三设备130通信的令牌。在一些实施例中,只有持有令牌的AP节点才可以与第三设备130正常通信,其它未持有令牌的AP节点可以接收第三设备130发送的数据,但不能向第三设备130发送确认报文(ACK)和单播报文(空数据报文(NDP)或空数据包通告(NDPA)报文除外)。
根据本公开的实施例,通过通信网络110中的诸如第一设备111和第二设备112的多个AP节点之间的协作,可以使得第三设备130可以安全无缝地连接到任意AP节点,继而实现对互联网120的数据访问。下面结合图2至图6对此进行更详细说明。图2示出了根据本公开实施例的通信过程中设备之间的示例性交互的示意图200。为了方便起见,这里结合图1的示例进行描述。
AP节点的扫描操作
如图2所示,例如,当第三设备130开启Wi-Fi时,第三设备130可以发出探测请求。在一些实施例中,第三设备130可以向周围发出探测请求帧(probe request frame)。当然,这仅为示例,探测请求也可以采用其它形式。相应地,通信网络110中的第二设备112-1可以接收201该探测请求,并且第二设备112-2也可以接收201’该探测请求。此外,通信网络110中的第一设备111也可以接收201”该探测请求。
响应于接收到该探测请求,第二设备112-1向第一设备111发送202用于获取令牌的请求(为方便起见,下面也称为第一请求),并且第二设备112-1也向第一设备111发送202’用于获取令牌的请求(为方便起见,下面也称为第一请求)。该令牌是用于与第三设备110进行通信的凭证。例如,接收到来自第三设备130的探测请求的每个第二设备112可以同时向第一设备111申请用于与第三设备130进行通信的令牌。在一些实施例中,第一设备111可以自身生成令牌请求。
第一设备111在接收到来自第二设备112-1和112-2的第一请求时,从第二设备112-1和112-2以及第一设备111中选择203一个设备作为用于为第三设备130提供通信服务的通信设备。在一些实施例中,第一设备111可以确定在第一设备111处是否存储有该通信设备的信息。如果确定存储有该通信设备的信息,则可以从该信息中确定该通信设备。在一些实施例中,第一设备111可以在本地存放一个表,以用于记录令牌的发放、登记、转让和收回,例如表1所示。
表1令牌相关信息的示例
| 设备标识 |
持有令牌的节点信息 |
密钥信息 |
令牌到期时间 |
| |
|
|
|
| |
|
|
|
应理解到,表1中的令牌相关信息仅为示例,还可以存储任意其它合适信息。此外,表1的形式仅为示例,也可以采用其它任意合适的数据结构。
在存储有该表的示例中,第一设备111可以基于该表来确定在第一设备111处是否存储有与第三设备130相关联的通信设备的信息。如果该表中存储有与第三设备130相关联的通信设备的信息,则可以从该信息确定出该通信设备。
如果该通信设备的信息未存储在第一设备111处,例如,如果在该表中没有存储与第三设备130相关联的信息,则第一设备111可以基于预定策略来选择该通信设备。在一些实施例中,第一设备111可以基于接收信号强度指示(RSSI)值来从第二设备112-1和112-2以及第一设备111中选择一个设备作为上述通信设备。例如,第一设备111可以根据第二设备112-1和112-2以及第一设备111本身计算并提供第三设备的RSSI值,然后将具有较大RSSI值的设备确定为用于为第三设备130提供通信服务的通信设备。作为另一示例,第一设备111可以根据第二设备112-1和112-2以及第一设备111计算并提供第三设备的RSSI值,然后确定具有比预定阈值高的RSSI值的至少一个设备,最后从该至少一个设备中随机选择一个设备作为上述通信设备。当然,这些仅为示例,其它任意合适的方式都是可行的。
在一些备选实施例中,第一设备111可以基于负载均衡策略来从第二设备112-1和112-2以及第一设备111中选择一个设备作为上述通信设备。例如,第一设备111可以确定第二设备112-1和112-2以及第一设备111本身的相应负载,然后将具有较小负载的第二设备确定为用于为第三设备130提供通信服务的通信设备。作为另一示例,第一设备111可以确定第二设备112-1和112-2以及第一设备111本身的相应负载,然后确定具有比预定负载低的负载的至少一个设备,最后从该至少一个设备中随机选择一个设备作为上述通信设备。当然,这些仅为示例,其它任意合适的方式都是可行的。应理解到,也可以基于多种策略的组合来执行上述选择。
在其中没有存储与第三设备130相关联的通信设备的信息的一些实施例中,在选择出上述通信设备后,第一设备111可以与第三设备130相关联地存储204所选择出的上述通信设备的信息。例如,在本示例中假设第二设备112-1被确定为通信设备,第一设备111可以更新表1如下所示。通过这样的方式,可以不断地更新存储在第一设备111处的令牌相关信息(也称为通信信息),从而有利于提升后续通信效率和降低时延。
表1令牌相关信息的示例
继而,第一设备111可以向作为通信设备的第二设备112-1发送205用于与第三设备130进行通信的令牌。例如,第一设备111可以通过向第二设备112-1发送特定消息来指示该令牌的发放。当然,使用其它方式来指示该令牌的发放也是可行的。
第二设备112-1在接收到该令牌后,向第三设备130发送206针对探测请求的响应。例如,第二设备112-1可以向第三设备130发送探测响应帧(probe response frame)。以此方式,使得第三设备130可以检测到该通信网络110。
在一些备选实施例中,针对通过信标帧(Beacon frame)发现通信网络110的第三设备,令牌发放过程可能被推迟到第三设备130的认证过程(authentication process)。例如,第三设备130可以接收来自第一设备111或第二设备112(例如定期广播)的信标帧,由此发现通信网络110。继而,第三设备130可以向通信网络110发出认证请求,例如发出认证请求帧(authentication request frame)。响应于该认证请求,通信网络110可以向第一设备111或第二设备112发放令牌。持有令牌的第一设备111或第二设备112可以向第三设备130回复确认(Acknowledge)帧确认接收到请求并发送针对认证请求的响应帧(authentication response frame)。
通信网络的接入操作
在接收到来自第二设备112-1的响应后,第三设备130可以完成207与第二设备112-1的关联认证和四次握手操作,从而获得来自第一设备111的互联网协议(IP)地址。
在一些实施例中,第二设备112-1可以将与第三设备130的通信相关联的密钥信息发送208给第一设备111。在一些实施例中,密钥信息可以包括成对临时密钥(PTK)。在一些实施例中,密钥信息还可以包括以下中的至少一种组密钥:组临时秘钥(GTK)和完整性组临时密钥(IGTK)。当然,其它密钥形式也是可行的,本申请对此不作限制。
在一些实施例中,第一设备111在接收到该密钥信息后,可以将该密钥信息与第三设备130相关联地存储209起来。例如,可以更新表1如下所示。当然,也可以以其它方式进行存储。
表1令牌相关信息的示例
在一些实施例中,第一设备111可以将该密钥信息分发210给第二设备112-1和112-2以及第一设备111中的除通信设备外的其它设备(例如第二设备112-2和第一设备111本身)。由此,第二设备112-2和第一设备111可以基于密钥信息来监听与第三设备130的通信相关联的数据。换言之,第二设备112-2和第一设备111等待与第三设备130的通信。
漫游操作
在其中第二设备112-1被确定为通信设备的实施例中,当第三设备130从位置A移动到位置B时,第二设备112-1可以确定211由第二设备112-1接收到的与第三设备130的通信相关联的RSSI值是否低于预定阈值(为方便起见,下面也称为第四阈值)。如果与第三设备130的通信相关联的RSSI值低于第四阈值,则第二设备112-1可以触发漫游机制。在这种情况下,第二设备112-1可以向第一设备111发送212关于第三设备130的漫游的请求(为方便起见,下面也称为第二请求)。在一些实施例中,该第二请求可以包括令牌和第二设备112-1处的与第三设备130相关的缓存数据。缓存数据即第二设备112-1未处理的与第三设备130相关的数据。
响应于接收到该漫游请求,第一设备111可以从第二设备112-1和112-2以及第一设备111中选择213一个设备作为候选设备(为方便起见,下面也称为第一候选设备),以便后续用于与第三设备130进行通信。在本例中,假设第二设备112-2为该候选设备。在一些实施例中,第一设备111可以选择具有高于预定阈值(为方便起见,下面也称为第一阈值)的RSSI值的一个设备作为第一候选设备。在一些实施例中,第一设备111可以选择具有最高RSSI值的设备作为第一候选设备。应理解到,第一候选设备的选择可以通过任意合适方式来实施,而不限于上述示例。
在确定了第一候选设备后,第一设备111可以将从第二设备112-1收回的令牌和来自第二设备112-1的与第三设备130相关的缓存数据发送214给作为候选设备的第二设备112-2。在通信网络110中的第一设备111和第二设备112中的每个设备都处于同一工作信道的情况下,第二设备112-2在获得该令牌和缓存数据后可以直接与第三设备130通信。
在一些实施例中,第一设备111可以确定215通信设备(在本例中为第二设备112-1)和第一候选设备(在本例中为第二设备112-2)是否处于同一工作信道。如果第一设备111确定通信设备和第一候选设备处于不同的工作信道,例如分别处于第一工作信道和第二工作信道,则第一设备111通知216第二设备112-1以使第三设备130切换至第一候选设备所在的第二工作信道。在一些实施例中,第一设备111可以向第二设备112-1发送信道切换公告(CSA)消息,在该CSA消息中可以包括第二工作信道的指示信息以及第三设备130的标识信息。当然,采用其它已知或未来开发的形式的消息也是可行的,本申请对此并不进行限制。
第二设备112-1接收到该通知后,可以请求217第三设备130从第一工作信道切换至第二工作信道。例如,第二设备112-1可以向第三设备130发送具有CSA IE单播的动作帧。当然,这里仅为示例,也可以采用其它合适方式来请求第三设备130进行工作信道的切换。
响应于该请求,第三设备130可以从第一工作信道切换218至第二工作信道。继而,第二设备112-2可以直接与第三设备130通信219。
在一些实施例中,第二设备112-2可以向第一设备111发送220关于第三设备130的漫游完成的指示(为方便起见,下面也称为第一指示)。以此方式,第二设备112-2可以向第一设备111报告第三设备130的漫游完成的事件。基于该指示,第一设备111可以更新221与第三设备130相关联的通信设备的信息。例如,可以将表I中的持有令牌的节点信息从第一设备112-1更新为第二设备112-2,如下所示。由此,完成了第三设备130从第二设备112-1到第二设备112-2的漫游操作。
表1令牌相关信息的示例
负载均衡操作
在一些实施例中,第二设备112-1可以确定222第二设备112-1的负载是否超过预定阈值(为方便起见,下面也称为第五阈值)。当第二设备112-1的负载超过第五阈值时,第二设备112-1可以触发负载均衡机制。在这种情况下,第二设备112-1可以向第一设备111发送223负载均衡请求(为方便起见,下面也称为第三请求)。在一些实施例中,该第三请求可以包括令牌和第二设备112-1处的与第三设备130相关的缓存数据。缓存数据即第二设备112-1未处理的与第三设备130相关的数据。
响应于接收到该负载均衡请求,第一设备111可以从第二设备112-1和112-2以及第一设备111中选择224一个设备作为候选设备(为方便起见,下面也称为第二候选设备),以用于后续与第三设备130进行通信。在本例中,假设第二设备112-2为该候选设备。在一些实施例中,第一设备111可以选择具有高于预定RSSI值(为方便起见,也称为第二阈值)的RSSI值且具有低于预定负载(为方便起见,也称为第三阈值)的负载的一个设备作为第二候选设备。在一些备选实施例中,第一设备111可以选择具有最高RSSI值的设备作为第二候选设备。在一些备选实施例中,第一设备111也可以选择具有最低负载的设备作为第二候选设备。应理解到,第二候选设备的选择可以通过任意合适方式来实施,而不限于上述示例。
在确定了第二候选设备后,第一设备111可以将从第二设备112-1收回的令牌和来自第二设备112-1的缓存数据发送225给作为候选设备的第二设备112-2。在通信网络110中的第一设备111和第二设备112中的每个设备都处于同一工作信道的情况下,第二设备112-2在获得该令牌和缓存数据后可以直接与第三设备130通信。
在一些实施例中,第一设备111可以确定226通信设备(在本例中为第二设备112-1)和第二候选设备(在本例中为第二设备112-2)是否处于同一工作信道。如果第一设备111确定通信设备和第二候选设备处于不同的工作信道,例如分别处于第一工作信道和第二工作信道,则第一设备111通知227第二设备112-1以使第三设备130切换至第二候选设备所在的第二工作信道。在一些实施例中,第一设备111可以向第二设备112-1发送CSA消息,在该CSA消息中可以包括第二工作信道的指示信息以及第三设备130的标识信息。当然,采用其它已知或未来开发的形式的消息也是可行的,本申请对此并不进行限制。
第二设备112-1接收到该通知后,可以请求228第三设备130从第一工作信道切换至第二工作信道。例如,第二设备112-1可以向第三设备130发送具有CSA IE单播的动作帧。当然,这里仅为示例,也可以采用其它合适方式来请求第三设备130进行工作信道的切换。
响应于该请求,第三设备130可以从第一工作信道切换229至第二工作信道。继而,第二设备112-2可以直接与第三设备130通信230。
在一些实施例中,第二设备112-2可以向第一设备111发送231关于第三设备130的负载均衡完成的指示(为方便起见,下面也称为第二指示)。以此方式,第二设备112-2可以向第一设备111报告第三设备130的负载均衡完成的事件。基于该指示,第一设备111可以更新232与第三设备130相关联的通信设备的信息。例如,可以将表I中的持有令牌的节点信息从第一设备112-1更新为第二设备112-2,如下所示。由此,完成了第三设备130在第二设备112-1和第二设备112-2之间的负载均衡操作。
表1令牌相关信息的示例
在一些实施例中,响应于第一设备111更新本地存储的令牌相关信息,第一设备111可以更新转发表(FBT),以指示第三设备130经由新的AP节点获得了互联网服务。
断开连接的操作
在一些实施例中,例如,第三设备130关闭Wi-Fi时,第三设备130可以向此时为其提供通信服务的第二设备(例如为第二设备112-1)发送233断开连接的请求。在一些实施例中,第三设备130可以向第二设备112-1发送取消认证帧(de-authentication frame)。在一些实施例中,第三设备130可以向第二设备112-1发送取消关联帧(de-associationframe)。
第二设备112-1响应于接收到来自第三设备130的断开连接的请求,可以从第二设备112-1删除234与第三设备130相关联的密钥信息。由此,与第三设备130断开连接。在一些实施例中,第二设备112-1可以向第一设备111发送235针对第三设备130的断开连接的请求(为方便起见,这里也称为第三请求)。换言之,第二设备112-1可以将第三设备130的断开连接的请求报告给第一设备111。
响应于接收到该第三请求,第一设备111可以删除236本地存储的与第三设备130相关联的密钥信息。例如,删除表1中与第三设备130相关联的密钥信息,如下所示。
表1令牌相关信息的示例
在一些实施例中,第一设备111可以向第二设备112-2发送237用于删除与第三设备130相关联的密钥信息的指示。基于该指示,第二设备112-2可以删除与第三设备130相关联的密钥信息。由此,第二设备112-2取消对第三设备130的通信的监听。
令牌到期操作
在一些实施例中,如果通信网络110在一定时段内没有再检测到第三设备130的信号,则确定第三设备130的令牌到期,由此可以触发令牌到期操作。例如,当前通信设备(即持有令牌的AP节点)是第二设备112-1。在一些实施例中,第二设备112-1可以确定239是否在一定时段内没有检测到来自第三设备130的信号。如果确定在一定时段内没有检测到来自第三设备130的信号,则第二设备112-1可以向第一设备111发送240与第三设备130相关联的令牌到期的指示(为方便起见,下面也称为第三指示)。
基于该第三指示,第一设备111可以从第二设备112-1收回令牌并删除241存储在第一设备111处的与第三设备130相关联的通信信息。例如,第一设备111可以删除表1中与第三设备130相关联的条目,如下所示。
表1令牌相关信息的示例
仿真结果
针对不同安全模式,本发明人进行了仿真。下面的表2示出了时延的仿真结果的示例。
表2针对不同安全模式的时延仿真结果的示例
可见,与传统方案相比,根据本公开实施例的方案,可以显著地降低时延。
至此,描述了根据本公开实施例的通信网络中的示例通信过程。应理解到,该过程还可以包括更多附加的步骤或省略所示出的一些步骤,而不限于图2的示例。相应地,本公开的实施例还提供在作为通信网络中的根节点的第一设备、作为通信网络中的扩展节点的第二设备以及用于经由通信网络进行通信的第三设备处实施的方法。下面结合图3至图6进行详细描述。
图3示出了根据本公开实施例的在通信网络中的第一设备处实施的通信方法300的流程图。该方法300例如可以在图1的作为根节点的第一设备111处实施。为方便起见,下面结合图1的示例进行描述。
如图3所示,在框310,第一设备111接收来自通信网络110中的至少一个第二设备112的用于获取令牌的第一请求,所述令牌是用于与第三设备130进行通信的凭证。
在框320,第一设备111基于第一请求,从至少一个第二设备112和第一设备111中选择一个设备,作为为第三设备130提供通信服务的通信设备。在一些实施例中,第一设备111可以通过以下操作来选择一个设备:确定与第三设备130相关联的通信设备信息是否存储在第一设备111处;如果确定通信设备信息存储在第一设备111处,则从通信设备信息中确定通信设备;以及如果通信设备信息未存储在第一设备111处,则基于预定策略,从至少一个第二设备112和第一设备111中确定一个设备作为通信设备。在一些实施例中,预定策略可以基于RSSI值以及负载中的至少一项。
在框330,第一设备111向通信设备发送令牌,以通过通信设备与第三设备130进行通信。
在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中均具有相同的SSID、BSSID和AID。在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中还可以均具有以下中的至少一项:相同的基本服务集颜色;和相同的时间戳。
在一些实施例中,第一设备111可以将通信设备的信息以及令牌与第三设备130相关联地进行存储。
在一些实施例中,第一设备111可以接收来自通信设备的密钥信息,所述密钥信息与第三设备130的通信相关联;以及将密钥信息发送给至少一个第二设备112和第一设备111中的除通信设备外的第二设备。在一些实施例中,第一设备111可以基于接收到的密钥信息,更新存储在第一设备处的与第三设备130相关联的密钥信息。
在一些实施例中,第一设备111可以接收来自通信设备的关于第三设备130的漫游的第二请求,所述第二请求包括通信设备处的与第三设备130相关的缓存数据,从至少一个第二设备112和第一设备111中选择一个设备作为第一候选设备,所述第一候选设备具有高于第一阈值的RSSI值;以及将令牌和缓存数据发送给第一候选设备。
在一些实施例中,第一设备111可以响应于确定通信设备和第一候选设备分别处于第一工作信道和第二工作信道,通知通信设备将第三设备130切换至第二工作信道。
在一些实施例中,第一设备111可以从第一候选设备接收关于第三设备130的漫游完成的第一指示;以及基于第一指示,将存储在第一设备111处的与第三设备130相关联的通信设备的信息更新为第一候选设备的信息。
在一些实施例中,第一设备111可以接收来自通信设备的关于第三设备130的负载均衡的第三请求,所述第三请求包括通信设备处的与第三设备130相关的缓存数据;基于第三请求,从至少一个第二设备112和第一设备111中选择一个设备作为第二候选设备,第二候选设备具有高于第二阈值的RSSI值和低于第三阈值的负载;以及将令牌和缓存数据发送给第二候选设备。
在一些实施例中,第一设备111可以响应于确定通信设备和第二候选设备分别处于第一工作信道和第二工作信道,通知通信设备将第三设备130切换至第二工作信道。
在一些实施例中,第一设备111可以从第二候选设备接收关于第三设备130的负载均衡完成的第二指示;以及基于第二指示,将存储在第一设备111处的与第三设备130相关联的第二设备的信息更新为第二候选设备的信息。
在一些实施例中,第一设备111可以接收来自通信设备的用于断开与第三设备130的连接的第三请求;基于第三请求,删除存储在第一设备111处的与第三设备130相关联的密钥信息;以及向至少一个第二设备112和第一设备111中的除通信设备外的设备发送用于删除密钥信息的指示。
在一些实施例中,第一设备111可以接收来自通信设备的关于第三设备130的令牌到期的第三指示;以及基于第三指示,删除存储在第一设备111处的与第三设备130相关联的通信信息。
在一些实施例中,第一设备111可以为作为通信网络110中的根节点的路由器,第二设备112可以为作为通信网络110中的扩展节点的路由器,以及第三设备130可以为终端设备。在一些实施例中,通信网络110可以为ESS和MBSS中的一种。当然,通信网络100不限于此,而是可以包括本领域已知或未来开发的其它任意合适网络。
图4示出了根据本公开实施例的在通信网络中的第二设备处实施的方法400的流程图。该方法400例如可以在图1的第二设备112-1和112-2的任一个处实施。为便于描述,下面以在第二设备112-1处实施为例进行描述。为方便起见,下面结合图1的示例进行描述。
如图4所示,在框410,第二设备112-1响应于接收到来自第三设备130的探测请求,向通信网络110中的第一设备111发送用于获取令牌的第一请求,所述令牌是用于与第三设备130进行通信的凭证。
在框420,第二设备112-1从第一设备111接收所述令牌,以与第三设备130进行通信。在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中均具有相同的SSID、BSSID和AID。在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中还可以均具有以下中的至少一项:相同的基本服务集颜色;和相同的时间戳。
在一些实施例中,第二设备112-1可以响应于接收到所述令牌,向第三设备130发送针对所述探测请求的响应。在一些实施例中,第二设备112-1可以向第一设备111发送与第三设备130的通信相关联的密钥信息。
在一些实施例中,第二设备112-1可以响应于第三设备130从第一位置移动到第二位置并且关于第三设备130的RSSI值低于第四阈值,向第一设备111发送关于第三设备130的漫游的第二请求,所述第二请求包括所述令牌和第二设备112-1处的与第三设备130相关的缓存数据。在一些实施例中,第二设备112-1可以接收来自第一设备111的通知,所述通知指示将第三设备130从第一工作信道切换至第二工作信道;以及响应于所述通知,请求第三设备130切换至第二工作信道。
在一些实施例中,第二设备112-1可以响应于第二设备112-1的负载超过第五阈值,向第一设备111发送关于第三设备130的负载均衡的第三请求,所述第三请求包括所述令牌和第二设备112-1处的与第三设备130相关的缓存数据。在一些实施例中,第二设备112-1可以接收来自第一设备111的通知,所述通知指示将第三设备130从第一工作信道切换至第二工作信道;以及响应于所述通知,请求第三设备130切换至第二工作信道。
在一些实施例中,第二设备112-1可以响应于接收到来自第三设备130的断开连接的请求,删除与第三设备130相关联的密钥信息;以及向第一设备111发送针对第三设备130的断开连接的第三请求。
在一些实施例中,第二设备112-1可以向第一设备111发送关于第三设备130的令牌到期的指示。
在一些实施例中,第一设备111可以为作为通信网络110中的根节点的路由器,第二设备112可以为作为通信网络110中的扩展节点的路由器,以及第三设备130可以为终端设备。在一些实施例中,通信网络110可以为ESS和MBSS中的一种。当然,通信网络100不限于此,而是可以包括本领域已知或未来开发的其它任意合适网络。
图5示出了根据本公开另一实施例的在通信网络中的第二设备处实施的方法500的流程图。该方法500例如可以在图1的第二设备112-1和112-2的任一个处实施。为便于描述,下面以在第二设备112-2处实施为例进行描述。为方便起见,下面结合图1的示例进行描述。
如图5所示,在框510,第二设备112-2接收来自通信网络110中的第一设备111的与第三设备130的通信相关联的密钥信息。
在框520,第二设备112-2基于密钥信息来监听与所述第三设备130的通信相关联的数据。
在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中均具有相同的SSID、BSSID和AID。在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中还可以均具有以下中的至少一项:相同的基本服务集颜色;和相同的时间戳。
在一些实施例中,第二设备112-2还可以响应于接收到来自第三设备130的探测请求,向第一设备111发送用于获取令牌的第一请求,所述令牌是用于与第三设备130进行通信的凭证。
在一些实施例中,第二设备112-2还可以接收来自第一设备111的与第三设备130的通信相关联的令牌和第二设备112-2处的与第三设备130相关的缓存数据;以及基于令牌和缓存数据,执行第三设备130的通信。在一些实施例中,第二设备112-2可以通过以下操作来执行第三设备130的通信:响应于第三设备130从第一工作信道切换到第二设备所在的第二工作信道,执行第三设备130的通信。
在一些实施例中,第二设备112-2还可以向第一设备111发送关于第三设备130的漫游完成的第一指示。在一些实施例中,第二设备112-2还可以向第一设备111发送关于第三设备130的负载均衡完成的第二指示。在一些实施例中,第二设备112-2还可以接收来自第一设备111的删除密钥信息的指示;以及基于所述指示,删除所述密钥信息。
在一些实施例中,第一设备111可以为作为通信网络110中的根节点的路由器,第二设备112可以为作为通信网络110中的扩展节点的路由器,以及第三设备130可以为终端设备。在一些实施例中,通信网络110可以为ESS和MBSS中的一种。当然,通信网络100不限于此,而是可以包括本领域已知或未来开发的其它任意合适网络。
图6示出了根据本公开实施例的在第三设备处实施的方法600的流程图。该方法600例如可以在图1的第三设备130处实施。为方便起见,下面结合图1的示例进行描述。
如图6所示,在框610,第三设备130向通信网络110中的第一设备111和至少一个第二设备112中的每个设备发送探测请求。在本公开的实施例中,第一设备111和至少一个第二设备112中的每个设备在与第三设备130的通信中均具有相同的SSID、BSSID和AID。在一些实施例中,第一设备111和至少一个第二设备112在与第三设备130的通信中还可以均具有以下中的至少一项:相同的基本服务集颜色;和相同的时间戳。
在框620,第三设备130从第一设备111和至少一个第二设备112中的一个设备接收针对探测请求的响应。
在框630,第三设备130经由该一个设备进行通信。
在一些实施例中,第三设备130还可以通过专用消息,接收来自一个设备的从第一工作信道切换到第二工作信道的指示;以及基于所述指示,执行从第一工作信道到第二工作信道的切换。
在一些实施例中,第三设备130还可以向该一个设备发送断开连接的请求。
在一些实施例中,第一设备111可以为作为通信网络110中的根节点的路由器,第二设备112可以为作为通信网络110中的扩展节点的路由器,以及第三设备130可以为终端设备。在一些实施例中,通信网络110可以为ESS和MBSS中的一种。当然,通信网络100不限于此,而是可以包括本领域已知或未来开发的其它任意合适网络。
至此描述了根据本公开实施例的通信网络中的通信方法。其它细节可参见前面结合图2的相应描述,这里不再赘述。根据本公开实施例的方法,可以通过多个AP节点之间的协作,使得终端设备可以安全无缝地连接到任意AP节点,而不需要重新建立连接。由此,可以提高终端设备的通信的安全性,并且大大降低终端设备的服务时延。此外,可以很好地兼容大多数终端设备。
与上述方法相对应,本公开的实施例还提供相应的装置。能够执行方法300的装置可以包括用于执行方法300各个步骤的相应部件。这些部件可以任意适当方式实现。例如,可以通过电路或者软件模块来实现。在一些实施例中,该装置可以在通信网络中的根节点(诸如图1的第一设备111)上实施。
在一些实施例中,该装置可以包括:用于在通信网络110中的第一设备111处接收来自通信网络110中的至少一个第二设备112的用于获取令牌的第一请求的部件,所述令牌是用于与第三设备130进行通信的凭证,第一设备111和至少一个第二设备112中的每个设备在与第三设备130的通信中均具有相同的SSID、BSSID和AID;用于基于第一请求从至少一个第二设备112和第一设备111中选择一个设备作为用于为第三设备130提供通信服务的通信设备的部件;以及用于向通信设备发送所述令牌以通过所述通信设备与第三设备130进行通信的部件。
能够执行方法400的装置可以包括用于执行方法400各个步骤的相应部件。这些部件可以任意适当方式实现。例如,可以通过电路或者软件模块来实现。该装置可以在通信网络中的扩展节点(诸如第二设备112-1和112-2中的任一个,这里以第二设备112-1为例)处实施。
在一些实施例中,该装置可以包括:用于在通信网络110中的第二设备112-1处响应于接收到来自第三设备130的探测请求而向通信网络110中的第一设备111发送用于获取令牌的第一请求的部件,所述令牌是用于与第三设备130进行通信的凭证,第一设备111和至少一个第二设备112中的每个设备在与第三设备130的通信中均具有相同的SSID、BSSID和AID;以及用于从第一设备111接收所述令牌以与第三设备130进行通信的部件。
能够执行方法500的装置可以包括用于执行方法500各个步骤的相应部件。这些部件可以任意适当方式实现。例如,可以通过电路或者软件模块来实现。该装置可以在通信网络中的扩展节点(诸如第二设备112-1和112-2中的任一个,这里以第二设备112-2为例)处实施。
在一些实施例中,该装置可以包括:用于在通信网络110中的第二设备112-2处接收来自通信网络110中的第一设备111的与第三设备130的通信相关联的密钥信息的部件,第一设备111和至少一个第二设备112中的每个设备在与第三设备130的通信中均具有相同的SSID、BSSID和AID;以及用于基于密钥信息来监听与第三设备130的通信相关联的数据的部件。
能够执行方法600的装置可以包括用于执行方法600各个步骤的相应部件。这些部件可以任意适当方式实现。例如,可以通过电路或者软件模块来实现。该装置可以在用于经由通信网络进行通信的第三设备(诸如第三设备130)处实施。
在一些实施例中,该装置可以包括:用于在第三设备130处向通信网络110中的第一设备111和至少一个第二设备120中的每个设备发送探测请求的部件,第一设备111和至少一个第二设备120中的每个设备在与第三设备130的通信中均具有相同的SSID、BSSID和AID;用于从第一设备111和至少一个第二设备112中的一个设备接收针对所述探测请求的响应的部件;以及用于经由所述一个设备进行通信的部件。
图7是适合于实现本公开的实施例的设备700的简化框图。可以提供设备700以实现通信设备,例如图1所示的第一设备111、第二设备112-1、第二设备112-2和第三设备130。如图所示,设备700包括一个或多个处理器710、耦合到处理器710的一个或多个存储器720以及耦合到处理器710的一个或多个通信模块740。
通信模块740用于双向通信。通信接口可以表示与其他网络元件通信所必需的任何接口。
处理器710可以是适合于本地技术网络的任何类型,并且作为限制性示例,可以包括以下中的一个或多个:通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器。设备700可以具有多个处理器,例如专用集成电路芯片,其在时间上从属于与主处理器同步的时钟。
存储器720可以包括一个或多个非易失性存储器和一个或多个易失性存储器。非易失性存储器的示例包括但不限于只读存储器(ROM)724、电可编程只读存储器(EPROM)、闪存、硬盘、光盘(CD)、数字视频盘(DVD)和其他磁存储和/或光存储装置。易失性存储器的示例包括但不限于随机存取存储器(RAM)722和不会在断电持续时间中持续的其他易失性存储器。
计算机程序730包括由关联的处理器710执行的计算机可执行指令。程序730可以存储在ROM 720中。处理器710可以通过将程序730加载到RAM 720中来执行任何合适的动作和处理。
可以借助于程序730来实现本公开的实施例,使得设备700可以执行如参考图2至图6所讨论的本公开的任何处理。本公开的实施例还可以通过硬件或通过软件和硬件的组合来实现。
在一些实施例中,程序730可以有形地包含在计算机可读介质中,该计算机可读介质可以包括在设备700中(诸如在存储器720中)或者可以由设备700访问的其他存储设备。可以将程序730从计算机可读介质加载到RAM 722以供执行。计算机可读介质可以包括任何类型的有形非易失性存储器,例如ROM、EPROM、闪存、硬盘、CD、DVD等。图8示出了CD或DVD形式的计算机可读介质800的示例。计算机可读介质上存储有程序730。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。可用来实现本公开实施例的硬件器件的示例包括但不限于:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。