背景技術:
今天的移動設備給用戶提供了海量的便攜式功能。例如,智能電話、平板計算機、膝上型計算機等使得用戶能夠執行多種不同的任務而不必束縛于特定的位置。由于用戶可以在位置間移動,因此知道用戶在特定的時間處于什么位置是有用的,例如以用于提供特定于位置的內容和服務。
技術實現要素:
提供了該發明內容以用簡化的形式引入了在下文的具體實施方式中進一步描述的概念的選擇。該發明內容不旨在標識所要求保護的主題的關鍵特征或本質特征,也不旨在用于幫助確定所要求保護的主題的范圍。
描述了針對無線網絡的地理信息的技術。根據各種實施例,移動設備上的連通性模塊從移動設備的另一功能并且與由連通性模塊對所述信息的查詢無關地接收移動設備的地理定位信息。所述連通性模塊在所述設備上本地地取回地理定位信息,并且利用所述地理定位信息以使得各種動作被執行。例如,連通性模塊利用所述地理定位信息來識別特定的地理區域處的無線網絡,并且使得發起無線掃描以檢測無線網絡。
附圖說明
參考附圖描述了具體實施方式。在圖中,附圖標記的最左邊的數字標識了該附圖標記第一次出現所在的圖。在描述和圖中的不同的實例中使用的相同的附圖標記可以指代相似或相同的項。
圖1是用于采用在本文中所討論的技術的示例實現中的環境的示圖。
圖2示出了根據一個或多個實現的示例網絡表格。
圖3是描述了根據一個或多個實現的用于使得動作基于地理定位信息而被執行的方法中的步驟的流程圖。
圖4是描述了根據一個或多個實現的用于基于地理定位信息來執行動作的方法中的步驟的流程圖。
圖5是描述了根據一個或多個實現的用于針對至無線網絡的連接而進行準備的方法中的步驟的流程圖。
圖6是描述了根據一個或多個實現的用于選擇無線網絡的方法中的步驟的流程圖。
圖7是描述了根據一個或多個實現的用于刪除陳舊的網絡信息的方法中的步驟的流程圖。
圖8是描述了根據一個或多個實現的用于使得無線電設備轉換至非活動狀態的方法中的步驟的流程圖。
圖9示出了如參考圖1所描述的示例系統和計算設備,它們被配置為實現在本文中所描述的技術的實施例。
具體實施方式
概述
描述了針對無線網絡的地理信息的技術。根據各種實施例,移動設備上的連通性模塊登記以當地理定位信息在移動設備上可用時接收通知。例如,連通性模塊登記以在地理定位信息可用時接收喚醒事件,從而將連通性模塊從非活動狀態喚醒。通常而言,所述連通性模塊表示對移動設備的各種無線連通性任務進行管理的功能。
根據一個或多個實現,連通性模塊與針對信息的查詢無關地接收移動設備的地理定位信息。例如,當移動設備的另一功能(例如,應用和/或服務)取回地理定位信息時,連通性模塊被通知信息在設備上本地可用。根據各種實現,地理定位信息對應于所估計的移動設備的當前位置、和/或基于移動設備的軌跡和速度信息所估計的預計的未來位置。連通性模塊在設備上本地地取回地理定位信息,并且利用所述地理定位信息以使得各種動作被執行。
例如,連通性模塊利用地理定位信息來識別和選擇在與所述地理定位信息相對應的位置處可用的無線網絡。連通性模塊使得網絡掃描被執行以識別來自所述無線網絡的無線信號。例如,連通性模塊調度網絡掃描被執行以檢測無線網絡。可替代地或額外地,連通性模塊引導移動設備的無線功能激活其無線電設備并且針對無線網絡進行掃描。
根據各種實現,移動設備的連通性模塊被保持在非活動狀態,直到響應于在移動設備上本地可用的地理定位信息而接收到喚醒事件為止。此外,移動設備的無線功能(例如,無線電設備)被保持在非活動狀態(例如,關閉),直到連通性模塊在特定的位置處識別到可用的無線網絡,并且使得所述無線功能激活并且針對無線網絡進行掃描為止。因此,可以節約移動設備的各種資源,例如,電池壽命、處理資源、無線通信資源等。
例如,無線電設備被保持在非活動狀態直到地理定位信息被接收并且關聯于特定的位置處的已知可用的無線網絡為止,而不是使得無線電設備執行開放掃描以嘗試識別可用的無線網絡。此時,無線電設備被激活以針對已知可用的無線網絡進行搜索。以下提供了在本文中所討論的技術的各種其他細節。
根據各種實現,針對至無線網絡的連通性的準備可以提前進行,例如,在無線網絡被檢測到之前和/或在無線網絡在范圍內之前。例如,加載無線網絡的網絡簡檔,其是基于地理定位信息而被標識的并且是在無線網絡被檢測到之前被標識的。通常而言,網絡簡檔包括連通性信息,例如,無線網絡的網絡標識符、無線網絡的認證信息等。從而,使連通性信息可用以使得當無線網絡被檢測到(例如,基于無線廣播掃描)時,連通性信息是現成的。因此,降低了針對連接過程的連接時間和系統資源使用。
在以下的討論中,首先描述了用于采用在本文中所描述的技術的示例環境。接著,題為“示例過程”的部分描述了根據一個或多個實施例的針對無線網絡的地理信息的示例過程。最后,題為“示例系統和設備”的部分描述了根據一個或多個實施例的用于采用在本文中所討論的技術的示例系統和設備。
示例環境
圖1是用于采用根據一個或多個實現的針對無線網絡的地理信息的技術的示例實現中的環境100的示圖。環境100可以包括可以被實施為任何合適的設備的客戶端設備102,其包括但不限于,智能電話、可穿戴設備、平板計算機、便攜式計算機(例如,膝上型計算機)、臺式計算機等。以下在圖8中示出并描述了客戶端設備102的多種不同示例中的一個示例。
客戶端設備102包括操作系統104、無線模塊106、客戶端位置模塊108、連通性模塊110、網絡數據庫(db)112、以及應用114。通常而言,操作系統104代表用于對客戶端設備102進行管理的功能并且可以使用任何合適的指令格式來實現。根據各種實現,操作系統104抽象客戶端設備102的各種資源以使得各種實體能夠訪問所述資源并且與所述資源進行交互。
無線模塊106代表用于使得客戶端設備102能夠與其他設備和/或實體無線地通信的功能。無線模塊106可以被配置以使能經由多種不同的無線技術和協議來進行數據通信。這樣的技術和/或協議的示例包括蜂窩通信(例如,3g、4g、長期演進(lte)等)、近場通信(nfc)、短距離無線連接(例如,藍牙)、局域無線網絡(例如,按照ieee802.11的一個或多個標準)、廣域無線網絡(例如,按照ieee802.16的一個或多個標準)、無線電話網絡等。
無線模塊106例如包括可以被采用以使得客戶端設備102能夠無線地通信的硬件組件和邏輯組件。這樣的無線硬件組件的示例包括無線電發射機、無線電接收機、天線的各種類型和組合等。在至少一些實施例中,客戶端設備102是可以經由不同的無線技術和/或協議來進行通信的多無線電設備。例如,無線模塊106包括無線電廣播設備116,其代表用于根據不同的無線技術和協議來發送和接收無線信號的硬件。
客戶端位置模塊108代表用于使得客戶端設備102能夠基于從其他設備接收的位置信息來確定自身位置的功能。客戶端位置模塊108例如可以從定位信息系統118接收位置信息,并且可以以各種方式處理所述位置信息來估計客戶端設備102的位置。定位信息的示例包括gps坐標、街道地址、網絡位置、關于蜂窩塔和/或一組蜂窩塔的位置等。
根據各種實現,客戶端設備102經由至一個或多個網絡120的連通性來無線地通信。通常而言,網絡120代表不同的經互連的網絡的組合。在至少一些實現中,網絡120包括可以用于無線通信的不同部分的無線電頻譜。網絡120例如可以包括蜂窩網絡、無線寬帶網絡(例如,wifitm)、衛星通信網絡、短距離無線網絡(例如,藍牙、近場通信(nfc)等)等。網絡120還可以表示無線網絡和有線網絡的組合,并且可以以多種方式被配置,例如廣域網(wan)、局域網(lan)、互聯網等。從而,可以經由諸如無線寬帶、藍牙、蜂窩等之類的多種不同技術(有線的和無線的)來實現客戶端設備102與其他設備之間的通信。
連通性模塊110代表用于對客戶端設備102的各種無線連通性任務進行管理的功能。如在下文中進一步詳述的,連通性模塊110可以利用由客戶端設備102所檢測到的定位信息來執行有關連通性的不同任務。例如,連通性模塊110執行在本文中所討論的針對無線網絡的地理信息的技術的各種方面。
根據各種實現,網絡db112代表用于取回和存儲關于不同網絡120的網絡信息的功能。網絡db112例如存儲針對個體網絡120的標識符,例如服務集標識符(ssid)以及其他類型的網絡標識符。
網絡db112還與具有不同的位置信息的個體網絡120相關,所述位置信息例如客戶端設備102在其處可以連接至不同的網絡120的地理位置。例如,網絡db112包括連通性范圍映射,其與具有特定的地理范圍(在該范圍中,至個體網絡的無線連通性的質量是可接受的,例如,超過閾值信號質量和/或信號強度)的個體網絡120相關。
網絡db112還存儲針對不同網絡120的認證信息。這樣的認證信息的示例包括網絡密鑰、網絡密碼、網絡賬戶的用戶名、由個體網絡所利用的認證協議等。通常而言,所述認證信息支持至各種網絡120的連通性。
網絡db112可以存儲網絡120的多種其他信息,例如,網絡類型、網絡服務提供者標識符、歷史網絡質量等。
應用114通常代表用于經由客戶端設備102來執行各種任務的功能。如在本文中所使用的,術語“應用”可以指的是本地地運行的應用和/或在分布式環境中運行的應用,以及諸如本地服務、網絡服務、基于云的服務等之類的服務。應用114的示例包括文字處理應用、網絡瀏覽器、電子郵件客戶端、通信服務、電子表格應用、內容編輯應用、基于網絡的服務入口、地理位置服務等。
根據一個或多個實現,可以從網絡信息服務122取回網絡db112的信息。通常而言,網絡信息服務122代表針對網絡120的信息的網絡可訪問的資源,并且可以以諸如云服務、由網絡服務提供者所實現的服務、單獨的服務等之類的各種方式來實現。
出于在本文中討論的目的,各種實體可以以復數實現和單數實現兩者被引用。從而,對單數實現的引用是指復數實現的實例。
圖2示出了根據一個或多個實現的示例網絡表格200。網絡表格200例如被實現為網絡db112的一部分以使得連通性模塊110能夠利用網絡信息來執行客戶端設備102的有關連通性的各種任務。
網絡表格200包括網絡標識符(id)列202、認證信息列204、認證協議列206、地理范圍列208、以及網絡偏好列210。僅僅出于示例的目的而呈現了不同網絡信息的這些示例,并且應當理解的是,可以追蹤和利用根據在本文中所公開的實現的各種其他類型的網絡信息。
通常而言,網絡表格200中的不同的行表示不同無線網絡的簡檔。例如,網絡簡檔212表示無線網絡abc的網絡簡檔。現在來討論包括在不同網絡簡檔中的信息的示例。
網絡id列202包括針對不同無線網絡(例如,針對網絡120)的標識符。可以采用各種類型的標識符,例如網絡名稱、網絡ssid、互聯網協議(ip)地址等。通常而言,網絡表格200的個體的行與在網絡id列202中所標識的不同網絡的網絡簡檔相對應。
認證信息列204包括不同網絡的認證信息,例如網絡密鑰、密碼、用戶名等。認證協議列206標識由不同網絡所利用的認證協議,以及特定的網絡是否利用認證。例如,一些網絡是開放的并且因此可以不利用認證協議。
地理范圍列208包括標識不同無線網絡的地理區域的地理信息。例如,地理范圍列208包括描述至特定的無線網絡的連通性在其中可用的地理區域的gps坐標和/或其他地理信息。作為示例,網絡abc的“abc_geographiccoordinates”可以定義至網絡abc的連通性在其內可用和/或在可接受的信號強度和/或信號質量范圍內的地理區域的邊界。
網絡偏好列210標識某些無線網絡是否是優選于其他網絡的。例如,特定的地理區域可以具有在網絡表格200中所標識的多個可用的無線網絡。在這樣的情況下,在偏好列210中被標識為優選的可用的網絡被給予了超過不是優選的另一可用的網絡的針對設備(例如,客戶端設備102)的網絡連通性的偏好。
網絡偏好可以基于各種因素,例如歷史信號強度(例如,具有較高歷史信號強度的網絡優選于具有較低歷史信號強度的網絡)、歷史信號質量(例如,具有較高歷史信號質量的網絡優選于具有較低歷史信號質量的網絡)、連接至網絡的成本(例如,具有較低連接成本(例如,連接的性價比)的網絡優選于具有較高連接成本的網絡)、網絡是否已知是安全的(例如,較安全的網絡優選于較不安全的網絡)等。
在至少一些實現中,存儲在網絡表格200中的網絡信息是從網絡信息服務122取回的。例如,客戶端設備102可以針對網絡信息而對網絡信息服務122進行查詢。可替代地或額外地,網絡信息服務122可以將網絡信息下推至客戶端設備,例如與由客戶端設備102針對網絡信息的查詢無關。從而,在至少一些實現中,連通性模塊110可以從網絡表格200清除舊數據(例如,陳舊的網絡信息),并且可以用從網絡信息服務122所接收的當前的網絡信息來更新網絡表格200。
在已經描述了在其中可以操作在本文中所描述的技術的示例環境之后,現在考慮根據一個或多個實現的一些示例過程。
示例過程
該部分描述了用于執行在本文中所討論的針對無線網絡的地理信息的技術的不同方面的一些示例過程。在本文中所描述的過程可以整體或部分地彼此分離地或者結合地使用。這些過程被示出為例如通過一個或多個實體或模塊所執行的多組操作(或動作),并且不限于所示出的用于執行所述操作的順序。可以在圖1的環境100、圖8的系統800、和/或其他合適的環境中采用所述示例過程。在至少一些實現中,所描述的針對各種過程的步驟是自動地并且與用戶交互無關地實現的。
圖3是根據一個或多個實現的描述了用于使得動作基于地理定位信息而被執行的方法中的步驟的流程圖。在至少一些實現中,所述方法是由客戶端設備102(例如,由連通性模塊110)執行的。
步驟300登記以接收地理定位信息在設備上可用的通知。例如,連通性模塊110向客戶端設備102的功能(例如,操作系統104)登記以當地理定位信息在客戶端設備102上本地可用時接收通知。在至少一些實現中,所述登記包括請求將喚醒事件傳送至連通性模塊110以將連通性模塊110從非活動狀態喚醒至活動狀態,從而使得連通性模塊110可以取回地理定位信息并且使得動作基于所述地理定位信息而被執行。因此,喚醒事件可以被配置為地理定位信息在設備上本地可用的指示。
步驟302接收地理定位信息在設備上可用的指示。連通性模塊110例如從客戶端設備102的功能(例如,操作系統104)接收客戶端設備102的地理定位信息可用的通知。在至少一些實現中,通知采取將連通性模塊110從非活動狀態喚醒并且通知連通性模塊地理定位信息可用的喚醒事件的形式。
根據各種實現,地理定位信息是基于來自除了連通性模塊110之外的功能的請求而在客戶端設備102上取回的。例如,應用114可以請求位置信息以確定客戶端設備102的地理位置、客戶端設備102移動的方向、客戶端設備102移動的速率等。響應于所述請求,客戶端位置模塊108針對客戶端設備的地理定位信息(例如,gps坐標、地理地點名稱、物理地址等)而對定位信息系統118進行查詢。定位信息系統118將地理定位信息返回至客戶端設備102以使得地理定位信息本地地可用于客戶端設備102的不同功能,例如連通性模塊110。
從而,在至少一些實現中,連通性模塊110不發起針對地理定位信息的直接請求,但是被配置為取回并利用由其他功能取回并使其本地可用的地理定位信息。例如,地理定位信息可用的指示是由連通性模塊110接收的,其與由連通性模塊110針對地理定位信息的查詢無關。
步驟304從設備本地的位置取回地理定位信息。例如,連通性模塊110從客戶端設備102的另一功能(例如,客戶端位置模塊108、操作系統104等)接收地理定位信息。
步驟306響應于取回了地理定位信息而執行動作。與所選擇的無線網絡相關的各種動作是可執行的,在以下的過程中詳述了其示例。
步驟308轉換至非活動狀態直到接收到進一步的地理定位信息為止。例如,在響應于取回了地理定位信息而執行和/或發起了各種動作之后,連通性模塊110轉換至非活動狀態直到接收到對進一步的地理定位信息的通知為止。在非活動狀態中,連通性模塊110可以被配置為接收喚醒事件以變得活動,但是可以不主動地發起其他動作。
如圖所示,當接收到對進一步的地理定位信息的指示(例如,傳送至連通性模塊110的喚醒事件)時,過程可以返回至步驟302。
圖4是根據一個或多個實現的描述了用于基于地理定位信息來執行動作的方法中的步驟的流程圖。所述方法例如描述了參考圖3在上文中所描述的步驟306的示例實現。在至少一些實現中,所述方法是由客戶端設備102(例如,由連通性模塊110)執行的。
步驟400確定設備當前是否連接至無線網絡。連通性模塊110例如對無線模塊106和/或操作系統104進行查詢以確定客戶端設備102當前是否連接至無線網絡。
如果設備當前不連接至無線網絡(“否”),則步驟402確定無線網絡是否在由地理定位信息所標識的位置處可用。例如,地理定位信息表示如參考圖3在上文中所描述的那樣取回的定位信息。連通性模塊110例如對具有地理定位信息的網絡db112進行搜索以確定無線網絡在由地理定位信息所標識的位置(例如,地理位置)處是否可用。
可替代地或額外地,連通性模塊110對具有地理定位信息的網絡信息服務122進行查詢。例如,連通性模塊110將地理定位信息傳送至網絡信息服務122,網絡信息服務122返回指示無線網絡是否可用的信息,并且如果可用,則返回關于可用的無線網絡的信息。連通性模塊110將關于可用的無線網絡的信息作為網絡db112的一部分來存儲。因此,在至少一些實現中,客戶端設備102不需要本地地保存全面的無線網絡信息,并且可以利用網絡信息服務122來提供這樣的信息。
如果無線網絡在所述位置處不可用(“否”),則步驟404將設備的無線電廣播設備保持在非活動狀態中。例如,客戶端設備102的無線電廣播設備116中的一個或多個無線電廣播設備被保持在非活動(例如,關閉)狀態中。根據一個或多個實現,當接收到新的地理定位信息時,過程可以返回至步驟402以確定無線網絡是否可用。例如,當客戶端設備102正在移動(例如,與旅行中的用戶一起)時,接收指示客戶端設備的不同位置的新的地理定位信息。
如果無線網絡在所述位置處可用(“是”),則步驟406選擇在由地理定位信息所標識的位置處可用的無線網絡。連通性模塊110例如對具有地理定位信息的網絡db112進行搜索以識別在由地理定位信息所標識的位置(例如,地理位置)處可用的無線網絡。可替代地或額外地,連通性模塊110對具有地理定位信息的網絡信息服務122進行查詢,并且網絡信息服務122返回標識一個或多個可用的無線網絡的信息、以及所述無線網絡的屬性。
在至少一些實現中,加載所選擇的無線網絡的網絡簡檔以使能至所述無線網絡的連接。例如,連通性模塊110從網絡db112取回網絡簡檔,并且將來自網絡簡檔的信息提供至諸如無線模塊106和/或操作系統104之類的功能。如在上文中所引用的,網絡簡檔包括關于所選擇的網絡的各種信息,例如,網絡id、用于連接至無線網絡的認證信息等。因此,在對至無線網絡的連接進行協商時所涉及的實體利用來自網絡簡檔的信息來建立至無線網絡的連接。
根據各種實現,在所述網絡被檢測到之前和/或在客戶端設備102處于網絡的連通性范圍中之前,由連通性模塊110加載所選擇的網絡的網絡簡檔。因此,可以進行針對至無線網絡的即將到來的連通性的準備以加速連通性過程。
步驟408調度網絡掃描來檢測無線網絡。連通性模塊110例如通知無線模塊106發起網絡掃描(例如,經由無線電設備116中的一個或多個)來檢測所選擇的無線網絡。在至少一些實現中,通知引導無線模塊106立即或者在未來的時間處發起網絡掃描。
例如,考慮客戶端設備102在運動中(例如,與旅行中的用戶一起)的場景。從而,連通性模塊110基于地理定位信息確定客戶端設備102當前不在無線網絡的范圍中。然而,基于用戶的當前軌跡和速度,連通性模塊110估計客戶端設備102將很可能在具體的時間段的范圍內。從而,連通性模塊110調度網絡掃描在具體的時間段結束后和/或在特定的時間間隔內被發起。因此,通過延遲網絡掃描直到客戶端設備102在已知的無線網絡的范圍內為止來節省電池電力。從而,在至少一些實現中,當網絡當前沒有被設備檢測到時進行對網絡掃描的調度,例如,當設備的無線電設備處于非活動狀態時。
步驟410使得設備的無線電設備從非活動狀態轉換至活動狀態以針對無線網絡進行掃描。在至少一些實現中,使得無線電設備從非活動狀態轉換至活動狀態是經調度的網絡掃描的結果。
步驟412取回無線網絡的認證信息。認證信息的示例在上文中被描述,并且通常包括可以用于針對對特定的無線網絡的訪問而認證客戶端設備102的一個或多個認證因素。認證信息例如是從網絡表格200和/或網絡信息服務122取回的。
步驟414傳送用于連接至無線網絡的認證信息。例如,連通性模塊110將認證信息傳送至無線模塊106。接著,無線模塊106將認證信息傳送至所選擇的無線網絡以認證和建立與所選擇的無線網絡的無線連通性。例如,無線模塊執行網絡關聯過程以與無線網絡進行關聯,從而使得客戶端設備102經由所述無線網絡無線地發送和接收數據。
返回至步驟400,如果設備當前連接至無線網絡(“是”),則步驟416確定當前的無線網絡是否是優選的無線網絡。連通性模塊110例如將當前的無線網絡的網絡id與網絡db112進行比較以確定當前的無線網絡是否被標識為優選的無線網絡。如果當前的無線網絡是優選的無線網絡(“是”),則步驟418確定至當前的無線網絡的連接是要維持的。
如果當前的無線網絡不是優選的無線網絡(“否”),則步驟420確定優選的無線網絡在由地理定位信息所標識的位置處是否可用。連通性模塊110例如搜索網絡db112和/或對具有地理定位信息的網絡信息服務122進行查詢,以確定優選的無線網絡在所述位置處是否可用。如果優選的無線網絡在所述位置處不可用(“否”),則方法返回至步驟418。
如果優選的無線網絡在所述位置處可用(“是”),則步驟422使得設備從當前的無線網絡切換至優選的無線網絡。例如,連通性模塊110引導無線模塊106從當前的無線網絡斷開并且與優選的無線網絡連接。在至少一些實現中,連通性模塊110從網絡db112和/或網絡信息服務112取回優選的無線網絡的認證信息,并且將所述認證信息傳送至無線模塊106以用于連接至優選的無線網絡。因此,無線模塊106繼續從當前的無線網絡斷開,并且連接至優選的無線網絡。
圖5是描述了根據一個或多個實現的用于針對至無線網絡的連接而進行準備的方法中的步驟的流程圖。所述方法例如描述了參考圖3在上文中所描述的步驟306的示例實現。在至少一些實現中,所述方法是由客戶端設備102(例如,由連通性模塊110)執行的。
步驟500基于地理定位信息來識別無線網絡。例如,連通性模塊110對具有地理定位信息的網絡db112進行搜索以識別能夠在由所述地理定位信息所標識的地理區域中提供無線連通性的無線網絡。可替代地或額外地,連通性模塊110對具有地理定位信息的網絡信息服務122進行查詢,并且請求能夠在由所述地理定位信息所標識的地理區域中提供無線連通性的一個或多個無線網絡的信息。
在至少一些實現中,所述無線網絡被標識為當前處于客戶端設備102的范圍內的無線網絡。例如,地理定位信息與客戶端設備102的當前位置相對應。在另一實現中,無線網絡被標識為將在未來的時間處于客戶端設備102的范圍中的無線網絡。作為示例,考慮到客戶端設備102在運動中(例如,與在旅行中的用戶一起)。從而,地理信息可以包括客戶端設備102的速度和軌跡信息,其可以用于識別被預測為在未來的時間處于范圍中的一個或多個無線網絡。所述未來的時間可以是以各種單位測量的,例如,秒、分等。
步驟502準備連接至無線網絡。連通性模塊110例如從位于網絡db112中的無線網絡的網絡簡檔加載無線網絡的連通性信息。可替代地或額外地,連通性模塊110從網絡信息服務122取回連通性信息。通常而言,所述連通性信息包括使能夠建立與無線網絡的無線連接的信息。連通性信息的示例在上文中被詳述,并且通常包括網絡id、認證信息等。
根據各種實現,連通性模塊110將連通性信息提供至負責對至無線網絡的連接進行協商的功能,例如,無線模塊106、操作系統104等。
步驟504使得至無線網絡的連接被建立。例如,連通性模塊110向無線模塊106發信號通知客戶端設備102處于無線網絡的范圍中,并且因此無線模塊106將針對無線網絡進行掃描。此外,連通性模塊110通知無線模塊106利用連通性信息以連接至無線網絡。
可替代地或額外地,連通性模塊110可以通知無線模塊106客戶端設備將在未來的時間(例如,在幾秒后、幾分鐘后、在特定的時鐘時刻等)處于無線網絡的范圍中。因此,無線模塊106可以調度針對無線網絡的掃描以在未來的時間處被執行并且利用連通性信息。
因此,在本文中所討論的實現使得針對至無線網絡的連通性的準備能夠提前進行,例如,在檢測到無線網絡之前和/或在無線網絡在范圍中之前。從而,當檢測到無線網絡時,客戶端設備102已經準備好連接至網絡,因此降低在連接過程期間的連接時間和資源使用。
圖6是描述了根據一個或多個實現的用于選擇無線網絡的方法中的步驟的流程圖。所述方法例如描述了參考圖3-圖5在上文中所描述的方法的示例擴展。例如,所述方法描述了圖4的步驟406和/或圖5的步驟500的實現。在至少一些實現中,所述方法是由客戶端設備102(例如,由連通性模塊110)執行的。
步驟600確定多個無線網絡被標識為在特定的位置處可用。連通性模塊110例如搜索網絡db112和/或對具有地理定位信息的網絡信息服務122進行查詢,并且確定多個無線網絡在由地理定位信息所標識的位置處可用。
步驟602基于作為優選網絡的網絡來選擇多個無線網絡中的網絡。因此,可以基于網絡偏好而從多個無線網絡中選擇特定的無線網絡,例如,先于非優選的無線網絡而選擇優選的無線網絡。參考網絡表格200在上文中討論了在確定無線網絡是否是優選的時所考慮的示例因素。
圖7是描述了根據一個或多個實現的用于刪除陳舊的網絡信息的方法中的步驟的流程圖。所述方法例如描述了參考圖3-圖6在上文中所描述的方法的示例擴展。在至少一些實現中,所述方法是由客戶端設備102(例如,由連通性模塊110)執行的。
步驟700確定設備上的網絡信息是針對在設備的當前位置處不可用的一個或多個網絡的。例如,連通性模塊110確定在客戶端設備102的當前的地理位置處不可用的一個或多個無線網絡的網絡信息被存儲在客戶端設備102上。網絡信息例如與在客戶端設備102的一個或多個先前的(例如,歷史)位置處可用的無線網絡相對應。因此,所述網絡信息可以被認為是“陳舊的”,這是因為其與客戶端設備102的當前的地理位置不相關。
步驟702從設備上刪除網絡信息。連通性模塊110例如使得陳舊的網絡信息從網絡db112上被刪除。從而,通過釋放由陳舊的網絡信息所占據的存儲空間來節省客戶端設備102的數據存儲空間。
圖8是描述了根據一個或多個實現的用于使得無線電設備轉換至非活動狀態的方法中的步驟的流程圖。所述方法例如描述了參考圖3-7在上文中所描述的方法的示例擴展。在至少一些實現中,所述方法是由客戶端設備102(例如,由連通性模塊110)執行的。
步驟800接收進一步的地理定位信息。連通性模塊110例如取回與先前接收的地理定位信息不同的進一步的地理定位信息。根據各種實現,地理定位信息指示客戶端設備102已經從先前的地理位置移動至不同的地理位置。
步驟802確定合適的無線網絡在由進一步的地理定位信息所標識的位置處不可用。例如,連通性模塊110搜索網絡db112和/或對具有進一步的地理定位信息的網絡信息服務122進行查詢,并且確定合適的無線網絡是不可用的。在至少一些實現中,這指示無線網絡在所述位置處不可用。
可替代地,這指示無線網絡是可用的,但是無線網絡不滿足用于將無線網絡標識為適合于連通性的一個或多個連通性標準。這樣的連通性標準的示例包括最小網絡安全性過程、最小信號強度和/或信號質量、最大連通性成本(例如,網絡連通性的價格)等。因此,無線網絡可以是可用的,但是可能由于無線網絡無法滿足一個或多個連通性標準而被確定為不合適的。
步驟804使得無線電設備從活動狀態轉換至非活動狀態。連通性模塊110例如響應于確定合適的無線網絡不可用而使得無線電設備116中的一個或多個無線電設備轉換至非活動狀態。因此,通過在合適的無線網絡不可用時使得無線電設備不活動而節省電池電力。否則,無線電設備可以繼續針對無線網絡進行掃描,這降低了設備的電池壽命。
根據各種實現,過程可以響應于接收到額外的地理定位信息而返回至圖3的步驟302。如果基于額外的地理定位信息而識別出合適的無線網絡,則可以執行動作來建立至合適的無線網絡的連通性,所述動作例如,激活無線電設備以及在上文中詳述的其他動作。
因此,在本文中所討論的技術提供了針對支持無線的設備的多種性能優化。例如,被配置為管理無線連通性的功能(例如,連通性模塊110)被保持在非活動狀態直到地理定位信息可用為止,因此,節省將用于將功能保存在活動狀態中的電力和處理資源。作為另一示例,基于在特定的地位位置處可用的無線網絡的知識來調度對可用的無線網絡的掃描,因此,防止在合適的無線網絡不存在的位置處進行開放掃描。作為另一示例,設備的無線電設備可以被保持在非活動狀態直到設備位于已知具有一個或多個合適的無線網絡的地理位置處。
在討論了一些示例過程之后,現在考慮根據一個或多個實施例的對示例系統和設備的討論。
示例系統和設備
圖9在900處一般性地示出了示例系統,其包括代表可以實現在本文中所描述的各種技術的一個或多個計算系統和/或設備的示例計算設備902。例如,可以將參考圖1在上文中所討論的客戶端設備102實施為計算設備902。計算設備902可以是例如服務提供商的服務器、與客戶端相關聯的設備(例如,客戶端設備)、片上系統、和/或任何其他合適的計算設備或計算系統。
如圖所示的示例計算設備902包括彼此通信地耦合的處理系統904、一個或多個計算機可讀介質906、以及一個或多個i/o接口908。盡管未示出,計算設備902還可以包括將各種組件彼此耦合的系統總線或其他數據和命令傳輸系統。系統總線可以包括不同的總線結構中的任何一個或組合,所述不同的總線結構例如存儲器總線或存儲器控制器、外圍總線、通用串行總線、和/或使用多種總線架構中的任何一種的處理器或本地總線。還可以構想多種其他示例,例如,控制和數據線。
處理系統904代表用于使用硬件來執行一個或多個操作的功能。從而,處理系統904被示出為包括可以被配置為處理器、功能塊等的硬件元件910。這可以包括以硬件來作為專用集成電路或者使用一個或多個半導體形成的其他邏輯設備的實現。硬件元件910不由形成其的材料或者其中所采用的處理機制來限制。例如,處理器可以由半導體和/或晶體管(例如,電子集成電路(ic))構成。在這樣的上下文中,處理器可執行指令可以是電子可執行指令。
計算機可讀介質906被示出為包括存儲器/存儲設備912。存儲器/存儲設備912表示與一個或多個計算機可讀介質相關聯的存儲器/存儲設備容量。存儲器/存儲設備912可以包括易失性介質(例如,隨機存取存儲器(ram))和/或非易失性介質(例如,只讀存儲器(rom)、閃速存儲器、光盤、磁盤等)。存儲器/存儲設備912可以包括固定的介質(例如,ram、rom、固定的硬盤驅動器等)以及可移動介質(例如,閃速存儲器、可移動硬盤驅動器、光盤等)。計算機可讀介質906可以以如在下文中所進一步描述的多種其他的方式來配置。
輸入/輸出接口908代表用于允許用戶向計算設備902輸入命令和信息,并且還允許利用各種輸入/輸出設備向用戶和/或其他組件或設備呈現該信息的功能。輸入設備的示例包括鍵盤、光標控制設備(例如,鼠標)、麥克風(用于實現語音和/或話音輸入)、掃描儀、觸摸功能(例如,被配置以對物理接觸進行檢測的電容或其他傳感器)、相機(例如,可以采用可見或非可見波長(例如,紅外頻率)來檢測運動不包含作為手勢的觸摸的)等。輸出設備的示例包括顯示設備(例如,監視器或投影儀)、揚聲器、打印機、網絡卡、觸覺反應設備等。因此,計算設備902可以用如在下文中所進一步描述的多種方式被配置以支持用戶交互。
可以在本文中在軟件、硬件元件、或程序模塊的一般性的上下文中描述各種技術。通常而言,這樣的技術包括執行特定的任務或實現特定的抽象數據類型的例程、程序、對象、元件、組件、數據結構等。如在本文中所使用的術語“模塊”、“功能”、和“組件”通常表示軟件、固件、硬件、或其組合。在本文中所描述的技術的特征是與平臺無關的,意思是可以在具有多種處理器的多種商業計算平臺上實現這些技術。
所描述的模塊和技術的實現可以存儲在一些形式的計算機可讀介質上或者跨一些形式的計算機可讀介質傳輸。計算機可讀介質可以包括可以由計算設備902訪問的多種介質。作為示例而非限制,計算機可讀介質可以包括“計算機可讀存儲介質”和“計算機可讀信號介質”。
“計算機可讀存儲介質”可以指的是與僅僅是信號傳輸、載波、或信號本身相反的支持信息的持續存儲的介質和/或設備。計算機可讀存儲介質不包括信號本身。計算機可讀存儲介質包括以適合于存儲信息(例如,計算機可讀指令、數據結構、程序模塊、邏輯元件/電路、或其他數據)的方法或技術實現的硬件,例如易失性和非易失性、可移動和不可移動介質和/或存儲設備。計算機可讀存儲介質的示例可以包括但不限于,ram、rom、eeprom、閃速存儲器、或者其他存儲器技術、cd-rom、數字通用盤(dvd)或其他光存儲、硬盤、盒式磁帶、磁帶、磁盤存儲或其他磁存儲設備、或者其他存儲設備、有形的介質、或者適合于存儲期望的信息并且可以由計算機訪問的制品。
“計算機可讀信號介質”可以指的是被配置以將指令傳輸(例如,經由網絡)至計算機設備902的硬件的信號承載介質。信號介質通常可以實施計算機可讀指令、數據結構、程序模塊、或經調制的數據信號中的其他數據,例如,載波、數據信號、或其他傳輸機制。信號介質還包括任何信息傳遞介質。術語“經調制的數據信號”意指將其特征中的一個或多個以將信息編碼在信號中的方式來設置或改變的信號。作為示例而非限制,通信介質包括有線介質(例如,有線網絡或直接連接)和無線介質(例如,聲學、rf、紅外、和其他無線介質)。
如前所述,硬件元件911和計算機可讀介質906代表以硬件形式實現的指令、模塊、可編程設備邏輯和/或固定的設備邏輯,其可以在一些實施例中被采用以實現在本文中所描述的技術中的至少一些方面。硬件元件可以包括集成電路或片上系統的組件、專用集成電路(asic)、現場可編程門陣列(fpga)、復雜可編程邏輯設備(cpld)、以及硅或其他硬件設備中的其他實現。在該上下文中,硬件元件可以運行為執行由指令、模塊、和/或邏輯所定義的程序任務的處理設備,所述指令、模塊和/或邏輯由被使用以存儲指令以用于執行的硬件元件以及硬件設備(例如,之前所描述的計算機可讀存儲介質)來實施。
也可以采用上述的組合來實現在本文中所描述的各種技術和模塊。從而,軟件、硬件、或程序模塊和其他程序模塊可以被實現為在某種形式的計算機可讀存儲介質上實施和/或由一個或多個硬件元件910實施的一個或多個指令和/或邏輯。計算設備902可以被配置以實現對應于軟件和/或硬件模塊的特定的指令和/或功能。從而,能夠由計算設備902作為軟件執行的模塊作為模塊的實現可以至少部分地以硬件(例如,通過對處理系統的計算機可讀存儲介質和/或硬件元件910的使用)來完成。指令和/或功能可以由制品(例如,一個或多個計算設備902和/或處理系統904)執行/操作以實現在本文中所描述的技術、模塊、和示例。
如在圖9中進一步示出的,當在個人計算機(pc)、電視設備、和/或移動設備上運行應用時,示例系統900支持針對無縫的用戶體驗的普遍的環境。對于當在使用應用程序、玩可視游戲、觀看視頻等的過程中從一個設備轉移到下一個時的普通的用戶體驗而言,服務和應用在所有三種環境中大體相似地運行。
在示例系統900中,多個設備通過中央計算設備被互連。中央計算設備可以對于多個設備來說是本地的或者可以與多個設備遠程地定位。在一個實施例中,中央計算設備可以是通過網絡、互聯網、或其他數據通信鏈路連接至多個設備的一個或多個服務器計算機的云。
在一個實施例中,該互連架構支持待跨多個設備而被傳遞以向多個設備的用戶提供共同和無縫的體驗的功能。多個設備中的每個都可以具有不同的物理要求和能力,并且中央計算設備使用平臺以使能夠將既針對該設備定制并且還對所有設備共同的體驗傳遞至設備。在一個實施例中,創建了一類目標設備,并且針對一般類型的設備來定制體驗。可以由設備的物理特征、使用類型、或者其他共同的特性來定義設備的類。
在各種實現中,計算設備902可以假設多種不同的配置,例如,以供計算機914、移動916、以及電視918使用。這些配置中的每個都包括可以具有一般不同結構和能力的設備,并且因此計算設備902可以根據不同的設備類中的一個或多個而被配置。例如,計算設備902可以被實現為設備的計算機914類,該類包括個人計算機、臺式計算機、多屏幕計算機、膝上型計算機、上網本等。
計算設備902還可以被實現為設備的移動916類,該類包括移動設備,例如,移動電話、可穿戴設備、便攜式音樂播放機、便攜式游戲設備、平板計算機、多屏幕計算機等。計算設備902還可以被實現為設備的電視918類,其包括具有或連接至隨意查看環境中的通常較大的屏幕的設備的。這些設備包括電視、機頂盒、游戲控制器等。
在本文中所描述的技術可以由計算設備902的這些各種配置支持,并且不限于在本文中所描述的技術的具體的示例。例如,參考客戶端設備102和/或信息服務122所討論的功能可以全部或部分地通過對分布式系統的使用(例如,如在下文中所描述的通過經由平臺922的“云”920)而被實現。
云920包括和/或代表資源924的平臺922。平臺922提取了云920的硬件(例如,服務器)和軟件資源的基礎功能。資源924可以包括當在遠程于計算設備902的服務器上執行計算機處理時可以被使用的應用和/或數據。資源924還可以包括通過互聯網和/或通過訂閱者網絡(例如,蜂窩或wi-fitm網絡)提供的服務。
平臺922可以提取資源和功能以將計算設備902與其他計算設備進行連接。平臺922還可以用來提取資源的放縮,以對針對經由平臺922所實現的資源924的所遇到的需求而提供對應的放縮等級。從而,在經互連的設備實施例中,在本文中所描述的功能的實現可以遍布系統900而分布。例如,功能可以被部分地在計算設備902上被實現,以及經由提取云920的功能的平臺922而被實現。
在本文中所討論的是可以被實現以執行在本文中所討論的技術的多個方法。可以以硬件、固件、或軟件或其組合來實現所述方法的方面。所述方法被示出為一組框,其指定由一個或多個設備所執行的操作,并且非必須限于所示出的由相應的框執行操作的順序。此外,關于特定方法所示出的操作可以與根據一個或多個實現的不同方法的操作組合和/或交換。可以經由在上文中關于環境100所討論的各種實體之間的交互來實現所述方法的方面。
在本文中所討論的實現包括:
示例1:一種系統,包括:一個或多個處理器;以及存儲計算機可執行的指令的計算機可讀存儲介質,所述計算機可執行指令能夠由所述一個或多個處理器執行以執行以下操作,包括:接收地理定位信息在設備上可用的指示;從所述設備本地的位置取回所述地理定位信息;以及響應于取回所述地理定位信息而執行一個或多個動作,所述動作包括:選擇在由所述地理定位信息所標識的位置處可用的無線網絡;以及調度網絡掃描來檢測所述無線網絡。
示例2:如在示例1中所描述的系統:其中,地理定位信息可用的所述指示包括針對執行所述操作的功能的喚醒事件。
示例3:如在示例1或2中的一個或多個中所描述的系統,其中,地理定位信息可用的所述指示與針對所述地理定位信息的查詢無關。
示例4:如在示例1-3中的一個或多個中所描述的系統,其中,所述地理定位信息是由第一功能取回的,并且其中,地理定位信息可用的所述指示是由第二功能接收的并且與由所述第二功能針對所述地理定位信息的查詢無關。
示例5:如在示例1-4中的一個或多個中所描述的系統,其中,所述系統包括移動設備,并且其中,地理定位信息可用的所述指示是由所述移動設備的功能從所述移動設備的操作系統接收的,并且與由所述功能針對所述地理定位信息的查詢無關。
示例6:如在示例1-5中的一個或多個中所描述的系統,其中,所述選擇包括使用所述地理定位信息來查詢遠程服務,并且從所述遠程服務接收所述無線網絡的身份信息。
示例7:如在示例1-6中的一個或多個中所描述的系統,其中,所述選擇包括使用所述地理定位信息來將所述無線網絡定位在將所述無線網絡關聯至相應的地理位置的數據庫,并且其中,所述操作還包括從所述數據庫刪除針對沒有被標識為在由所述地理定位信息所標識的位置處可用的一個或多個無線網絡的信息。
示例8:如在示例1-7中的一個或多個中所描述的系統,其中,所述選擇包括識別在所述位置處可用的多個無線網絡,并且其中,所述無線網絡是基于作為優選網絡的無線網絡而選擇的。
示例9:如在示例1-8中的一個或多個中所描述的系統,其中,所述調度所述網絡掃描包括調度所述網絡掃描以在未來的時間處進行。
示例10:如在示例1-9中的一個或多個中所描述的系統,其中,所述調度所述網絡掃描包括使得所述設備的無線電設備從非活動狀態轉換至活動狀態,并且針對所選擇的無線網絡進行掃描。
示例11:如在示例1-10中的一個或多個中所描述的系統,其中,所述調度所述網絡掃描在當前沒有由所述設備檢測到所述網絡時進行。
示例12:如在示例1-11中的一個或多個中所描述的系統,其中,所述操作還包括取回所述無線網絡的認證信息以用于連接至所述無線網絡。
示例13:如在示例1-12中的一個或多個中所描述的系統,其中,所述操作還包括使得所述無線網絡的連通性信息在所述無線網絡被檢測到之前被加載。
示例14:如在示例1-13中的一個或多個中所描述的系統,其中,所述操作還包括在所述接收地理定位信息在設備上可用的指示之前,登記以從所述設備的功能接收所述地理定位信息。
示例15:一種計算機實現的方法,包括:接收指示地理定位信息在設備上可用的喚醒事件;響應于所述喚醒事件而取回所述地理定位信息;以及響應于取回所述地理定位信息而執行一個或多個動作,所述動作包括:選擇在由所述地理定位信息所標識的位置處可用的無線網絡;以及使得所述設備的無線電設備從非活動狀態轉換至活動狀態以針對所述無線網絡進行掃描。
示例16:如在示例15中所描述的計算機實現的方法,其中,所述喚醒事件是由功能在所述功能處于非活動狀態時接收的,并且其中,所述方法還包括,在接收到所述喚醒事件之前,登記所述功能以響應于所述地理定位信息在所述設備上本地地可用而接收所述喚醒事件。
示例17:如在示例15或16中的一個或多個中所述的計算機實現的方法,其中,所述使得包括調度網絡掃描被執行以經由所述無線電設備而針對所述無線網絡進行掃描。
示例18:如在示例15-17中的一個或多個中所描述的計算機實現的方法,還包括:接收進一步的地理定位信息;確定合適的無線網絡在由所述進一步的地理定位信息所標識的位置處不可用;以及使得所述無線電設備響應于所述確定而從所述活動狀態轉換至所述非活動狀態。
示例19:存儲指令的一個或多個計算機可讀存儲介質,所述指令能夠由計算設備執行以執行以下操作,包括:取回在設備上本地可用并且與針對所述地理定位信息的查詢無關的地理定位信息;以及響應于取回所述地理定位信息而執行動作,所述動作包括以下中的至少一項:選擇在由所述地理定位信息所標識的位置處可用的無線網絡;調度網絡掃描來檢測所述無線網絡;或者使得無線電設備從非活動狀態轉換至活動狀態以針對所述無線網絡進行掃描。
示例20:如在示例19中所描述的一個或多個計算機可讀存儲介質,其中,所述操作還包括使得所述無線電設備保持在所述非活動狀態直到所述設備被確定為處于由所述地理定位信息所標識的位置處位置。
結論
描述了針對無線網絡的地理信息的技術。盡管以特定于結構特征和/或方法動作的語言來描述實施例,但是應當理解,所附權利要求中限定的實施例不一定限于所描述的特定特征或動作。相反,具體特征和動作被公開作為實現所要求保護的實施例的示例形式。