專利名稱:分層路由以及多處理器多模網絡設備的接口選擇的制作方法
技術領域:
本申請一般涉及計算設備中的聯(lián)網,尤其涉及用于選擇多處理器多模網絡設備中的網絡接ロ的方法和設備。背景 歷史上,已使用既充當調制解調器又向用戶接口和應用提供處理能力的單個處理器來構建諸如數據卡、蜂窩電話、無線網卡適配器(dongle)等的無線通信設備。作為結果,不需要選擇用以支持應用的特定網絡接ロ,因為基礎架構僅提供單個替換方案。然而,隨著網絡速度的增加以及可在移動計算設備上執(zhí)行的應用的業(yè)務量的擴展,用于管理網絡連接的常規(guī)架構已變得效率低下。大多數調制解調器無線通信設備現(xiàn)在以分開的應用處理器為特征。此分開的應用處理器需要處置對高級應用的増加的中央處理器単元計算要求,這些高級應用正日益普遍地使用在諸如智能電話之類的移動多媒體計算設備上。因此,以應用處理器和至少ー個調制解調器處理器為特征的無線通信設備現(xiàn)在相當常見,諸如智能電話、個人數字助理(PDA)、上網本等。隨著新無線技術的持續(xù)演進,期望傳統(tǒng)的無線通信設備包括各種類型的網絡技術以支持跨多個通信網絡的無縫的用戶漫游和移動性。不同的無線技術可以按包括多調制解調器設備架構在內的數種不同的方式來整合以實現(xiàn)較快速的開發(fā)和產品集成。因此,無線通信設備在調制解調器處理器及其各種互聯(lián)的數目方面正變得日益復雜,這使得供此類設備上使用的應用的開發(fā)變得復雜。概述諸實施例包括用于為計算設備內的應用選擇網絡連接的系統(tǒng)和方法。各種實施例包括若干處理器之間的分層規(guī)程以響應于網絡接入請求而選擇最佳網絡接ロ。其他實施例包括用于從應用接收網絡接入請求并經由代理接ロ向第二或遠程處理器轉發(fā)該網絡接入請求的第一或本地處理器。每個第二或遠程處理器可選擇最佳地滿足網絡接入請求的網絡接ロ并在該網絡接口上向第一處理器返回信息。第一處理器可評估自己的接口和由任何第二處理器選擇的接ロ以確定總體最佳的網絡接ロ。其他實施例涉及向第三處理器轉發(fā)網絡接入請求的第二處理器。類似于第二處理器,第三處理器可選擇最佳地滿足網絡接入請求的網絡接ロ并在該網絡接口上向第二處理器返回信息。第二處理器可在第二處理器的選擇過程中考慮從第三處理器返回的信息。該分層選擇過程可延伸通過多個處理器級。
其他實施例可涉及發(fā)起本地處理器與選定的最佳總體網絡接ロ之間的網絡配置。連接建立可由應用或管理器發(fā)起,或者可自動地發(fā)起。結果得到的本地處理器與選定的最佳網絡接ロ之間的數據路徑是跨多個處理器的接ロ鏈。附圖簡要描述包括于此且構成本說明書一部分的附圖解說本發(fā)明的示例性實施例,并與以上給出的概括描述和下面給出的詳細描述一起用來解釋本發(fā)明的特征。圖I是適于與各種實施例聯(lián)用的計算架構的系統(tǒng)架構圖。
圖2-7是計算設備的替換配置的系統(tǒng)和軟件架構圖,該計算設備包括適于與各種實施例聯(lián)用的應用處理器和ー個或多個調制解調器處理器。圖8A是用于響應于應用接ロ請求而選擇網絡接ロ的實施例的過程流程圖。圖8B是在圖8A中解說的方法的一部分的過程流程圖。圖9是用于響應于來自應用處理器的網絡接ロ信息請求的實施例方法的過程流程圖。
圖10是適于在一實施例中使用的移動設備的組件框圖。圖11是在適于在ー實施例中使用的配置中耦合至移動設備的個人計算機的組件框圖。詳細描述將參照附圖詳細描述各種實施例。在任何可能的地方,相同附圖標記用于通篇指代相同或類似部分。對特定示例和實現(xiàn)所作的引用是用于解說性的目的,而無意限定本發(fā)明或權利要求的范圍。措辭“示例性”在本文中用于表示“用作示例、實例或解說”。本文中描述為“示例性”的任何實施例不必被解釋為優(yōu)于或勝過其他實施例。如本文中使用的,術語“移動設備”和“計算設備”可指以下各項中的任何ー項或全部個人計算機、膝上型計算機、蜂窩電話、個人數據助理(PDA)、掌上計算機、無線電子郵件接收器(例如,Blackberry 和Treo 設備)、多媒體有因特網能力的蜂窩電話(例如,Blackberry Storm )、全球定位系統(tǒng)(GPS)接收機、無線游戲控制器、以及包括可編程處理器、存儲器和一個或多個網絡接ロ的類似個人電子設備。隨著新無線技術的持續(xù)演進,期望傳統(tǒng)的無線通信設備包括各種類型的網絡技術以支持跨多個通信網絡的無縫的用戶漫游和移動性。不同的無線技術可以按包括多調制解調器設備架構在內的數種不同的方式來整合以實現(xiàn)較快速的開發(fā)和產品集成。因此,無線通信設備正變得日益復雜,這使得供在此類設備上使用的應用的開發(fā)變得復雜。使用當前的應用設計技術和軟件架構,應用開發(fā)者面臨跟蹤能夠為特定的應用聯(lián)網要求提供最優(yōu)連接的多個調制解調器接ロ的艱巨任務。另外,計算設備架構的改變,諸如添加新的通信技術或調制解調器,可能需要大量的應用重寫和測試。這對于依賴不同的網絡技術來為諸應用提供大量通信服務的聯(lián)網應用而言尤甚。圖I中解說了在調制解調器和未來的計算設備中可能存在的復雜度,圖I示出了包括連接至3個調制解調器處理器(即,調制解調器處理器1、2、3)的應用處理器10的計算設備架構。調制解調器處理器1、2、3中的每ー個可包括內部調制解調器并可連接至第二調制解調器,諸如第二調制解調器1、2、3。諸如外圍設備1、2、3之類的各種外圍設備可通過各種連接被連接至計算設備,諸如在外圍設備I的情形中連接至應用處理器10、在連接至調制解調器處理器I的外圍設備2的情形中連接至調制解調器處理器、或者連接至第二調制解調器(諸如連接至第二調制解調器3的外圍設備3)。將調制解調器處理器耦合至應用處理器10的這種靈活性使得能夠構造各種不同類型的計算機架構。因此,應用開發(fā)者不能預期可為需要網絡連通性的應用實現(xiàn)的所有可能的計算機架構。各個實施例簡化了用于當前和未來無線通信設備的應用的開發(fā),從而通過提供抽象出網絡連接的實際接近性的分層路由層來解決以上所描述的當前方法的缺陷。通過使用各個實施例,應用可被配置成能夠請求和接收特定類型的網絡連接,而不必專注于或以其他方式關注所建立的實際連接的細節(jié)或計算設備的配置。在各個實施例中,保持對應用隱藏的計算設備的硬件架構和處理器拓撲。從應用的角度來看,應用可使用相同的應用編程接ロ(API)并且在假定與諸如單調制解調器計算設備中典型的基于當前策略的網絡接入路由方法相同的接ロ行為的情況下訪問網絡連接。從聯(lián)網應用的角度來看,應用管理網絡接ロ,該網絡接ロ連接至特定網絡和/或將數據讀、入/寫入與該網絡接ロ相關聯(lián)的套接字。在計算設備內的每個處理器(即,應用處理器和一個或多個調制解調器處理器)的軟件架構內提供分層路由層。分層路由層使用代理網絡接ロ來抽象出調制解調器上的網絡連通性與應用的實際接近性。每個設備處理器上的分層路由層協(xié)作以標識用于特定應用網絡請求的最佳網絡接ロ。分層路由層還使得能夠以簡單的方式將應用請求連接至網絡接ロ,而無論是否在應用主機處理器、另ー處理器(例如,調制解調器處理器)、或者甚至經由中間處理器在另ー處理器上提供網絡接ロ?!按砭W絡接ロ”是位于主應用處理器上并且代表位于另ー處理器上的實際網絡接ロ的應用??梢杂些`個或多個代理接ロ,每個代理接ロ代表第二處理器上不同的實際接ロ。通常,代理接ロ復制相同的網際協(xié)議(IP)配置并且允許與受相應的實際網絡接ロ支持的網絡操作相同的網絡操作。為了方便引述,在其上正執(zhí)行應用的處理器在本文中被稱為“本地處理器”,因為從應用的角度來看,該處理器是本地的。因此,當網絡接ロ位干與該應用相同的處理器上吋,該網絡接ロ被認為在本地處理器上是可用的。在各個實施例中,當應用請求至某種網絡類型(例如,通信網絡技木)的連接時,應用處理器上的路由層執(zhí)行分層接ロ選擇規(guī)程以為應用的需要選擇最佳匹配的接ロ。在以下參照圖8和圖9更全面描述的接ロ選擇規(guī)程使得應用處理器能夠返回在多個處理器上可用的多個接ロ中向應用的所標識出的網絡參數提供最佳匹配的那個接ロ。應用至選定的最佳接ロ的連接取決于該選定的接ロ是本地的還是在另ー處理器上可用的。如果該網絡連通性可直接從本地處理器訪問(即,網絡接ロ位于與應用相同的處理器上),則向應用返回至實際網絡接ロ的句柄。如果可從不同的處理器訪問網絡連通性(即,接ロ位于不同的處理器上),則向應用返回至代理接ロ的句柄。盡管網絡連通性在遠程處理器上可用,但是該代理接ロ代表應用原始請求的相同物理網絡并連接至該物理網絡。換言之,如果網絡通過本地處理器來連接,則應用直接連接至實際的網絡接ロ。然而,如果網絡通過遠程處理器來連接,則應用將連接至代理接ロ。在任一情形中,應用不在意網絡連通性的實際位置,并且繼續(xù)使用提供給它的網絡接ロ,而不必知道連接的接近性。
如公知的,處理器可具有兩種類型的接ロ,Rm類型接口和Um類型接ロ。Um類型接ロ連接至無線網絡,諸如向因特網或其他本地或全局服務域提供連通性的無線WAN/LAN/MAN網絡。Rm類型接ロ是在不同類型的互聯(lián)上連接至外圍設備的接ロ。此類Rm類型互聯(lián)可以是諸如通用串行總線(USB )、串行外圍接ロ( SPI )、通用異步接收機/發(fā)射機(UART )、安全數字輸入輸出(SDIO)等的串行有線連接、諸如藍牙(BT)接ロ或共享存儲器之類的串行無線連接。Rm類型接ロ還可被用于諸如BT PAN和WiFi之類的其他無線連通性。Rm接ロ可被用于擴展至諸如通用集成電路卡(UICC)、膝上型計算機或其他共主存處理器等的外圍設備的網絡連通性。盡管可由ー個Um類型接ロ通過使用網絡地址翻譯(NAT)或IP路由機制來服務多個Rm接ロ,但是每個Rm接ロ連接至唯一性的Um接ロ以獲得IP配置。如果Um類型接ロ排他性地連接至Rm類型接ロ,則這些接ロ可橋接在一起以進行高效率的分組轉發(fā),而不是通過分組路由模塊來路由分組。
代理接ロ可連接至Rm接ロ,并且因此用作至連接調制解調器處理器的外圍設備。在該接ロ的另ー側上,代理接ロ可用作服務活躍的且可用的IP配置的Um類型接ロ。這些代理接ロ可直接由在本地處理器上執(zhí)行的應用、或者由本地處理器外部的諸如膝上型計算機或另ー調制解調器之類的另一外圍設備使用。因此,在各個實施例中在計算設備中構建處理器拓撲的整個網絡是可能的。該處理器拓撲可允許任何數目的外圍設備連接至任何數目的可用調制解調器處理器以接入不同的網絡技木。該處理器拓撲還使得任何數目的調制解調器/應用處理器能夠以串行或并行方式連接在一起。因此,應用可在能夠接入可通過遠程處理器接入的無線網絡時在計算設備內的任何處理器(調制解調器處理器或應用處理器)上運行。因此,各個實施例使得應用能夠在圖2-7中所示的任ー設備架構配置中請求和獲得網絡接ロ,而不會使應用開發(fā)進ー步復雜或者需要為特定的設備配置開發(fā)應用。參照圖2-7,各個實施例可按路由層22的形式實現(xiàn),該路由層22包括在計算設備的應用處理器和每個調制解調器處理器的軟件協(xié)議棧20內。圖2解說了ー實現(xiàn)的計算機硬件和軟件架構,其中諸如膝上型計算機12之類的終端通過互聯(lián)24耦合至調制解調器處理器I。在此架構中,互聯(lián)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解說了ー實現(xiàn)的計算機硬件和軟件架構,該實現(xiàn)包括耦合至調制解調器處理器I的應用處理器10。在此實現(xiàn)中,應用處理器10包括本地實際(Rm)接ロ 40、無線接ロ42和代理接ロ 44。與調制解調器處理器I的連接為經由代理接ロ 44通過互聯(lián)46至調制解調器處理器I。數據接ロ 26可向無線接ロ 30提供接ロ橋29。圖4解說了與圖3中所示的實現(xiàn)類似的實現(xiàn)的計算機硬件和軟件架構,其中添加了至膝上型計算機12的互聯(lián)24。接ロ橋41可將實際接ロ 40連接至代理接ロ 44。圖5解說了與圖4中所示的實現(xiàn)類似的實現(xiàn)的計算機硬件和軟件,其中調制解調器處理器I包括多個接ロ橋29、49以及至應用處理器10的代理接ロ 44、48的多個互聯(lián)46、47。圖6解說了ー實現(xiàn)的計算機硬件和軟件架構,其中應用處理器10耦合至4個調制解調器處理器(即,調制解調器處理器1-4)。在此架構中,應用處理器10直接連接至調制解調器處理器I和調制解調器處理器3。調制解調器處理器2經由互聯(lián)連接至調制解調器處理器1,并且調制解調器處理器4經由互聯(lián)連接至調制解調器處理器3。因此,應用處理器10僅可分別經由通過調制解調器處理器I和3的代理連接與調制解調器處理器2、4相連接。圖7解說了與圖6中所解說的實現(xiàn)類似的實現(xiàn)的計算機硬件和軟件架構,其中添加了調制解調器處理器3并包括與應用處理器10的兩條連接52、54。在此實現(xiàn)中,應用(“app I”)50主存在調制解調器3上。在此配置中,在調制解調器處理器3上提供代理連接52以連接至由應用處理器10提供的接ロ。當本地處理器上的應用請求網絡接ロ時,本地處理器上的路由層22可實現(xiàn)分層路由算法以選擇向應用返回的特定網絡接ロ。分層路由算法可按計算設備內的每個處理器的路由層內的分層路由模塊(HRM)的形式來實現(xiàn)。在以下描述的圖8A、圖SB和圖9中解說了在分層路由算法內由每個處理器路由層中的HRM執(zhí)行的示例操作。
圖8A解說了可在本地處理器(B卩,主存請求網絡連接的應用的處理器)內執(zhí)行的分層路由算法的示例方法100。步驟102,處理器可響應于接收到連接至特定網絡的應用請求而發(fā)起分層路由算法。應用的網絡連接請求可包括網絡選擇策略參數,諸如技術偏好(例如,蜂窩、WiFi、藍牙等)、數據率要求、服務質量(QoS)、期望的網絡能力等。在步驟104中,本地處理器可評估處理器的配置并枚舉直接連接至本地處理器的可用處理器的列表{Pr}。在步驟106,本地處理器可枚舉該本地處理器自身上的可用網絡接ロ列表。該列表可包括實際接ロ列表{Ir}和代理接ロ列表{Ip}。在跨越步驟108至112的循環(huán)中,本地處理器可為可用處理器列表{Pr}內的每個處理器X枚舉代表每個直接連接的遠程處理器上的接ロ的所有代理接ロ的列表,該列表被稱為Upx}。換言之,在步驟108中,本地處理器可選擇可用的直接連接的處理器中特定的一個處理器(X)進行評估,在步驟110中為該處理器枚舉代表接ロ的所有代理接ロ的列表{Ipx},并且重復這些操作直至已評估了最后ー個處理器X (即,直至確定步驟112= “是”)。在跨越步驟114至122的循環(huán)中,本地處理器可從每個連接的處理器獲得可被用于選擇用于應用的最佳接ロ的網絡接ロ適用性信息。具體地,在步驟114中,本地處理器可選擇可用的直接連接的處理器中的一個處理器(X)進行評估。在步驟116中,本地處理器可經由{Ipx}中的代理接口中的ー個代理接ロ(g)向選定的處理器X轉發(fā)包括所有網絡選擇策略參數的接ロ選擇請求。選定的代理接ロ可以是當前可用的任何接ロ(即,代理接ロ可從集合{Ipx}隨機選擇)。如果沒有耦合至本地處理器的處理器(即,可用處理器的列表{Pr}為空集合),則將跳過步驟116和118。在步驟118中,本地處理器將從選定的處理器X接收回關于最佳地匹配在該處理器上可用的網絡選擇策略參數的接ロ的信息。此信息可包括作為映射到相應的代理接ロ Mpi (該代理接ロ是集合{Ipx}中的接ロ之一)的接ロ標識符的最佳匹配接ロ Mi ;以及匹配索引I,其可以是指示網絡接ロ如何能夠良好地支持所請求的網絡策略的整數值。在一實施例中,所標識出的網絡接ロ越好地匹配網絡選擇策略參數,則匹配索引I的值就越高。提供匹配索引值便于在現(xiàn)有網絡條件下對在可通過多個調制解調器處理器獲取的多個網絡接ロ中最佳地匹配應用的網絡策略參數的可用網絡接ロ進行標識。
在步驟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的循環(huán)中評估每個實際接ロ(即,列表{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中以網絡定義的方式發(fā)起關于選定的接ロ的網絡配置。如果選定的接ロ是遠程接ロ(B卩,確定步驟134= “否”并且處理器ID不是“O”值),則代理接ロ Mpi在步驟138中被配置成與遠程處理器相關聯(lián)。代理接ロ Mpi的這種配置可通過配置代理接ロ并且建立至遠程處理器(即,遠程調制解調器)的選定接ロ的連接來完成。各個實施例可實現(xiàn)用于在步驟138中在代理接ロ Mpi與選定接ロ Mi之間發(fā)起連接建立的不同方法。在第一方法中,應用或連接管理器可發(fā)起連接建立?;谟煞謱勇酚赡K(HRM)返回的選定接ロ Mi,應用或連接管理器可發(fā)布網絡連接請求。接ロ的配置可作為此過程的一部分發(fā)生。在第二方法中,一旦最佳匹配接ロ可用或者基于另ー觸發(fā)事件,連接建立就可自動發(fā)生。接ロ的配置在此之后發(fā)生。在這兩種情形中,連接建立和配置過程可在如圖SB中進ー步解說的步驟138中進行。在連接建立已開始之后,在步驟152中,遠程處理器上的對應于代理接ロ Mpi的接ロ可由綁定至遠程處理器上的相應Rm接ロ的代理接ロ Mpi來配置。在步驟154中,該Rm接ロ綁定至相同的遠程處理器上的Um接ロ,該Um接ロ可以是實際接ロ或另ー代理接ロ。如果Um接ロ是實際接ロ(B卩,確定步驟156= “實際”),則在步驟158中,遠程處理器可向本地處理器發(fā)送接ロ配置信息,并且在步驟160中,可基于由遠程處理器向本地處理器發(fā)送的配置信息來配置本地處理器上的代理接ロ Mpi。這將完成網絡連接建立,步驟136。如圖SB中所解說的,該配置過程可以是分層的并且沿多個經連接的處理器鏈重復。因此,如果代理接ロ Mpi綁定至Um接ロ(B卩,確定步驟156= “代理”),則該過程可通過返回到圖8A中的步驟114來重復以選擇至下一處理器X的下一接ロ。通過重復步驟152到156,選定的接ロ可隨后以此方式與綁定至另ー Um接ロ的代理Um接ロ(B卩,另ー遠程處理器的相應Rm接ロ)綁定。該綁定接ロ鏈可持續(xù)下去,直至達到可向實際物理網絡提供連通性并且由此完成數據路徑建立的實際Um接ロ。一旦實際的Um接ロ被綁定(即,確定步驟156= “實際”),則在步驟158中,每個遠程處理器可向先前的“本地”處理器發(fā)送接ロ配置信息,并且在步驟160中,可基于配置信息來配置本地處理器上的代理接ロ Mpi,其中發(fā)送接ロ配置信息和配置每個代理接ロ的過程持續(xù)進行,直至接ロ鏈中的所有代理接ロ均已被配置。這將完成網絡連接建立,步驟136。因此,從應用傳送的所有分組可穿過在此數據路徑中建立的接ロ鏈。 相同的基本分層路由算法可在路由層中在每個處理器上實現(xiàn)。該實施例將支持在計算機架構中連接在一起的任意處理器網絡并且允許在這些處理器中的任何一個處理器上運行的應用經由任何調制解調器接入任何網絡。因此,當在步驟114中向下ー處理器轉發(fā)網絡選擇請求時,再次在該下ー(即,遠程)處理器上的本地和代理接ロ集合上執(zhí)行相同的基本算法。接ロ選擇請求將在連接至代理接ロ g的Rm鏈路上抵達。Rm接ロ將向路由層轉發(fā)該請求并調用分層路由算法。從Rm接ロ的角度來看,該過程是接ロ如何在單調制解調器設備(例如,圖2)或雙處理器設備(例如,圖3)中支持外圍連通性。由于在每個處理器上重復相同的路由接ロ選擇算法,因而網絡接ロ可按遞歸方式(或其他的樹遍歷方法)逐處理器地經過計算設備架構。由于應用可在諸如圖2-7中所解說的計算機架構之類的計算設備架構內的任何處理器上運行,因而可使用實現(xiàn)相同的用于選擇最佳網絡接ロ的基本過程的路由層來實現(xiàn)各個實施例,而無論對接ロ的請求是從本地應用還是從經連接處理器接收到(即,無論處理器是本地處理器還是經連接處理器)。這在圖9中解說,圖9示出了可在遠程處理器X上實現(xiàn)以響應在以上所描述的步驟116中由本地處理器轉發(fā)的接ロ選擇請求的示例方法200。參照圖9,響應于在步驟202中接收到具有策略參數的接ロ選擇請求,在步驟204中,遠程處理器可評估處理器的配置并且列舉直接連接到遠程處理器的可用處理器的列表{Pr}??晒┻h程處理器使用的該處理器列表將不包括從其接收到接ロ選擇請求的處理器。在步驟206中,遠程處理器可枚舉該遠程處理器上的可用網絡接ロ列表。該列表可包括在遠程處理器上可用的實際接ロ列表{Ir}和代理接ロ列表{Ip}。在跨越步驟208至212的循環(huán)中,遠程處理器可為可用處理器列表{Pr}內的每個處理器X枚舉代表每個直接連接(即,雙遠程)的處理器上的接ロ的所有代理接ロ的列表,該列表被稱為{Ipx}。換言之,在步驟208中,遠程處理器可選擇可用的直接連接的雙遠程處理器中特定的一個處理器(X)進行評估,在步驟210中為該處理器枚舉代表接ロ的所有代理接ロ的列表{Ipx},并且重復這些操作直至已評估了最后ー個雙遠程處理器X (即,直至確定步驟212= “是”)。在跨越步驟214至222的循環(huán)中,遠程處理器可從每個連接的雙遠程處理器獲得可被用于選擇最佳接ロ以響應接ロ選擇請求的網絡接ロ適用性信息。具體地,在步驟214中,遠程處理器可選擇可用的直接連接的雙遠程處理器中的一個處理器(X)進行評估以接收接ロ適用性信息。在步驟216中,遠程處理器可經由{Ipx}中的代理接口中的ー個代理接ロ(g)向選定的雙遠程處理器X轉發(fā)包括所有網絡選擇策略參數的接ロ選擇請求。選定的代理接ロ可以是當前可用的任何接ロ(即,代理接ロ可從集合{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的循環(huán)中評估每個實際接ロ(B卩,列表{Ir}內的在遠程處理器中可用的接ロ)。具體地,在步驟224中,遠程處理器可選擇連接至該遠程處理器的實際接ロ的列表{Ir}內的一個接ロ(h)。在步驟226中,針對選定的接ロ h特性評估網絡選擇策略參數以確定該選定的接ロ的匹配索引I。針對期望的網絡能力和網絡策略參數的本地接ロ評估可使用本領域技術人員公知的各種方法中的任ー種方法來完成。關于本地接ロ如何良好地滿足接ロ選擇請求的信息可被存儲在四元組
值中。該四元組
指示(由值“O”指示的)遠程處理器能夠支持與具有匹配索引值I的實際接ロ h的期望網絡連通性。在確定步驟230中,遠程處理器確定選定的本地接ロ h是否是列表{Ir}內的最后一個本地接ロ。如果還有另一本地接ロ要評估(即,確定步驟230= “否”),則遠程處理器可返回到步驟224以選擇列表{Ir}內的下一個本地接ロ h。當已評估了所有本地接ロ(B卩,確定步驟230= “是”),遠程處理器評估所存儲的四元組以標識在步驟232中被選擇的具有最高匹配索引I的接ロ。在步驟234中,遠程處理器向本地處理器(即,發(fā)布接ロ選擇請求的處理器)返回包括代理接ロ標識符Mpi和接ロ匹配索引I的接ロ選擇信息。如果選定的接ロ是本地的(即,在遠程處理器上),則接ロ標識符h被返回作為代理接ロ標識符Mpi。通過如以上所描述的在分布式分層決策架構中使用計算設備內或連接至該計算設備的所有處理器上的相似路由層模塊來實現(xiàn)各個實施例,各個實施例可以與具有任何數目的不同處理器層的計算設備聯(lián)用。另外,為ー個計算設備架構編寫的應用可在具有復雜得多的多處理器架構的計算設備上實現(xiàn),而無需改變代碼或者為配置兼容性而進行測試。另外,各個實施例進行相同的操作,而無論哪個處理器主存發(fā)布網絡連接請求的應用。
各個實施例規(guī)程是分層的并且可跨越計算機架構內的所有處理器。一般而言,分層路由算法允許設備拓撲被表示為如圖I中所解說的類樹形結構以包括任何復雜程度,而同時允許過程正確地起作用。以上實施例描述假設一種實現(xiàn),其中對處理器的輪詢是以順序方式進行的(即,從ー接ロ移動至另一接ロ,并且從一經耦合的處理器移動至另一經耦合的處理器)。然而,這僅是可如何詢問處理器的ー個示例,并且可使用任何數目的其他方法。例如,可由本地處理器并行地向所有附連的處理器發(fā)布接ロ選擇請求,從而這些附連的處理器可并行地執(zhí)行它們自己的對可用接ロ的評估并且在完成時回報結果。在可適用于諸如圖6和圖7中所解說的復雜的計算機架構的另一實施例中,可使用若干樹遍歷算法之一來實現(xiàn)分層路由算法,而不會脫離本文中所描述的基本規(guī)程。各個實施例支持在其中諸應用可在各種調制解調器處理器上而不是在主應用處理器上運行的實現(xiàn)。這可能出于數種原因而出現(xiàn)。ー個原因是,可能已為現(xiàn)在連接至應用處理器的特定調制解調器處理器開發(fā)和測試了應用。當已隨時間增加了其他處理器以支持附加的網絡連通性時,使應用能夠繼續(xù)在特 定調制解調器處理器上運行可避免將現(xiàn)有應用重新整合在新的處理器環(huán)境上的需要。另外,特定的無線電功能性可能僅在某些調制解調器處理器上可用,或者可較優(yōu)地通過特定的調制解調器處理器訪問。另外,需要在調制解調器處理器上運行以進行接ロ管理和配置的系統(tǒng)應用可主存在調制解調器的處理器上而不是應用處理器上。在某些情景中,在調制解調器處理器上運行的應用可能希望使用由其他調制解調器處理器提供的無線電連通性。各個實施例的分層路由算法可被用于解決此類情景。如圖7中所示出的,在調制解調器處理器3上操作的應用50 (“appl”)可能希望使用通過調制解調器處理器2連接的無線網絡。在此示例中,在調制解調器處理器3與調制解調器處理器2之間沒有直接的連接。為了向app I提供所請求的網絡接入,可添加連接回應用處理器的另ー代理接ロ。此外,該連接可按與外圍設備連接至應用處理器的方式相同的方式建立。只要系統(tǒng)中的所有調制解調器處理器被唯一性地編索引,就可在不進行修改的情況下執(zhí)行分層路由算法以尋找適合應用50的接ロ,即使該應用正在調制解調器處理器3上運行。通過在分層決策架構中實現(xiàn)這些實施例,計算設備內的每個處理器可以作出自己的對用于所請求的網絡連接的本地最佳的經連接接ロ的決定并且向作出該請求的應用或者轉發(fā)該請求的處理器(即,下ー較高層處理器)中繼其本地最優(yōu)的連接特性。此分布式決策可參照圖6通過示例來解釋。在圖6所解說的計算機架構中,應用處理器10耦合至兩個調制解調器處理器(即,調制解調器處理器I和調制解調器處理器3),其中的每個調制解調器處理器連接至另ー調制解調器處理器(即,調制解調器處理器I連接至調制解調器處理器2,而調制解調器處理器3連接至調制解調器處理器4)。在每個處理器上實現(xiàn)分層路由算法導致向每個處理器轉發(fā)接ロ選擇請求參數,從而每個處理器都可標識其最優(yōu)的可用接ロ。因此,響應于接ロ選擇請求,調制解調器處理器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選為最佳接ロ,則可開始連接建立和配置操作。連接建立操作可由應用發(fā)起或者自動地發(fā)起,但是不管怎樣,均可基于在應用處理器與調制解調器處理器I之間發(fā)送的信息來配置代理接ロ 44及其相應的Rm接ロ 26。配置過程可在接ロ鏈下重復以建立至選定的Um接ロ 62的數據路徑。因此,代理接ロ 44可與Rm接ロ 26綁定,而Rm接ロ 26可進而與接ロ 30綁定。因為接ロ 30是代理而不是實際的接ロ,所以接ロ 30可與Rm接ロ 60綁定,而Rm接ロ 60可與選定的Um接ロ 62綁定。選定的Um接ロ 62可提供至實際的物理網絡的連接,并且由此完成數據路徑。另外,可按類似的方式以相反的方向從ー個請求處理器向具有至期望網絡或資源的實際接ロ的另ー處理器建立接ロ鏈。因此,一個接ロ鏈中的第二處理器可建立與第三處理器的代理接ロ連接,該第三處理器可能已具有與第二處理器建立的不同的代理接ロ連接作為第二接ロ鏈的一部分。在這種情形中,第二與第三處理器之間的這兩個代理接ロ連接均可使用與以上參照圖8A、8B和9所描述的操作相同的操作來建立,其中由不同的發(fā)起處理器發(fā)起的每個接ロ鏈指定類似的或不同的網絡選擇策略參數。、這些實施例可應用于各種各樣的計算架構和應用情景,并且因此不限于以上描述的示例實施例。另外,需要在每個處理器中支持的代理接口和實際(Rm)接ロ的數目將隨系統(tǒng)而異,并且可以靜態(tài)或動態(tài)地配置。在一個實施例中,可在引導過程期間將靜態(tài)配置表輸入至調制解調器,并且調制解調器處理器可基于此類配置信息創(chuàng)建期望數目的接ロ。在一替換實施例中,可動態(tài)地按需創(chuàng)建Rm接ロ。代理和Um接ロ通常被預先創(chuàng)建以代表在特定的計算機設備中可用的所有可能的連通性選項。即使應用不在意網絡連接的接近性,應用在這些連接跨越多個處理器的情況下仍可能觀察到附加延遲。為了適應這點,諸實施例可通過盡可能多地減少處理器間的通信延遲來使影響最小化。為了支持各個實施例,需要信令機制或信令信道來支持不同處理器的各個分層路由模塊或路由層之間的通信以傳送接ロ選擇請求和接收回結果。任何合適的信令機制或信令信道可被用于該目的,諸如QMI消息傳送協(xié)議。應當注意,可以在相同的物理互聯(lián)上達成、信令機制,其中信令經由信令機制發(fā)生并且數據傳輸經由IP話務發(fā)生,如在USB接口中所提供的那樣。無論在不同處理器之間使用的可能在相同計算設備內變化的互聯(lián)類型如何,本文中所描述的各個實施例規(guī)程均應當起作用。因此,這些實施例不拘泥于或限于任何特定的計算架構、處理器間的通信協(xié)議或連接、或者無線通信技木。在另ー實施例中,最佳接ロ選擇決定或接ロ匹配索引值和四元組可被存儲在應用處理器10的存儲器中以支持后續(xù)的應用網絡接入請求。該實施例可在自從上一次完成分層路由算法起未改變設備配置、網絡特性或網絡選擇策略參數時用于節(jié)省處理時間。在此實施例中,應用處理器可將網絡選擇策略參數與來自先前完成的網絡選擇的參數作比較以確定它們是否相同,并且根據存儲著的選定的接ロ配置信息來配置網絡連接。典型的適于與各個實施例聯(lián)用的移動設備300將具有與圖10中所解說的共有組件。例如,示例性無線接收機300可包括耦合至內部存儲器302的應用處理器301,以及顯示器303。另外,移動設備300可具有用于發(fā)送和接收電磁輻射的天線304,該天線304與耦合至應用處理器301的一個或多個無線收發(fā)機310、312、314、316相連接。如上所述,一些調制解調器處理器可間接耦合至應用處理器301,如為分別耦合至應用處理器301、處理器310和314的處理器312、316所解說的。無線移動設備300通常還包括按鍵板306或微型鍵盤和菜單選擇按鈕或搖桿開關307以接收用戶輸入。無線移動設備300還可包括諸如USB或HreWirf連接器插ロ之類的有線網絡接ロ 318以連接至外部網絡和諸如膝上型計算機12之類的其他計算設備。以上所描述的本發(fā)明的各個方面可在諸如膝上型計算機400之類的各種移動計算設備上實現(xiàn)。通常,此類計算設備將具有如圖11中所解說的共有組件。例如,膝上型計算機400可包括耦合至內部存儲器403 (例如,硬盤存儲器)的處理器402,以及諸如液晶顯示器(IXD)之類的顯示器409,它們均包括在箱體或外殼406內。膝上型計算機400將通常在耦合至處理器402的鍵盤408中包括定點設備407。處理器401還可連接至諸如USB或HreWirex連接器插ロ之類的有線網絡接ロ 404以經由電纜410將處理器401與外部調制解調器或處理器互聯(lián),諸如(如以上所描述的)互聯(lián)至無線移動設備300、連接至無 線移動設備300的有線網絡接ロ 318。另外,膝上型計算機400可包括用于諸如經由天線412建立無線網絡通信的內部調制解調器405。該內部無線通信調制解調器405可根據圖2中所解說的架構來配置,其中處理器401與調制解調器405之間的連接是內部互聯(lián)24。各個處理器301、310、312、314、316、401可以是能通過軟件指令(應用)配置以執(zhí)行包括本文中所描述的各個實施例的功能在內的各種功能的任何可編程微處理器、微型計算機或一個或多個多處理器芯片。在一些移動設備中,可提供多個處理器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自身內的存儲器。各個實施例為計算設備提供了數種益處。任何計算機架構或處理器代用品均可使用分層路由算法的單個分布式實現(xiàn)來支持。諸應用可駐留在計算設備內的任何處理器上,并且可以能夠經由任何其他處理器接入網絡,而無需應用知曉網絡無線電的接近性。現(xiàn)有應用不需要改變、重寫或重新整合以適應新興的網絡技術和計算設備架構。設備制造商可通過添加新的調制解調器來添加附加的網絡能力,而不會顯著地影響現(xiàn)有網絡和通信應用??蔀檩^快速的設備整合和新通信技術的較快速的投入市場時間實現(xiàn)而將來自不同制造商的處理器組合和結合起來。除了在應用開發(fā)時間方面顯著的節(jié)省之外,所有這些益處是通過使應用開發(fā)者不必跟蹤并管理復雜的計算設備內的網絡接ロ來實現(xiàn)的。上述方法描述和處理流程圖僅作為例示性示例提供,且并非g在要求或暗示各種實施例的步驟必須按所給出的次序來執(zhí)行。如本領域技術人員將領會的,前述實施例中的步驟次序可按任意次序來執(zhí)行。諸如“其后”、“然后”、“下一個”等的措辭并非g在限制步驟的次序;這些措辭簡單用以指引讀者通過方法的描述。進一歩地,對單數形式的權利要求元素的任何引述,例如使用表述“一”、“ー個”或“該”,不解釋為將元素限制為單數。結合本文中所公開的實施例來描述的各種例示性邏輯框、模塊、電路、和算法步驟可實現(xiàn)為電子硬件、計算機軟件、或這兩者的組合。為清楚地例示硬件與軟件的這一可互換性,以上已經根據其功能性一般性描述了各種例示性組件、框、模塊、電路、和步驟。此類功能性是被實現(xiàn)為硬件還是軟件取決于具體應用和加諸于整體系統(tǒng)的設計約束。技術人員對于每種特定應用可以變化的方式來實現(xiàn)所描述的功能性,但此類實現(xiàn)決策不應被解讀成導致脫離了本發(fā)明的范圍。用以實現(xiàn)結合本文中公開的方面描述的各種例示性邏輯、邏輯框、模塊、以及電路 的硬件可利用通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設計成執(zhí)行本文中描述的功能的任何組合來實現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機。處理器還可以被實現(xiàn)為計算設備的組合,例如DSP與微處理器的組合、多個微處理器、與DSP核心協(xié)作的ー個或更多個微處理器、或任何其他此類配置。替代地,一些步驟或方法可由專用于給定功能的電路系統(tǒng)來執(zhí)打。在一個或多個示例性方面中,所描述的功能可在硬件、軟件、固件或其任意組合中實現(xiàn)。如果在硬件中實現(xiàn),那么可以在無線信號處理電路的電路系統(tǒng)內實現(xiàn)功能性,該無線信號處理電路可適于在無線接收機/收發(fā)機或移動設備中使用。此類無線信號處理電路可包括用于完成在各個實施例中描述的信號測量和計算步驟的電路。如果在軟件中實現(xiàn),則諸功能可以作為一條或多條指令或代碼存儲在處理器可讀介質上或藉其進行傳送。本文中公開的方法或算法的步驟可在處理器可執(zhí)行軟件模塊中實施,該處理器可執(zhí)行軟件模塊可駐留在處理器可讀存儲介質上。存儲介質可以是能被處理器或處理器訪問的任何可用的有形存儲介質。作為示例而非限定,此類處理器可讀介質可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲、磁盤存儲或其它磁存儲設備、或者可用于存儲指令或數據結構形式的合需的程序代碼且可由處理器或計算機訪問的任何其它介質。如本文中所使用的盤和碟包括壓縮碟(⑶)、激光碟、光碟、數字通用碟(DVD)、軟盤和藍光碟,其中盤(disk)往往以磁的方式再現(xiàn)數據而碟(disc)利用激光以光學方式再現(xiàn)數據。上述的組合也應被包括在處理器可讀介質的范圍內。另外,方法或算法的操作可作為一條代碼和/或指令或者代碼和/或指令的任意組合或集合而駐留在可被納入計算機程序產品的機器可讀存儲介質和/或處理器可讀存儲介質上。提供所公開的實施例的先前描述是為了使本領域任何技術人員皆能制作或使用本發(fā)明。對這些實施例的各種修改對于本領域技術人員將是顯而易見的,并且本文中定義的普適原理可被應用于其他實施例而不會脫離本發(fā)明的精神或范圍。由此,本發(fā)明并非旨在限定于本文中示出的實施例,而是應被授予與以下權利要求和本文中公開的和原理和新穎性特征一致的最廣義的范圍。
權利要求
1.一種用于為計算設備內的應用選擇網絡連接的方法,包括在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口。
2.如權利要求I所述的方法,其特征在于,在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口包括 在第一處理器中從運行在所述第一處理器上的應用接收對網絡接入的應用請求,所述應用請求包括網絡選擇策略參數;以及 經由代理接口向耦合至所述第一處理器的一個或多個第二處理器轉發(fā)包括所述網絡選擇策略參數的網絡接口選擇請求。
3.如權利要求2所述的方法,其特征在于,在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口包括 在所述第一處理器中從每個第二處理器接收關于若一個第二處理器可用則可經由每個第二處理器獲取的選定的最佳網絡接口的信息; 評估在所述第一處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數;以及 基于從每個第二處理器接收到的關于選定的最佳網絡接口的信息以及在所述第一處理器上可用的網絡接口如何良好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口。
4.如權利要求3所述的方法,其特征在于,在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口進一步包括發(fā)起關于所述選定的最佳網絡接口的網絡配置。
5.如權利要求4所述的方法,其特征在于,應用或連接管理器發(fā)起關于所述選定的最佳網絡接口的網絡配置。
6.如權利要求4所述的方法,其特征在于,發(fā)起關于所述選定的最佳網絡接口的網絡配置包括 確定所述選定的最佳網絡接口是在所述第一處理器上可用的接口還是在不同的處理器上可用的接口; 如果所述選定的最佳網絡接口是在所述第一處理器上可用的接口,則發(fā)起標準網絡配置;以及 如果所述選定的最佳網絡連接在所述不同的處理器上可用,則自動地將數據路徑連接至所述選定的最佳網絡連接。
7.如權利要求6所述的方法,其特征在于,如果所述選定的最佳網絡連接在所述不同的處理器上可用則建立至所述選定的最佳網絡連接的數據路徑包括 將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口 ;以及 將所述相應接口綁定至所述選定的最佳網絡接口。
8.如權利要求7所述的方法,其特征在于,將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口包括跨所述代理接口與所述不同的處理器上的所述相應接口之間的多個處理器綁定一系列接口。
9.如權利要求7所述的方法,其特征在于,所述代理接口由外圍設備使用。
10.如權利要求9所述的方法,其特征在于,所述外圍設備是膝上型計算機。
11.如權利要求3所述的方法,進一步包括 在每個第二處理器中經由耦合至所述第一處理器的所述代理接口接收所述網絡接口選擇請求; 評估在每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數; 基于每個第二處理器上的網絡接口如何良好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口 ;以及 向所述第一處理器發(fā)送關于若一個第二處理器可用則可經由每個第二處理器獲取的所述選定的最佳網絡接口的信息。
12.如權利要求11所述的方法,其特征在于 評估所述第一處理器和每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數包括計算接口匹配索引I ;以及 選擇最佳網絡接口包括選擇具有最大的接口匹配索引I的網絡接口。
13.如權利要求11所述的方法,進一步包括 從第二處理器向耦合至所述第二處理器的第三處理器轉發(fā)包括所述網絡選擇策略參數的所述網絡接口選擇請求;以及 在所述第二處理器中從所述第三處理器接收關于若一個第三處理器可用則可經由每個第三處理器獲取的選定的最佳網絡接口的信息; 其中基于在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口包括基于從所述第三處理器接收到的關于選定的最佳網絡接口的信息和在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口。
14.如權利要求12所述的方法,其特征在于,進一步包括將所述第二處理器綁定至所述第三處理器上的所述選定的最佳網絡接口。
15.如權利要求14所述的方法,其特征在于,所述第三處理器具有用所述第二處理器建立的另一代理接口。
16.—種移動設備,包括 處理器; 耦合至所述處理器的存儲器;以及 無線接收機電路,其耦合至所述處理器并且被配置成從無線通信網絡接收信號, 其中所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,所述操作包括在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口。
17.如權利要求16所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口包括 在第一處理器中從運行在所述第一處理器上的應用接收對網絡接入的應用請求,所述應用請求包括網絡選擇策略參數;以及 經由代理接口向耦合至所述第一處理器的一個或多個第二處理器轉發(fā)包括所述網絡選擇策略參數的網絡接口選擇請求。
18.如權利要求17所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口進一步包括 在所述第一處理器中從每個第二處理器接收關于若一個第二處理器可用則可經由每個第二處理器獲取的選定的最佳網絡接口的信息; 評估在所述第一處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數;以及 基于從每個第二處理器接收到的關于選定的最佳網絡接口的信息以及在所述第一處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口。
19.如權利要求18所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口進一步包括發(fā)起關于所述選定的最佳網絡接口的網絡配置。
20.如權利要求19所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得應用或連接管理器發(fā)起關于所述選定的最佳網絡接口的網絡配置。
21.如權利要求19所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得發(fā)起關于所述選定的最佳網絡接口的網絡配置包括 確定所述選定的最佳網絡接口是在所述第一處理器上可用的接口還是在不同的處理器上可用的接口; 如果所述選定的最佳網絡接口是在所述第一處理器上可用的接口,則發(fā)起標準網絡配置;以及 如果所述選定的最佳網絡連接在所述不同的處理器上可用,則自動地將數據路徑連接至所述選定的最佳網絡連接。
22.如權利要求21所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得如果所述選定的最佳網絡連接在所述不同的處理器上可用則建立至所述選定的最佳網絡連接的數據路徑包括 將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口 ;以及 將所述相應接口綁定至所述選定的最佳網絡接口。
23.如權利要求22所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口包括跨所述代理接口與所述不同的處理器上的所述相應接口之間的多個處理器綁定一系列接口。
24.如權利要求22所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得所述代理接口由外圍設備使用。
25.如權利要求24所述的移動設備,其特征在于,所述外圍設備是膝上型計算機。
26.如權利要求18所述的移動設備,其特征在于,所述處理器配置有用以執(zhí)行操作的處理器可執(zhí)行指令,所述操作進一步包括 在每個第二處理器中經由耦合至所述第一處理器的所述代理接口接收所述網絡接口選擇請求; 評估在每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數; 基于每個第二處理器上的網絡接口如何良好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口;以及 向所述第一處理器發(fā)送關于若一個第二處理器可用則可經由每個第二處理器獲取的所述選定的最佳網絡接口的信息。
27.如權利要求26所述的移動設備,其特征在于,所述處理器配置有用以執(zhí)行操作的處理器可執(zhí)行指令,以使得 評估所述第一處理器和每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數包括計算接口匹配索引I ;以及 選擇最佳網絡接口包括選擇具有最大的接口匹配索引I的網絡接口。
28.如權利要求26所述的移動設備,其特征在于,所述處理器配置有用以執(zhí)行操作的處理器可執(zhí)行指令,所述操作進一步包括 從第二處理器向耦合至所述第二處理器的第三處理器轉發(fā)包括所述網絡選擇策略參數的所述網絡接口選擇請求;以及 在所述第二處理器中從所述第三處理器接收關于若一個第三處理器可用則可經由每個第三處理器獲取的選定的最佳網絡接口的信息; 其中所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得基于在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口包括基于從所述第三處理器接收到的關于選定的最佳網絡接口的信息和在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口。
29.如權利要求27所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,所述操作進一步包括將所述第二處理器綁定至所述第三處理器上的所述選定的最佳網絡接口。
30.如權利要求29所述的移動設備,其特征在于,所述第三處理器具有用所述第二處理器建立的另一代理接口。
31.一種移動設備,包括 用于在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口的裝置。
32.如權利要求31所述的移動設備,其特征在于,用于在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口的裝置包括 用于在第一處理器中從運行在所述第一處理器上的應用接收對網絡接入的應用請求的裝置,所述應用請求包括網絡選擇策略參數;以及 用于經由代理接口向耦合至所述第一處理器的一個或多個第二處理器轉發(fā)包括所述網絡選擇策略參數的網絡接口選擇請求的裝置。
33.如權利要求32所述的移動設備,其特征在于,用于在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口的裝置進一步包括 用于在所述第一處理器中從每個第二處理器接收關于若一個第二處理器可用則可經由每個第二處理器獲取的選定的最佳網絡接口的信息的裝置; 用于評估在所述第一處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數的裝置;以及 用于基于從每個第二處理器接收到的關于選定的最佳網絡接口的信息以及在所述第一處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口的裝置。
34.如權利要求33所述的移動設備,其特征在于,用于在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口的裝置進一步包括用于發(fā)起關于所述選定的最佳網絡接口的網絡配置的裝置。
35.如權利要求34所述的移動設備,其特征在于,應用或連接管理器發(fā)起關于所述選定的最佳網絡接口的網絡配置。
36.如權利要求34所述的移動設備,其特征在于,用于發(fā)起關于所述選定的最佳網絡接口的網絡配置的裝置包括 用于確定所述選定的最佳網絡接口是在所述第一處理器上可用的接口還是在不同的處理器上可用的接口的裝置; 用于如果所述選定的最佳網絡接口是在所述第一處理器上可用的接口,則發(fā)起標準網絡配置的裝置;以及 用于如果所述選定的最佳網絡連接在所述不同的處理器上可用,則自動地將數據路徑連接至所述選定的最佳網絡連接的裝置。
37.如權利要求36所述的移動設備,其特征在于,用于如果所述選定的最佳網絡連接在所述不同的處理器上可用則建立至所述選定的最佳網絡連接的數據路徑的裝置包括 用于將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口的裝置;以及 用于將所述相應接口綁定至所述選定的最佳網絡接口的裝置。
38.如權利要求37所述的移動設備,其特征在于,所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口包括跨所述代理接口與所述不同的處理器上的所述相應接口之間的多個處理器綁定一系列接口。
39.如權利要求37所述的移動設備,其特征在于,所述代理接口由外圍設備使用。
40.如權利要求39所述的移動設備,其特征在于,所述外圍設備是膝上型計算機。
41.如權利要求33所述的移動設備,進一步包括 用于在每個第二處理器中經由耦合至所述第一處理器的所述代理接口接收所述網絡接口選擇請求的裝置; 用于評估在每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數的裝置; 用于基于每個第二處理器上的網絡接口如何良好地滿足所述網絡選擇策略參數來為所述應用選擇可經由所述第二處理器獲取的最佳網絡接口的裝置;以及 用于向所述第一處理器發(fā)送關于若一個第二處理器可用則可經由每個第二處理器獲取的所述選定的最佳網絡接口的信息的裝置。
42.如權利要求41所述的移動設備,其特征在于 用于評估所述第一處理器和每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數的裝置包括用于計算接口匹配索引I的裝置;以及 用于選擇最佳網絡接口的裝置包括用于選擇具有最大的接口匹配索引I的網絡接口的裝置。
43.如權利要求41所述的移動設備,進一步包括 用于從第二處理器向耦合至所述第二處理器的第三處理器轉發(fā)包括所述網絡選擇策略參數的所述網絡接口選擇請求的裝置;以及 用于在所述第二處理器中從所述第三處理器接收關于若一個第三處理器可用則可經由每個第三處理器獲取的選定的最佳網絡接口的信息的裝置; 其中用于基于在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口的裝置包括用于基于從所述第三處理器接收到的關于選定的最佳網絡接口的信息和在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口的裝置。
44.如權利要求42所述的移動設備,其特征在于,進一步包括用于將所述第二處理器綁定至所述第三處理器上的所述選定的最佳網絡接口的裝置。
45.如權利要求44所述的移動設備,其特征在于,所述第三處理器具有用所述第二處理器建立的另一代理接口。
46.一種其上存儲有處理器可執(zhí)行軟件指令的非瞬態(tài)處理器可讀存儲介質,所述處理器可執(zhí)行軟件指令被配置成使處理器執(zhí)行操作,所述操作包括 在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口。
47.如權利要求46所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口包括 在第一處理器中從運行在所述第一處理器上的應用接收對網絡接入的應用請求,所述應用請求包括網絡選擇策略參數;以及 經由代理接口向耦合至所述第一處理器的一個或多個第二處理器轉發(fā)包括所述網絡選擇策略參數的網絡接口選擇請求。
48.如權利要求47所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口進一步包括在所述第一處理器中從每個第二處理器接收關于若一個第二處理器可用則可經由每個第二處理器獲取的選定的最佳網絡接口的信息; 評估在所述第一處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數;以及 基于從每個第二處理器接收到的關于選定的最佳網絡接口的信息以及在所述第一處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口。
49.如權利要求48所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得在多個處理器之中執(zhí)行分層接口選擇規(guī)程以選擇最佳地匹配在網絡接入請求中接收到的網絡選擇策略參數的接口進一步包括發(fā)起關于所述選定的最佳網絡接口的網絡配置。
50.如權利要求49所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得應用或連接管理器發(fā)起關于所述選定的最佳網絡接口的網絡配置。
51.如權利要求49所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得發(fā)起關于所述選定的最佳網絡接口的網絡配置包括 確定所述選定的最佳網絡接口是在所述第一處理器上可用的接口還是在不同的處理器上可用的接口; 如果所述選定的最佳網絡接口是在所述第一處理器上可用的接口,則發(fā)起標準網絡配置;以及 如果所述選定的最佳網絡連接在所述不同的處理器上可用,則自動地將數據路徑連接至所述選定的最佳網絡連接。
52.如權利要求51所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得如果所述選定的最佳網絡連接在所述不同的處理器上可用則建立至所述選定的最佳網絡連接的數據路徑包括 將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口 ;以及 將所述相應的接口綁定至所述選定的最佳網絡接口。
53.如權利要求52所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得將所述第一處理器的代理接口綁定至所述不同的處理器上的相應接口包括跨所述代理接口與所述不同的處理器上的所述相應接口之間的多個處理器綁定一系列接口。
54.如權利要求52所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得所述代理接口由外圍設備使用。
55.如權利要求54所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得所述外圍設備是膝上型計算機。
56.如權利要求48所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,所述操作進一步包括 在每個第二處理器中經由耦合至所述第一處理器的所述代理接口接收所述網絡接口選擇請求; 評估在每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數; 基于每個第二處理器上的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口;以及 向所述第一處理器發(fā)送關于若一個第二處理器可用則可經由每個第二處理器獲取的所述選定的最佳網絡接口的信息。
57.如權利要求56所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得 評估所述第一處理器和每個第二處理器上可用的每個網絡接口如何良好地滿足所述網絡選擇策略參數包括計算接口匹配索引I ;以及 選擇最佳網絡接口包括選擇具有最大的接口匹配索引I的網絡接口。
58.如權利要求56所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,所述操作進一步包括 從第二處理器向耦合至所述第二處理器的第三處理器轉發(fā)包括所述網絡選擇策略參數的所述網絡接口選擇請求;以及 在所述第二處理器中從所述第三處理器接收關于若一個第三處理器可用則可經由每個第三處理器獲取的選定的最佳網絡接口的信息; 其中所述處理器配置有用于執(zhí)行操作的處理器可執(zhí)行指令,以使得基于在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇可經由所述第二處理器獲取的最佳網絡接口包括基于從所述第三處理器接收到的關于選定的最佳網絡接口的信息和在所述第二處理器上可用的網絡接口如何很好地滿足所述網絡選擇策略參數來為所述應用請求選擇最佳網絡接口。
59.如權利要求57所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,所述操作進一步包括將所述第二處理器綁定至所述第三處理器上的所述選定的最佳網絡接口。
60.如權利要求59所述的非瞬態(tài)處理器可讀存儲介質,其特征在于,所述存儲著的處理器可執(zhí)行指令被配置成使處理器執(zhí)行操作,以使得所述第三處理器具有用所述第二處理器建立的另一代理接口。
全文摘要
諸實施例簡化了用于當前和未來的無線通信設備的應用的開發(fā),通過提供抽象出網絡連接的實際接近性的分層路由層來解決當前方法的缺陷。應用可請求并接收一類型的網絡連接,而不必專注于所建立的實際連接的細節(jié)。在計算設備內的每個處理器的軟件架構內提供分層路由層。分級路由層使用代理網絡接口來抽象出調制解調器上的網絡連通性與應用的實際接近性。每個處理器上的分層路由層協(xié)作以標識用于應用網絡請求的最佳網絡接口。該路由層使得能夠以簡單的方式來響應對網絡接口的應用請求,而無論網絡接口是在應用主機處理器還是在另一處理器上提供的。
文檔編號H04W48/16GK102714886SQ201180006688
公開日2012年10月3日 申請日期2011年1月21日 優(yōu)先權日2010年1月22日
發(fā)明者U·S·芭芭拉, V·S·K·范加拉 申請人:高通股份有限公司