发明详细描述
在开始描述本发明的各实施例之前,首先提供其中可实现本发明的各实施例的移动计算设备和无线网络环境的描述。尽管并非所需,但本发明将在诸如由计算设备执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序包括例程、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。此处使用的术语“程序”可意味着单个程序模块或共同行动的多个程序模块。此处使用的术语“计算机”或“计算设备”包括电子地执行一个或多个程序的任何设备,如个人计算机(PC)、手持式设备、多处理器系统、基于微处理器的可编程消费者电子设备、网络PC、小型机、图形输入板PC、膝上计算机、具有微处理器或微控制器的消费者电器等等。本发明也可以用于分布式计算环境中,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序可以位于本地和远程存储器存储设备中。
参考图1,示出了其上可实现此处描述的本发明的各方面的移动计算设备的基本配置的一个示例。在其最基本的配置中,移动计算设备102通常包括至少一个处理单元104和存储器106。处理单元104执行指令以依照本发明的各实施例实现任务。在实现这类任务时,处理单元104可将电信号发送到移动计算设备102的其它部分并发送到移动计算设备102之外的设备以引起某些结果。根据移动计算设备102的确切配置和类型,存储器106可以是易失性(如RAM)、非易失性(如ROM、闪存)或两者的某一组合。这一最基本配置在图1中由虚线108示出。
移动计算设备102也可具有另外的特征/功能。例如,移动计算设备102也可包括另外的存储(可移动110和/或不可移动112),包括但不限于,磁盘、光盘或磁带。计算机存储介质包括以用于储存包括计算机可执行指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存、CD-ROM、数字多功能盘(DVD)或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存期望的信息并可由移动计算设备102访问的任一其它介质。任一这类计算机存储介质可以是移动计算设备102的一部分。
移动计算设备102较佳地也包含允许设备与诸如远程计算设备116等其它设备进行通信的通信连接114。通信连接是通信介质的一个示例。通信介质通常可以具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。作为示例而非局限,术语“通信介质”包括无线介质,如声学、RF、红外和其它无线介质。此处使用的术语“计算机可读介质”包括计算机存储介质和通信介质两者。
移动计算设备102也可具有输入设备118,如键盘/小键盘、鼠标、输入笔、语音输入设备、触摸输入设备等等。也可包括输出设备120,如显示器122、扬声器、打印机等等。所有这些设备在本领域中是公知的,且无需在此详细描述。
在以下描述中,将参考由一个或多个计算设备执行的动作和操作的符号表示来描述本发明,除非另外指明。由此,可以理解,这类动作和操作,有时被称为计算机执行的,包括计算设备的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算设备的存储器系统中的位置上维护它,从而以本领域的技术人员都理解的方式重配置或改变了计算设备的操作。维护数据的数据结构是存储器的物理位置,具有数据的格式所定义的具体特性。然而,尽管在上述的上下文中描述本发明,它并不意味着限制,如本领域的技术人员所理解的,后文所描述的行动和操作的各方面也可以用硬件实现。
适用于结合本发明的各方面的一个无线联网环境包括至少两种不同类型的无线网络。无线联网环境中的至少一个无线网络包括多个无线网络小区。每一无线网络小区具有有限的地理覆盖区域,并包括至少一个无线网络基站或接入点(AP)。术语“无线网络基站”和“无线网络接入点”对于本描述而言是等效的。通常,单个无线网络接入点向无线网络小区的地理覆盖区域提供了无线网络服务。然而,某些无线网络对每一无线网络小区包括一个以上接入点,例如,对无线网络小区的每一扇区有一个接入点。为清楚起见,本描述将参考典型的情况来进行,但是适用于结合本发明的各方面的无线联网环境不如此限制。
无线网络小区的地理覆盖区域的范围,即,无线网络小区大小可在一类无线网络中以及多类无线网络之间变化。平均无线网络小区大小是区分无线网络类型的无线网络特征的一个示例,例如,无线广域网(WWAN)通常比无线局域网(WLAN)具有更大的平均无线网络小区大小。在下文中,无线广域网和无线局域网用作不同无线网络类型的说明性示例,然而,无线网络小区大小不必要是构成适用于结合本发明的各方面的无线联网环境的不同无线网络类型的区分特征。网络类型的一个关键的区分特征是其服务质量(QoS)属性,例如,带宽、数据分组延迟统计量(在数字数据被分割成数据分组的无线网络中)、安全性(包括私密性和反欺诈度量)、成本效率等等。
在本发明的一个实施例中,移动计算设备102移动通过无线联网环境。或者,无线联网环境可以改变,而移动计算设备102保持静止。这些改变对于本描述的目的是等效的。当移动计算设备102移动通过无线联网环境时,它可进入和离开单个无线网络类型的无线网络小区以及多个无线网络类型的无线网络小区。同一类型的无线网络小区之间的转移是使用现有技术的水平越区切换技术来实现的。在本发明的一个实施例中,不同类型的无线网络小区之间的转移是使用垂直越区切换方法来实现的。
作为一个说明性示例,图2示出了适用于结合本发明的各方面的无线联网环境。该无线联网环境具有两类无线网络。较大的无线网络小区202是第一类无线网络,即无线广域网的一部分。五个较小的无线网络小区204、206、208、210、212是第二类无线网络,即无线局域网的一部分。在本示例中,无线局域网提供了比无线广域网更高的服务质量。
移动计算设备102(未在图2中示出)采用了地理路径214来通过无线联网环境200。路径214在无线网络小区202的覆盖区域内开始。在路径的起始处,由无线网络小区202,即,由无线广域网向移动计算设备102提供无线网络服务。当移动计算设备102沿路径214移动时所遇到的下一个无线网络小区是无线网络小区204,即无线局域网小区。一旦路径214进入无线网络小区204,移动计算设备102具有对无线网络类型的选择,即,对无线广域网(通过无线网络小区202)和无线局域网(通过无线网络小区204)的选择。
依照本发明的一方面,当选择可用时,移动计算设备102被配置成自动选择提供最高服务质量的无线网络类型。当移动计算设备102进入无线网络小区204时,它启动从无线广域网到无线局域网的垂直越区切换。发生从WWAN小区202到WLAN小区204的垂直越区切换。
当路径214到达第一WLAN小区204的右边缘时,遇到第二无线局域网小区206。当路径进入第二WLAN小区206且离开第一WLAN小区204时,发生从第一WLAN小区204到第二WLAN小区206的现有技术水平越区切换,作为无线局域网正常操作的一部分。超出第二WLAN小区206边缘的另一WLAN小区不是直接可用的,使得当路径214移动到超出第二WLAN小区206的边缘时,无线局域网暂时无法向移动计算设备102提供无线网络服务。
在本示例中,移动计算设备102被配置成在可能的地方维持无线网络连通性。当移动计算设备102移动到超出第二WLAN小区206的边缘时,它启动从无线局域网回到无线广域网的第二垂直越区切换。发生从WLAN小区206到WWAN小区202的垂直越区切换。
类似地,当移动设备沿路径214继续时,发生从WWAN小区202到WLAN小区208的垂直越区切换,然后发生从WLAN小区208到WLAN小区210以及从WLAN小区210到WLAN小区212的现有技术水平越区切换。当路径退出WLAN小区212时,发生最终的垂直越区切换。发生从WLAN小区212回到WWAN小区202的垂直越区切换。如果移动计算设备102继续在所指示的方向上移动,则它将退出WWAN小区202。如果存在与WWAN小区202相邻的另一WWAN小区(未示出),则在无线广域网中发生从WWAN小区202到相邻的WWAN小区的现有技术水平越区切换。
无线网络类型中的小区之间的无缝和自动水平越区切换使得无线网络小区的存在对于无线网络的用户而言是透明的。它是所期望的特征且已在现有技术中实现。不同类型的无线网络之间的无缝且自动的垂直越区切换同样也是期望的,但是水平越区切换的系统和方法不适用。例如,在同一无线网络类型的小区之间的水平越区切换中,在移动计算设备处从两个候选无线网络小区接入点接收的相对信号强度的比较通常是做出越区切换决策过程的一部分,即,如果一个候选接入点导致移动计算设备102处显著更高的接收信号强度,则启动到该接入点的水平越区切换。为本描述的目的,到无线网络小区的越区切换以及到向无线网络小区提供服务的无线网络接入点的越区切换是等效的。
在移动计算设备处从无线网络接入点接收到的信号强度(“接收信号强度”)是用于做出无线网络类型内的水平越区切换的有用的比较的原因之一是因为无线网络接入点符合单个无线联网标准。然而,在无线网络类型之间的垂直越区切换中,按照定义,存在多个无线联网标准。在无线网络类型之间的垂直越区切换中,通常不能保证从不同无线网络类型接收到的信号强度是用于做出越区切换决策的有用比较。一个无线网络类型中接收信号强度的适当级别可能在另一无线网络类型中不适合。在本发明的一个实施例中,当做出垂直越区切换决策时,考虑对应于由无线网络提供的服务质量的准则。图3和4有助于说明这两个问题之间的某些区别。
图3示出了当移动计算设备102移动通过一地理距离时,在移动计算设备102处从无线网络类型内的两个无线网络接入点302、304接收到的信号强度的图。在该图的左侧,在移动计算设备102处从第一无线网络接入点302接收到的信号强度是强的(即,相对较高),而在移动计算设备102处从第二无线网络接入点304接收到的信号强度是弱的(即,相对较低)。在该图的右侧,从第二无线网络接入点304接收到的信号强度是强的,而从第一无线网络接入点302接收到的信号强度是弱的。
在图3所示的图的中心,有一个点,在该点处,在移动计算设备102处从两个无线网络接入点接收到的信号强度是相等的。该点通常标出了水平越区切换决策过程中的阈值306。在阈值306的左侧,理论上更期望无线网络接入点302来向移动计算设备102提供无线网络服务。在阈值306的右侧,理论上更期望无线网络接入点304来向移动计算设备102提供无线网络服务。有若干实用的考虑事项可用于启动水平越区切换的决策,但是这些在本领域中是公知的,且无需在此详细描述。此处包括图3以提供与图4的对比。
图4示出了当移动计算设备102移动通过一地理距离时,由两种不同类型的无线网络402、404提供给移动计算设备102的无线网络服务质量。例如,无线网络402可以表示无线广域网,而无线网络404可类似地表示无线局域网。在该图的左侧,由第一类无线网络402提供给移动计算设备102的服务质量相对较高,而由第二类无线网络404提供给移动计算设备102的服务质量相对较低。在该图右侧的不同地理位置上也是如此。在该图的中心部分,由第二类无线网络404提供的服务质量显著提高,使得第二类无线网络404比第一类无线网络402提供更高的服务质量。
在图4所示的图中有两个点,在这两个点处,两种无线网络类型都能够向移动计算设备102提供相等的服务质量。理想地,这两点标出了垂直越区切换决策阈值406、408。在左侧阈值406的左边以及右侧阈值408的右边,期望第一类无线网络402向移动计算设备102提供无线网络服务。在这两个阈值406、408之间,期望第二类无线网络404向移动计算设备102提供无线网络服务。
在本发明的一个实施例中,有至少两类自动垂直越区切换决策,包括:自动决定何时从服务质量较低的无线网络(例如,WWAN)进入服务质量潜在较高的无线网络(例如,WLAN),以及自动决定何时退出服务质量潜在较高的网络到服务质量较低的网络。在进入服务质量潜在较高的无线网络的第一种情况下,越区切换的主要目标是实际达到较高的服务质量,例如,对移动计算设备102可用的无线网络带宽在垂直越区切换之后比之前更高。在本发明的一个实施例中,实现第一情况的目标包括使移动计算设备102能够测量无线介质访问控制(MAC)层的服务质量属性,诸如无线介质中的剩余通信带宽以及无线介质访问控制传输延迟。
在离开服务质量潜在较高的无线网络的第二种情况下,至少有两个竞争目标:在服务质量较高的无线网络不再能够提供服务之前越区切换,但也在该无线网络实际能够提供较高服务质量时保留在服务质量潜在较高的无线网络中。与服务质量的逐渐下降相反,现代的数字无线网络通常能够遍及无线网络小区覆盖区域维持相对高的服务质量,直到接近于服务质量急速下降的小区边界。在本发明的一个实施例中,实现这些第二情况下的目标包括使移动计算设备102能够根据从当前向移动计算设备102提供服务的无线网络接入点接收到的信号强度的动态历史,即,在没有从对候选无线网络小区的接收信号强度的同时引用用于直接比较中获益的情况下,来检测到接近无线网络小区边界。
一种不必要的垂直越区切换是不导致提供给移动计算设备102的无线网络服务质量提高的自动垂直越区切换,例如,由于进入服务质量潜在较高的无线网络不产生服务质量的期望增益,或者例如,由于过早地退出服务质量较高的无线网络且迅速做出返回到服务质量较高的无线网络的决策。每一垂直越区切换一般具有某些通信协议额外开销,使得在本发明的一个实施例中,不必要的垂直越区切换的高速率对于提供给移动计算设备102的无线网络总服务质量有负面的影响。因此,重要的是,上述两种类型的垂直越区切换决策,即,决定何时进入服务质量潜在较高的无线网络,以及决定何时退出服务质量潜在较高的网络,除实现其各自的目标之外,还协力工作以降低不必要垂直越区切换的速率。
无线网络小区向一个以上移动计算设备同时提供无线网络服务是常见的。通常,向特定类型的无线网络分配可用无线频谱的某一部分,并且该无线网络具有用于在其用户之中共享所分配的频谱的某一方案。一种常见的方案是将所分配的频谱划分成一个或多个通信信道,其基本特征是仅一个发送者和一个接收者能够使用该特定通信信道以在特定时间段内通信。
为本描述的目的,在以下两种类型的信道分配方案之间进行区分是足够的:专用的和共享的。某些类型的无线网络,例如符合GPRS标准的无线网络,将一个或多个信道专用于无线网络小区中的每一移动计算设备。这一方案的缺点包括每一信道通常具有相对较低的通信带宽,并且它一般成本效率较低。这一方案的优点包括其服务质量特征,诸如带宽和传输延迟,一般是能够事先预测的,且在使用期间相对恒定。
其它类型的无线网络,例如符合IEEE 802.11b标准的无线网络,在多个移动计算设备之间共享每一通信信道的带宽。这一方案的优点包括每一信道通常具有相对较高的通信带宽,且它一般成本效率较高。这一方案的缺点包括其服务质量特征,诸如可用带宽和传输延迟,一般是不可事先预测的,且通常在通信会话期间变化,尤其是当试图共享通信信道的移动设备的数量变化时。另外,某些其它方案是合乎需要的,以避免共享信道中的传输冲突,即,两个移动设备同时通过同一信道发送。传输冲突通常导致所涉及发送者中的没有一个能够成功地发送数据。
一种常见的冲突避免方案是,作为无线网络通信协议的无线介质访问控制(MAC)层的一部分,规定发送者首先在通信信道上通告传输将会花费多久。共享该通信信道的其它发送者则可在此时间中避免发送。例如,在符合IEEE 802.11b标准的无线网络中,在发送时通告作为发送请求(RTS)协议消息的一部分发送的网络分配矢量(NAV)。
在本发明的一个实施例中,观察时段中累积通告发送时间与总观察时间之比用作共享通信信道并利用通告的传输时间作为冲突避免方案的一部分的无线网络中的无线网络服务质量度量。例如,在符合IEEE 802.11b标准的无线网络中,依照本发明的一个实施例的移动计算设备监视由其网络接口维护的网络分配矢量(NAV)一段时间(例如,2秒)。网络分配矢量占用率(NAVO)被计算为监控时段内网络分配矢量指示无线网络繁忙的时间量与监控时段内的总时间量之比。术语“网络分配矢量占用率”用作“观察时段内累积的通告传输时间与总观察时间之比”的简写。
在本发明的一个实施例中,计算的网络分配矢量占用率直接用作由无线网络提供的服务质量的度量。网络分配矢量占用率是无线网络提供的服务质量的有用度量的一个理由是它对于无线网络用户数量以及数据话务模式(例如,稳定的与猝发的)相对较不敏感。在本发明的一个较佳实施例中,网络分配数量占用率还被映射到更多传统的服务质量度量,诸如无线介质中的剩余通信带宽以及无线介质访问控制传输延迟。以下是将网络分配矢量占用率映射到特定的无线网络服务质量度量,即无线网络中的剩余带宽的示例。如本领域的技术人员所清楚的,这一映射技术适用于其它无线网络服务质量度量。
图5所示是测得的网络分配矢量占用率和估算的无线网络中的剩余带宽之间的关系的图。该图的水平轴是测得的网络分配矢量占用率。该图的垂直轴是估算的剩余带宽。低网络分配矢量占用率对应于高估算剩余带宽。高网络分配矢量占用率对应于低估算剩余带宽。有一高网络分配矢量占用率值NAVOBW=0(例如,65%),它对应于值为零的估算剩余带宽。
在本发明的一个实施例中,估算的无线网络中的剩余带宽被计算为网络分配矢量占用率的线性函数,例如,BW=BWmax-f*NAVO,其中,BW是估算的无线网络中的剩余带宽,BWmax是最大估算剩余带宽(例如,在0%的网络分配矢量占用率时为3.3Mbps),f是网络分配矢量占用率到估算的剩余带宽映射的因子(例如,5,对应于对网络分配矢量占用率的10%增加有0.5Mbps的下降),NAVO是测得的网络分配矢量占用率。给出的示例值对于特定的平均数据分组大小和无线网络类型是有效的,例如,符合IEEE 802.11b无线网络标准的无线网络中1000字节的分组大小,它启用了IEEE 802.11b协议的发送请求(RTS)方面。
在本发明的另一实施例中,从网络分配矢量占用率到估算的剩余带宽的映射是用查找表来实现的。下表提供了这一查找表的一部分的例子。在以下示出的查找表中,最顶部一行列出了网络分配矢量占用率的值,最左侧的一列列出了平均数据分组传输大小的值,且该表的主体展示了对应的估算剩余带宽值。例如,对于1000字节的平均数据分组传输大小和50%的测得的网络分配矢量占用率,估算的无线网络中的剩余带宽是0.8Mbps。
|
20% |
30% |
40% |
50% |
60% |
>65% |
250字节 |
0.86Mbps |
0.66Mbps |
0.50Mbps |
0.30Mbps |
0.10Mbps |
0.00Mbps |
500字节 |
1.55Mbps |
1.10Mbps |
0.80Mbps |
0.50Mbps |
0.15Mbps |
0.00Mbps |
750字节 |
1.90Mbps |
1.45Mbps |
1.05Mbps |
0.65Mbps |
0.20Mbps |
0.00Mbps |
1000字节 |
2.30Mbps |
1.80Mbps |
1.30Mbps |
0.80Mbps |
0.30Mbps |
0.00Mbps |
可以通过在合适的测试无线网络或无线网络模拟器中生成已知的剩余带宽级别,然后记录每一级别处的观察到的/所模拟的网络分配矢量占用率,对特定的无线网络类型获得这一查找表的值和/或线性映射函数的参数。这些技术在本领域中是公知的,且不需要在此详细描述。
在不能计算网络分配矢量占用率的无线网络中,例如,网络分配矢量不可用,则需要一个替换的服务质量度量。以分组发送数据的无线网络中的通信协议的一个公共方面是确认供应。确认供应规定数据分组的接收者能够发送对每一接收到的数据分组的确认。当利用该确认供应时,发送者假定未确认的分组丢失(即,未在其预期目的地接收),并且应当被重新发送。如果没有诸如通告传输时间等冲突避免机制,则传输冲突是无线网络中分组丢失的常见原因。
在本发明的一个实施例中,数据分组冲突概率(PCP)也用作无线网络服务质量度量。在本发明的一个实施例中,数据分组冲突概率计算如下。移动计算设备102在已知的时间段内(例如,1秒)以已知的速率(例如,每秒100个)发送已知大小(例如,1000字节)的探测数据分组。数据分组冲突概率被计算为未确认的探测数据分组的数量与所发送的探测数据分组的总数之比。
例如,如果移动计算设备102使用符合无线网络设备接口标准(NDIS)的网络接口向符合IEEE 802.11b标准的无线网络接入点发送探测数据分组,则数据分组冲突概率可以被计算为确认失败计数NDIS统计量(即,表示未确认的探测数据分组数量的统计量)与确认失败计数和发送的片段计数NDIS统计量的总和(即,表示未确认和确认的探测数据分组的统计量的总和)之比。这一示例也示出即使在不规定发送者通告传输时间的无线网络中,数据分组冲突概率也可用作无线网络服务质量度量。
图6所示是数据分组冲突概率和估算的无线网络中的剩余带宽之间的关系的图。该图的水平轴是测得的数据分组冲突概率。该图的垂直轴是估算的剩余带宽。低数据分组冲突概率对应于高估算剩余带宽。高数据分组冲突概率对应于低估算剩余带宽。存在一个对应于为零的估算剩余带宽的高数据分组冲突概率PCPBW=0(例如,30%)。可构造类似的图,将数据分组冲突概率映射到其它服务质量度量。
如网络分配矢量占用率一样,在本发明的一个实施例中,使用诸如图6所示的示例的映射关系,数据分组冲突概率还被映射到更多的传统服务质量度量。线性映射函数不是很适用于数据分组冲突概率,但不是不可使用的,因为该映射曲线中做出垂直越区切换决策通常感兴趣的部分是低带宽部分,它是非线性的。本领域的技术人员可以理解,诸如指数映射函数等非线性映射函数可以用于该任务中。在本发明的一个实施例中,从数据分组冲突概率到例如估算的剩余带宽的映射是用查找表来实现的。查找表是以类似于网络分配矢量占用率的方式来填充的。
在本发明的一个实施例中,无线网络服务质量度量可用于移动计算设备102自动决定何时进入高服务质量无线网络中。一旦在高服务质量的无线网络中,在本发明的一个实施例中,移动计算设备102可靠地检测接近的无线网络小区边界的能力变得更重要。
现有技术系统使用了简单的阈值来检测无线网络小区边界。如果在移动计算设备102处接收到的信号强度总是平滑低变化,则简单阈值能很好地工作,但是实际上,尤其是接近无线网络小区边界时,在移动计算设备102处接收到的信号强度可能非常迅速且显著地变化(例如,遍及10dB范围),使得简单阈值通常被例如接收信号强度中尖锐的向下尖峰信号过早地触发。如果移动计算设备102在高服务质量的网络(例如,WLAN)中,且穿过简单阈值触发了垂直越区切换,则移动计算设备102将过早地失去高服务质量无线网络的益处。如果垂直越区切换决策算法上使得回到高服务质量无线网络的垂直越区切换是由例如接收信号强度上升回到以上简单阈值而被触发,则可能会导致不必要的垂直越区切换的高速率。与改进无线网络用户经历的总体服务质量相反,与垂直越区切换的高速率相关联的额外开销可能导致总体服务质量的下降。
图7示出了在移动计算设备102处的接收信号强度,它随时间迅速且显著地变化。在所示的示例中,移动计算设备102在高服务质量无线网络中移动。由无线网络提供的服务质量是相对稳定的(尽管有变化的接收信号强度),且从无线网络用户的观点来看,垂直越区切换在所示的时间段内是不合需要的。接收信号强度多次穿过简单阈值Strad。在使用简单阈值来触发垂直越区切换的现有技术系统中,垂直越区切换将在所示的时间段的早期被触发。一旦接收信号强度上升回到简单阈值Strad,则现有技术系统将决定启动回到高服务质量无线网络的垂直越区切换。在这一情况下,在该时间段内,许多垂直越区切换被简单阈值Strad触发,而没有一个(或者,最多有几个)是合乎需要的。
在本发明的一个实施例中,无线网络小区边界检测是通过使用以下基于傅立叶变换的方法,确定迅速且显著变化的接收信号强度实际上正在下降(即,无线网络小区边界正在接近)来增强的。最近接收的信号强度历史(例如,过去的4秒中)经受离散傅立叶变换,例如,快速傅立叶变换(FFT)。傅立叶变换及其变体在本领域中是公知的,且不需要在此详细描述。该变换的基本项是具有实部和虚部的复数(即,a+ib形式的数,其中a是实部,b是虚部,而i是-1的平方根)。为清楚起见,用于基本项的虚部的公式如下:
其中,X1表示离散傅立叶变换的基本项,Im{X1}表示X1的虚部,x(n)是接收信号强度历史,N是历史中离散样值的数量。在本发明的一个实施例中,如果基本项的虚部为负,且小于傅立叶域阈值(例如,-0.6),则接收信号强度被确定为正在降低。
图8A示出了随时间变化增加的接收信号强度。例如,当无线网络小区内的移动计算设备102移动离开该无线网络小区边界并且去往无线网络小区的中央时,发生这一情况。图8B示出了诸如图8A所示的随时间变化增加的接收信号强度的傅立叶变换的基本项X1,在复平面上绘制。水平轴是复数的实部的大小。垂直轴是复数的虚部的大小。在这一说明性示例中,基本项X1位于复平面的一个象限中,在该象限中,基本项的实部Re{X1}和基本项的虚部Im{X1}都是正的。
图8C示出了随时间变化减少的接收信号强度。例如,当无线网络小区内的移动计算设备102移向无线网络小区的边界时,会发生这一情况。图8D示出了诸如图8C所示的随时间变化减少的接收信号强度的傅立叶变换的基本项X1,在复平面中绘制。再一次,水平轴是复数的实部的大小,而垂直轴是复数的虚部的大小。在这一说明性示例中,基本项X1位于复平面的一个象限中,在该象限中,基本项的实部Re{X1}为正,而基本项的虚部Im{X1}为负。如果基本项的虚部Im{X1}小于傅立叶域阈值(未示出),则在本发明的一个实施例中,移动计算设备102确定接收信号强度正在降低。
在本发明的一个实施例中,基于傅立叶变换的方法由移动计算设备102使用,以确定从无线网络接入点接收到的信号强度正在降低,并且可能因此向无线网络接入点能够向移动计算设备102提供服务的最小信号强度(“最小操作信号强度”),即无线网络小区边界前进。每一无线联网标准通常指定了一个额定最小操作信号强度,在该最小操作信号强度之上,无线网络接口必须能够提供无线网络服务,以符合该标准。然而,现代网络接口硬件通常能够在比无线联网标准中指定的低得多的信号强度级别(例如,远低于10dB)继续提供无线网络服务。
在本发明的一个实施例中,决定何时启动从高服务质量的无线网络的垂直越区切换的目标是在高服务质量的无线网络不再能够提供服务之前启动垂直越区切换,但是另外,只要可能,就停留在高服务质量的无线网络中。如果由无线网络标准指定的额定最小操作信号强度被用作应当在其之前启动垂直越区切换的接收信号强度阀值,则垂直越区切换可能是过早的,从而使移动计算设备102丧失了高服务质量的无线网络的益处,即使该网络仍能够提供服务。
在本发明的一个实施例中,特定网络接口的实际最小操作信号强度是如下自适应地确定的。对移动计算设备102的网络接口处接收到的信号强度周期性地进行采样。如果无线网络能够在某一段时间内(例如,1秒)提供服务,例如通过维持802.11b无线网络中的有效基本服务组标识符(BSSID)所指示的,则将该时段内最大接收信号强度与为网络接口配置的当前最小操作信号强度进行比较。如果该时段内最大接收信号强度小于为网络接口所配置的当前最小操作信号强度,则该网络接口的最小操作信号强度被设为该时段内的最大接收信号强度。
图9示出了在移动计算设备102的特定网络接口处接收到的信号强度。该无线网络能够贯穿图9所示的时间段向网络接口提供服务。在第一采样周期T1内,最大接收信号强度RSS1小于为网络接口所配置的最小操作信号强度(未示出)。在第一采样周期T1之后,该网络接口的最小操作信号强度改为(即,减少到)最大接收信号强度RSS1。在第二采样周期T2内,最大接收信号强度RSS2再一次小于为网络接口所配置的最小操作信号强度。该网络接口的最小操作信号强度再一次被设为较低的值RSS2。对于下两个采样周期T3、T4也是如此。在以下周期中:即分别为RSS3和RSS4,网络接口的最小操作信号强度被设为最大接收信号强度。
仍参考图9,在采样周期T5内,最大接收信号强度RSS5高于为网络接口所配置的最小操作信号强度(即,那时为RSS4),并且因此在采样周期T5之后,最小操作信号强度不被降低。在采样周期T6内,最大接收信号强度RSS6再一次低于所配置的最小操作信号强度,并且最小操作信号强度再一次被降低到采样周期T6内的最大接收信号强度RSS6。尽管这一示例示出了为网络接口所配置的最小操作信号强度被连续降低多次,但是在本发明的一个实施例中,这通常仅在初始自适应阶段发生,例如,在首次使用特定网络接口之后或者在将所配置的最小操作信号强度复位到无线网络标准的守恒默认值之后。在初始自适应阶段之后,对第五采样周期所描述的情况更为常见,且为网络接口所配置的最小操作信号强度不经常被降低,即,快速达到下限(例如,在30秒内)。
在本发明的一个实施例中,使用自适应地配置的最小操作信号强度阈值作为简单的垂直越区切换决策阈值可单独显著地降低不必要的垂直越区切换速率。与基于傅立叶变换的方法相组合来可靠地检测降低的接收信号强度,与现有技术触发垂直越区切换的简单阈值方法相比,不必要垂直越区切换速率成数量级的减少并非不寻常的。
图10描绘了适用于结合本发明的各方面的一个示例移动计算设备软件组件体系结构。该示例体系结构包括第一无线网络接口1002和第二无线网络接口1004,然而,适用于结合本发明的各方面的体系结构可包括两个以上无线网络接口。在本发明的一个实施例中,每一无线网络接口1002、1004与各个无线网络接口硬件相关联,例如WLAN PC卡和单独的WWAN PC卡。在另一实施例中,每一无线网络接口1002、1004与单个无线网络接口硬件相关联,例如集成到移动计算设备102中的多模WLAN/WWAN硬件。每一无线网络接口1002、1004提供了对相关联的无线网络接口硬件的具体特征的访问。
每一无线网络接口1002、1004由多网络管理器(MNM)组件1006通过公共的网络设备接口1008,例如符合公知的无线网络设备接口标准(NDIS)的公共网络设备接口来访问。网络设备接口1008隐藏(即,封装)具体无线网络接口硬件的特征,并以标准化的方式提供了对每一无线网络类型的特征的访问。
在本发明的一个实施例中,多网络管理器组件1006通过网络设备接口1008连续地监视每一无线网络接口1002、1004,例如,监视无线网络可用性、对接收到的信号强度进行采样以及收集通告的传输时间。在本发明的一个实施例中,多网络管理器组件1006启动探测数据分组的发送,以测量按分组发送数据的无线网络中的数据分组冲突概率。在本发明的一个实施例中,多网络管理器组件1006还处理它所收集的无线网络统计量,并周期性地在请求时将它们提供给策略管理器组件1010。
在本发明的一个实施例中,多网络管理组件1006例示并维护一状态机,诸如图11中所描绘的状态机1100;生成由状态机描绘的无线网络通知(例如,指示正在接近无线网络小区边界的无线网络警告);以及将通知分派到所注册的无线网络通知订户,诸如策略管理器组件1010。在本发明的一个实施例中,多网络管理器组件1006检测接近的高服务质量无线网络小区边界,并且,在尽可能停留在高服务质量无线网络中的同时,在到达无线网络小区边界之前启动垂直越区切换。
策略管理器组件1010提供了移动计算设备应用程序1012配置一个或多个无线网络垂直漫游策略的能力。无线网络垂直漫游策略的示例包括:从不自动启动垂直越区切换(即,仅手动垂直越区切换)、只要可能就停留在特定的无线网络类型中、自动越区切换到能够提供最高服务质量(例如,最高剩余带宽、最低MAC层传输延迟、最具成本效率、和/或其各种加权组合)的无线网络、以及只要需要特定的服务质量属性,例如需要特定类型的物理(PHY)层传输安全性,就越区切换到特定的无线网络。
策略管理器组件1010接收每一无线网络的服务质量统计量以及无线网络状态通知,对每一无线网络,移动计算设备102具有来自多网络管理器1006的无线网络接口1002、1004并使用信息来做出与所配置的无线网络垂直漫游策略相一致的无线网络垂直越区切换决策。例如,如果所配置的策略是自动切换到能够提供最高服务质量的无线网络,且移动计算设备102的用户(未示出)利用了移动计算设备102的应用程序1012之一来仅按照剩余带宽定义服务质量,则策略管理器组件1010的确启动到具有最高估算的剩余带宽的候选无线网络的垂直越区切换,如由多网络管理器组件1006所提供的。
在本发明的一个实施例中,策略管理器组件1010通过向多网络管理器组件1006发送“现在进行越区切换(Handoff Now)”命令来启动垂直越区切换。在本发明的一个实施例中,策略管理器组件1010将多网络管理器组件1006配置成在某些情况下,例如当检测到WLAN小区边界时,自动执行垂直越区切换。
多网络管理器组件1006和策略管理器组件共同被称为垂直漫游管理器1014或简称为连接管理器1014。移动计算设备102应用程序1012与垂直漫游管理器1014通信,而非直接与其每一组件1006、1010通信。例如,在本发明的一个实施例中,移动计算设备102应用程序1012之一通过向垂直漫游管理器1014发送“现在进行越区切换”命令来启动手动垂直越区切换。在本发明的一个实施例中,垂直漫游管理器1014首先将该命令传递到策略管理器1010以确保它与所配置的无线网络垂直漫游策略相一致。在另一实施例中,垂直漫游管理器1014将该命令直接传递到多网络管理器1006以供执行。
以下表列出了在本发明的一个实施例中多网络管理器组件1006能够执行的一组特定操作。该表列出了每一操作的名称、用于实现该操作的示例属性以及一旦该操纵被实现,响应于该操作请求所发送的示例属性。
操作名称 |
操作属性 |
响应属性 |
现在进行越区切换 |
要成为当前的无线网络服务供应者的无线网络的标识符。 |
成功/失败。 |
配置活动MAC感测 |
要对其配置活动MAC感测的无线网络的标识符。对该无线网络是启用还是禁用活动MAC感测(即,探测),并且如果启用:探测数据分组的大小;每一探测的数据分组的数目;以及探测持续时间。 |
成功/失败 |
配置网络警告容限 |
要对其配置网络警告容限的无线网络的标识符。最小操作信号强度以上的容 |
成功/失败 |
|
限,在此期间多网络管理器可生成网络警告通知。 |
|
注册通知 |
要对其发送通知的无线网络的标识符。要注册的通知的列表。 |
成功/失败 |
抑制警告 |
要对其抑制网络警告的无线网络的标识符。抑制网络警告的时间段。 |
成功/失败 |
获取接口列表 |
|
移动计算设备102所配备的无线网络接口的数目。每一接口的名称。每一接口的唯一标识符(例如,符号链接)。与当前提供服务的无线网络相关联的接口。 |
获取MNM状态 |
|
多网络管理器状态机的当前状态。 |
参考上表中的示例操作,其每一个可单独或组合地结合到本发明的一个实施例中,“现在进行越区切换”操作促使多网络管理器组件1006启动到指定无线网络的垂直越区切换。“配置活动MAC感测”操作指定是否使用数据分组冲突概率来估算如先前所描述的指定无线网络中的剩余带宽。配置网络警告容限操作指定了实际的最小操作信号强度以上的接收信号强度容限(例如,6dB),在此期间,如果接收信号强度被确定为正在降低,则多网络管理器组件1006确定正在接近无线网络小区边界,并生成对策略管理器组件1010的网络警告通知。无线网络警告容限和一般的警告生成在下文更详细讨论。
仍参考以上表中的示例操作,“注册通知”操作使感兴趣的组件,诸如策略管理器组件1010能够注册通知,诸如网络警告通知。参考以下通知表,该表是多网络管理器组件1006在本发明的一个实施例中生成的通知的示例。“抑制警告”操作允许注册了接收通知的组件临时地抑制来自多网络管理器组件1006的网络警告。“获取接口列表”操作是导致被结合到移动计算设备102中的无线网络接口的列表的查询操作,它被发送到请求者。“获取MNM状态”操作是导致多网络管理器组件1006的当前状态,例如图11所示的状态之一的查询操作,它被发送到请求者。
下表列出了多网络管理器组件1006在本发明的一个实施例发送到每一注册的组件的一组特定通知的示例。该表列出了每一通知的名称以及与该通知一起发送的属性。
通知名称 |
通知属性 |
网络可用 |
变得可用的无线网络之一的标识符。该网络的服务质量属性。 |
网络警告 |
可能变得不可用的无线网络之一的标识符。该网络的服务质量属性。 |
无服务 |
不再能够提供服务的无线网络之一的标识符。 |
在本发明的一个实施例中,“网络可用”通知由多网络管理器组件1006在先前不可用的无线网络变得可用时生成,例如,在符合IEEE 802.11b标准的无线网络中获得一有效基本服务组标识符(BSSID)时。在本发明的一个实施例中,“网络警告”通知是由多网络管理器组件1006在无线网络可能马上变得不可用时生成,例如,在移动计算设备102处接收到的信号强度由多网络管理器组件1006确定为正在降低且接收信号强度在相关联的无线网络接口的实际最小操作信号强度的容限(例如,6dB)内时。在本发明的一个实施例中,“无服务”通知是由多网络管理器组件1006在先前可用的无线网络变得不可用时,即,不再能够提供无线网络服务时生成。
图11描绘了本发明的一个实施例中,由多网络管理器组件1006(图10)例示的一个示例状态机1100。对其生成该示例状态机的移动计算设备102包括两个无线网络接口,即无线局域网(WLAN)接口和无线广域网(WWAN)接口。在本示例中,无线局域网提供了比无线广域网潜在更高的服务质量,但是无线局域网小区大小要比无线广域网小区大小小得多(例如,图2与该示例相一致)。策略管理器组件1010(图10)用垂直越区切换策略来配置,该策略指令策略管理器组件1010只要可能时就获取无线网络服务,并且自动触发到提供最高服务质量的无线网络的垂直越区切换。
在“无服务”状态1102,从任一无线网络接口都没有无线网络服务可用。如果无线网络服务首先变得可从WWAN接口获得,则多网络管理器组件1006向策略管理器组件1010发送“网络可用”通知,通知它无线广域网已变得可用,以及该无线广域网的服务质量统计量。策略管理器组件1010的策略之一指令它只要在可能时就获取无线网络服务,因此策略管理器组件1010向多网络管理器组件1006发送“现在进行越区切换”命令以启动向无线广域网的进入。多网络管理器组件1006管理无线广域网连接的建立(使用现有技术),并且一旦建立了连接,该状态机就转移到“WWAN稳定”状态1104。
类似地,如果无线网络服务首先变得可从WLAN接口获得,则多网络管理器组件1006向策略管理器组件1010发送“网络可用”通知,通知它WLAN已变得可用,以及无线局域网的服务质量统计量。策略管理器组件1010向多网络管理器组件1006发送“现在进行越区切换”命令,以启动向WLAN的进入。多网络管理器组件1006管理WLAN连接的建立(使用现有技术),并且一旦建立了连接,该状态机就转移到“WLAN稳定”状态1106。
如果无线网络服务变得同时可从WWAN接口和WLAN接口两者获得,则多网络管理器组件1106向策略管理器组件1010发送两个“网络可用”通知,通知它WWAN和WLAN都变得可用,以及每一无线网络的服务质量统计量。策略管理器组件1010的配置策略之一指令策略管理器组件1010自动选择提供最高服务质量的无线网络。通过将由多网络管理器组件1006提供的服务质量统计量进行比较,策略管理器组件1010能够确定当前提供最高服务质量的无线网络,并启动向该无线网络的进入。
在“WWAN稳定”状态1104,无线网络服务可从无线广域网获得。如果服务变得不可用,则多网络管理器组件1006向策略管理器组件1010发送“无服务”通知,通知它WWAN变得不可用,并且该状态机转移到“无服务”状态1102。然而,如果除WWAN变得可用之外,WLAN变得可用,则该状态机转移到“WLAN可用”状态1108。
在“WLAN可用”状态1108,无线网络服务可从无线广域网和无线局域网两者获得,但是无线广域网是当前的无线网络服务供应者。当处于这一状态时,多网络管理器组件1006周期性地(例如,每隔10秒)向策略管理器组件1010发送“网络可用”通知,通知它WLAN可用,以及该无线局域网的当前服务质量统计量。如果策略管理器组件1010确定WLAN将提供较高的无线网络服务质量,例如,所估算的WLAN中的剩余带宽比WWAN中当前经历的通信带宽更高,则策略管理器组件1010向多网络管理器组件1006发送“现在进行越区切换”命令,以启动向WLAN的进入。多网络管理器组件1006管理WLAN连接的建立,WLAN变成较佳的无线网络服务供应者(即,发生从WWAN到WLAN的垂直越区切换),并且状态机转移到“WLAN稳定”状态1106。如果相反,WLAN变得不可用,则状态机转移到“WWAN稳定”状态1104。
在“WLAN稳定”状态1106,无线网络服务可从WLAN获得。无线网络服务也可从WWAN获得。如果多网络管理器组件1006检测到正在接近WLAN周界小区边界(即,不会由现有技术水平越区切换处理的WLAN小区边界),则状态机转移到“WLAN警告”状态1110。
在“WLAN警告”状态1110,无线网络服务当前可从WLAN获得,但是多网络管理器组件1006确定包括WLAN接口的移动计算设备102正在接近WLAN周界小区边界,即,WLAN可能马上无法提供无线网络服务。无线网络服务也可从WWAN获得。当处于这一状态中时,多网络管理器组件1006周期性地(例如,每隔10秒)向策略管理器组件1010发送网络警告通知,通知它WLAN可能变得不可用,以及无线局域网的当前服务质量统计量。策略管理器组件1010可通过向多网络管理器组件1006发送“抑制警告”命令来临时抑制来自多网络管理器组件1006的“网络警告”通知。本领域的技术人员可以理解,该通知可由多网络管理器组件1006使用替换机制来发送,诸如通过由通知订户向多网络管理器组件1006注册的回叫功能来发送。
如果多网络管理器组件1006确定包括WLAN接口的移动计算设备102不再接近WLAN周界小区边界,即,多网络管理器组件1006确定移动计算设备102正在接近WLAN周界小区边界时所获得的条件不再成立,则状态机转移到“WLAN稳定”状态1106。如果多网络管理器组件1006确定到达了WLAN周界小区边界,例如,在WLAN接口处接收的信号强度落到自适应地确定的WLAN接口的最小操作信号强度,则在本发明的一个实施例中,如果无线网络服务可从WWAN获得,则多网络管理器组件1006自动启动到WWAN的垂直越区切换。一旦完成了越区切换,状态机就转移到“WWAN稳定”状态1104。然而,如果无线网络服务无法从WWAN获得,且穿越了WLAN周界小区边界,则无线网络服务无法从任一无线网络接口获得,且状态机转移到“无服务”状态1002。
图12依照本发明的一个实施例,描绘了由多网络管理器组件1006(图10)在自动做出启动从无线局域网到无线广域网的垂直越区切换时使用的一个示例过程。该过程中的第一步是等待步骤1202。等待步骤1202提供了无线网络测量之间的时间(例如,0.1秒),并且主要用于防止多网络管理器组件1006使移动计算设备102的处理资源过载。该过程从等待步骤1202前进到更新阈值步骤1204。更新阈值步骤1204自适应地调整实际的最小操作信号强度,以及每一无线网络接口的相关阈值。更新阈值步骤1204在下文参考图13更详细地描述。该过程从更新阈值步骤1204前进到第一决策步骤1206。
在第一决策步骤1206,多网络管理器组件1006确定是否正在接近WLAN周界小区边界,即,多网络管理器组件1006是否应当保留在“WLAN稳定”状态1106(图11)。如果确定多网络管理器组件1006应当保留在“WLAN稳定”状态1106,则该过程返回到等待步骤1202。如果确定正在接近WLAN周界小区边界,则该过程前进到WLAN警告步骤1208。第一决策步骤1206在下文参考图14和15更详细地描述。
在WLAN警告步骤1208(对应于图11的“WLAN警告”状态1110),多网络管理器组件1006向注册的订户,诸如策略管理器1010(图10)发送“网络警告”通知。在WLAN警告步骤1208之后,该过程前进到第二决策步骤1210。在第二决策步骤1210,多网络管理器组件1006确定它是否应当自动启动从WLAN到WWAN的垂直越区切换。如果多网络管理器组件1006确定它不应自动启动垂直越区切换,则该过程返回到等待步骤1202。如果多网络管理器组件1006确定它应当自动启动垂直越区切换,则该过程前进到向WWAN越区切换的步骤1212。第二决策步骤1210在下文参考图16更详细地描述。在向WWAN垂直越区切换步骤1212,启动从WLAN到WWAN的垂直越区切换。成功的垂直越区切换对应于从图11的“WLAN警告”状态到“WWAN稳定”状态1104的转移。
图13更详细地描绘了图12的更新阈值步骤1204。在等待步骤1202(图12)之后,该过程前进到采样信号步骤1302。在采样信号步骤1302,对结合到移动计算设备102的每一无线网络接口处接收的信号强度进行采样。等待步骤1204(图12)的长度确定了采样应多久发生一次。在采样信号步骤1302之后,该过程前进到第一决策步骤1304。在第一决策步骤1304,确定是否收集了足够的数据用于阈值更新,例如1秒的数据。这对应于图9的时间周期的划分。如果尚未收集到足够的数据,则该过程退出更新阈值步骤1204。如果收集到了足够的数据,则该过程前进到确定Smax步骤1306。
在确定Smax步骤1306,对每一无线网络接口确定采样周期中的最大接收信号强度(Smax)。该过程然后前进到第二决策步骤1308。在第二决策步骤1308,对每一无线网络接口,将Smax与为无线网络接口配置的当前最小操作信号强度(S2)进行比较。如果对任一无线网络接口,采样周期中的最大接收信号强度Smax小于为无线网络接口配置的当前最小操作信号强度S2,并且无线网络接口能够提供无线网络服务(例如,如由图10的网络设备接口1008所指示的),则可降低S2,并且该过程前进到步骤1310。否则,该过程退出更新阈值步骤1204。
在步骤1310,对其Smax小于S2的每一无线网络接口,为该无线网络配置的最小操作信号强度S2被设为采样周期中的最大接收信号强度Smax。该过程然后前进到步骤1312。在步骤1312,对在步骤1310修改的每一无线网络接口,将另一垂直切换阈值,即无线网络警告阈值(S1)设为等于该无线网络接口的新的最小操作信号强度加上一可配置的信号强度容限Δ。在本发明的一个实施例中,使用无线网络警告阈值S1作为该过程的一部分,以确定是否正在接近WLAN周界小区边界,如下文所描述的。在本发明的一个实施例中,信号强度容限Δ是用多网络管理器组件1006的“配置网络警告容限”操作来配置的。一旦完成了步骤1312,该过程前进到图12的第一决策步骤1206。
图14更详细地描绘了图12的第一决策步骤1206。在更新阈值步骤1204(图12)之后,该过程前进到小区边界检测触发测试1402。在测试步骤1402,将每一无线网络接口的最近的接收信号强度样值(从图13中的步骤1302)与该无线网络接口的无线网络警告阈值S1进行比较。如果接收信号强度样值在警告阈值S1之上,则该过程返回到图12的等待步骤1202。如果接收信号强度样值低于警告阈值S1,则该过程前进到密集采样步骤1404。在密集采样步骤1404,对启动其警告阈值S1的每一无线网络接口的接收信号强度进行密集采样(例如,以每秒10次的速率),并且使数据对下两个测试可用。
在密集采样步骤1404之后,该过程前进到无线网络警告阈值测试1406。在无线网络警告阈值测试,对密集采样的每一无线网络接口,确定密集采样的信号强度的平均值。如果密集采样的信号强度的平均值小于该无线网络接口的警告阈值S1,则该过程前进到基于傅立叶的下降信号测试1408。否则,该过程返回到图12的等待步骤1202。
在基于傅立叶的下降信号测试1408,对通过无线网络警告阈值测试1406的每一无线网络接口,确定密集采样的信号强度的快速傅立叶变换(FFT)。快速傅立叶变换在本领域中是公知的,并且无需在此详细描述。如果该傅立叶变换的基本项的虚部为负,且小于傅立叶域阈值,则无线网络接口处的接收信号强度被确定为正在降低,且该过程前进到水平越区切换步骤1410。否则,该过程返回到图12的等待步骤1202。
在水平越区切换步骤1410,确定无线网络接口之一上的接收信号强度低于该无线网络接口的无线网络警告阀值S1并且正在下降,即,正在接近无线网络小区边界。传统的水平越区切换可能对同一类型的相邻无线网络小区发生。在水平越区切换步骤1410,确定是否可能是这一情况。如果确定可能发生水平越区切换,则该过程返回到图12的等待步骤1202。如果确定不可能是水平越区切换,则垂直越区切换可能是必要的,且该过程前进到抑制警告步骤1412。水平越区切换步骤1410在下文参考图15更详细地描述。
在抑制警告步骤1412,检查最后一次执行步骤1412是多久以前。如果该步骤是最近执行的(例如,比0.5秒以前更近),则生成最近的“网络警告”通知,且不需要生成另一个通知。该过程返回到图12的等待步骤1202。否则,要求新的“网络警告”通知,且该过程前进到图12的WLAN警告步骤1208,其中生成“网络警告”通知。
图15更详细地描绘了图14的水平越区切换步骤1410。在基于傅立叶的下降信号测试1408(图14)之后,该过程前进到最近水平扫描测试1502。在本发明的一个实施例中,仅周期性地,例如,每10秒一次,对移动计算设备102的无线网络接口处从无线网络中可能的水平越区切换候选无线网络接入点接收的信号强度进行采样(扫描)。在最近水平扫描测试步骤1502中,确定(例如,通过查询图10的公共网络设备接口1008)是否发生了最近(例如,在最后0.5秒内)的接入点扫描。如果发生了最近扫描,则该过程可直接前进到强接入点测试1504。否则,该过程可首先前进到步骤1506,其中启动一扫描循环。一旦获得了水平越区切换候选接入点的最近数据,则该过程前进到强接入点测试1504。
在强接入点测试1504,将无线网络接口处从每一水平越区切换候选者接收到的信号强度与对该无线网络接口所配置的最小操作信号强度S2进行比较。如果没有一个候选接入点导致最小操作信号强度S2以上的接收信号强度,则确定水平越区切换是不可能的,且该过程前进到可能的垂直越区切换。否则,确定水平越区切换是可能的,且该过程返回到图12的等待步骤1202。
图16更详细地描述了图12的第二决策步骤1210。在WLAN警告步骤1208(图12)之后,该过程前进到自动越区切换许可检查1602。在本发明的一个实施例中,该过程由图10的多网络管理器组件1006实现。在本发明的一个实施例中,同样是图10中的策略管理器组件1010配置多网络管理器组件1006以在到达无线网络小区边界的情况下执行自动垂直越区切换。在本实施例中,通过了自动越区切换许可检查1602,且该过程前进到自动垂直越区切换等待步骤1604。在本发明的另一实施例中,策略管理器组件1010即使在达到无线网络小区边界的情况下也做出垂直越区切换决策。在本实施例中,未通过自动越区切换许可检查1602,且该过程返回到图12的等待步骤1202。
自动垂直越区切换等待步骤1604的目的与图12的等待步骤1202的目的相同,但是使该过程紧密地集中于即将到来的垂直越区切换。在经过了步骤1604的等待时间(例如,0.1秒)之后,该过程前进到步骤1606,其中对接近无线网络小区边界的无线网络接口的接收信号强度进行采样。该过程然后前进到反向无线网络警告阈值测试1608。在步骤1608,将采样的接收信号强度与为该无线网络接口配置的无线网络警告阈值S1进行比较。如果采样的接收信号强度大于无线网络警告阈值S1,则中止即将到来的垂直越区切换,且该过程返回到图12的等待步骤1202。否则,该过程前进到等待越区切换超时检查1610。
在步骤1610,确定自从最后一次执行步骤1602以来经过了多少时间。如果经过了太多时间来等待启动自动垂直越区切换(例如,5秒),则中止即将到来的垂直越区切换,且该过程返回返回到图12的等待步骤1202。否则,该过程前进到最小操作信号强度测试1612。在步骤1612,将采样的接收信号强度与为该无线网络接口配置的接收最小操作信号强度S2进行比较。如果接收信号强度跌到最小操作信号强度S2以下,则该过程返回到图12的步骤1212,其中启动垂直越区切换。否则,无线网络接口仍能够在这一接收信号强度级别提供服务,并且为了尽可能久地保留在高服务质量的无线网络内(即,WLAN),该过程返回到自动垂直越区切换等待步骤1604。
此处所述的所有参考,包括出版物、专利申请以及专利,都通过引用结合于此,其意义与每一参考个别且特定地被指明为通过引用结合于此且在此整体陈述的意义是相同的。
描述本发明的上下文中(尤其是所附权利要求书的上下文中)术语“一”、“一个”和“该”和类似对象的使用被解释为覆盖单数和复数,除非此处另外指明或与上下文明显抵触。术语“由……组成”、“具有”、“包括”和“包含”被解释为开端口的术语(即,意味着“包括”但不限于),除非另外注明。此处值范围的叙述仅旨在用作个别地参考落入该范围内的每一单独值的速记方法,并且每一单独值被结合进本说明书中,如同它在此处单独叙述一样。此处所描述的所有方法可以用任何适合的顺序来执行,除非在此指明或与上下文明显抵触。此处所提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本发明,并且不对本发明的范围施加限制,除非另外要求保护。说明书中没有一种语言应当被解释为表示任何未要求保护的元素对于实现本发明是必需的。
此处描述了本发明的较佳实施例,包括发明人已知可用于实现本发明的最佳模式。在阅读了以上描述之后,本领域的普通技术人员可以清楚那些较佳实施例的变体。发明人期望技术人员能够在适当时采样这些变体,并且发明人预期本发明能够以此处所具体描述的方式之外的方式来实现。因此,本发明包括适用法律所准许的所附权利要求书中所述的主题的所有修改及其等效技术方案。此外,其所有可能变体中上述的元素的任一组合也由本发明包含在内,除非此处另外指明或明显与上下文抵触。