专利名称:分层路由以及多处理器多模网络设备的接口选择的制作方法
技术领域:
本申请一般涉及计算设备中的联网,尤其涉及用于选择多处理器多模网络设备中的网络接ロ的方法和设备。背景 历史上,已使用既充当调制解调器又向用户接口和应用提供处理能力的单个处理器来构建诸如数据卡、蜂窝电话、无线网卡适配器(dongle)等的无线通信设备。作为結果,不需要选择用以支持应用的特定网络接ロ,因为基础架构仅提供单个替换方案。然而,随着网络速度的增加以及可在移动计算设备上执行的应用的业务量的扩展,用于管理网络连接的常规架构已变得效率低下。大多数调制解调器无线通信设备现在以分开的应用处理器为特征。此分开的应用处理器需要处置对高级应用的増加的中央处理器単元计算要求,这些高级应用正日益普遍地使用在诸如智能电话之类的移动多媒体计算设备上。因此,以应用处理器和至少ー个调制解调器处理器为特征的无线通信设备现在相当常见,诸如智能电话、个人数字助理(PDA)、上网本等。随着新无线技术的持续演进,期望传统的无线通信设备包括各种类型的网络技术以支持跨多个通信网络的无缝的用户漫游和移动性。不同的无线技术可以按包括多调制解调器设备架构在内的数种不同的方式来整合以实现较快速的开发和产品集成。因此,无线通信设备在调制解调器处理器及其各种互联的数目方面正变得日益复杂,这使得供此类设备上使用的应用的开发变得复杂。概述诸实施例包括用于为计算设备内的应用选择网络连接的系统和方法。各种实施例包括若干处理器之间的分层规程以响应于网络接入请求而选择最佳网络接ロ。其他实施例包括用于从应用接收网络接入请求并经由代理接ロ向第二或远程处理器转发该网络接入请求的第一或本地处理器。每个第二或远程处理器可选择最佳地满足网络接入请求的网络接ロ并在该网络接口上向第一处理器返回信息。第一处理器可评估自己的接口和由任何第二处理器选择的接ロ以确定总体最佳的网络接ロ。其他实施例涉及向第三处理器转发网络接入请求的第二处理器。类似于第二处理器,第三处理器可选择最佳地满足网络接入请求的网络接ロ并在该网络接口上向第二处理器返回信息。第二处理器可在第二处理器的选择过程中考虑从第三处理器返回的信息。该分层选择过程可延伸通过多个处理器级。
其他实施例可涉及发起本地处理器与选定的最佳总体网络接ロ之间的网络配置。连接建立可由应用或管理器发起,或者可自动地发起。结果得到的本地处理器与选定的最佳网络接ロ之间的数据路径是跨多个处理器的接ロ链。附图简要描述包括于此且构成本说明书一部分的附图解说本发明的示例性实施例,并与以上给出的概括描述和下面给出的详细描述一起用来解释本发明的特征。图I是适于与各种实施例联用的计算架构的系统架构图。
图2-7是计算设备的替换配置的系统和软件架构图,该计算设备包括适于与各种实施例联用的应用处理器和ー个或多个调制解调器处理器。图8A是用于响应于应用接ロ请求而选择网络接ロ的实施例的过程流程图。图8B是在图8A中解说的方法的一部分的过程流程图。图9是用于响应于来自应用处理器的网络接ロ信息请求的实施例方法的过程流程图。
图10是适于在一实施例中使用的移动设备的组件框图。图11是在适于在ー实施例中使用的配置中耦合至移动设备的个人计算机的组件框图。详细描述将參照附图详细描述各种实施例。在任何可能的地方,相同附图标记用于通篇指代相同或类似部分。对特定示例和实现所作的引用是用于解说性的目的,而无意限定本发明或权利要求的范围。措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实施例不必被解释为优于或胜过其他实施例。如本文中使用的,术语“移动设备”和“计算设备”可指以下各项中的任何ー项或全部个人计算机、膝上型计算机、蜂窝电话、个人数据助理(PDA)、掌上计算机、无线电子邮件接收器(例如,Blackberry 和Treo 设备)、多媒体有因特网能力的蜂窝电话(例如,Blackberry Storm )、全球定位系统(GPS)接收机、无线游戏控制器、以及包括可编程处理器、存储器和一个或多个网络接ロ的类似个人电子设备。随着新无线技术的持续演进,期望传统的无线通信设备包括各种类型的网络技术以支持跨多个通信网络的无缝的用户漫游和移动性。不同的无线技术可以按包括多调制解调器设备架构在内的数种不同的方式来整合以实现较快速的开发和产品集成。因此,无线通信设备正变得日益复杂,这使得供在此类设备上使用的应用的开发变得复杂。使用当前的应用设计技术和软件架构,应用开发者面临跟踪能够为特定的应用联网要求提供最优连接的多个调制解调器接ロ的艰巨任务。另外,计算设备架构的改变,诸如添加新的通信技术或调制解调器,可能需要大量的应用重写和测试。这对于依赖不同的网络技术来为诸应用提供大量通信服务的联网应用而言尤甚。图I中解说了在调制解调器和未来的计算设备中可能存在的复杂度,图I示出了包括连接至3个调制解调器处理器(即,调制解调器处理器1、2、3)的应用处理器10的计算设备架构。调制解调器处理器1、2、3中的每ー个可包括内部调制解调器并可连接至第二调制解调器,诸如第二调制解调器1、2、3。诸如外围设备1、2、3之类的各种外围设备可通过各种连接被连接至计算设备,诸如在外围设备I的情形中连接至应用处理器10、在连接至调制解调器处理器I的外围设备2的情形中连接至调制解调器处理器、或者连接至第二调制解调器(诸如连接至第二调制解调器3的外围设备3)。将调制解调器处理器耦合至应用处理器10的这种灵活性使得能够构造各种不同类型的计算机架构。因此,应用开发者不能预期可为需要网络连通性的应用实现的所有可能的计算机架构。各个实施例简化了用于当前和未来无线通信设备的应用的开发,从而通过提供抽象出网络连接的实际接近性的分层路由层来解决以上所描述的当前方法的缺陷。通过使用各个实施例,应用可被配置成能够请求和接收特定类型的网络连接,而不必专注于或以其他方式关注所建立的实际连接的细节或计算设备的配置。在各个实施例中,保持对应用隐藏的计算设备的硬件架构和处理器拓扑。从应用的角度来看,应用可使用相同的应用编程接ロ(API)并且在假定与诸如单调制解调器计算设备中典型的基于当前策略的网络接入路由方法相同的接ロ行为的情况下访问网络连接。从联网应用的角度来看,应用管理网络接ロ,该网络接ロ连接至特定网络和/或将数据读、入/写入与该网络接ロ相关联的套接字。在计算设备内的每个处理器(即,应用处理器和一个或多个调制解调器处理器)的软件架构内提供分层路由层。分层路由层使用代理网络接ロ来抽象出调制解调器上的网络连通性与应用的实际接近性。每个设备处理器上的分层路由层协作以标识用于特定应用网络请求的最佳网络接ロ。分层路由层还使得能够以简单的方式将应用请求连接至网络接ロ,而无论是否在应用主机处理器、另ー处理器(例如,调制解调器处理器)、或者甚至经由中间处理器在另ー处理器上提供网络接ロ。“代理网络接ロ”是位于主应用处理器上并且代表位于另ー处理器上的实际网络接ロ的应用。可以有ー个或多个代理接ロ,每个代理接ロ代表第二处理器上不同的实际接ロ。通常,代理接ロ复制相同的网际协议(IP)配置并且允许与受相应的实际网络接ロ支持的网络操作相同的网络操作。为了方便引述,在其上正执行应用的处理器在本文中被称为“本地处理器”,因为从应用的角度来看,该处理器是本地的。因此,当网络接ロ位干与该应用相同的处理器上吋,该网络接ロ被认为在本地处理器上是可用的。在各个实施例中,当应用请求至某种网络类型(例如,通信网络技木)的连接时,应用处理器上的路由层执行分层接ロ选择规程以为应用的需要选择最佳匹配的接ロ。在以下參照图8和图9更全面描述的接ロ选择规程使得应用处理器能够返回在多个处理器上可用的多个接ロ中向应用的所标识出的网络參数提供最佳匹配的那个接ロ。应用至选定的最佳接ロ的连接取决于该选定的接ロ是本地的还是在另ー处理器上可用的。如果该网络连通性可直接从本地处理器访问(即,网络接ロ位于与应用相同的处理器上),则向应用返回至实际网络接ロ的句柄。如果可从不同的处理器访问网络连通性(即,接ロ位于不同的处理器上),则向应用返回至代理接ロ的句柄。尽管网络连通性在远程处理器上可用,但是该代理接ロ代表应用原始请求的相同物理网络并连接至该物理网络。換言之,如果网络通过本地处理器来连接,则应用直接连接至实际的网络接ロ。然而,如果网络通过远程处理器来连接,则应用将连接至代理接ロ。在任一情形中,应用不在意网络连通性的实际位置,并且继续使用提供给它的网络接ロ,而不必知道连接的接近性。
如公知的,处理器可具有两种类型的接ロ,Rm类型接口和Um类型接ロ。Um类型接ロ连接至无线网络,诸如向因特网或其他本地或全局服务域提供连通性的无线WAN/LAN/MAN网络。Rm类型接ロ是在不同类型的互联上连接至外围设备的接ロ。此类Rm类型互联可以是诸如通用串行总线(USB )、串行外围接ロ( SPI )、通用异步接收机/发射机(UART )、安全数字输入输出(SDIO)等的串行有线连接、诸如蓝牙(BT)接ロ或共享存储器之类的串行无线连接。Rm类型接ロ还可被用于诸如BT PAN和WiFi之类的其他无线连通性。Rm接ロ可被用于扩展至诸如通用集成电路卡(UICC)、膝上型计算机或其他共主存处理器等的外围设备的网络连通性。尽管可由ー个Um类型接ロ通过使用网络地址翻译(NAT)或IP路由机制来服务多个Rm接ロ,但是每个Rm接ロ连接至唯一性的Um接ロ以获得IP配置。如果Um类型接ロ排他性地连接至Rm类型接ロ,则这些接ロ可桥接在一起以进行高效率的分组转发,而不是通过分组路由模块来路由分组。
代理接ロ可连接至Rm接ロ,并且因此用作至连接调制解调器处理器的外围设备。在该接ロ的另ー侧上,代理接ロ可用作服务活跃的且可用的IP配置的Um类型接ロ。这些代理接ロ可直接由在本地处理器上执行的应用、或者由本地处理器外部的诸如膝上型计算机或另ー调制解调器之类的另一外围设备使用。因此,在各个实施例中在计算设备中构建处理器拓扑的整个网络是可能的。该处理器拓扑可允许任何数目的外围设备连接至任何数目的可用调制解调器处理器以接入不同的网络技木。该处理器拓扑还使得任何数目的调制解调器/应用处理器能够以串行或并行方式连接在一起。因此,应用可在能够接入可通过远程处理器接入的无线网络时在计算设备内的任何处理器(调制解调器处理器或应用处理器)上运行。因此,各个实施例使得应用能够在图2-7中所示的任ー设备架构配置中请求和获得网络接ロ,而不会使应用开发进ー步复杂或者需要为特定的设备配置开发应用。參照图2-7,各个实施例可按路由层22的形式实现,该路由层22包括在计算设备的应用处理器和每个调制解调器处理器的软件协议栈20内。图2解说了ー实现的计算机硬件和软件架构,其中诸如膝上型计算机12之类的终端通过互联24耦合至调制解调器处理器I。在此架构中,互联24可经由实际的(Rm)接ロ26连接至调制解调器处理器1,该接ロ 26可提供用于耦合无线(Um)接ロ 28以接入无线局域网/无线中域网(WLAM/WMAN) 32的接ロ桥27。调制解调器处理器I还可包括用于接入无线广域网(WWAN)34的第二无线(Um)接ロ 30。图2_7中所示的接ロ可以是任何已知的信令或数据接ロ,包括USB、SPI、UART, SDIO、BT、共享存储器和UICC。图3解说了ー实现的计算机硬件和软件架构,该实现包括耦合至调制解调器处理器I的应用处理器10。在此实现中,应用处理器10包括本地实际(Rm)接ロ 40、无线接ロ42和代理接ロ 44。与调制解调器处理器I的连接为经由代理接ロ 44通过互联46至调制解调器处理器I。数据接ロ 26可向无线接ロ 30提供接ロ桥29。图4解说了与图3中所示的实现类似的实现的计算机硬件和软件架构,其中添加了至膝上型计算机12的互联24。接ロ桥41可将实际接ロ 40连接至代理接ロ 44。图5解说了与图4中所示的实现类似的实现的计算机硬件和软件,其中调制解调器处理器I包括多个接ロ桥29、49以及至应用处理器10的代理接ロ 44、48的多个互联46、47。图6解说了ー实现的计算机硬件和软件架构,其中应用处理器10耦合至4个调制解调器处理器(即,调制解调器处理器1-4)。在此架构中,应用处理器10直接连接至调制解调器处理器I和调制解调器处理器3。调制解调器处理器2经由互联连接至调制解调器处理器1,并且调制解调器处理器4经由互联连接至调制解调器处理器3。因此,应用处理器10仅可分别经由通过调制解调器处理器I和3的代理连接与调制解调器处理器2、4相连接。图7解说了与图6中所解说的实现类似的实现的计算机硬件和软件架构,其中添加了调制解调器处理器3并包括与应用处理器10的两条连接52、54。在此实现中,应用(“app I”)50主存在调制解调器3上。在此配置中,在调制解调器处理器3上提供代理连接52以连接至由应用处理器10提供的接ロ。当本地处理器上的应用请求网络接ロ时,本地处理器上的路由层22可实现分层路由算法以选择向应用返回的特定网络接ロ。分层路由算法可按计算设备内的每个处理器的路由层内的分层路由模块(HRM)的形式来实现。在以下描述的图8A、图SB和图9中解说了在分层路由算法内由每个处理器路由层中的HRM执行的示例操作。
图8A解说了可在本地处理器(B卩,主存请求网络连接的应用的处理器)内执行的分层路由算法的示例方法100。步骤102,处理器可响应于接收到连接至特定网络的应用请求而发起分层路由算法。应用的网络连接请求可包括网络选择策略參数,诸如技术偏好(例如,蜂窝、WiFi、蓝牙等)、数据率要求、服务质量(QoS)、期望的网络能力等。在步骤104中,本地处理器可评估处理器的配置并枚举直接连接至本地处理器的可用处理器的列表{Pr}。在步骤106,本地处理器可枚举该本地处理器自身上的可用网络接ロ列表。该列表可包括实际接ロ列表{Ir}和代理接ロ列表{Ip}。在跨越步骤108至112的循环中,本地处理器可为可用处理器列表{Pr}内的每个处理器X枚举代表每个直接连接的远程处理器上的接ロ的所有代理接ロ的列表,该列表被称为Upx}。換言之,在步骤108中,本地处理器可选择可用的直接连接的处理器中特定的一个处理器(X)进行评估,在步骤110中为该处理器枚举代表接ロ的所有代理接ロ的列表{Ipx},并且重复这些操作直至已评估了最后ー个处理器X (即,直至确定步骤112= “是”)。在跨越步骤114至122的循环中,本地处理器可从每个连接的处理器获得可被用于选择用于应用的最佳接ロ的网络接ロ适用性信息。具体地,在步骤114中,本地处理器可选择可用的直接连接的处理器中的一个处理器(X)进行评估。在步骤116中,本地处理器可经由{Ipx}中的代理接口中的ー个代理接ロ(g)向选定的处理器X转发包括所有网络选择策略參数的接ロ选择请求。选定的代理接ロ可以是当前可用的任何接ロ(即,代理接ロ可从集合{Ipx}随机选择)。如果没有耦合至本地处理器的处理器(即,可用处理器的列表{Pr}为空集合),则将跳过步骤116和118。在步骤118中,本地处理器将从选定的处理器X接收回关于最佳地匹配在该处理器上可用的网络选择策略參数的接ロ的信息。此信息可包括作为映射到相应的代理接ロ Mpi (该代理接ロ是集合{Ipx}中的接ロ之一)的接ロ标识符的最佳匹配接ロ Mi ;以及匹配索引I,其可以是指示网络接ロ如何能够良好地支持所请求的网络策略的整数值。在一实施例中,所标识出的网络接ロ越好地匹配网络选择策略參数,则匹配索引I的值就越高。提供匹配索引值便于在现有网络条件下对在可通过多个调制解调器处理器获取的多个网络接ロ中最佳地匹配应用的网络策略參数的可用网络接ロ进行标识。
在步骤118中向本地处理器回报的信息可在类似的路由层路由算法中由选定的处理器X生成,如以下參照图9所描述的那样。在步骤118中向本地处理器回报的信息可在步骤120中由本地处理器路由层存储为四元组[x,Mpi,Mi,I]。该四元组[x,Mpi,Mi,I]值指示选定的处理器X可经由具有匹配索引I的代理接ロ Mpi提供期望的网络连通性以及远程处理器X上的接ロ Mi将被用于提供此连通性。在确定步骤122中,本地处理器确定选定的处理器是否是列表{Pr}内的最后ー个处理器。如果还有另ー处理器要评估(即,确定步骤122一否”),则处理器可返回到步骤114以选择列表{Pr}内的下一个处理器X。如果已评估了所有处理器(B卩,确定步骤122= “是”),则处理器可在跨越步骤124至130的循环中评估每个实际接ロ(即,列表{Ir}内的本地处理器中可用的接ロ)。具体地,在步骤124中,本地处理器可选择连接至该本地处理器的实际接ロ的列表{Ir}内的ー个接ロ(h)。在步骤126中,针对选定的接ロ h特性评估网络选择策略參数以确定该选定的接ロ 的匹配索引I。针对期望的网络能力和网络策略參数的本地接ロ评估可使用本领域技术人员公知的各种方法中的任ー种方法来完成。关于本地接ロ满足接ロ选择请求的程度的信息可被存储在四元组
值中。该四元组
指示(由值“O”指示的)本地处理器能够支持与具有匹配索引值I的实际接ロ h的期望网络连通性。在确定步骤130中,本地处理器确定选定的本地接ロ h是否是列表{Ir}内的最后ー个本地接ロ。如果还有另一本地接ロ要评估(即,确定步骤130= “否”),则该处理器可返回到步骤124以选择列表{Ir}内的下一个本地接ロ h。如果已评估了所有本地接ロ(B卩,确定步骤130= “是”),则本地处理器评估所存储的四元组以标识在步骤132中被选择使用的具有最高匹配索引I的接ロ。作为步骤132的一部分,从存储器调用选定的接ロ的四元组内的信息。 在确定步骤134中,本地处理器诸如通过确定处理器ID(即,四元组中的第一个值)是否等于指示选定的接ロ在本地的“O”来确定选定的接ロ是远程接ロ还是本地接ロ。如果选定的接ロ是本地接ロ(即,确定步骤134= “是”),则在步骤136中以网络定义的方式发起关于选定的接ロ的网络配置。如果选定的接ロ是远程接ロ(B卩,确定步骤134= “否”并且处理器ID不是“O”值),则代理接ロ Mpi在步骤138中被配置成与远程处理器相关联。代理接ロ Mpi的这种配置可通过配置代理接ロ并且建立至远程处理器(即,远程调制解调器)的选定接ロ的连接来完成。各个实施例可实现用于在步骤138中在代理接ロ Mpi与选定接ロ Mi之间发起连接建立的不同方法。在第一方法中,应用或连接管理器可发起连接建立。基于由分层路由模块(HRM)返回的选定接ロ Mi,应用或连接管理器可发布网络连接请求。接ロ的配置可作为此过程的一部分发生。在第二方法中,一旦最佳匹配接ロ可用或者基于另ー触发事件,连接建立就可自动发生。接ロ的配置在此之后发生。在这两种情形中,连接建立和配置过程可在如图SB中进ー步解说的步骤138中进行。在连接建立已开始之后,在步骤152中,远程处理器上的对应于代理接ロ Mpi的接ロ可由绑定至远程处理器上的相应Rm接ロ的代理接ロ Mpi来配置。在步骤154中,该Rm接ロ绑定至相同的远程处理器上的Um接ロ,该Um接ロ可以是实际接ロ或另ー代理接ロ。如果Um接ロ是实际接ロ(B卩,确定步骤156= “实际”),则在步骤158中,远程处理器可向本地处理器发送接ロ配置信息,并且在步骤160中,可基于由远程处理器向本地处理器发送的配置信息来配置本地处理器上的代理接ロ Mpi。这将完成网络连接建立,步骤136。如图SB中所解说的,该配置过程可以是分层的并且沿多个经连接的处理器链重复。因此,如果代理接ロ Mpi绑定至Um接ロ(B卩,确定步骤156= “代理”),则该过程可通过返回到图8A中的步骤114来重复以选择至下一处理器X的下一接ロ。通过重复步骤152到156,选定的接ロ可随后以此方式与绑定至另ー Um接ロ的代理Um接ロ(B卩,另ー远程处理器的相应Rm接ロ)绑定。该绑定接ロ链可持续下去,直至达到可向实际物理网络提供连通性并且由此完成数据路径建立的实际Um接ロ。一旦实际的Um接ロ被绑定(即,确定步骤156= “实际”),则在步骤158中,每个远程处理器可向先前的“本地”处理器发送接ロ配置信息,并且在步骤160中,可基于配置信息来配置本地处理器上的代理接ロ Mpi,其中发送接ロ配置信息和配置每个代理接ロ的过程持续进行,直至接ロ链中的所有代理接ロ均已被配置。这将完成网络连接建立,步骤136。因此,从应用传送的所有分组可穿过在此数据路径中建立的接ロ链。 相同的基本分层路由算法可在路由层中在每个处理器上实现。该实施例将支持在计算机架构中连接在一起的任意处理器网络并且允许在这些处理器中的任何一个处理器上运行的应用经由任何调制解调器接入任何网络。因此,当在步骤114中向下ー处理器转发网络选择请求时,再次在该下ー(即,远程)处理器上的本地和代理接ロ集合上执行相同的基本算法。接ロ选择请求将在连接至代理接ロ g的Rm链路上抵达。Rm接ロ将向路由层转发该请求并调用分层路由算法。从Rm接ロ的角度来看,该过程是接ロ如何在单调制解调器设备(例如,图2)或双处理器设备(例如,图3)中支持外围连通性。由于在每个处理器上重复相同的路由接ロ选择算法,因而网络接ロ可按递归方式(或其他的树遍历方法)逐处理器地经过计算设备架构。由于应用可在诸如图2-7中所解说的计算机架构之类的计算设备架构内的任何处理器上运行,因而可使用实现相同的用于选择最佳网络接ロ的基本过程的路由层来实现各个实施例,而无论对接ロ的请求是从本地应用还是从经连接处理器接收到(即,无论处理器是本地处理器还是经连接处理器)。这在图9中解说,图9示出了可在远程处理器X上实现以响应在以上所描述的步骤116中由本地处理器转发的接ロ选择请求的示例方法200。參照图9,响应于在步骤202中接收到具有策略參数的接ロ选择请求,在步骤204中,远程处理器可评估处理器的配置并且列举直接连接到远程处理器的可用处理器的列表{Pr}。可供远程处理器使用的该处理器列表将不包括从其接收到接ロ选择请求的处理器。在步骤206中,远程处理器可枚举该远程处理器上的可用网络接ロ列表。该列表可包括在远程处理器上可用的实际接ロ列表{Ir}和代理接ロ列表{Ip}。在跨越步骤208至212的循环中,远程处理器可为可用处理器列表{Pr}内的每个处理器X枚举代表每个直接连接(即,双远程)的处理器上的接ロ的所有代理接ロ的列表,该列表被称为{Ipx}。換言之,在步骤208中,远程处理器可选择可用的直接连接的双远程处理器中特定的一个处理器(X)进行评估,在步骤210中为该处理器枚举代表接ロ的所有代理接ロ的列表{Ipx},并且重复这些操作直至已评估了最后ー个双远程处理器X (即,直至确定步骤212= “是”)。在跨越步骤214至222的循环中,远程处理器可从每个连接的双远程处理器获得可被用于选择最佳接ロ以响应接ロ选择请求的网络接ロ适用性信息。具体地,在步骤214中,远程处理器可选择可用的直接连接的双远程处理器中的一个处理器(X)进行评估以接收接ロ适用性信息。在步骤216中,远程处理器可经由{Ipx}中的代理接口中的ー个代理接ロ(g)向选定的双远程处理器X转发包括所有网络选择策略參数的接ロ选择请求。选定的代理接ロ可以是当前可用的任何接ロ(即,代理接ロ可从集合{Ipx}随机选择)。如果没有耦合至该远程处理器的双远程处理器(即,可用处理器的列表{Pr}为空集合),则将跳过步骤216。在步骤218中,远程处理器将从选定的双远程处理器X接收回关于最佳地匹配在该处理器上可用的网络选择策略參数的接ロ的信息。此信息可包括作为映射到相应的代理接ロ Mpi (该代理接ロ是集合{Ipx}中的接ロ之一)的接ロ标识符的最佳匹配接ロ Mi ;以及匹配索引I,其可以是指示网络接ロ能够如何良好地支持所请求的网络策略的整数值。在步骤218中向远程处理器回报的信息可在步骤220中由远程处理器路由层存储为四元组[x, Mpi, Mi, IJ0在确定步骤222中,远程处理器确定选定的双远程处理器是否是列表{Pr}内的最后ー个处理器。如果还有另一双远程处理器要评估(即,确定步骤222= “否”),则该处理器可返回到步骤214以选择列表{Pr}内的下一个处理器X。如果已评估了所有双远程处理器(B卩,确定步骤222= “是”),则远程处理器可在跨越步骤224至230的循环中评估每个实际接ロ(B卩,列表{Ir}内的在远程处理器中可用的接ロ)。具体地,在步骤224中,远程处理器可选择连接至该远程处理器的实际接ロ的列表{Ir}内的一个接ロ(h)。在步骤226中,针对选定的接ロ h特性评估网络选择策略參数以确定该选定的接ロ的匹配索引I。针对期望的网络能力和网络策略參数的本地接ロ评估可使用本领域技术人员公知的各种方法中的任ー种方法来完成。关于本地接ロ如何良好地满足接ロ选择请求的信息可被存储在四元组
值中。该四元组
指示(由值“O”指示的)远程处理器能够支持与具有匹配索引值I的实际接ロ h的期望网络连通性。在确定步骤230中,远程处理器确定选定的本地接ロ h是否是列表{Ir}内的最后一个本地接ロ。如果还有另一本地接ロ要评估(即,确定步骤230= “否”),则远程处理器可返回到步骤224以选择列表{Ir}内的下一个本地接ロ h。当已评估了所有本地接ロ(B卩,确定步骤230= “是”),远程处理器评估所存储的四元组以标识在步骤232中被选择的具有最高匹配索引I的接ロ。在步骤234中,远程处理器向本地处理器(即,发布接ロ选择请求的处理器)返回包括代理接ロ标识符Mpi和接ロ匹配索引I的接ロ选择信息。如果选定的接ロ是本地的(即,在远程处理器上),则接ロ标识符h被返回作为代理接ロ标识符Mpi。通过如以上所描述的在分布式分层决策架构中使用计算设备内或连接至该计算设备的所有处理器上的相似路由层模块来实现各个实施例,各个实施例可以与具有任何数目的不同处理器层的计算设备联用。另外,为ー个计算设备架构编写的应用可在具有复杂得多的多处理器架构的计算设备上实现,而无需改变代码或者为配置兼容性而进行测试。另外,各个实施例进行相同的操作,而无论哪个处理器主存发布网络连接请求的应用。
各个实施例规程是分层的并且可跨越计算机架构内的所有处理器。一般而言,分层路由算法允许设备拓扑被表示为如图I中所解说的类树形结构以包括任何复杂程度,而同时允许过程正确地起作用。以上实施例描述假设一种实现,其中对处理器的轮询是以顺序方式进行的(即,从ー接ロ移动至另一接ロ,并且从一经耦合的处理器移动至另一经耦合的处理器)。然而,这仅是可如何询问处理器的ー个示例,并且可使用任何数目的其他方法。例如,可由本地处理器并行地向所有附连的处理器发布接ロ选择请求,从而这些附连的处理器可并行地执行它们自己的对可用接ロ的评估并且在完成时回报结果。在可适用于诸如图6和图7中所解说的复杂的计算机架构的另一实施例中,可使用若干树遍历算法之一来实现分层路由算法,而不会脱离本文中所描述的基本規程。各个实施例支持在其中诸应用可在各种调制解调器处理器上而不是在主应用处理器上运行的实现。这可能出于数种原因而出现。ー个原因是,可能已为现在连接至应用处理器的特定调制解调器处理器开发和测试了应用。当已随时间增加了其他处理器以支持附加的网络连通性时,使应用能够继续在特 定调制解调器处理器上运行可避免将现有应用重新整合在新的处理器环境上的需要。另外,特定的无线电功能性可能仅在某些调制解调器处理器上可用,或者可较优地通过特定的调制解调器处理器访问。另外,需要在调制解调器处理器上运行以进行接ロ管理和配置的系统应用可主存在调制解调器的处理器上而不是应用处理器上。在某些情景中,在调制解调器处理器上运行的应用可能希望使用由其他调制解调器处理器提供的无线电连通性。各个实施例的分层路由算法可被用于解决此类情景。如图7中所示出的,在调制解调器处理器3上操作的应用50 (“appl”)可能希望使用通过调制解调器处理器2连接的无线网络。在此示例中,在调制解调器处理器3与调制解调器处理器2之间没有直接的连接。为了向app I提供所请求的网络接入,可添加连接回应用处理器的另ー代理接ロ。此外,该连接可按与外围设备连接至应用处理器的方式相同的方式建立。只要系统中的所有调制解调器处理器被唯一性地编索引,就可在不进行修改的情况下执行分层路由算法以寻找适合应用50的接ロ,即使该应用正在调制解调器处理器3上运行。通过在分层决策架构中实现这些实施例,计算设备内的每个处理器可以作出自己的对用于所请求的网络连接的本地最佳的经连接接ロ的决定并且向作出该请求的应用或者转发该请求的处理器(即,下ー较高层处理器)中继其本地最优的连接特性。此分布式决策可參照图6通过示例来解释。在图6所解说的计算机架构中,应用处理器10耦合至两个调制解调器处理器(即,调制解调器处理器I和调制解调器处理器3),其中的每个调制解调器处理器连接至另ー调制解调器处理器(即,调制解调器处理器I连接至调制解调器处理器2,而调制解调器处理器3连接至调制解调器处理器4)。在每个处理器上实现分层路由算法导致向每个处理器转发接ロ选择请求參数,从而每个处理器都可标识其最优的可用接ロ。因此,响应于接ロ选择请求,调制解调器处理器2可向调制解调器处理器I标识Um接ロ 62能够以特定的匹配索引值I满足对接入WffAN 36的接ロ请求。进而,调制解调器处理器I将评估其自身用于接入WWAN 34的本地Um接ロ 28以确定其匹配索引值I并将该值与调制解调器处理器2上的接ロ 62的收到匹配索引I作比较,以选择这两个接口中较好的接ロ向应用处理器10报告。类似地,调制解调器处理器4将向调制解调器处理器3提供用于接入WffAN 36的接ロ 72的匹配索引值I,该调制解调器处理器3将选择其本地接ロ 66和代理接ロ 72中较好的接ロ向应用处理器10报告。因此,应用处理器10可响应于来自经由代理接ロ 44从调制解调器处理器I接收到的匹配索引I、经由代理接ロ 42从调制解调器处理器3接收到的匹配索引I、以及本地接ロ 40的应用请求选择最佳接ロ。
数据路径的配置和建立也可遵循分层办法。例如,再次參照图6,如果已响应于来自应用处理器10的应用请求将调制解调器处理器2的Um接ロ 62选为最佳接ロ,则可开始连接建立和配置操作。连接建立操作可由应用发起或者自动地发起,但是不管怎样,均可基于在应用处理器与调制解调器处理器I之间发送的信息来配置代理接ロ 44及其相应的Rm接ロ 26。配置过程可在接ロ链下重复以建立至选定的Um接ロ 62的数据路径。因此,代理接ロ 44可与Rm接ロ 26绑定,而Rm接ロ 26可进而与接ロ 30绑定。因为接ロ 30是代理而不是实际的接ロ,所以接ロ 30可与Rm接ロ 60绑定,而Rm接ロ 60可与选定的Um接ロ 62绑定。选定的Um接ロ 62可提供至实际的物理网络的连接,并且由此完成数据路径。另外,可按类似的方式以相反的方向从ー个请求处理器向具有至期望网络或资源的实际接ロ的另ー处理器建立接ロ链。因此,一个接ロ链中的第二处理器可建立与第三处理器的代理接ロ连接,该第三处理器可能已具有与第二处理器建立的不同的代理接ロ连接作为第二接ロ链的一部分。在这种情形中,第二与第三处理器之间的这两个代理接ロ连接均可使用与以上參照图8A、8B和9所描述的操作相同的操作来建立,其中由不同的发起处理器发起的每个接ロ链指定类似的或不同的网络选择策略參数。、这些实施例可应用于各种各样的计算架构和应用情景,并且因此不限于以上描述的示例实施例。另外,需要在每个处理器中支持的代理接口和实际(Rm)接ロ的数目将随系统而异,并且可以静态或动态地配置。在一个实施例中,可在引导过程期间将静态配置表输入至调制解调器,并且调制解调器处理器可基于此类配置信息创建期望数目的接ロ。在一替换实施例中,可动态地按需创建Rm接ロ。代理和Um接ロ通常被预先创建以代表在特定的计算机设备中可用的所有可能的连通性选项。即使应用不在意网络连接的接近性,应用在这些连接跨越多个处理器的情况下仍可能观察到附加延迟。为了适应这点,诸实施例可通过尽可能多地减少处理器间的通信延迟来使影响最小化。为了支持各个实施例,需要信令机制或信令信道来支持不同处理器的各个分层路由模块或路由层之间的通信以传送接ロ选择请求和接收回结果。任何合适的信令机制或信令信道可被用于该目的,诸如QMI消息传送协议。应当注意,可以在相同的物理互联上达成、信令机制,其中信令经由信令机制发生并且数据传输经由IP话务发生,如在USB接口中所提供的那样。无论在不同处理器之间使用的可能在相同计算设备内变化的互联类型如何,本文中所描述的各个实施例规程均应当起作用。因此,这些实施例不拘泥于或限于任何特定的计算架构、处理器间的通信协议或连接、或者无线通信技木。在另ー实施例中,最佳接ロ选择决定或接ロ匹配索引值和四元组可被存储在应用处理器10的存储器中以支持后续的应用网络接入请求。该实施例可在自从上一次完成分层路由算法起未改变设备配置、网络特性或网络选择策略參数时用于节省处理时间。在此实施例中,应用处理器可将网络选择策略參数与来自先前完成的网络选择的參数作比较以确定它们是否相同,并且根据存储着的选定的接ロ配置信息来配置网络连接。典型的适于与各个实施例联用的移动设备300将具有与图10中所解说的共有组件。例如,示例性无线接收机300可包括耦合至内部存储器302的应用处理器301,以及显示器303。另外,移动设备300可具有用于发送和接收电磁辐射的天线304,该天线304与耦合至应用处理器301的一个或多个无线收发机310、312、314、316相连接。如上所述,一些调制解调器处理器可间接耦合至应用处理器301,如为分别耦合至应用处理器301、处理器310和314的处理器312、316所解说的。无线移动设备300通常还包括按键板306或微型键盘和菜单选择按钮或摇杆开关307以接收用户输入。无线移动设备300还可包括诸如USB或HreWirf连接器插ロ之类的有线网络接ロ 318以连接至外部网络和诸如膝上型计算机12之类的其他计算设备。以上所描述的本发明的各个方面可在诸如膝上型计算机400之类的各种移动计算设备上实现。通常,此类计算设备将具有如图11中所解说的共有组件。例如,膝上型计算机400可包括耦合至内部存储器403 (例如,硬盘存储器)的处理器402,以及诸如液晶显示器(IXD)之类的显示器409,它们均包括在箱体或外壳406内。膝上型计算机400将通常在耦合至处理器402的键盘408中包括定点设备407。处理器401还可连接至诸如USB或HreWirex连接器插ロ之类的有线网络接ロ 404以经由电缆410将处理器401与外部调制解调器或处理器互联,诸如(如以上所描述的)互联至无线移动设备300、连接至无 线移动设备300的有线网络接ロ 318。另外,膝上型计算机400可包括用于诸如经由天线412建立无线网络通信的内部调制解调器405。该内部无线通信调制解调器405可根据图2中所解说的架构来配置,其中处理器401与调制解调器405之间的连接是内部互联24。各个处理器301、310、312、314、316、401可以是能通过软件指令(应用)配置以执行包括本文中所描述的各个实施例的功能在内的各种功能的任何可编程微处理器、微型计算机或一个或多个多处理器芯片。在一些移动设备中,可提供多个处理器301、310、312、314、316、401,诸如ー个处理器专用于无线通信功能并且ー个处理器专用于运行其他应用。通常,在软件应用被访问并被加载到处理器301中之前,这些软件应用可被存储在内部存储器302中。在ー些移动设备中,处理器301、310、312、314、316、401可包括足以存储应用软件指令的内部存储器。在许多计算设备300、400中,内部存储器302、402可以是易失性或诸如闪存之类的非易失性存储器,或这两者的混合。为了描述的目的,对存储器的一般引用是指可由处理器301、310、312、314、316、401访问的所有存储器,包括内部存储器302、402、插入无线接收机300、400中的可移除存储器、以及存储器301、310、312、314、316、401自身内的存储器。各个实施例为计算设备提供了数种益处。任何计算机架构或处理器代用品均可使用分层路由算法的单个分布式实现来支持。诸应用可驻留在计算设备内的任何处理器上,并且可以能够经由任何其他处理器接入网络,而无需应用知晓网络无线电的接近性。现有应用不需要改变、重写或重新整合以适应新兴的网络技术和计算设备架构。设备制造商可通过添加新的调制解调器来添加附加的网络能力,而不会显著地影响现有网络和通信应用。可为较快速的设备整合和新通信技术的较快速的投入市场时间实现而将来自不同制造商的处理器组合和结合起来。除了在应用开发时间方面显著的节省之外,所有这些益处是通过使应用开发者不必跟踪并管理复杂的计算设备内的网络接ロ来实现的。上述方法描述和处理流程图仅作为例示性示例提供,且并非g在要求或暗示各种实施例的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的步骤次序可按任意次序来执行。诸如“其后”、“然后”、“下一个”等的措辞并非g在限制步骤的次序;这些措辞简单用以指引读者通过方法的描述。进一歩地,对单数形式的权利要求元素的任何引述,例如使用表述“一”、“ー个”或“该”,不解释为将元素限制为单数。结合本文中所公开的实施例来描述的各种例示性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地例示硬件与软件的这一可互換性,以上已经根据其功能性一般性描述了各种例示性组件、框、模块、电路、和步骤。此类功能性是被实现为硬件还是软件取决于具体应用和加诸于整体系统的设计约束。技术人员对于每种特定应用可以变化的方式来实现所描述的功能性,但此类实现决策不应被解读成导致脱离了本发明的范围。用以实现结合本文中公开的方面描述的各种例示性逻辑、逻辑框、模块、以及电路 的硬件可利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文中描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的ー个或更多个微处理器、或任何其他此类配置。替代地,一些步骤或方法可由专用于给定功能的电路系统来执打。在一个或多个示例性方面中,所描述的功能可在硬件、软件、固件或其任意组合中实现。如果在硬件中实现,那么可以在无线信号处理电路的电路系统内实现功能性,该无线信号处理电路可适于在无线接收机/收发机或移动设备中使用。此类无线信号处理电路可包括用于完成在各个实施例中描述的信号測量和计算步骤的电路。如果在软件中实现,则诸功能可以作为一条或多条指令或代码存储在处理器可读介质上或藉其进行传送。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在处理器可读存储介质上。存储介质可以是能被处理器或处理器访问的任何可用的有形存储介质。作为示例而非限定,此类处理器可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可用于存储指令或数据结构形式的合需的程序代码且可由处理器或计算机访问的任何其它介质。如本文中所使用的盘和碟包括压缩碟(⑶)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)利用激光以光学方式再现数据。上述的组合也应被包括在处理器可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者代码和/或指令的任意组合或集合而驻留在可被納入计算机程序产品的机器可读存储介质和/或处理器可读存储介质上。提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他实施例而不会脱离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的实施例,而是应被授予与以下权利要求和本文中公开的和原理和新颖性特征一致的最广义的范围。
权利要求
1.一种用于为计算设备内的应用选择网络连接的方法,包括在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口。
2.如权利要求I所述的方法,其特征在于,在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口包括 在第一处理器中从运行在所述第一处理器上的应用接收对网络接入的应用请求,所述应用请求包括网络选择策略参数;以及 经由代理接口向耦合至所述第一处理器的一个或多个第二处理器转发包括所述网络选择策略参数的网络接口选择请求。
3.如权利要求2所述的方法,其特征在于,在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口包括 在所述第一处理器中从每个第二处理器接收关于若一个第二处理器可用则可经由每个第二处理器获取的选定的最佳网络接口的信息; 评估在所述第一处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数;以及 基于从每个第二处理器接收到的关于选定的最佳网络接口的信息以及在所述第一处理器上可用的网络接口如何良好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口。
4.如权利要求3所述的方法,其特征在于,在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口进一步包括发起关于所述选定的最佳网络接口的网络配置。
5.如权利要求4所述的方法,其特征在于,应用或连接管理器发起关于所述选定的最佳网络接口的网络配置。
6.如权利要求4所述的方法,其特征在于,发起关于所述选定的最佳网络接口的网络配置包括 确定所述选定的最佳网络接口是在所述第一处理器上可用的接口还是在不同的处理器上可用的接口; 如果所述选定的最佳网络接口是在所述第一处理器上可用的接口,则发起标准网络配置;以及 如果所述选定的最佳网络连接在所述不同的处理器上可用,则自动地将数据路径连接至所述选定的最佳网络连接。
7.如权利要求6所述的方法,其特征在于,如果所述选定的最佳网络连接在所述不同的处理器上可用则建立至所述选定的最佳网络连接的数据路径包括 将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口 ;以及 将所述相应接口绑定至所述选定的最佳网络接口。
8.如权利要求7所述的方法,其特征在于,将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口包括跨所述代理接口与所述不同的处理器上的所述相应接口之间的多个处理器绑定一系列接口。
9.如权利要求7所述的方法,其特征在于,所述代理接口由外围设备使用。
10.如权利要求9所述的方法,其特征在于,所述外围设备是膝上型计算机。
11.如权利要求3所述的方法,进一步包括 在每个第二处理器中经由耦合至所述第一处理器的所述代理接口接收所述网络接口选择请求; 评估在每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数; 基于每个第二处理器上的网络接口如何良好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口 ;以及 向所述第一处理器发送关于若一个第二处理器可用则可经由每个第二处理器获取的所述选定的最佳网络接口的信息。
12.如权利要求11所述的方法,其特征在于 评估所述第一处理器和每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数包括计算接口匹配索引I ;以及 选择最佳网络接口包括选择具有最大的接口匹配索引I的网络接口。
13.如权利要求11所述的方法,进一步包括 从第二处理器向耦合至所述第二处理器的第三处理器转发包括所述网络选择策略参数的所述网络接口选择请求;以及 在所述第二处理器中从所述第三处理器接收关于若一个第三处理器可用则可经由每个第三处理器获取的选定的最佳网络接口的信息; 其中基于在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口包括基于从所述第三处理器接收到的关于选定的最佳网络接口的信息和在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口。
14.如权利要求12所述的方法,其特征在于,进一步包括将所述第二处理器绑定至所述第三处理器上的所述选定的最佳网络接口。
15.如权利要求14所述的方法,其特征在于,所述第三处理器具有用所述第二处理器建立的另一代理接口。
16.—种移动设备,包括 处理器; 耦合至所述处理器的存储器;以及 无线接收机电路,其耦合至所述处理器并且被配置成从无线通信网络接收信号, 其中所述处理器配置有用于执行操作的处理器可执行指令,所述操作包括在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口。
17.如权利要求16所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口包括 在第一处理器中从运行在所述第一处理器上的应用接收对网络接入的应用请求,所述应用请求包括网络选择策略参数;以及 经由代理接口向耦合至所述第一处理器的一个或多个第二处理器转发包括所述网络选择策略参数的网络接口选择请求。
18.如权利要求17所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口进一步包括 在所述第一处理器中从每个第二处理器接收关于若一个第二处理器可用则可经由每个第二处理器获取的选定的最佳网络接口的信息; 评估在所述第一处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数;以及 基于从每个第二处理器接收到的关于选定的最佳网络接口的信息以及在所述第一处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口。
19.如权利要求18所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口进一步包括发起关于所述选定的最佳网络接口的网络配置。
20.如权利要求19所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得应用或连接管理器发起关于所述选定的最佳网络接口的网络配置。
21.如权利要求19所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得发起关于所述选定的最佳网络接口的网络配置包括 确定所述选定的最佳网络接口是在所述第一处理器上可用的接口还是在不同的处理器上可用的接口; 如果所述选定的最佳网络接口是在所述第一处理器上可用的接口,则发起标准网络配置;以及 如果所述选定的最佳网络连接在所述不同的处理器上可用,则自动地将数据路径连接至所述选定的最佳网络连接。
22.如权利要求21所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得如果所述选定的最佳网络连接在所述不同的处理器上可用则建立至所述选定的最佳网络连接的数据路径包括 将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口 ;以及 将所述相应接口绑定至所述选定的最佳网络接口。
23.如权利要求22所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口包括跨所述代理接口与所述不同的处理器上的所述相应接口之间的多个处理器绑定一系列接口。
24.如权利要求22所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得所述代理接口由外围设备使用。
25.如权利要求24所述的移动设备,其特征在于,所述外围设备是膝上型计算机。
26.如权利要求18所述的移动设备,其特征在于,所述处理器配置有用以执行操作的处理器可执行指令,所述操作进一步包括 在每个第二处理器中经由耦合至所述第一处理器的所述代理接口接收所述网络接口选择请求; 评估在每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数; 基于每个第二处理器上的网络接口如何良好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口;以及 向所述第一处理器发送关于若一个第二处理器可用则可经由每个第二处理器获取的所述选定的最佳网络接口的信息。
27.如权利要求26所述的移动设备,其特征在于,所述处理器配置有用以执行操作的处理器可执行指令,以使得 评估所述第一处理器和每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数包括计算接口匹配索引I ;以及 选择最佳网络接口包括选择具有最大的接口匹配索引I的网络接口。
28.如权利要求26所述的移动设备,其特征在于,所述处理器配置有用以执行操作的处理器可执行指令,所述操作进一步包括 从第二处理器向耦合至所述第二处理器的第三处理器转发包括所述网络选择策略参数的所述网络接口选择请求;以及 在所述第二处理器中从所述第三处理器接收关于若一个第三处理器可用则可经由每个第三处理器获取的选定的最佳网络接口的信息; 其中所述处理器配置有用于执行操作的处理器可执行指令,以使得基于在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口包括基于从所述第三处理器接收到的关于选定的最佳网络接口的信息和在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口。
29.如权利要求27所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,所述操作进一步包括将所述第二处理器绑定至所述第三处理器上的所述选定的最佳网络接口。
30.如权利要求29所述的移动设备,其特征在于,所述第三处理器具有用所述第二处理器建立的另一代理接口。
31.一种移动设备,包括 用于在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口的装置。
32.如权利要求31所述的移动设备,其特征在于,用于在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口的装置包括 用于在第一处理器中从运行在所述第一处理器上的应用接收对网络接入的应用请求的装置,所述应用请求包括网络选择策略参数;以及 用于经由代理接口向耦合至所述第一处理器的一个或多个第二处理器转发包括所述网络选择策略参数的网络接口选择请求的装置。
33.如权利要求32所述的移动设备,其特征在于,用于在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口的装置进一步包括 用于在所述第一处理器中从每个第二处理器接收关于若一个第二处理器可用则可经由每个第二处理器获取的选定的最佳网络接口的信息的装置; 用于评估在所述第一处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数的装置;以及 用于基于从每个第二处理器接收到的关于选定的最佳网络接口的信息以及在所述第一处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口的装置。
34.如权利要求33所述的移动设备,其特征在于,用于在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口的装置进一步包括用于发起关于所述选定的最佳网络接口的网络配置的装置。
35.如权利要求34所述的移动设备,其特征在于,应用或连接管理器发起关于所述选定的最佳网络接口的网络配置。
36.如权利要求34所述的移动设备,其特征在于,用于发起关于所述选定的最佳网络接口的网络配置的装置包括 用于确定所述选定的最佳网络接口是在所述第一处理器上可用的接口还是在不同的处理器上可用的接口的装置; 用于如果所述选定的最佳网络接口是在所述第一处理器上可用的接口,则发起标准网络配置的装置;以及 用于如果所述选定的最佳网络连接在所述不同的处理器上可用,则自动地将数据路径连接至所述选定的最佳网络连接的装置。
37.如权利要求36所述的移动设备,其特征在于,用于如果所述选定的最佳网络连接在所述不同的处理器上可用则建立至所述选定的最佳网络连接的数据路径的装置包括 用于将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口的装置;以及 用于将所述相应接口绑定至所述选定的最佳网络接口的装置。
38.如权利要求37所述的移动设备,其特征在于,所述处理器配置有用于执行操作的处理器可执行指令,以使得将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口包括跨所述代理接口与所述不同的处理器上的所述相应接口之间的多个处理器绑定一系列接口。
39.如权利要求37所述的移动设备,其特征在于,所述代理接口由外围设备使用。
40.如权利要求39所述的移动设备,其特征在于,所述外围设备是膝上型计算机。
41.如权利要求33所述的移动设备,进一步包括 用于在每个第二处理器中经由耦合至所述第一处理器的所述代理接口接收所述网络接口选择请求的装置; 用于评估在每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数的装置; 用于基于每个第二处理器上的网络接口如何良好地满足所述网络选择策略参数来为所述应用选择可经由所述第二处理器获取的最佳网络接口的装置;以及 用于向所述第一处理器发送关于若一个第二处理器可用则可经由每个第二处理器获取的所述选定的最佳网络接口的信息的装置。
42.如权利要求41所述的移动设备,其特征在于 用于评估所述第一处理器和每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数的装置包括用于计算接口匹配索引I的装置;以及 用于选择最佳网络接口的装置包括用于选择具有最大的接口匹配索引I的网络接口的装置。
43.如权利要求41所述的移动设备,进一步包括 用于从第二处理器向耦合至所述第二处理器的第三处理器转发包括所述网络选择策略参数的所述网络接口选择请求的装置;以及 用于在所述第二处理器中从所述第三处理器接收关于若一个第三处理器可用则可经由每个第三处理器获取的选定的最佳网络接口的信息的装置; 其中用于基于在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口的装置包括用于基于从所述第三处理器接收到的关于选定的最佳网络接口的信息和在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口的装置。
44.如权利要求42所述的移动设备,其特征在于,进一步包括用于将所述第二处理器绑定至所述第三处理器上的所述选定的最佳网络接口的装置。
45.如权利要求44所述的移动设备,其特征在于,所述第三处理器具有用所述第二处理器建立的另一代理接口。
46.一种其上存储有处理器可执行软件指令的非瞬态处理器可读存储介质,所述处理器可执行软件指令被配置成使处理器执行操作,所述操作包括 在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口。
47.如权利要求46所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口包括 在第一处理器中从运行在所述第一处理器上的应用接收对网络接入的应用请求,所述应用请求包括网络选择策略参数;以及 经由代理接口向耦合至所述第一处理器的一个或多个第二处理器转发包括所述网络选择策略参数的网络接口选择请求。
48.如权利要求47所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口进一步包括在所述第一处理器中从每个第二处理器接收关于若一个第二处理器可用则可经由每个第二处理器获取的选定的最佳网络接口的信息; 评估在所述第一处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数;以及 基于从每个第二处理器接收到的关于选定的最佳网络接口的信息以及在所述第一处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口。
49.如权利要求48所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得在多个处理器之中执行分层接口选择规程以选择最佳地匹配在网络接入请求中接收到的网络选择策略参数的接口进一步包括发起关于所述选定的最佳网络接口的网络配置。
50.如权利要求49所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得应用或连接管理器发起关于所述选定的最佳网络接口的网络配置。
51.如权利要求49所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得发起关于所述选定的最佳网络接口的网络配置包括 确定所述选定的最佳网络接口是在所述第一处理器上可用的接口还是在不同的处理器上可用的接口; 如果所述选定的最佳网络接口是在所述第一处理器上可用的接口,则发起标准网络配置;以及 如果所述选定的最佳网络连接在所述不同的处理器上可用,则自动地将数据路径连接至所述选定的最佳网络连接。
52.如权利要求51所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得如果所述选定的最佳网络连接在所述不同的处理器上可用则建立至所述选定的最佳网络连接的数据路径包括 将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口 ;以及 将所述相应的接口绑定至所述选定的最佳网络接口。
53.如权利要求52所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得将所述第一处理器的代理接口绑定至所述不同的处理器上的相应接口包括跨所述代理接口与所述不同的处理器上的所述相应接口之间的多个处理器绑定一系列接口。
54.如权利要求52所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得所述代理接口由外围设备使用。
55.如权利要求54所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得所述外围设备是膝上型计算机。
56.如权利要求48所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,所述操作进一步包括 在每个第二处理器中经由耦合至所述第一处理器的所述代理接口接收所述网络接口选择请求; 评估在每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数; 基于每个第二处理器上的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口;以及 向所述第一处理器发送关于若一个第二处理器可用则可经由每个第二处理器获取的所述选定的最佳网络接口的信息。
57.如权利要求56所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得 评估所述第一处理器和每个第二处理器上可用的每个网络接口如何良好地满足所述网络选择策略参数包括计算接口匹配索引I ;以及 选择最佳网络接口包括选择具有最大的接口匹配索引I的网络接口。
58.如权利要求56所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,所述操作进一步包括 从第二处理器向耦合至所述第二处理器的第三处理器转发包括所述网络选择策略参数的所述网络接口选择请求;以及 在所述第二处理器中从所述第三处理器接收关于若一个第三处理器可用则可经由每个第三处理器获取的选定的最佳网络接口的信息; 其中所述处理器配置有用于执行操作的处理器可执行指令,以使得基于在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择可经由所述第二处理器获取的最佳网络接口包括基于从所述第三处理器接收到的关于选定的最佳网络接口的信息和在所述第二处理器上可用的网络接口如何很好地满足所述网络选择策略参数来为所述应用请求选择最佳网络接口。
59.如权利要求57所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,所述操作进一步包括将所述第二处理器绑定至所述第三处理器上的所述选定的最佳网络接口。
60.如权利要求59所述的非瞬态处理器可读存储介质,其特征在于,所述存储着的处理器可执行指令被配置成使处理器执行操作,以使得所述第三处理器具有用所述第二处理器建立的另一代理接口。
全文摘要
诸实施例简化了用于当前和未来的无线通信设备的应用的开发,通过提供抽象出网络连接的实际接近性的分层路由层来解决当前方法的缺陷。应用可请求并接收一类型的网络连接,而不必专注于所建立的实际连接的细节。在计算设备内的每个处理器的软件架构内提供分层路由层。分级路由层使用代理网络接口来抽象出调制解调器上的网络连通性与应用的实际接近性。每个处理器上的分层路由层协作以标识用于应用网络请求的最佳网络接口。该路由层使得能够以简单的方式来响应对网络接口的应用请求,而无论网络接口是在应用主机处理器还是在另一处理器上提供的。
文档编号H04W48/16GK102714886SQ201180006688
公开日2012年10月3日 申请日期2011年1月21日 优先权日2010年1月22日
发明者U·S·芭芭拉, V·S·K·范加拉 申请人:高通股份有限公司