相關(guān)申請的交叉引用
本申請要求于2014年8月21日提交的美國專利申請S/N.14/465,693的權(quán)益,該申請要求于2014年7月25日提交的美國臨時專利申請S/N.62/029,278的權(quán)益,這兩篇申請通過援引整體納入于此。
公開領(lǐng)域
本公開一般涉及網(wǎng)絡(luò)上的數(shù)據(jù)傳輸,尤其涉及在計算設(shè)備之間同步應(yīng)用數(shù)據(jù)。
背景
移動設(shè)備是無處不在的并且可包括智能電話、平板、便攜式數(shù)字助理(PDA)、便攜式游戲控制臺、掌上型計算機(jī)、和其他便攜式電子設(shè)備。除這些設(shè)備的主要功能之外,許多設(shè)備包括外圍功能。例如,智能電話可包括進(jìn)行電話呼叫的主功能,以及玩游戲、相機(jī)、攝像機(jī)、全球定位系統(tǒng)(GPS)導(dǎo)航、web瀏覽、以及收發(fā)電子郵件的外圍功能。
應(yīng)用可以被安裝在移動設(shè)備上以提供這些外圍功能。在一示例中,應(yīng)用由第三方提供,并且用戶可以將應(yīng)用下載到移動設(shè)備上。在另一示例中,用戶接收移動設(shè)備,其中應(yīng)用已經(jīng)安裝在該移動設(shè)備上。移動應(yīng)用可以通過向遠(yuǎn)程服務(wù)器傳輸數(shù)據(jù)和/或從該遠(yuǎn)程服務(wù)器接收數(shù)據(jù)來與該遠(yuǎn)程服務(wù)器同步。例如,用戶可以使用移動應(yīng)用將照片或視頻上傳到該遠(yuǎn)程服務(wù)器。在此類示例中,數(shù)百或數(shù)千兆字節(jié)數(shù)據(jù)可以被傳輸?shù)胶蠖朔?wù)。即使數(shù)據(jù)傳輸可以在后臺中執(zhí)行,該數(shù)據(jù)傳輸也可以是數(shù)據(jù)繁重且耗時的。附加地,隨著同步移動應(yīng)用所花費(fèi)的時間增加,支持此類功能性所需要的處理功率也會增加。
簡要概述
本公開涉及網(wǎng)絡(luò)上的數(shù)據(jù)傳輸。提供了用于同步應(yīng)用數(shù)據(jù)的方法、系統(tǒng)和技術(shù)。
根據(jù)一些實(shí)施例,一種在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的方法包括,對于一個或多個網(wǎng)絡(luò)中的每個網(wǎng)絡(luò),收集關(guān)于移動設(shè)備的至相應(yīng)網(wǎng)絡(luò)的當(dāng)前連接性狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù)。該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。該方法還包括在該移動設(shè)備處檢測到當(dāng)前網(wǎng)絡(luò)的當(dāng)前連接。該方法進(jìn)一步包括比較一個或多個機(jī)會分?jǐn)?shù)以供同步應(yīng)用數(shù)據(jù)。該一個或多個機(jī)會分?jǐn)?shù)包括當(dāng)前網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)。該方法還包括基于該比較確定當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)。
根據(jù)一些實(shí)施例,一種用于在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的系統(tǒng)包括網(wǎng)絡(luò)度量記錄器,該網(wǎng)絡(luò)度量記錄器檢測移動設(shè)備與當(dāng)前網(wǎng)絡(luò)之間的當(dāng)前連接,以及收集關(guān)于移動設(shè)備的至相應(yīng)網(wǎng)絡(luò)的當(dāng)前連通性狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù)。該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。該系統(tǒng)還包括機(jī)會學(xué)習(xí)引擎,該機(jī)會學(xué)習(xí)引擎比較一個或多個機(jī)會分?jǐn)?shù)以供同步應(yīng)用數(shù)據(jù),以及基于該比較確定當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)。該一個或多個機(jī)會分?jǐn)?shù)包括當(dāng)前網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)。
根據(jù)一些實(shí)施例,計算機(jī)可讀介質(zhì)具有存儲于其上的計算機(jī)可執(zhí)行指令,用于執(zhí)行包括以下的操作:對于一個或多個網(wǎng)絡(luò)中的每個網(wǎng)絡(luò),收集關(guān)于移動設(shè)備的至相應(yīng)網(wǎng)絡(luò)的當(dāng)前連通性狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù),其中該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù);在該移動設(shè)備處檢測至當(dāng)前網(wǎng)絡(luò)的當(dāng)前連接;比較一個或多個機(jī)會分?jǐn)?shù)以供同步應(yīng)用數(shù)據(jù),該一個或多個機(jī)會分?jǐn)?shù)包括該當(dāng)前網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù),以及其中每個機(jī)會分?jǐn)?shù)與一特定網(wǎng)絡(luò)相關(guān)聯(lián);以及基于該比較確定該當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)。
根據(jù)一些實(shí)施例,一種在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的裝備包括,用于針對一個或多個網(wǎng)絡(luò)中的每個網(wǎng)絡(luò),收集關(guān)于移動設(shè)備的至相應(yīng)網(wǎng)絡(luò)的當(dāng)前連通性狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù)的裝置,其中該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。該裝備還包括用于在該移動設(shè)備處檢測至當(dāng)前網(wǎng)絡(luò)的當(dāng)前連接的裝置。該裝備進(jìn)一步包括用于比較一個或多個機(jī)會分?jǐn)?shù)以供同步應(yīng)用數(shù)據(jù)的裝置,該一個或多個機(jī)會分?jǐn)?shù)包括當(dāng)前網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù),以及其中每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)。該裝備還包括用于基于該比較確定當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的裝置。
根據(jù)一些實(shí)施例,在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的方法包括確定是否在移動設(shè)備的至第一網(wǎng)絡(luò)的當(dāng)前連接上同步應(yīng)用數(shù)據(jù)。該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。該方法還包括比較多個機(jī)會分?jǐn)?shù),這多個機(jī)會分?jǐn)?shù)包括第一網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)和第二網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。該移動設(shè)備先前連接到該第二網(wǎng)絡(luò)。每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)并且是基于該特定網(wǎng)絡(luò)的一個或多個特征集合的。該方法進(jìn)一步包括基于該多個機(jī)會分?jǐn)?shù)的比較確定是否調(diào)度移動應(yīng)用數(shù)據(jù)同步。
在一個示例中,第一網(wǎng)絡(luò)是第一類型的,第二網(wǎng)絡(luò)是與第一類型不同的第二類型的。在此類示例中,與第一類型的第一網(wǎng)絡(luò)相關(guān)聯(lián)的第一機(jī)會分?jǐn)?shù)可以和與第二類型的第二網(wǎng)絡(luò)相關(guān)聯(lián)的第二機(jī)會分?jǐn)?shù)進(jìn)行比較。相應(yīng)地,與不同網(wǎng)絡(luò)類型相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)可以進(jìn)行比較。在另一示例中,第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)是相同網(wǎng)絡(luò)類型的并且特征集合具有不同特征集合值。在此類示例中,與相同網(wǎng)絡(luò)類型相關(guān)聯(lián)的第一機(jī)會分?jǐn)?shù)和第二機(jī)會分?jǐn)?shù)進(jìn)行比較。相應(yīng)地,與相同網(wǎng)絡(luò)類型相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)可以進(jìn)行比較。
根據(jù)一些實(shí)施例,用于在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的系統(tǒng)包括同步管理器,該同步管理器確定是否在移動設(shè)備的至第一網(wǎng)絡(luò)的當(dāng)前連接上同步應(yīng)用數(shù)據(jù)。該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。該同步管理器比較多個機(jī)會分?jǐn)?shù),這多個機(jī)會分?jǐn)?shù)包括第一網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)和第二網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。該移動設(shè)備先前連接到該第二網(wǎng)絡(luò)。每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)并且是基于該特定網(wǎng)絡(luò)的一個或多個特征集合的。該同步管理器基于該多個機(jī)會分?jǐn)?shù)的比較確定是否調(diào)度移動應(yīng)用數(shù)據(jù)同步。
附圖簡要說明
形成本說明書一部分的諸附圖解說了本發(fā)明的諸實(shí)施例,并且與本描述一起進(jìn)一步用以解釋諸實(shí)施例的原理。在諸附圖中,類似的參考標(biāo)號可指示相同元件或功能上類似的元件。元件在其中首次出現(xiàn)的附圖通常由對應(yīng)參考標(biāo)記中的最左邊的數(shù)字指示。
圖1是解說根據(jù)一些實(shí)施例的用于在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的系統(tǒng)的框圖。
圖2是不同基于Wi-Fi的連接的圖片上傳完成時間的示例柱狀圖。
圖3是解說根據(jù)一些實(shí)施例的在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的方法的流程圖。
圖4是解說根據(jù)一些實(shí)施例的在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的方法的流程圖。
圖5是適于實(shí)現(xiàn)本公開的一個或多個實(shí)施例的計算機(jī)系統(tǒng)的框圖。
詳細(xì)描述
I.概覽
II.示例系統(tǒng)架構(gòu)
A.收集網(wǎng)絡(luò)數(shù)據(jù)
B.經(jīng)由連通性歷史進(jìn)行學(xué)習(xí)
1.計算機(jī)會分?jǐn)?shù)
2.比較機(jī)會分?jǐn)?shù)以標(biāo)識良好的機(jī)會網(wǎng)絡(luò)
III.確定是否同步移動應(yīng)用
A.不同步移動應(yīng)用
B.同步移動應(yīng)用
IV.用戶輸入
V.示例方法
VI.示例計算系統(tǒng)
I.概覽
將理解,以下公開提供了用于實(shí)現(xiàn)本公開的不同特征的許多不同的實(shí)施例或者示例。一些實(shí)施例可以在沒有這些具體細(xì)節(jié)中的一些或全部的情況下被實(shí)踐。以下描述了諸組件、模塊和布置的具體示例以簡化本公開。當(dāng)然,這些僅僅是示例而并不旨在限制。
連接到云的移動應(yīng)用正日益常見。移動設(shè)備可包括將安裝在移動設(shè)備上的移動應(yīng)用與遠(yuǎn)程服務(wù)器同步(sync)的同步管理器。當(dāng)前的同步調(diào)度大多是網(wǎng)絡(luò)不可知的,并且僅檢查移動設(shè)備是否連接到Wi-Fi或蜂窩網(wǎng)絡(luò)。Wi-Fi網(wǎng)絡(luò)和蜂窩網(wǎng)絡(luò)是不同類型的網(wǎng)絡(luò)。
例如,當(dāng)移動設(shè)備連接到網(wǎng)絡(luò)時,同步管理器可以同步一個或多個移動應(yīng)用。諸商標(biāo)是其相應(yīng)所有者的資產(chǎn)。同步管理器還可以為用戶提供在Wi-Fi上而非蜂窩網(wǎng)絡(luò)上同步移動應(yīng)用的選項。通過使用Wi-Fi來同步移動應(yīng)用,用戶可以節(jié)省她的數(shù)據(jù)流量套餐(data plan)。同步管理器通常不考慮Wi-Fi(例如,Wi-Fi鏈路的類型)或蜂窩網(wǎng)絡(luò)連接的特定特征,而這些特征對于確定是否是同步應(yīng)用數(shù)據(jù)的良好時機(jī)是有用的。
應(yīng)用數(shù)據(jù)傳輸可以通過學(xué)習(xí)移動設(shè)備針對Wi-Fi和蜂窩連接的隨時間的連接狀態(tài)來改進(jìn)。例如,表征移動設(shè)備所連接到的網(wǎng)絡(luò)以及考慮網(wǎng)絡(luò)(例如,Wi-Fi或蜂窩網(wǎng)絡(luò))的特定特征來確定是否在網(wǎng)絡(luò)上同步移動應(yīng)用或者是否延遲同步直到應(yīng)用連接到另一網(wǎng)絡(luò)是合需的。例如,當(dāng)在確定是否同步移動應(yīng)用時,考慮Wi-Fi鏈接類型、Wi-Fi回程特征、蜂窩鏈路類型以及數(shù)據(jù)流量套餐等可以是有益的。
附加地,實(shí)時完成一些數(shù)據(jù)傳輸(例如,應(yīng)用數(shù)據(jù)同步)可能是不必要的。此類數(shù)據(jù)傳輸可以是耐延遲的(例如,將照片上傳到網(wǎng)站)并且在稍后的時間點(diǎn)執(zhí)行。在良好網(wǎng)絡(luò)連通性的適時的時間在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間調(diào)度移動應(yīng)用同步是合需的。用這種方式可以改進(jìn)性能。附加地,在執(zhí)行移動應(yīng)用同步時花費(fèi)的移動設(shè)備功率可以被優(yōu)化。由此,幫助移動應(yīng)用利用良好的網(wǎng)絡(luò)條件對于數(shù)據(jù)傳輸?shù)墓β屎托阅芸梢允怯幸娴摹?/p>
本公開提供了用以通過學(xué)習(xí)移動設(shè)備的隨時間的網(wǎng)絡(luò)連通性狀態(tài)來改進(jìn)移動應(yīng)用數(shù)據(jù)傳輸?shù)募夹g(shù)。并非僅僅基于當(dāng)前網(wǎng)絡(luò)連接來確定是否同步移動應(yīng)用,在一時間段上收集的“長期”網(wǎng)絡(luò)數(shù)據(jù)也可以被用來做出該確定。在良好網(wǎng)絡(luò)連通性的適時時間調(diào)度同步可以幫助改進(jìn)移動設(shè)備的性能并優(yōu)化功率,由此降低執(zhí)行同步的花費(fèi)。
II.示例系統(tǒng)架構(gòu)
圖1是解說根據(jù)一些實(shí)施例的用于在移動設(shè)備和一個或多個遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的系統(tǒng)的框圖100。圖1包括能夠執(zhí)行客戶端應(yīng)用以及存儲應(yīng)用數(shù)據(jù)的移動設(shè)備102。移動設(shè)備可以指非駐定計算設(shè)備。移動設(shè)備102可以是例如智能電話、平板、膝上型設(shè)備、或個人數(shù)字助理。在一個示例中,移動設(shè)備102可以是安裝有移動操作系統(tǒng)的設(shè)備。
移動設(shè)備102可包括一個或多個移動應(yīng)用,這些移動應(yīng)用可包括應(yīng)用數(shù)據(jù)。移動設(shè)備102的用戶可以將由服務(wù)提供商提供的一個或多個移動應(yīng)用下載到他的或她的移動設(shè)備上。移動應(yīng)用是可以直接經(jīng)由移動設(shè)備下載和訪問的軟件程序。移動應(yīng)用可以在移動設(shè)備102的顯示器上由圖標(biāo)來表示,并且用戶可以通過觸摸該圖標(biāo)(例如,雙擊該圖標(biāo))選擇該移動應(yīng)用來訪問該移動應(yīng)用并與該移動應(yīng)用交互。該示例中的移動設(shè)備102包括移動應(yīng)用104和移動應(yīng)用106。
移動應(yīng)用104和106可以是在移動設(shè)備102上執(zhí)行的客戶端應(yīng)用。移動設(shè)備102在網(wǎng)絡(luò)108上耦合到服務(wù)器114和服務(wù)器116。服務(wù)器114和116遠(yuǎn)離移動設(shè)備102。移動應(yīng)用要求至其相關(guān)聯(lián)的服務(wù)器的恒定連通性是不必要的。例如,用戶可以在移動設(shè)備102未連接到服務(wù)器114的情況下與移動應(yīng)用104交互,并且用戶可以在移動設(shè)備102未連接到服務(wù)器116的情況下與移動應(yīng)用106交互。應(yīng)用可以部署到服務(wù)器并隨后可用于下載到移動設(shè)備。在一個示例中,移動應(yīng)用104使用移動設(shè)備102上的小型本地數(shù)據(jù)庫,其內(nèi)容是存儲在服務(wù)器114處的數(shù)據(jù)的子集,而移動應(yīng)用106使用移動設(shè)備102上的小型本地數(shù)據(jù)庫,其內(nèi)容是存儲在服務(wù)器116處的數(shù)據(jù)的子集。
移動應(yīng)用可以通過在網(wǎng)絡(luò)上向服務(wù)器傳輸數(shù)據(jù)和/或從服務(wù)器接收數(shù)據(jù)來與其相關(guān)聯(lián)的服務(wù)器同步。移動設(shè)備102包括管理并仲裁移動應(yīng)用的同步的同步管理器120。同步管理器120可以在系統(tǒng)層并從移動應(yīng)用收集同步請求。同步管理器120可以隨后調(diào)度移動應(yīng)用同步。
以下是移動應(yīng)用104的描述,其可以與服務(wù)器114交互。該描述也可以應(yīng)用于移動應(yīng)用106和服務(wù)器116。移動應(yīng)用104可以是任何移動應(yīng)用。在一個示例中,移動應(yīng)用104是移動應(yīng)用,并且用戶可能期望將照片上傳到在另一示例中,移動應(yīng)用104是音樂流送應(yīng)用,并且用戶可能期望同步播放列表。在另一示例中,移動應(yīng)用104是日歷應(yīng)用,并且用戶可能期望同步日歷。在另一示例中,移動應(yīng)用104是新聞應(yīng)用,并且用戶可能期望檢索最新的新聞饋送更新。
同步管理器120可以在移動設(shè)備102和與移動應(yīng)用數(shù)據(jù)相關(guān)聯(lián)的服務(wù)器之間調(diào)度移動應(yīng)用數(shù)據(jù)同步。例如,移動應(yīng)用104可以在網(wǎng)絡(luò)108上向服務(wù)器104傳輸數(shù)據(jù)以及從服務(wù)器104接收數(shù)據(jù)。在一個示例中,響應(yīng)于服務(wù)器114處的服務(wù)器數(shù)據(jù)的改變,同步管理器120在移動應(yīng)用104和服務(wù)器114之間調(diào)度同步,以使得移動應(yīng)用104的應(yīng)用數(shù)據(jù)與服務(wù)器114處的服務(wù)器數(shù)據(jù)同步。在此類示例中,移動應(yīng)用104可以在網(wǎng)絡(luò)108上向服務(wù)器114發(fā)送移動應(yīng)用數(shù)據(jù)以供存儲。
在另一示例中,響應(yīng)于對于移動應(yīng)用104的應(yīng)用數(shù)據(jù)的改變,同步管理器120在移動應(yīng)用104和服務(wù)器114之間調(diào)度同步,以使得服務(wù)器114處的服務(wù)器數(shù)據(jù)與移動應(yīng)用104處的應(yīng)用數(shù)據(jù)同步。在此類示例中,服務(wù)器114可以在網(wǎng)絡(luò)108上向移動應(yīng)用104發(fā)送應(yīng)用數(shù)據(jù)以供存儲。在另一示例中,響應(yīng)于移動設(shè)備102發(fā)出網(wǎng)絡(luò)消息以?;顐鬏斂刂茀f(xié)議(TCP)/網(wǎng)際協(xié)議(IP)連接,同步管理器120在移動應(yīng)用104和服務(wù)器114之間調(diào)度同步。在此類示例中,同步可以在TCP/IP連接上捎帶。在另一示例中,同步管理器120周期性地(例如,響應(yīng)于一時間段流逝)在移動應(yīng)用104和服務(wù)器114之間調(diào)度同步。在另一示例中,同步管理器120響應(yīng)于手動同步移動應(yīng)用的用戶請求來在移動應(yīng)用104和服務(wù)器114之間調(diào)度同步。
A.收集網(wǎng)絡(luò)數(shù)據(jù)
移動設(shè)備102包括記錄與移動設(shè)備102相關(guān)聯(lián)的網(wǎng)絡(luò)數(shù)據(jù)的網(wǎng)絡(luò)度量記錄器122。網(wǎng)絡(luò)度量記錄器122可以在移動設(shè)備102的存儲中創(chuàng)建網(wǎng)絡(luò)數(shù)據(jù)庫128。網(wǎng)絡(luò)數(shù)據(jù)庫128對于移動設(shè)備102而言是本地的,并且可以存儲關(guān)于移動設(shè)備102的網(wǎng)絡(luò)連接和它們的狀態(tài)的歷史。
網(wǎng)絡(luò)度量記錄器122可以收集有關(guān)移動設(shè)備102的當(dāng)前網(wǎng)絡(luò)連通性的數(shù)據(jù)并且將網(wǎng)絡(luò)數(shù)據(jù)存儲在網(wǎng)絡(luò)數(shù)據(jù)庫128中。在一個示例中,對于移動設(shè)備102連接到的一個或多個網(wǎng)絡(luò),網(wǎng)絡(luò)度量記錄器122檢測至該網(wǎng)絡(luò)的當(dāng)前連接并且收集關(guān)于移動設(shè)備的至該網(wǎng)絡(luò)的當(dāng)前連通性的網(wǎng)絡(luò)數(shù)據(jù)。網(wǎng)絡(luò)度量記錄器122可以調(diào)用應(yīng)用程序接口(API)來收集網(wǎng)絡(luò)數(shù)據(jù)。在一個示例中,網(wǎng)絡(luò)度量記錄器122周期性地調(diào)用API(例如,每1秒、5秒、10秒或更多秒)來收集網(wǎng)絡(luò)數(shù)據(jù)。
所收集到的網(wǎng)絡(luò)數(shù)據(jù)可包括一個或多個特征。一個特征可以是用來表征網(wǎng)絡(luò)的網(wǎng)絡(luò)度量。一個特征集合是可以被用來將網(wǎng)絡(luò)分類的不同特征的集合。一個特征集合可包括表征網(wǎng)絡(luò)的一個或多個度量。特征集合可以被用于計算指示網(wǎng)絡(luò)是“良好機(jī)會”網(wǎng)絡(luò)還是“不良機(jī)會”網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。良好機(jī)會網(wǎng)絡(luò)是可以提供良好的機(jī)會來在網(wǎng)絡(luò)上同步移動應(yīng)用數(shù)據(jù)的網(wǎng)絡(luò),在一個示例中,這是因?yàn)樵摼W(wǎng)絡(luò)是快速的。不良機(jī)會網(wǎng)絡(luò)是可提供不良機(jī)會來在網(wǎng)絡(luò)上同步移動應(yīng)用的網(wǎng)絡(luò),在另一示例中,這是因?yàn)樵摼W(wǎng)絡(luò)是慢速的或者已知另一網(wǎng)絡(luò)提供了更快速的數(shù)據(jù)傳輸并且更有可能在閾值時間段內(nèi)(例如,在三個小時內(nèi))連接到移動設(shè)備。機(jī)會分?jǐn)?shù)可以與網(wǎng)絡(luò)相關(guān)聯(lián),該分?jǐn)?shù)指示是否在該機(jī)會分?jǐn)?shù)被指派到的網(wǎng)絡(luò)上同步應(yīng)用數(shù)據(jù)。機(jī)會分?jǐn)?shù)可以基于特定網(wǎng)絡(luò)的一個或多個特征集合。
特征集合可以抽象網(wǎng)絡(luò)類型(例如,Wi-Fi網(wǎng)絡(luò)或蜂窩網(wǎng)絡(luò)),從而不同網(wǎng)絡(luò)可以彼此比較以及它們的同步機(jī)會歸一化成一個度量(例如,機(jī)會分?jǐn)?shù))。由此,即使移動設(shè)備102可以連接到具有不同網(wǎng)絡(luò)度量的不同網(wǎng)絡(luò),機(jī)會分?jǐn)?shù)也可以被用來確定一個網(wǎng)絡(luò)是否好于另一個網(wǎng)絡(luò)以供同步移動應(yīng)用數(shù)據(jù)。
出于簡明和簡單的目的,描述了兩個“層級”的機(jī)會分?jǐn)?shù)(例如,良好機(jī)會網(wǎng)絡(luò)和不良機(jī)會網(wǎng)絡(luò))。這并不旨在是限制性的,并且其他實(shí)施例可以具有兩個以上層級的機(jī)會分?jǐn)?shù)。例如,在另一個實(shí)施例中,網(wǎng)絡(luò)可以被指派三個層級的機(jī)會分?jǐn)?shù)中的一者。在此類示例中,第一層級網(wǎng)絡(luò)可以是“良好機(jī)會”網(wǎng)絡(luò),第二層級網(wǎng)絡(luò)可以是“中間機(jī)會”網(wǎng)絡(luò),以及第三層級網(wǎng)絡(luò)可以是“不良機(jī)會”網(wǎng)絡(luò)。以下進(jìn)一步討論機(jī)會分?jǐn)?shù)。
在一個示例中,網(wǎng)絡(luò)108是Wi-Fi網(wǎng)絡(luò),且網(wǎng)絡(luò)度量記錄器122檢測至Wi-Fi網(wǎng)絡(luò)的當(dāng)前網(wǎng)絡(luò)連接。Wi-Fi網(wǎng)絡(luò)的示例特征是Wi-Fi網(wǎng)絡(luò)的信號強(qiáng)度,Wi-Fi網(wǎng)絡(luò)的服務(wù)集標(biāo)識符(SSID),媒體接入控制(MAC)地址和允許移動設(shè)備連接到Wi-Fi網(wǎng)絡(luò)的接入點(diǎn)的鏈路速度。在一個示例中,Wi-Fi網(wǎng)絡(luò)的網(wǎng)絡(luò)數(shù)據(jù)可以基于Wi-Fi網(wǎng)絡(luò)的SSID和接入點(diǎn)的MAC地址來排序。在單個SSID中可以存在多個接入點(diǎn)。當(dāng)移動設(shè)備102連接到Wi-Fi網(wǎng)絡(luò)時,網(wǎng)絡(luò)度量記錄器122可以將網(wǎng)絡(luò)的信號強(qiáng)度和SSID以及允許移動設(shè)備102連接到Wi-Fi網(wǎng)絡(luò)的接入點(diǎn)設(shè)備的MAC地址和鏈路速度記錄到網(wǎng)絡(luò)數(shù)據(jù)庫128中。在一個示例中,將具有給定MAC地址和SSID的接入點(diǎn)分類的特征集合包括給定接入點(diǎn)的MAC地址、信號強(qiáng)度、SSID,和Wi-Fi網(wǎng)絡(luò)的頻帶,以及允許移動設(shè)備102連接到Wi-Fi網(wǎng)絡(luò)的接入點(diǎn)的鏈路速度和信號水平。這僅是示例,并且其他特征集合也可以將Wi-Fi網(wǎng)絡(luò)分類。
在另一個示例中,網(wǎng)絡(luò)108是蜂窩網(wǎng)絡(luò),且網(wǎng)絡(luò)度量記錄器122檢測至蜂窩網(wǎng)絡(luò)的當(dāng)前網(wǎng)絡(luò)連接。蜂窩網(wǎng)絡(luò)的示例特征是蜂窩網(wǎng)絡(luò)的信號強(qiáng)度、網(wǎng)絡(luò)類型(例如,長期演進(jìn)(LTE)、第三代(3G)、第四代(4G)和演進(jìn)數(shù)據(jù)最優(yōu)化(EVDO)),以及網(wǎng)絡(luò)名稱(例如,以及)。在一個示例中,蜂窩網(wǎng)絡(luò)的網(wǎng)絡(luò)數(shù)據(jù)可以基于網(wǎng)絡(luò)的類型和信號強(qiáng)度來排序。當(dāng)移動設(shè)備102連接到蜂窩網(wǎng)絡(luò)時,網(wǎng)絡(luò)度量記錄器122可以將蜂窩網(wǎng)絡(luò)的信號強(qiáng)度、網(wǎng)絡(luò)類型和網(wǎng)絡(luò)名稱記錄到網(wǎng)絡(luò)數(shù)據(jù)庫128中。在一個示例中,將給定地理位置和蜂窩網(wǎng)絡(luò)分類的特征集合包括在連接時移動設(shè)備的地理位置、蜂窩信號強(qiáng)度、網(wǎng)絡(luò)名稱和網(wǎng)絡(luò)類型。這僅是示例,并且其他特征集合也可以將蜂窩網(wǎng)絡(luò)分類。
網(wǎng)絡(luò)度量記錄器122也可以記錄移動設(shè)備的(例如,至Wi-Fi或蜂窩網(wǎng)絡(luò)的)當(dāng)前網(wǎng)絡(luò)連接的時間數(shù)據(jù)和空間數(shù)據(jù)。移動設(shè)備102可以在不同地理區(qū)域具有不同信號強(qiáng)度。在一個示例中,網(wǎng)絡(luò)度量記錄器122歸一化信號強(qiáng)度。在另一示例中,網(wǎng)絡(luò)度量記錄器122記錄移動設(shè)備102的地理位置和記錄的時間來隨時間和空間區(qū)分接入點(diǎn)和蜂窩網(wǎng)絡(luò)連接。在一個示例中,網(wǎng)絡(luò)度量記錄器122考慮移動設(shè)備102至接入點(diǎn)的鄰近度。例如,若移動設(shè)備120接近接入點(diǎn),網(wǎng)絡(luò)度量記錄器122可以識別通過信號強(qiáng)度度量捕獲的強(qiáng)信號強(qiáng)度。信號強(qiáng)度和信號射程可以跨不同接入點(diǎn)而不同,并且網(wǎng)絡(luò)度量記錄器122可以捕獲隨時間的信號強(qiáng)度狀態(tài)。在此類示例中,用戶可以在接入點(diǎn)周圍漫游,并且網(wǎng)絡(luò)度量記錄器122可以繼續(xù)收集網(wǎng)絡(luò)數(shù)據(jù)來理解可以連接到特定接入點(diǎn)的射程信號強(qiáng)度度量。
如所討論的,在網(wǎng)絡(luò)內(nèi)或跨網(wǎng)絡(luò),機(jī)會可以顯著地變化。例如,接入點(diǎn)可以具有不同的頻帶并且可以轉(zhuǎn)換成不同的機(jī)會。在一個示例中,2.4GHz(千兆赫)頻帶相比于5.8GHz頻帶來說相對不具有帶寬。圖2是不同基于Wi-Fi的連接的圖片上傳完成時間的示例柱狀圖200。柱狀圖200示出了將照片上傳到后端服務(wù)器所花費(fèi)的時間量。柱狀圖200的x軸表示上傳一張照片所花費(fèi)的時間量(以秒為單位),且柱狀圖200的y軸表示不同類型的Wi-Fi網(wǎng)絡(luò)。
這些條示出了不同的機(jī)會并且可以表示不同的Wi-Fi標(biāo)準(zhǔn)(例如,AC、N-1和N-2),該接入點(diǎn)配置成跨不同頻帶。柱狀圖200的左邊的群集解說了當(dāng)移動設(shè)備102在接入點(diǎn)附近時,與該移動設(shè)備102相關(guān)聯(lián)的機(jī)會,以及柱狀圖200的右群集解說了當(dāng)移動設(shè)備102遠(yuǎn)離接入點(diǎn)時,與該移動設(shè)備102相關(guān)聯(lián)的機(jī)會。若數(shù)據(jù)傳輸減小,那么執(zhí)行數(shù)據(jù)傳輸所花費(fèi)的總能量大致相同地減小。例如,在柱狀圖200中,當(dāng)移動設(shè)備102在接入點(diǎn)附近時,與移動設(shè)備102遠(yuǎn)離接入點(diǎn)時相比,AC(80MHz)Wi-Fi接口完成圖片上傳大約快百分之50。在此類示例中,當(dāng)移動設(shè)備102在接入點(diǎn)附近時,與當(dāng)移動設(shè)備102遠(yuǎn)離接入點(diǎn)時相比,移動設(shè)備102可以花費(fèi)約少百分之50的能量來同步移動應(yīng)用。
附加地,網(wǎng)絡(luò)度量記錄器122可以處理小測量(例如,使用分組對或一些其他例程)來估計當(dāng)前網(wǎng)絡(luò)狀態(tài)的帶寬或者可以窺探鏈路上的現(xiàn)有數(shù)據(jù)傳輸來估計網(wǎng)絡(luò)帶寬。網(wǎng)絡(luò)度量記錄器122在網(wǎng)絡(luò)數(shù)據(jù)庫128中存儲所收集的網(wǎng)絡(luò)數(shù)據(jù)以供機(jī)會學(xué)習(xí)引擎124來分析。
B.經(jīng)由連通性歷史進(jìn)行學(xué)習(xí)
在一些實(shí)施例中,機(jī)會學(xué)習(xí)引擎124表征移動設(shè)備102連接到的或者移動設(shè)備102當(dāng)前連接到的一個或多個網(wǎng)絡(luò),以及從所記錄的網(wǎng)絡(luò)數(shù)據(jù)來學(xué)習(xí)移動設(shè)備102的連通性行為。
1.計算機(jī)會分?jǐn)?shù)
對于移動設(shè)備102連接到的一個或多個網(wǎng)絡(luò),機(jī)會學(xué)習(xí)引擎124可以根據(jù)網(wǎng)絡(luò)來標(biāo)識特征集合以及計算網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。在一個示例中,機(jī)會學(xué)習(xí)引擎124基于針對將網(wǎng)絡(luò)分類的所標(biāo)識的特征集合而收集的網(wǎng)絡(luò)數(shù)據(jù)來計算網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。當(dāng)移動設(shè)備102在連接到網(wǎng)絡(luò)時或網(wǎng)絡(luò)連接掉落之后,機(jī)會學(xué)習(xí)引擎124可以計算網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。機(jī)會分?jǐn)?shù)可以基于在一時間段(例如,一周或一月)上收集的網(wǎng)絡(luò)數(shù)據(jù)來計算,以及可以持續(xù)地更新來反映網(wǎng)絡(luò)設(shè)備的在一時間段上的網(wǎng)絡(luò)連通性。機(jī)會學(xué)習(xí)引擎124在網(wǎng)絡(luò)數(shù)據(jù)庫128中存儲機(jī)會分?jǐn)?shù),該網(wǎng)絡(luò)數(shù)據(jù)庫128存儲關(guān)于移動設(shè)備102的網(wǎng)絡(luò)連接以及它們的狀態(tài)的歷史。
在一個示例中,將給定Wi-Fi網(wǎng)絡(luò)分類的特征集合是接入點(diǎn)的MAC地址、信號強(qiáng)度、SSID以及Wi-Fi網(wǎng)絡(luò)的頻帶,以及允許移動設(shè)備102連接到Wi-Fi網(wǎng)絡(luò)的接入點(diǎn)的鏈路速度和信號水平。在此類示例中,機(jī)會學(xué)習(xí)引擎124可以分析該特征集合來計算給定Wi-Fi網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。在另一示例中,將蜂窩網(wǎng)絡(luò)分類的特征集合包括在連接到蜂窩網(wǎng)絡(luò)時移動設(shè)備的地理位置、蜂窩信號強(qiáng)度、網(wǎng)絡(luò)名稱和網(wǎng)絡(luò)類型。在此類示例中,機(jī)會學(xué)習(xí)引擎124可以分析該特征集合來計算給定蜂窩網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。
在一些實(shí)施例中,機(jī)會學(xué)習(xí)引擎124使用回歸分析來計算機(jī)會分?jǐn)?shù)。在一個示例中,機(jī)會分?jǐn)?shù)的計算可包括將網(wǎng)絡(luò)中的一個或多個應(yīng)用觀察到的吞吐量和等待時間的模型推導(dǎo)為在該時間收集的網(wǎng)絡(luò)特征集合的函數(shù)以及同樣推導(dǎo)為當(dāng)移動設(shè)備連接到該網(wǎng)絡(luò)時的位置的函數(shù)。在另一示例中,機(jī)會分?jǐn)?shù)可以經(jīng)由群集和基于閾值的技術(shù)來推導(dǎo),其中,例如:由于它們提供的不同吞吐量,給定信號強(qiáng)度的具有特定頻帶(例如,5GHz頻帶)的Wi-Fi接入點(diǎn)將會具有比較低頻帶(例如,2.4GHz頻帶)接入點(diǎn)更好的機(jī)會分?jǐn)?shù)。
2.比較機(jī)會分?jǐn)?shù)以標(biāo)識良好的機(jī)會網(wǎng)絡(luò)
當(dāng)移動設(shè)備102連接到網(wǎng)絡(luò)時,機(jī)會學(xué)習(xí)引擎124可以比較一個或多個機(jī)會分?jǐn)?shù)來確定當(dāng)前連接的網(wǎng)絡(luò)是否是良好機(jī)會網(wǎng)絡(luò)。機(jī)會學(xué)習(xí)引擎124推導(dǎo)其情報來從收集的網(wǎng)絡(luò)數(shù)據(jù)確定良好或不良機(jī)會。
網(wǎng)絡(luò)度量記錄器122可以檢測移動設(shè)備102當(dāng)前連接到網(wǎng)絡(luò)。在一個示例中,機(jī)會學(xué)習(xí)引擎124標(biāo)識當(dāng)前連接到的網(wǎng)絡(luò)的SSID以及搜索網(wǎng)絡(luò)數(shù)據(jù)庫128以尋找該SSID。機(jī)會學(xué)習(xí)引擎124比較由SSID標(biāo)識的當(dāng)前連接的網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)與移動設(shè)備102先前連接到的一個或多個其他網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。在此類示例中,機(jī)會學(xué)習(xí)引擎124可以比較移動設(shè)備102當(dāng)前連接的網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)和其他網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù),從而確定當(dāng)前連接的網(wǎng)絡(luò)是否是良好機(jī)會網(wǎng)絡(luò)。
在一個示例中,所比較的一個或多個機(jī)會分?jǐn)?shù)可包括當(dāng)前網(wǎng)絡(luò)連接的機(jī)會分?jǐn)?shù)和移動設(shè)備102先前連接的一個或多個其他網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)。實(shí)質(zhì)上,機(jī)會學(xué)習(xí)引擎124通過將不同網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)用作確定是否存在用于在當(dāng)前網(wǎng)絡(luò)連接上同步移動應(yīng)用數(shù)據(jù)的良好或不良機(jī)會的機(jī)制來將移動設(shè)備102所連接的不同網(wǎng)絡(luò)分類的特征集合的不同值進(jìn)行比較。從為移動設(shè)備102連接到的網(wǎng)絡(luò)收集的特征集合的值,機(jī)會學(xué)習(xí)引擎124獲知移動設(shè)備102可以或可以不用來同步移動應(yīng)用數(shù)據(jù)的良好或不良機(jī)會網(wǎng)絡(luò)。
機(jī)會學(xué)習(xí)引擎124可以基于一個或多個機(jī)會分?jǐn)?shù)的比較確定當(dāng)前網(wǎng)絡(luò)連接是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)。響應(yīng)于確定當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò),機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送通知,從而其能夠利用良好網(wǎng)絡(luò)條件來調(diào)度或執(zhí)行數(shù)據(jù)傳輸(例如,同步應(yīng)用數(shù)據(jù))。
相比之下,響應(yīng)于確定當(dāng)前網(wǎng)絡(luò)連接不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò),機(jī)會學(xué)習(xí)引擎124可以確定不向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。在另一示例中,機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。由此,同步管理器120可以確定不在當(dāng)前網(wǎng)絡(luò)連接上同步移動應(yīng)用數(shù)據(jù),并且可以延遲在當(dāng)前網(wǎng)絡(luò)連接上的任何移動應(yīng)用同步。
良好機(jī)會可以基于例如良好或可用接入點(diǎn)/蜂窩網(wǎng)絡(luò)狀態(tài)的瞬時分類。例如,機(jī)會學(xué)習(xí)引擎124可以依賴于滿足閾值的接入點(diǎn)的最大收到信號強(qiáng)度指示(RSSI)和鏈路速度。在此類示例中,機(jī)會學(xué)習(xí)引擎124依賴于移動設(shè)備102的連接歷史可能是不必要的,以及機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。
在一個示例中,機(jī)會學(xué)習(xí)引擎124比較一個或多個機(jī)會分?jǐn)?shù),這些機(jī)會分?jǐn)?shù)包括當(dāng)前網(wǎng)絡(luò)連接的機(jī)會分?jǐn)?shù)和閾值機(jī)會分?jǐn)?shù)。若當(dāng)前網(wǎng)絡(luò)連接的機(jī)會分?jǐn)?shù)滿足閾值機(jī)會分?jǐn)?shù),機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。若當(dāng)前網(wǎng)絡(luò)連接的機(jī)會分?jǐn)?shù)不滿足閾值機(jī)會分?jǐn)?shù),則機(jī)會學(xué)習(xí)引擎124可能想要延遲當(dāng)前網(wǎng)絡(luò)連接上的數(shù)據(jù)傳輸并且不向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。
良好機(jī)會可以基于記錄網(wǎng)絡(luò)接口何時被實(shí)際使用以及表征所獲得的性能,或者在一時間段中標(biāo)識隨時間(例如,一天)觀察到的與先前的機(jī)會相比相對較好的機(jī)會。在一個示例中,良好的機(jī)會可以基于來自先前存儲的網(wǎng)絡(luò)狀態(tài)的歷史的“已知”良好機(jī)會接入點(diǎn)和蜂窩連接的指示。例如,機(jī)會學(xué)習(xí)引擎124可以利用良好接入點(diǎn)的先前知識。在一個示例中,移動設(shè)備102的用戶可以在家庭Wi-Fi網(wǎng)絡(luò)和公司W(wǎng)i-Fi網(wǎng)絡(luò)之間轉(zhuǎn)移。公司W(wǎng)i-Fi網(wǎng)絡(luò)可以比家庭Wi-Fi網(wǎng)絡(luò)更快。數(shù)據(jù)傳輸在公司W(wǎng)i-Fi網(wǎng)絡(luò)上可能更快,并且可以由此與使用家庭Wi-Fi網(wǎng)絡(luò)來同步應(yīng)用數(shù)據(jù)相比花費(fèi)更少的來自移動設(shè)備102的能量。
在此類示例中,公司W(wǎng)i-Fi網(wǎng)絡(luò)的第一機(jī)會分?jǐn)?shù)可以指示其為良好的機(jī)會網(wǎng)絡(luò),以及家庭Wi-Fi網(wǎng)絡(luò)的第二機(jī)會分?jǐn)?shù)可以指示其為不良機(jī)會網(wǎng)絡(luò)。在另一示例中,公司W(wǎng)i-Fi網(wǎng)絡(luò)的第一機(jī)會分?jǐn)?shù)和家庭Wi-Fi網(wǎng)絡(luò)的第二機(jī)會分?jǐn)?shù)可以指示公司和家庭Wi-Fi網(wǎng)絡(luò)二者都是良好機(jī)會網(wǎng)絡(luò),但是公司W(wǎng)i-Fi網(wǎng)絡(luò)與家庭Wi-Fi網(wǎng)絡(luò)相比是更好的機(jī)會網(wǎng)絡(luò)。在一個示例中,公司W(wǎng)i-Fi網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)與家庭Wi-Fi網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)相比可以指示將移動設(shè)備102連接到公司W(wǎng)i-Fi網(wǎng)絡(luò)的接入點(diǎn)是更好的機(jī)會網(wǎng)絡(luò)(例如,更快的網(wǎng)絡(luò))。
網(wǎng)絡(luò)度量記錄器122可以存儲基于移動設(shè)備102的至公司W(wǎng)i-Fi網(wǎng)絡(luò)的連接的第一網(wǎng)絡(luò)數(shù)據(jù),以及可以存儲基于移動設(shè)備102的至家庭Wi-Fi網(wǎng)絡(luò)的連接的第二網(wǎng)絡(luò)數(shù)據(jù)。機(jī)會學(xué)習(xí)引擎124可以計算公司W(wǎng)i-Fi網(wǎng)絡(luò)和家庭Wi-Fi網(wǎng)絡(luò)中的每一者的機(jī)會分?jǐn)?shù)。在此類示例中,機(jī)會學(xué)習(xí)引擎124利用跨接入點(diǎn)的網(wǎng)絡(luò)歷史知識。
機(jī)會學(xué)習(xí)引擎124可以比較一個或多個機(jī)會分?jǐn)?shù)以及推斷具有更好機(jī)會分?jǐn)?shù)的網(wǎng)絡(luò)是否將會在未來連接到移動設(shè)備102。在一個示例中,機(jī)會學(xué)習(xí)引擎124比較多個機(jī)會分?jǐn)?shù)。機(jī)會學(xué)習(xí)引擎124可以考慮移動設(shè)備102多頻繁地連接到特定網(wǎng)絡(luò)。在一個示例中,機(jī)會學(xué)習(xí)引擎124確定是否存在將在不久的未來看到在其上同步應(yīng)用數(shù)據(jù)的更好的網(wǎng)絡(luò)的較高可能性。機(jī)會學(xué)習(xí)引擎124可以確定存在移動設(shè)備102將會在閾值時間量內(nèi)連接到特定網(wǎng)絡(luò)的較高可能性,以及由此可以確定不向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知和/或可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。機(jī)會學(xué)習(xí)引擎124可以延遲向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知,直到移動設(shè)備102連接到了特定網(wǎng)絡(luò)。
在一個示例中,機(jī)會學(xué)習(xí)引擎124可以從所記錄的網(wǎng)絡(luò)數(shù)據(jù)獲悉移動設(shè)備102通常在工作日(例如,星期一、星期二、星期三、星期四和星期五)的工作時間期間連接到公司W(wǎng)i-Fi網(wǎng)絡(luò),以及在周末(例如,星期六和星期日)連接到家庭Wi-Fi網(wǎng)絡(luò)。在一個示例中,若移動設(shè)備102在星期二早上7:00A.M.在用戶的家中,那么移動設(shè)備102可以連接到家庭Wi-Fi網(wǎng)絡(luò)。機(jī)會學(xué)習(xí)引擎124可以比較家庭Wi-Fi網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)和其他網(wǎng)絡(luò)的其他機(jī)會分?jǐn)?shù),并且識別存在使用工作Wi-Fi網(wǎng)絡(luò)來進(jìn)行數(shù)據(jù)傳輸?shù)母玫臋C(jī)會,以及存在移動設(shè)備102將會在兩個小時后,在星期二9:00A.M.連接到公司W(wǎng)i-Fi網(wǎng)絡(luò)。在此類場景中,機(jī)會學(xué)習(xí)引擎124可能想要延遲當(dāng)前網(wǎng)絡(luò)連接上的數(shù)據(jù)傳輸以及不向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。
相應(yīng)地,機(jī)會學(xué)習(xí)引擎124可以確定不向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知,和/或可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。在稍后的時間點(diǎn),機(jī)會學(xué)習(xí)引擎124可以識別移動設(shè)備102當(dāng)前連接到公司W(wǎng)i-Fi網(wǎng)絡(luò)以及基于所比較的機(jī)會分?jǐn)?shù)來確定當(dāng)前連接的網(wǎng)絡(luò)是良好機(jī)會網(wǎng)絡(luò)。相應(yīng)地,機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。
網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)可以將移動設(shè)備102將在閾值時間量內(nèi)(例如,四小時內(nèi))連接到特定網(wǎng)絡(luò)的可能性考慮在內(nèi),其中該特定網(wǎng)絡(luò)是良好機(jī)會網(wǎng)絡(luò)。
機(jī)會學(xué)習(xí)引擎124可以在數(shù)據(jù)上傳和數(shù)據(jù)下載之間進(jìn)行區(qū)分。數(shù)據(jù)上傳可以指數(shù)據(jù)從移動設(shè)備102發(fā)送到遠(yuǎn)程計算設(shè)備。數(shù)據(jù)下載可以指數(shù)據(jù)從遠(yuǎn)程計算設(shè)備發(fā)送到移動設(shè)備102。機(jī)會學(xué)習(xí)引擎124可以為同步管理器120區(qū)分這兩個數(shù)據(jù)傳輸,因?yàn)樯蟼鲙捒梢员环忭敾蛘叩陀谙螺d帶寬。由此,對于數(shù)據(jù)上傳和數(shù)據(jù)下載而言,機(jī)會可以是不同的。為了確定是否向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知,機(jī)會學(xué)習(xí)引擎124可以將移動設(shè)備102是否將上傳或下載數(shù)據(jù)來同步移動應(yīng)用考慮在內(nèi)。
機(jī)會學(xué)習(xí)引擎124也可以考慮移動設(shè)備102的狀態(tài)。在一個示例中,若移動設(shè)備102正在充電,那么機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。即使網(wǎng)絡(luò)被標(biāo)識為用于上傳移動應(yīng)用數(shù)據(jù)的不良機(jī)會網(wǎng)絡(luò),機(jī)會學(xué)習(xí)引擎124也可以發(fā)送通知。例如,若移動設(shè)備102連接到網(wǎng)絡(luò),那么網(wǎng)絡(luò)可以是用于下載移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò),卻是用于上傳移動應(yīng)用數(shù)據(jù)的不良機(jī)會網(wǎng)絡(luò)。機(jī)會學(xué)習(xí)引擎124可以確定同步移動應(yīng)用的零機(jī)會成本。
在另一示例中,若移動設(shè)備102的電池壽命在閾值電池壽命之下,那么機(jī)會學(xué)習(xí)引擎124可能想要延遲當(dāng)前網(wǎng)絡(luò)連接上的數(shù)據(jù)的傳輸以節(jié)省電池功率(即使當(dāng)前網(wǎng)絡(luò)連接被標(biāo)識為良好機(jī)會網(wǎng)絡(luò))。在此類示例中,機(jī)會學(xué)習(xí)引擎124可以向同步管理器120發(fā)送不在當(dāng)前網(wǎng)絡(luò)連接上同步移動應(yīng)用的通知和/或向同步管理器120發(fā)送當(dāng)前網(wǎng)絡(luò)連接不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。用這種方式,機(jī)會學(xué)習(xí)引擎124可以避免移動設(shè)備102消耗更多功率。
雖然機(jī)會學(xué)習(xí)引擎124已經(jīng)被描述為向同步管理器120發(fā)送通知,但是應(yīng)當(dāng)理解,機(jī)會學(xué)習(xí)引擎124可以向安裝在移動設(shè)備102上的一個或多個移動應(yīng)用發(fā)送通知。機(jī)會學(xué)習(xí)引擎124可以例如僅向同步管理器120發(fā)送通知、僅向安裝在移動設(shè)備102上的一個或多個移動應(yīng)用發(fā)送通知,或者向同步管理器120和安裝在移動設(shè)備102上的一個或多個移動應(yīng)用二者發(fā)送通知。
III.確定是否同步移動應(yīng)用
同步管理器120可以從機(jī)會學(xué)習(xí)引擎124接收通知并確定是否同步移動應(yīng)用數(shù)據(jù)。該通知可以指示當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)還是不良機(jī)會網(wǎng)絡(luò)。同步管理器120可以在操作系統(tǒng)中提供高級數(shù)據(jù)服務(wù)或應(yīng)用。
機(jī)會學(xué)習(xí)引擎124可以用各種各樣的方式向同步管理器120發(fā)送通知。在一個示例中,機(jī)會學(xué)習(xí)引擎124經(jīng)由廣播消息來向同步管理器120通知良好機(jī)會網(wǎng)絡(luò)。同步管理器120可以注冊來接收網(wǎng)絡(luò)提示廣播。在一個示例中,移動設(shè)備102執(zhí)行操作系統(tǒng)以及利用的“sendBroadcast(Intent Networkopportunity)”呼叫來通知服務(wù)。在此類示例中,服務(wù)可以注冊來使用“registerReceiver(BroadcastReceiver,IntentFilter)”接收廣播意圖。在接收廣播消息之際,服務(wù)(諸如同步管理器120)可以選擇發(fā)起待決同步和/或其他數(shù)據(jù)傳輸活動來利用良好的網(wǎng)絡(luò)條件。
響應(yīng)于條件得到滿足,同步管理器120可以確定是否同步移動應(yīng)用數(shù)據(jù)。在一個示例中,當(dāng)接收到通知時,該條件得到滿足。同步管理器120可以響應(yīng)于例如從機(jī)會學(xué)習(xí)引擎124接收到通知來做出是否同步移動應(yīng)用數(shù)據(jù)的確定。在另一示例中,當(dāng)一時間段流逝時,該條件得到滿足。同步管理器120可以周期性地做出是否同步移動應(yīng)用數(shù)據(jù)的確定。
A.不同步移動應(yīng)用
在接收到當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知之后,同步管理器120可以確定不同步移動應(yīng)用數(shù)據(jù)。響應(yīng)于確定不同步移動應(yīng)用數(shù)據(jù),同步管理器120可以不進(jìn)一步做任何事。
若例如移動應(yīng)用已經(jīng)調(diào)度了同步,那么同步管理器120可以確定不同步移動應(yīng)用的應(yīng)用數(shù)據(jù)。在另一示例中,若移動應(yīng)用已調(diào)度了同步,那么同步管理器120可以確定同步移動應(yīng)用數(shù)據(jù)并且將該同步重新調(diào)度成稍后執(zhí)行。
B.同步移動應(yīng)用
響應(yīng)于確定同步移動應(yīng)用數(shù)據(jù),同步管理器120可以向與移動應(yīng)用相關(guān)聯(lián)的服務(wù)器發(fā)送消息,或者可以向安裝在移動設(shè)備102上的移動應(yīng)用發(fā)送消息來發(fā)起移動應(yīng)用數(shù)據(jù)同步。移動應(yīng)用104或同步管理器120可以向服務(wù)器114發(fā)送消息以發(fā)起移動應(yīng)用數(shù)據(jù)同步。
同步管理器120可以調(diào)度安裝在移動設(shè)備102上的移動應(yīng)用的同步。在一些實(shí)施例中,來自應(yīng)用的數(shù)據(jù)傳輸被延遲及批量處理。同步管理器120可以收集應(yīng)用數(shù)據(jù)同步請求。在一個示例中,同步管理器120統(tǒng)一同步移動應(yīng)用數(shù)據(jù)。同步管理器120可以向要同步的一個或多個移動應(yīng)用和/或與要同步的一個或多個移動應(yīng)用相關(guān)聯(lián)的服務(wù)器發(fā)送廣播通知來發(fā)起移動應(yīng)用數(shù)據(jù)同步。在一個示例中,該通知并未被廣播到安裝在移動設(shè)備102上的所有移動應(yīng)用。在此類示例中,該通知可以基于一些優(yōu)選的行為而被發(fā)送到特定移動應(yīng)用。
在一些實(shí)施例中,同步管理器120基于優(yōu)先級調(diào)度移動應(yīng)用的同步。參見圖1,同步管理器120可以使用移動應(yīng)用104的優(yōu)先級和移動應(yīng)用106的優(yōu)先級來確定哪個移動應(yīng)用要在其他移動應(yīng)用之前同步。例如,若移動應(yīng)用104比移動應(yīng)用106具有更高的同步優(yōu)先級,那么同步管理器120可以在移動應(yīng)用106與服務(wù)器116的同步之前調(diào)度移動應(yīng)用104與服務(wù)器114的同步。
優(yōu)先級可以用各種各樣的方式被指派給移動應(yīng)用。在一個示例中,移動設(shè)備102的用戶可以向移動應(yīng)用指派優(yōu)先級。在此類示例中,同步管理器120可以為用戶提供請求用戶指示哪些移動應(yīng)用與安裝在移動設(shè)備102上的一個或多個其他移動應(yīng)用相比具有更高的同步優(yōu)先級的提示。在另一示例中,同步管理器120監(jiān)視移動設(shè)備102的用戶參與移動應(yīng)用104和106的方式,并基于該監(jiān)視向移動應(yīng)用指派優(yōu)先級。同步管理器120可以基于例如哪些移動應(yīng)用是最為頻繁使用的、在移動應(yīng)用同步期間平均有多少數(shù)據(jù)被傳輸給移動應(yīng)用的相關(guān)聯(lián)服務(wù)器、或者移動應(yīng)用是否是最近使用的移動應(yīng)用來向移動應(yīng)用指派優(yōu)先級。
在一些實(shí)施例中,同步管理器120基于一時間段流逝來調(diào)度移動應(yīng)用的同步。同步管理器120可以將移動應(yīng)用標(biāo)識為要周期性同步的應(yīng)用。在此類示例中,即使同步管理器120未接收到當(dāng)前網(wǎng)絡(luò)連接是用于同步移動應(yīng)用104的移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知,同步管理器120也可以調(diào)度移動應(yīng)用104的同步。
在一些實(shí)施例中,同步管理器120可以識別同步是用于上傳還是下載的,并且相應(yīng)地發(fā)布機(jī)會通知。同步管理器120可以隨后基于同步通知來調(diào)度數(shù)據(jù)上傳或數(shù)據(jù)下載。在一個示例中,這些通知是在機(jī)會學(xué)習(xí)引擎124與訂閱廣播通知的所有服務(wù)進(jìn)程之間的共享存儲器通道上發(fā)送的廣播消息。當(dāng)例如機(jī)會學(xué)習(xí)引擎124(基于先前看到的機(jī)會)看到網(wǎng)絡(luò)的“最佳”機(jī)會分?jǐn)?shù)以及想要將該知識傳達(dá)給同步管理器時,可以觸發(fā)通知。
IV.用戶輸入
在一些實(shí)施例中,用戶選項可以被添加到機(jī)會學(xué)習(xí)引擎124以否決機(jī)會學(xué)習(xí)引擎124做出的確定。在一個示例中,若機(jī)會學(xué)習(xí)引擎124確定發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知,那么機(jī)會學(xué)習(xí)引擎124可以為用戶提供否決該確定的選項。若用戶否決該確定,則機(jī)會學(xué)習(xí)引擎124可以確定不發(fā)送該通知。
在另一個示例中,若機(jī)會學(xué)習(xí)引擎124確定不發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知,那么機(jī)會學(xué)習(xí)引擎124可以為用戶提供否決該確定的選項。若用戶否決該確定,則機(jī)會學(xué)習(xí)引擎124可以發(fā)送該通知。在另一個示例中,若機(jī)會學(xué)習(xí)引擎124確定發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的不良機(jī)會網(wǎng)絡(luò)的通知,那么機(jī)會學(xué)習(xí)引擎124可以為用戶提供否決該確定的選項。若用戶否決該確定,那么機(jī)會學(xué)習(xí)引擎124可以發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知或者可以確定沒有通知應(yīng)當(dāng)被發(fā)送。
在一個示例中,機(jī)會學(xué)習(xí)引擎124可以在移動設(shè)備104的顯示器上提供提示。該提示可以請求移動設(shè)備102的用戶是否期望否決當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會的確定。該確定可以是當(dāng)前網(wǎng)絡(luò)例如是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)或不是良好機(jī)會網(wǎng)絡(luò)。
在一個示例中,機(jī)會學(xué)習(xí)引擎124可以接收響應(yīng)于該提示的用戶輸入,該用戶輸入指示用戶期望否決當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的確定。在此類示例中,響應(yīng)于用戶輸入,機(jī)會學(xué)習(xí)引擎124可以確定不發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。在另一個示例中,機(jī)會學(xué)習(xí)引擎124可以接收響應(yīng)于該提示的用戶輸入,該用戶輸入指示用戶不期望否決當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的確定。在此類示例中,響應(yīng)于用戶輸入,機(jī)會學(xué)習(xí)引擎124可以發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。
在另一個示例中,機(jī)會學(xué)習(xí)引擎124可以接收響應(yīng)于該提示的用戶輸入,該用戶輸入指示用戶期望否決當(dāng)前網(wǎng)絡(luò)不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的確定。在此類示例中,響應(yīng)于用戶輸入,機(jī)會學(xué)習(xí)引擎124可以發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。在另一個示例中,機(jī)會學(xué)習(xí)引擎124可以接收響應(yīng)于該提示的用戶輸入,該用戶輸入指示用戶不期望否決當(dāng)前網(wǎng)絡(luò)不是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的確定。在此類示例中,響應(yīng)于用戶輸入,機(jī)會學(xué)習(xí)引擎124可以確定不發(fā)送當(dāng)前網(wǎng)絡(luò)是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)的通知。
機(jī)會學(xué)習(xí)引擎124可以監(jiān)視用戶的否決以獲悉用戶想要什么。在一個示例中,用戶的否決可以是輸入到機(jī)會學(xué)習(xí)引擎124的輸入,從而其知曉例如不在星期六和星期日等待公司W(wǎng)i-Fi網(wǎng)絡(luò)。
在一些實(shí)施例中,用戶選項可以被添加到同步管理器120以否決同步管理器120做出的確定。在一個示例中,若同步管理器120確定移動應(yīng)用數(shù)據(jù)同步應(yīng)當(dāng)被調(diào)度,在同步管理器120實(shí)際上調(diào)度移動應(yīng)用數(shù)據(jù)同步之前,用戶可以被提供有否決該移動應(yīng)用數(shù)據(jù)同步的選項。若用戶否決該確定,同步管理器120可以確定不調(diào)度移動應(yīng)用數(shù)據(jù)同步。
在另一個示例中,若同步管理器120確定移動應(yīng)用數(shù)據(jù)同步不應(yīng)當(dāng)被調(diào)度,則在同步管理器120確定不調(diào)度移動應(yīng)用數(shù)據(jù)同步之前,用戶可以被提供有否決同步管理器120的該確定的選項。例如,移動設(shè)備102的電池電量可能較低,并且同步管理器120可能想要節(jié)省電池功率,并且由此可確定移動應(yīng)用數(shù)據(jù)同步不應(yīng)當(dāng)進(jìn)行。用戶可以否決該同步管理器120的確定以不調(diào)度移動應(yīng)用數(shù)據(jù)同步以及指令同步管理器120調(diào)度移動應(yīng)用數(shù)據(jù)同步。
如以上所討論并在此進(jìn)一步強(qiáng)調(diào)的,圖1-2僅僅是示例,其不應(yīng)當(dāng)不恰當(dāng)?shù)叵拗茩?quán)利要求的范圍。例如,雖然移動設(shè)備102被描述為移動設(shè)備,但是應(yīng)當(dāng)理解,在其他實(shí)施例中,移動設(shè)備102可以是固定設(shè)備。
V.示例方法
圖3是解說根據(jù)一些實(shí)施例的在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的方法300的流程圖。方法300并不旨在進(jìn)行限制并且可以用于其他應(yīng)用中。
方法300包括框302-308。在框302,對于一個或多個網(wǎng)絡(luò)中的每個網(wǎng)絡(luò),網(wǎng)絡(luò)數(shù)據(jù)是關(guān)于移動設(shè)備至相應(yīng)網(wǎng)絡(luò)的當(dāng)前連通性狀態(tài)來收集的,其中移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。在一個示例中,對于一個或多個網(wǎng)絡(luò)中的每個網(wǎng)絡(luò),網(wǎng)絡(luò)度量記錄器122收集關(guān)于移動設(shè)備102至相應(yīng)網(wǎng)絡(luò)的當(dāng)前連通性狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù),其中移動設(shè)備102包括移動應(yīng)用104和106,并且每個移動應(yīng)用包括應(yīng)用數(shù)據(jù)。
在框304,在移動設(shè)備處檢測到至當(dāng)前網(wǎng)絡(luò)的當(dāng)前連接。在一個示例中,網(wǎng)絡(luò)度量記錄器122在移動設(shè)備102處檢測到至網(wǎng)絡(luò)108的當(dāng)前連接。
在框306,一個或多個機(jī)會分?jǐn)?shù)被比較以供同步應(yīng)用數(shù)據(jù),這一個或多個機(jī)會分?jǐn)?shù)包括當(dāng)前網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù),其中每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)。在一個示例中,機(jī)會學(xué)習(xí)引擎124比較一個或多個機(jī)會分?jǐn)?shù)以供同步應(yīng)用數(shù)據(jù),這一個或多個機(jī)會分?jǐn)?shù)包括當(dāng)前網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù),以及其中每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)。
在一個示例中,當(dāng)前網(wǎng)絡(luò)和第二網(wǎng)絡(luò)(先前連接到移動設(shè)備的網(wǎng)絡(luò))是相同的網(wǎng)絡(luò)類型并且針對特征集合具有不同特征集合值。機(jī)會學(xué)習(xí)引擎124可以比較與相同網(wǎng)絡(luò)類型(例如,蜂窩網(wǎng)絡(luò)、Wi-Fi網(wǎng)絡(luò)等)相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)。在一個示例中,這一個或多個機(jī)會分?jǐn)?shù)包括與相同網(wǎng)絡(luò)類型相關(guān)聯(lián)的第一機(jī)會分?jǐn)?shù)和第二機(jī)會分?jǐn)?shù),并且機(jī)會學(xué)習(xí)引擎124將第一和第二機(jī)會分?jǐn)?shù)相互比較。
在另一示例中,當(dāng)前網(wǎng)絡(luò)是第一類型且(先前連接到移動設(shè)備的)第二網(wǎng)絡(luò)是與第一類型不同的第二類型。機(jī)會學(xué)習(xí)引擎124可以比較與第一類型的當(dāng)前網(wǎng)絡(luò)和第二類型的第二網(wǎng)絡(luò)相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)。在一個示例中,這一個或多個機(jī)會分?jǐn)?shù)包括第一機(jī)會分?jǐn)?shù)和第二機(jī)會分?jǐn)?shù),其中第一機(jī)會分?jǐn)?shù)與第一類型的當(dāng)前網(wǎng)絡(luò)(例如,蜂窩網(wǎng)絡(luò))相關(guān)聯(lián),且與第二機(jī)會分?jǐn)?shù)與第二類型的第二網(wǎng)絡(luò)(例如,Wi-Fi網(wǎng)絡(luò))相關(guān)聯(lián)。在此類示例中,機(jī)會學(xué)習(xí)引擎124比較與不同網(wǎng)絡(luò)類型相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)。
在框308,基于一個或多個機(jī)會分?jǐn)?shù)的比較確定當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)。在一個示例中,機(jī)會學(xué)習(xí)引擎124基于一個或多個機(jī)會分?jǐn)?shù)的比較確定網(wǎng)絡(luò)108是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會網(wǎng)絡(luò)。
也要理解,附加的過程可以在以上所討論的框302-308之前、期間或之后執(zhí)行。還應(yīng)理解,本文描述的方法300的一個或多個框可按期望被省略、組合或以不同的順序執(zhí)行。
圖4是解說根據(jù)一些實(shí)施例的在移動設(shè)備和遠(yuǎn)程計算設(shè)備之間同步應(yīng)用數(shù)據(jù)的方法400的流程圖。方法400并不旨在進(jìn)行限制并且可以用于其他應(yīng)用中。
方法400包括框402-406。在框402,確定了是否在移動設(shè)備的至第一網(wǎng)絡(luò)的當(dāng)前連接上同步應(yīng)用數(shù)據(jù),該移動設(shè)備包括一個或多個移動應(yīng)用,這些移動應(yīng)用包括應(yīng)用數(shù)據(jù)。在一個示例中,同步管理器120確定是否在移動設(shè)備102的至第一網(wǎng)絡(luò)的當(dāng)前連接上同步應(yīng)用數(shù)據(jù),移動設(shè)備102包括移動應(yīng)用104和106,每個移動應(yīng)用包括應(yīng)用數(shù)據(jù)。
在框404,包括第一網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)和第二網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)的多個機(jī)會分?jǐn)?shù)被比較,移動設(shè)備先前連接到第二網(wǎng)絡(luò),并且每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)并基于特定網(wǎng)絡(luò)的一個或多個特征集合。在一個示例中,同步管理器120比較包括第一網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)和第二網(wǎng)絡(luò)的機(jī)會分?jǐn)?shù)的多個機(jī)會分?jǐn)?shù),移動設(shè)備104先前連接到第二網(wǎng)絡(luò),并且每個機(jī)會分?jǐn)?shù)與特定網(wǎng)絡(luò)相關(guān)聯(lián)并基于特定網(wǎng)絡(luò)的一個或多個特征集合。
在一個示例中,第一網(wǎng)絡(luò)是第一類型的,第二網(wǎng)絡(luò)是與第一類型不同的第二類型的。在此類示例中,與第一類型的第一網(wǎng)絡(luò)相關(guān)聯(lián)的第一機(jī)會分?jǐn)?shù)可以和與第二類型的第二網(wǎng)絡(luò)相關(guān)聯(lián)的第二機(jī)會分?jǐn)?shù)進(jìn)行比較。相應(yīng)地,與不同網(wǎng)絡(luò)類型相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)可以進(jìn)行比較。在另一示例中,第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)是相同網(wǎng)絡(luò)類型的并且針對特征集合具有不同的特征集合值。在此類示例中,與相同網(wǎng)絡(luò)類型相關(guān)聯(lián)的第一機(jī)會分?jǐn)?shù)和第二機(jī)會分?jǐn)?shù)進(jìn)行比較。相應(yīng)地,與相同網(wǎng)絡(luò)類型相關(guān)聯(lián)的機(jī)會分?jǐn)?shù)可以進(jìn)行比較。
在框406,基于多個機(jī)會分?jǐn)?shù)的比較確定是否調(diào)度移動應(yīng)用數(shù)據(jù)同步。在一個示例中,同步管理器120基于多個機(jī)會分?jǐn)?shù)的比較確定是否調(diào)度移動應(yīng)用數(shù)據(jù)同步。
也要理解,附加的過程可以在以上所討論的框402-406之前、期間或之后執(zhí)行。還應(yīng)理解,本文描述的方法400的一個或多個框可按期望被省略、組合或以不同的順序執(zhí)行。
VI.示例計算系統(tǒng)
圖5是適于實(shí)現(xiàn)本文公開的任何實(shí)施例的示例計算機(jī)系統(tǒng)500的框圖。在各種實(shí)現(xiàn)中,計算機(jī)系統(tǒng)500可以是移動設(shè)備102、服務(wù)器114、或服務(wù)器116。在圖5中,計算機(jī)系統(tǒng)500包括耦合至輸入/輸出(I/O)組件504的控制單元501。
計算機(jī)系統(tǒng)500可包括一個或多個處理器。計算機(jī)系統(tǒng)500可附加地包括一個或多個存儲設(shè)備,該一個或多個存儲設(shè)備各自選自包括以下的組:軟盤、柔性盤、硬盤、磁帶、任何其它磁介質(zhì)、CD-ROM、任何其它光學(xué)介質(zhì)、RAM、PROM、EPROM、閃速EPROM、任何其它存儲器芯片或卡帶、和/或處理器或計算機(jī)被適配成讀取的任何其它介質(zhì)。該一個或多個存儲設(shè)備可包括對于使用計算機(jī)網(wǎng)絡(luò)(未示出)耦合至客戶端或服務(wù)器的一個或多個計算設(shè)備和/或計算機(jī)程序(例如,客戶端)可用的所存儲信息。計算機(jī)網(wǎng)絡(luò)可以是任何類型的網(wǎng)絡(luò),包括LAN、WAN、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、云、和/或它們的能夠互連系統(tǒng)中的計算設(shè)備和/或計算機(jī)程序的任何網(wǎng)絡(luò)組合。
計算機(jī)系統(tǒng)500包括總線502或者其他用于在計算機(jī)系統(tǒng)500的各個組件之間傳達(dá)信息數(shù)據(jù)、信號以及信息的通信機(jī)制。各組件包括用于處理用戶動作(諸如從按鍵板/鍵盤選擇按鍵或者選擇一個或多個按鈕或鏈接等,以及向總線502發(fā)送相應(yīng)信號)的I/O組件504。在一個示例中,用戶動作可以是否決由機(jī)會學(xué)習(xí)引擎124和/或同步管理器120所做出的確定的用戶輸入。
I/O組件504還可包括輸出組件(諸如顯示器511)和輸入控件(諸如光標(biāo)控件513(諸如,鍵盤、按鍵板、鼠標(biāo)等))。在一個示例中,顯示器511在顯示器511上顯示提示,該提示請求移動設(shè)備102的用戶是否期望否決當(dāng)前網(wǎng)絡(luò)是否是用于同步移動應(yīng)用數(shù)據(jù)的良好機(jī)會的確定。
還可包括音頻I/O組件505以允許用戶使用語音以供通過將音頻信號轉(zhuǎn)換為信息信號來輸入信息。音頻I/O組件505可允許用戶聽見音頻。收發(fā)機(jī)或網(wǎng)絡(luò)接口506經(jīng)由至網(wǎng)絡(luò)的通信鏈路518在計算機(jī)系統(tǒng)500與其他設(shè)備之間傳送和接收信號。在一些實(shí)施例中,該傳輸是無線的,盡管其他傳輸機(jī)制和方法也可以是適合的。
處理器512(其可以是微控制器、數(shù)字信號處理器(DSP)、或其他處理組件)處理這些各種信號,諸如以供在計算機(jī)系統(tǒng)500的顯示器511上顯示或者經(jīng)由通信鏈路518傳輸至其他設(shè)備。網(wǎng)絡(luò)度量記錄器122、機(jī)會學(xué)習(xí)引擎124、和同步管理器120可以在處理器512中執(zhí)行。處理器512還可控制信息(諸如cookies或IP地址)至其他設(shè)備的傳輸。
計算機(jī)系統(tǒng)500的組件還包括系統(tǒng)存儲器組件514(例如,RAM)、靜態(tài)存儲組件516(例如,ROM)、和/或計算機(jī)可讀介質(zhì)517。計算機(jī)系統(tǒng)500通過由處理器512或其他組件執(zhí)行在系統(tǒng)存儲器組件514中包含的一個或多個指令序列來執(zhí)行特定操作。在一個示例中,處理器512根據(jù)圖3來處理指令302-308和/或根據(jù)圖4處理指令402-406。
邏輯可被編碼在計算機(jī)可讀介質(zhì)517中,該計算機(jī)可讀介質(zhì)517可以指代參與向處理器512提供指令以供執(zhí)行的任何介質(zhì)。此類介質(zhì)可采取許多種形式,包括但并不限定于非易失性介質(zhì)、易失性介質(zhì)、和傳輸介質(zhì)。在各種實(shí)現(xiàn)中,非易失性介質(zhì)包括光盤或磁盤、或固態(tài)驅(qū)動器,易失性介質(zhì)包括動態(tài)存儲器(諸如系統(tǒng)存儲器組件514),并且傳輸介質(zhì)包括同軸電纜、銅線和光纖(包括包含總線502的導(dǎo)線)。在一些實(shí)施例中,該邏輯被編碼到計算機(jī)可讀介質(zhì)517中。計算機(jī)可讀介質(zhì)517可以是可包含、存儲、傳達(dá)、傳播或傳輸由處理器512使用或與處理器512結(jié)合的任何裝置。計算機(jī)可讀介質(zhì)517可以是電子、磁性、光學(xué)、電磁、紅外、或半導(dǎo)體設(shè)備或傳播介質(zhì)、或任何其他存儲器芯片或卡帶、或計算機(jī)被適配成從其讀取的任何其他介質(zhì)。進(jìn)一步,傳輸介質(zhì)可采用聲波或光波的形式,諸如那些在無線電波、光和紅外數(shù)據(jù)通信期間生成的波。
在本公開的各個實(shí)施例中,用于實(shí)踐本公開的指令序列的執(zhí)行可以由計算機(jī)系統(tǒng)500執(zhí)行。在本公開的各種其他實(shí)施例中,由通信鏈路518耦合至網(wǎng)絡(luò)(舉例而言,諸如LAN、WLAN、PTSN、和/或各種其他有線或無線網(wǎng)絡(luò),包括電信、移動、和蜂窩電話網(wǎng)絡(luò))的多個計算機(jī)系統(tǒng)500可以執(zhí)行指令序列以彼此協(xié)同地實(shí)踐本公開。
在適用的情況下,由本公開提供的各種實(shí)施例可使用硬件、軟件、或硬件和軟件的組合來實(shí)現(xiàn)。同樣在適用的情況下,本文闡述的各種硬件組件和/或軟件組件可被組合成包括軟件、硬件、和/或兩者的復(fù)合組件而不脫離本公開的精神。在適用的情況下,本文闡述的各種硬件組件和/或軟件組件可被分成包括軟件、硬件、或兩者的子組件而不脫離本公開的精神。另外,在適用的情況下,構(gòu)想了軟件組件可被實(shí)現(xiàn)為硬件組件,反之亦然。
根據(jù)本公開的應(yīng)用軟件可被存儲在一個或多個計算機(jī)可讀介質(zhì)上。還構(gòu)想了本文所標(biāo)識的應(yīng)用軟件可使用一個或多個通用或?qū)S糜嬎銠C(jī)和/或經(jīng)聯(lián)網(wǎng)和/或其他形式的計算機(jī)系統(tǒng)來實(shí)現(xiàn)。在適用的情況下,本文描述的各個步驟的排序可以改變、組合成復(fù)合步驟、和/或分成子步驟以提供本文描述的特征。
前述公開并不旨在將本公開限定為所公開的精確使用形式或特定使用領(lǐng)域。如此,構(gòu)想了對本公開的各種替換實(shí)施例和/或修改(無論是在本文中顯式描述還是暗示)鑒于本公開是可能的??稍谛问胶图?xì)節(jié)上作出改變而不脫離本公開的范圍。因此,本公開僅由權(quán)利要求來限定。