機(jī)會(huì)性網(wǎng)絡(luò)更新的制作方法
【專利摘要】用于提供機(jī)會(huì)性網(wǎng)絡(luò)更新的方法、系統(tǒng)和裝置,包括在計(jì)算機(jī)存儲(chǔ)介質(zhì)上編碼的計(jì)算機(jī)程序。在一個(gè)方面中,一種方法包括:由具有網(wǎng)絡(luò)接口的移動(dòng)設(shè)備上的隊(duì)列管理器確定履行對(duì)通過網(wǎng)絡(luò)接口上傳或者下載數(shù)據(jù)的一個(gè)或者多個(gè)請(qǐng)求,以及響應(yīng)于確定履行請(qǐng)求,由隊(duì)列管理器將一個(gè)或者多個(gè)規(guī)則應(yīng)用于請(qǐng)求以將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求。該方法還包括:由隊(duì)列管理器使被分類為將履行的請(qǐng)求被履行或者使被分類為將不履行的請(qǐng)求不被履行。
【專利說明】機(jī)會(huì)性網(wǎng)絡(luò)更新
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)要求對(duì)通過引用而結(jié)合于此的以下美國(guó)專利申請(qǐng)的權(quán)益:美國(guó)專利申請(qǐng)?zhí)?1/451,885,提交于2011年3月11日;美國(guó)專利申請(qǐng)?zhí)?3/216,478,提交于2011年8月24日;以及美國(guó)專利申請(qǐng)?zhí)?3/249,305,提交于2011年9月30日。
【背景技術(shù)】
[0003]在無線網(wǎng)絡(luò)環(huán)境中,網(wǎng)絡(luò)連接建立起來計(jì)算成本高并且如果不必要地保持它們開放則產(chǎn)生困難。例如,為了傳輸少量數(shù)據(jù),移動(dòng)設(shè)備可以在延長(zhǎng)的時(shí)間段接通它的無線電,從而在如果數(shù)據(jù)不重要?jiǎng)t可能不合理的程度上耗盡它的電池。
【發(fā)明內(nèi)容】
[0004]根據(jù)一個(gè)一般實(shí)現(xiàn)方式,可以建立專用規(guī)則以輔助移動(dòng)設(shè)備確定是否傳輸為了傳輸而排隊(duì)的數(shù)據(jù)。規(guī)則可以確立(establish)不應(yīng)傳輸或者不應(yīng)立即傳輸某些數(shù)據(jù),比如重復(fù)請(qǐng)求、對(duì)于不重要或者非關(guān)鍵信息的請(qǐng)求或者可以在以后時(shí)間(比如在已經(jīng)建立網(wǎng)絡(luò)連接時(shí))滿足的請(qǐng)求。移動(dòng)設(shè)備傳輸規(guī)則已經(jīng)指示應(yīng)當(dāng)傳輸?shù)臄?shù)據(jù),并且對(duì)規(guī)則已經(jīng)指示不應(yīng)傳輸?shù)臄?shù)據(jù)執(zhí)行一些其它動(dòng)作,例如,延遲、刪除、聚合、忽略。
[0005]一般而言,可以在包括以下動(dòng)作的方法中體現(xiàn)在本說明書中描述的主題內(nèi)容的另一方面:確定已經(jīng)建立網(wǎng)絡(luò)連接,然后確定在數(shù)據(jù)傳輸隊(duì)列中存儲(chǔ)的對(duì)通過網(wǎng)絡(luò)連接傳達(dá)數(shù)據(jù)的多個(gè)請(qǐng)求代表相同請(qǐng)求類型;以及選擇多個(gè)請(qǐng)求中的一個(gè)請(qǐng)求。動(dòng)作還包括:通過網(wǎng)絡(luò)連接僅傳輸多個(gè)請(qǐng)求中的選擇的一個(gè)請(qǐng)求。
[0006]一般而言,可以在一種系統(tǒng)中體現(xiàn)在本說明書中描述的主題內(nèi)容的另一方面,該系統(tǒng)包括:計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),被配置用于存儲(chǔ)多個(gè)數(shù)據(jù)上傳或者下載請(qǐng)求和用于過濾請(qǐng)求的規(guī)則;以及網(wǎng)絡(luò)接口,被配置用于建立網(wǎng)絡(luò)連接。該系統(tǒng)還包括:規(guī)則引擎,被配置用于:使用規(guī)則來評(píng)估多個(gè)數(shù)據(jù)上傳或者下載請(qǐng)求,基于使用規(guī)則評(píng)估多個(gè)數(shù)據(jù)上傳或者下載請(qǐng)求來確立特定數(shù)據(jù)上傳或者下載請(qǐng)求是反復(fù)(recurring)請(qǐng)求,以及選擇反復(fù)請(qǐng)求的子集。規(guī)則引擎還被配置用于:刪除反復(fù)請(qǐng)求的子集;以及通過網(wǎng)絡(luò)連接傳達(dá)未作為子集的部分而被選擇的任何反復(fù)請(qǐng)求。
[0007]一般而言,可以在包括以下動(dòng)作的方法中體現(xiàn)在本說明書中描述的主題內(nèi)容的另一方面:由具有網(wǎng)絡(luò)接口的移動(dòng)設(shè)備上的隊(duì)列管理器確定履行對(duì)通過網(wǎng)絡(luò)接口上傳或者下載數(shù)據(jù)的一個(gè)或者多個(gè)請(qǐng)求;以及響應(yīng)于確定履行請(qǐng)求,由隊(duì)列管理器將一個(gè)或者多個(gè)規(guī)則應(yīng)用于請(qǐng)求以將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求。動(dòng)作還包括:由隊(duì)列管理器使被分類為將履行的請(qǐng)求被履行或者使被分類為將不履行的請(qǐng)求不被履行。
[0008]其它方面包括被配置用于執(zhí)行方法的動(dòng)作的對(duì)應(yīng)的系統(tǒng)、裝置和在計(jì)算機(jī)存儲(chǔ)設(shè)備上編碼的計(jì)算機(jī)程序。
[0009]這些和其它實(shí)現(xiàn)方式可以各自可選地包括以下特征中的一個(gè)或者多個(gè)特征。確定履行一個(gè)或者多個(gè)請(qǐng)求還包括確定自從已經(jīng)履行對(duì)上傳或者下載數(shù)據(jù)的先前請(qǐng)求起已經(jīng)流逝預(yù)定時(shí)間段。確定履行一個(gè)或者多個(gè)請(qǐng)求還包括:確定與請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求關(guān)聯(lián)的特性;確定與特性關(guān)聯(lián)的預(yù)定時(shí)間段;以及確定自從已經(jīng)履行對(duì)上傳或者下載數(shù)據(jù)的先前請(qǐng)求起已經(jīng)流逝預(yù)定時(shí)間段。特性包括請(qǐng)求的優(yōu)先級(jí)。
[0010]在一些實(shí)現(xiàn)方式中,使被分類為將不履行的請(qǐng)求不被履行包括刪除被分類為將不履行的請(qǐng)求。將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求還包括標(biāo)識(shí)與每個(gè)請(qǐng)求關(guān)聯(lián)的指示提交該請(qǐng)求的應(yīng)用的信息。將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求還包括分別確定請(qǐng)求是反復(fù)請(qǐng)求或者非反復(fù)請(qǐng)求。
[0011]在一些實(shí)現(xiàn)方式中,動(dòng)作包括:由隊(duì)列管理器從應(yīng)用接收對(duì)注冊(cè)規(guī)則中的一個(gè)或者多個(gè)規(guī)則的請(qǐng)求;以及由隊(duì)列管理器基于接收對(duì)注冊(cè)規(guī)則中的一個(gè)或者多個(gè)規(guī)則的請(qǐng)求來注冊(cè)一個(gè)或者多個(gè)規(guī)則。規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定在由特定應(yīng)用提交的一個(gè)或者多個(gè)更加新的請(qǐng)求被排隊(duì)時(shí),將履行更加新的請(qǐng)求并且將不履行由特定應(yīng)用提交的一個(gè)或者多個(gè)更加舊的請(qǐng)求。規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定將同時(shí)履行請(qǐng)求中的兩個(gè)或者更多請(qǐng)求。規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定將作為批次履行請(qǐng)求中的兩個(gè)或者更多請(qǐng)求。規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定直至預(yù)定事件出現(xiàn)才將履行請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求。
[0012]在一些實(shí)現(xiàn)方式中,預(yù)定事件包括預(yù)定時(shí)間段流逝。確定多個(gè)請(qǐng)求代表相同請(qǐng)求類型包括確定多個(gè)請(qǐng)求是反復(fù)請(qǐng)求。確定多個(gè)請(qǐng)求是反復(fù)請(qǐng)求包括確定多個(gè)請(qǐng)求是對(duì)于更新的位置信息的定期請(qǐng)求。請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求包括對(duì)在移動(dòng)設(shè)備與服務(wù)器之間同步數(shù)據(jù)的請(qǐng)求。動(dòng)作包括過濾未被選擇的多個(gè)請(qǐng)求。確定多個(gè)請(qǐng)求代表相同請(qǐng)求類型包括確定多個(gè)請(qǐng)求具有相同優(yōu)先級(jí)。
[0013]在附圖和以下描述中闡述在本說明書中描述的主題內(nèi)容的一個(gè)或者多個(gè)實(shí)現(xiàn)方式的細(xì)節(jié)。主題內(nèi)容的其它潛在特征、方面和優(yōu)點(diǎn)將從描述、附圖和權(quán)利要求變得清楚。
【專利附圖】
【附圖說明】
[0014]圖1是示例移動(dòng)設(shè)備的示圖。
[0015]圖2是可以用于傳輸和接收數(shù)據(jù)的示例系統(tǒng)的示圖。
[0016]圖3是示例過程的流程圖。
[0017]圖4圖示示例隊(duì)列和示例規(guī)則數(shù)據(jù)庫。
[0018]圖5是示例過程的泳道圖。
[0019]相似標(biāo)號(hào)通篇代表對(duì)應(yīng)的部分。
【具體實(shí)施方式】
[0020]圖1是包括網(wǎng)絡(luò)接口和計(jì)算機(jī)可讀介質(zhì)的示例移動(dòng)設(shè)備100的示圖,通過該網(wǎng)絡(luò)接口上傳或者下載數(shù)據(jù),該計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)應(yīng)用102。應(yīng)用102比如在安裝應(yīng)用102期間向規(guī)則數(shù)據(jù)庫104注冊(cè)一個(gè)或者多個(gè)規(guī)則。
[0021]隨著時(shí)間,應(yīng)用102發(fā)起對(duì)通過網(wǎng)絡(luò)接口上傳或者下載數(shù)據(jù)的請(qǐng)求106。請(qǐng)求106可以在隊(duì)列108中排隊(duì)而不是立即被履行。隊(duì)列管理器110可以比如定期地、響應(yīng)于高優(yōu)先級(jí)請(qǐng)求、響應(yīng)于已經(jīng)建立網(wǎng)絡(luò)連接的通知、響應(yīng)于移動(dòng)設(shè)備100的通信速度大于閾值速度的通知或者響應(yīng)于任何其它事件處理隊(duì)列108。
[0022]對(duì)于每個(gè)請(qǐng)求,隊(duì)列管理器110可以標(biāo)識(shí)規(guī)則數(shù)據(jù)庫104中的適用于請(qǐng)求的一個(gè)或者多個(gè)規(guī)則,并且可以將一個(gè)或者多個(gè)規(guī)則應(yīng)用于請(qǐng)求以將請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求??梢允褂檬瞻l(fā)器112來履行將履行的請(qǐng)求。
[0023]使用這一框架,移動(dòng)設(shè)備10可以延遲傳輸或者接收數(shù)據(jù)直至多個(gè)數(shù)據(jù)傳送請(qǐng)求被排隊(duì)。傳輸多個(gè)排隊(duì)的請(qǐng)求與立即傳輸個(gè)別請(qǐng)求比較可以造成減少的電池使用。也在傳送數(shù)據(jù)之前,移動(dòng)設(shè)備100可以過濾數(shù)據(jù)傳送請(qǐng)求以去除任何如下請(qǐng)求,該請(qǐng)求是另一請(qǐng)求的功能重復(fù)。例如,可以過濾對(duì)于地理位置信息的多個(gè)排隊(duì)的請(qǐng)求,從而使得僅傳輸最后請(qǐng)求或者僅最后數(shù)個(gè)請(qǐng)求,由此避免傳送過期信息。
[0024]更具體而言,圖2是可以用于傳輸和接收數(shù)據(jù)的示例系統(tǒng)200的示圖。系統(tǒng)200包括通過網(wǎng)絡(luò)206與服務(wù)器204通信的移動(dòng)設(shè)備202。網(wǎng)絡(luò)206可以是專有網(wǎng)絡(luò)比如內(nèi)部網(wǎng)、公用網(wǎng)絡(luò)比如因特網(wǎng)或者其某一組合。移動(dòng)設(shè)備202包括一個(gè)或者多個(gè)處理器208、收發(fā)器209和計(jì)算機(jī)可讀介質(zhì)210。計(jì)算機(jī)可讀介質(zhì)210包括一個(gè)或者多個(gè)應(yīng)用212、隊(duì)列管理器214、規(guī)則數(shù)據(jù)庫216和隊(duì)列218。
[0025]應(yīng)用212可以例如包括應(yīng)用220 (例如,應(yīng)用“ 123”)。在狀態(tài)“A”期間,應(yīng)用220向規(guī)則數(shù)據(jù)庫223發(fā)送對(duì)注冊(cè)規(guī)則224的請(qǐng)求222。應(yīng)用220可以發(fā)送請(qǐng)求222例如作為應(yīng)用220的安裝的部分。請(qǐng)求222與規(guī)則224 —起包括應(yīng)用220的標(biāo)識(shí)符226。
[0026]規(guī)則224指定在處理排隊(duì)的請(qǐng)求時(shí)將僅傳輸對(duì)上傳或者下載數(shù)據(jù)的最新的請(qǐng)求。其它規(guī)則示例包括傳輸最后五個(gè)請(qǐng)求或者如果移動(dòng)設(shè)備202的通信速度在閾值速度以上則傳輸請(qǐng)求。以下更具體討論規(guī)則。在狀態(tài)“B”期間,規(guī)則224與標(biāo)識(shí)符226關(guān)聯(lián)地存儲(chǔ)于規(guī)則數(shù)據(jù)庫223中作為規(guī)則228。
[0027]在狀態(tài)“C”期間,應(yīng)用220隨時(shí)間向隊(duì)列235發(fā)送多個(gè)請(qǐng)求(例如,請(qǐng)求230、232、234),其中每個(gè)請(qǐng)求230、232和234是來自應(yīng)用220的對(duì)向移動(dòng)設(shè)備202下載數(shù)據(jù)或者從移動(dòng)設(shè)備202上傳數(shù)據(jù)的請(qǐng)求。每個(gè)請(qǐng)求230、232和234可以例如包括應(yīng)用220的標(biāo)識(shí)符和時(shí)間戳。
[0028]如果請(qǐng)求230、232或者234是對(duì)下載數(shù)據(jù)的請(qǐng)求,則請(qǐng)求230、232或者234可以例如包括待下載的數(shù)據(jù)的描述或者指向該數(shù)據(jù)的鏈接。如果請(qǐng)求230、232或者234是對(duì)上傳數(shù)據(jù)的請(qǐng)求,則請(qǐng)求230、232或者234可以包括待上傳的數(shù)據(jù)或者指向待上傳的數(shù)據(jù)的鏈接。在狀態(tài)“D”期間,請(qǐng)求230、232和234存儲(chǔ)于隊(duì)列235中分別作為隊(duì)列條目236、238和240。隨時(shí)間,也可以在隊(duì)列235中將用于應(yīng)用212的請(qǐng)求排隊(duì)。
[0029]在狀態(tài)“E”期間,收發(fā)器241接通,并且向隊(duì)列管理器243發(fā)送指示收發(fā)器241已經(jīng)接通的信號(hào)242。收發(fā)器241可以例如響應(yīng)于時(shí)間間隔的流逝而接通。例如,移動(dòng)設(shè)備202可以被配置用于每小時(shí)接通收發(fā)器一次。作為另一不例,收發(fā)器241可以響應(yīng)于移動(dòng)設(shè)備202檢測(cè)到在閾值速度以上的通信速度而接通。
[0030]在狀態(tài)“F”期間,隊(duì)列管理器243向隊(duì)列235發(fā)送對(duì)確定哪些應(yīng)用在隊(duì)列235中具有隊(duì)列條目的請(qǐng)求244。在狀態(tài)“G”期間,向隊(duì)列管理器243發(fā)送消息246,該消息指示在隊(duì)列235中具有隊(duì)列條目的應(yīng)用(例如,應(yīng)用“123”)。
[0031]在一些實(shí)現(xiàn)方式中,隊(duì)列235包括存儲(chǔ)器和處理邏輯,而在其它實(shí)現(xiàn)方式中,隊(duì)列235包括存儲(chǔ)器但是不包括處理邏輯。在其中隊(duì)列235包括處理邏輯的實(shí)現(xiàn)方式中,隊(duì)列管理器243可以如圖2中所示請(qǐng)求隊(duì)列235確定哪些應(yīng)用在隊(duì)列235中具有隊(duì)列條目。在其中隊(duì)列235不包括處理邏輯的實(shí)現(xiàn)方式中,隊(duì)列243可以確定哪些應(yīng)用在隊(duì)列235中具有隊(duì)列條目。
[0032]在狀態(tài)“H”期間,隊(duì)列管理器243向規(guī)則數(shù)據(jù)庫223發(fā)送對(duì)標(biāo)識(shí)與在隊(duì)列235中包括條目的應(yīng)用(例如,應(yīng)用220)關(guān)聯(lián)的規(guī)則(如果存在)的請(qǐng)求248。在狀態(tài)“I”期間,標(biāo)識(shí)規(guī)則數(shù)據(jù)庫223中的與應(yīng)用220關(guān)聯(lián)的規(guī)則(例如,規(guī)則228),并且向隊(duì)列管理器243發(fā)送與規(guī)則228對(duì)應(yīng)或者標(biāo)識(shí)規(guī)則228的規(guī)則250。
[0033]在狀態(tài)“J”期間,隊(duì)列管理器243向隊(duì)列235發(fā)送與規(guī)則250對(duì)應(yīng)的指令。例如,由于規(guī)則250指定將僅傳輸對(duì)從應(yīng)用220上傳數(shù)據(jù)或者向應(yīng)用220下載數(shù)據(jù)的最后請(qǐng)求,所以隊(duì)列管理器243可以向隊(duì)列235發(fā)送用于刪除或者保持除了最新的隊(duì)列條目之外的與應(yīng)用220關(guān)聯(lián)的所有隊(duì)列條目(例如,用于刪除或者保持條目236和238)的指令252。隊(duì)列管理器235也可以向隊(duì)列235發(fā)送指令254,該指令指示將傳輸與應(yīng)用220關(guān)聯(lián)的最新的隊(duì)列條目(例如,隊(duì)列條目240)。
[0034]在狀態(tài)“K”期間,根據(jù)指令252和254處理隊(duì)列。例如,可以刪除隊(duì)列條目236和238。如果在處理指令252時(shí)將保持而不是刪除隊(duì)列條目(例如,隊(duì)列條目236或者238),則可以相應(yīng)地標(biāo)記隊(duì)列條目236或者238 (例如,如由在隊(duì)列條目236和238旁邊的“X”所示)。作為另一示例,響應(yīng)于指令254,可以將隊(duì)列條目240標(biāo)記為將傳輸(例如,如由在隊(duì)列條目240旁邊的復(fù)選標(biāo)記所示)。
[0035]在狀態(tài)“L”期間,履行被分類為將履行的對(duì)上傳或者下載數(shù)據(jù)的請(qǐng)求。例如,可以履行與隊(duì)列243中剩余的所有隊(duì)列條目關(guān)聯(lián)的請(qǐng)求,或者可以履行與被標(biāo)記為將傳輸?shù)年?duì)列條目對(duì)應(yīng)的請(qǐng)求。例如,收發(fā)器241可以執(zhí)行與隊(duì)列條目240關(guān)聯(lián)的上傳或者下載請(qǐng)求256。例如,如在狀態(tài)“M”期間進(jìn)一步所示,移動(dòng)設(shè)備202可以通過網(wǎng)絡(luò)206向服務(wù)器204發(fā)送對(duì)下載數(shù)據(jù)的請(qǐng)求258。在狀態(tài)“N”期間,服務(wù)器204向移動(dòng)設(shè)備202發(fā)送響應(yīng)260 (例如,包括請(qǐng)求的數(shù)據(jù))。
[0036]圖3是示例過程300的流程圖。簡(jiǎn)言之,過程300包括:由移動(dòng)設(shè)備上的隊(duì)列管理器確定履行對(duì)上傳或者下載數(shù)據(jù)的一個(gè)或者多個(gè)請(qǐng)求;以及響應(yīng)于確定履行請(qǐng)求,由隊(duì)列管理器將一個(gè)或者多個(gè)規(guī)則應(yīng)用于請(qǐng)求以將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求。過程300還包括:由隊(duì)列管理器使被分類為將履行的請(qǐng)求被履行或者使被分類為將不履行的請(qǐng)求不被履行。
[0037]更具體而言,在過程300開始(301)時(shí),移動(dòng)設(shè)備上的隊(duì)列管理器確定履行對(duì)上傳或者下載數(shù)據(jù)的一個(gè)或者多個(gè)請(qǐng)求(302)??梢岳缭谟申?duì)列管理器管理的隊(duì)列中存儲(chǔ)對(duì)上傳或者下載數(shù)據(jù)的請(qǐng)求。隊(duì)列管理器可以基于一個(gè)或者多個(gè)條件或者事件確定履行請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求。例如,可以向隊(duì)列管理器通知移動(dòng)設(shè)備的通信速度大于閾值速度。
[0038]在通知之前,移動(dòng)設(shè)備的通信速度可能已經(jīng)在閾值速度以下或者移動(dòng)設(shè)備可能已經(jīng)不能傳輸。移動(dòng)設(shè)備可以被配置用于在隊(duì)列中存儲(chǔ)對(duì)上傳或者下載數(shù)據(jù)的請(qǐng)求直至移動(dòng)設(shè)備的通信速度大于閾值速度并且在被通知移動(dòng)設(shè)備的通信速度在閾值速度以上時(shí)發(fā)送排隊(duì)的請(qǐng)求。例如,如果移動(dòng)設(shè)備被移向其中存在更強(qiáng)無線信號(hào)的位置或者如果停放移動(dòng)設(shè)備以使得它接入有線連接,則移動(dòng)設(shè)備的通信速度可以上升至閾值速度以上。
[0039]作為另一示例,移動(dòng)設(shè)備可以被配置用于無論移動(dòng)設(shè)備的連接速度如何都有意地將對(duì)上傳或者下載數(shù)據(jù)的請(qǐng)求排隊(duì),并且隊(duì)列管理器可以例如響應(yīng)于事件或者通知來接收對(duì)處理排隊(duì)的請(qǐng)求的通知。例如,可以傳輸多個(gè)排隊(duì)的請(qǐng)求以便減少移動(dòng)設(shè)備在特定時(shí)間段中建立的連接數(shù)目。
[0040]減少連接數(shù)目可以造成減少移動(dòng)設(shè)備上的功率消耗。建立連接可以一般使用大量功率,并且特定電池充電僅支持有限連接數(shù)目。通過特定連接發(fā)送多個(gè)排隊(duì)的請(qǐng)求來減少連接數(shù)目與為每個(gè)請(qǐng)求建立連接比較可以允許移動(dòng)設(shè)備在特定電池充電上使用更長(zhǎng)時(shí)間段。
[0041]在一些實(shí)現(xiàn)方式中,移動(dòng)設(shè)備可以被配置用于在定期基礎(chǔ)上處理排隊(duì)的請(qǐng)求。隊(duì)列管理器可以接收通知或者可以確定自從已經(jīng)履行對(duì)上傳或者下載數(shù)據(jù)的先前請(qǐng)求起已經(jīng)流逝預(yù)定時(shí)間段。例如,隊(duì)列管理器可以被配置用于在小時(shí)基礎(chǔ)上處理隊(duì)列。
[0042]如以下更具體描述的那樣,隊(duì)列管理器可以在處理隊(duì)列時(shí)應(yīng)用一個(gè)或者多個(gè)規(guī)貝U。規(guī)則也可以影響隊(duì)列管理器何時(shí)處理隊(duì)列。例如,規(guī)則可以指定將至少在定期基礎(chǔ)上履行用于特定應(yīng)用或者特定應(yīng)用類型的請(qǐng)求。例如,規(guī)則可以指定將至少每三十分鐘發(fā)送電子郵件消息或者將至少每五分鐘傳輸特定優(yōu)先級(jí)的請(qǐng)求。
[0043]隊(duì)列管理器可以確定已經(jīng)注冊(cè)一個(gè)或者多個(gè)這樣的規(guī)則并且隊(duì)列包括適用于至少一個(gè)這樣的規(guī)則的一個(gè)或者多個(gè)請(qǐng)求。隊(duì)列管理器可以確定與請(qǐng)求關(guān)聯(lián)的預(yù)定時(shí)間段并且可以基于確定自從已經(jīng)履行與規(guī)則有關(guān)的先前請(qǐng)求起已經(jīng)流逝預(yù)定時(shí)間段來確定履行請(qǐng)求。例如,隊(duì)列可以確定已經(jīng)注冊(cè)指定將至少每小時(shí)一次發(fā)送電子郵件消息的規(guī)則、隊(duì)列包括一個(gè)或者多個(gè)電子郵件消息并且自從發(fā)送上個(gè)電子郵件消息起已經(jīng)有一小時(shí)。
[0044]隊(duì)列管理器可以基于被通知已經(jīng)在隊(duì)列中接收特定優(yōu)先級(jí)的請(qǐng)求來確定履行請(qǐng)求。例如,隊(duì)列管理器可以被配置用于一旦接收這樣的請(qǐng)求就履行具有特定優(yōu)先級(jí)或者更高優(yōu)先級(jí)的請(qǐng)求。作為另一示例,規(guī)則可以指定一旦接收來自特定應(yīng)用或者特定應(yīng)用類型的特定優(yōu)先級(jí)或者更高優(yōu)先級(jí)的請(qǐng)求就將履行它們。
[0045]如果隊(duì)列管理器確定將履行具有特定優(yōu)先級(jí)的請(qǐng)求,則隊(duì)列管理器可以確定在履行具有特定優(yōu)先級(jí)的請(qǐng)求之后也履行其它排隊(duì)的請(qǐng)求中的一些或者所有請(qǐng)求。如果在履行其它排隊(duì)的請(qǐng)求之時(shí)接收具有比其它排隊(duì)的請(qǐng)求更高的優(yōu)先級(jí)的新請(qǐng)求,則可以在其它排隊(duì)的請(qǐng)求中的一些或者所有請(qǐng)求之前履行新請(qǐng)求。
[0046]隊(duì)列管理器可以基于其它條件或者事件確定履行請(qǐng)求。例如,隊(duì)列管理器可以被配置用于在已經(jīng)向隊(duì)列中插入預(yù)定數(shù)目的請(qǐng)求(例如,二十個(gè))之后履行請(qǐng)求。作為另一示例,隊(duì)列管理器可以被配置用于在已經(jīng)向隊(duì)列中插入用于特定應(yīng)用或者特定應(yīng)用類型的預(yù)定數(shù)目的請(qǐng)求之后履行請(qǐng)求。例如,音樂應(yīng)用可以注冊(cè)如下規(guī)則,該規(guī)則指定一旦已經(jīng)向隊(duì)列中插入十個(gè)或者更多排隊(duì)的音樂下載請(qǐng)求就將履行音樂下載請(qǐng)求。
[0047]響應(yīng)于確定履行請(qǐng)求,隊(duì)列管理器將一個(gè)或者多個(gè)規(guī)則應(yīng)用于請(qǐng)求以將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求(304)。隊(duì)列管理器可以例如通過標(biāo)記隊(duì)列中的請(qǐng)求(例如,為將履行或者為將不履行)來對(duì)請(qǐng)求進(jìn)行分類。作為另一示例,可以向不同隊(duì)列復(fù)制或者移動(dòng)被分類為將履行的請(qǐng)求??梢岳鐝年?duì)列刪除被分類為將不履行的一些或者所有請(qǐng)求。
[0048]隊(duì)列管理器可以標(biāo)識(shí)與每個(gè)請(qǐng)求關(guān)聯(lián)的指示提交該請(qǐng)求的應(yīng)用的信息并且可以標(biāo)識(shí)與每個(gè)應(yīng)用關(guān)聯(lián)的一個(gè)或者多個(gè)規(guī)則(例如,在規(guī)則數(shù)據(jù)庫中)。規(guī)則可以適用于所有請(qǐng)求、由特定應(yīng)用提交的請(qǐng)求或者由特定類型的應(yīng)用提交的請(qǐng)求。
[0049]例如,規(guī)則可以適用于來自社交應(yīng)用或者來自媒體應(yīng)用的請(qǐng)求。規(guī)則可以比如在安裝應(yīng)用時(shí)由應(yīng)用注冊(cè)。作為另一示例,規(guī)則可以基于用戶輸入,并且可以在安裝應(yīng)用之后基于用戶輸入來添加或者更新規(guī)則。
[0050]一些規(guī)則可以涉及如下請(qǐng)求,這些請(qǐng)求是反復(fù)請(qǐng)求,比如可以隨時(shí)間重復(fù)的相似請(qǐng)求。反復(fù)請(qǐng)求的示例包括發(fā)送GPS (全球定位衛(wèi)星)位置更新和發(fā)送社交應(yīng)用中的狀態(tài)更新。規(guī)則可以指定過濾一些或者所有功能上重復(fù)的請(qǐng)求,因?yàn)槔缫恍┗蛘咚泄δ苌现貜?fù)的請(qǐng)求可以被視為無關(guān)、過期、多余或者相對(duì)不重要。可以刪除或者可以保持(例如,在隊(duì)列中保持)未處理的請(qǐng)求以考慮以后履行??梢宰詣?dòng)刪除已經(jīng)保持比預(yù)定時(shí)間段更長(zhǎng)的請(qǐng)求。
[0051]對(duì)于反復(fù)請(qǐng)求,規(guī)則可以指定僅履行最后請(qǐng)求并且不履行除了最后請(qǐng)求之外的請(qǐng)求。例如,基于位置的應(yīng)用可以注冊(cè)如下規(guī)則,該規(guī)則指定僅發(fā)送最后GPS位置更新。作為另一示例,對(duì)于反復(fù)請(qǐng)求,規(guī)則可以指定僅發(fā)送定義的數(shù)目(例如,五個(gè))的最后請(qǐng)求、僅第一請(qǐng)求、僅定義數(shù)目(例如,十個(gè))的最初請(qǐng)求或者與預(yù)定請(qǐng)求間距(例如,每第五個(gè)請(qǐng)求)匹配的請(qǐng)求。
[0052]然而,對(duì)于一些應(yīng)用,反復(fù)請(qǐng)求可以被視為重要,并且即使請(qǐng)求中的一些或者所有請(qǐng)求是反復(fù)請(qǐng)求,規(guī)則仍然可以指定將履行所有請(qǐng)求。例如,用來跟蹤用戶的步行的步行應(yīng)用可以注冊(cè)如下規(guī)則,該規(guī)則指定履行所有GPS位置更新請(qǐng)求。
[0053]規(guī)則可以指定直至預(yù)定事件出現(xiàn)才將履行請(qǐng)求。例如,如以上描述的那樣,可以在預(yù)定時(shí)間段流逝之后履行請(qǐng)求。作為另一示例,規(guī)則可以指定可以無限保持請(qǐng)求直至向隊(duì)列中插入具有特定優(yōu)先級(jí)的一些其它請(qǐng)求并且將在履行其它請(qǐng)求時(shí)履行該請(qǐng)求。作為另一示例,規(guī)則可以指定如果移動(dòng)設(shè)備檢測(cè)到特定通信速度或者更高通信速度則將履行請(qǐng)求。
[0054]其它條件可以用來指定規(guī)則。如以上提到的那樣,規(guī)則可以指定將立即履行請(qǐng)求。作為另一示例,規(guī)則可以指定在更低優(yōu)先級(jí)的請(qǐng)求之前履行更高優(yōu)先級(jí)的請(qǐng)求。作為另一示例,可以關(guān)于FIFO (先入先出)范式指定一些規(guī)則,并且可以關(guān)于LIFO (后入先出)范式指定一些規(guī)則。
[0055]例如,用于GPS更新的規(guī)則可以指定先履行最新的請(qǐng)求,并且用于媒體下載的規(guī)則可以指定先履行最初請(qǐng)求。規(guī)則可以涉及與請(qǐng)求關(guān)聯(lián)的數(shù)據(jù)量。例如,用于媒體下載的規(guī)則可以指定以下載大小為序履行請(qǐng)求,其中在更大請(qǐng)求之前履行更小請(qǐng)求。規(guī)則可以涉及其它特性,比如網(wǎng)絡(luò)連接的可靠性。例如,規(guī)則可以指定僅如果連接可靠性在特定閾值或者以上則傳輸請(qǐng)求,其中可以例如基于連續(xù)連接的時(shí)間長(zhǎng)度確定連接可靠性。
[0056]規(guī)則可以基于多個(gè)條件。例如,涉及通信速度的規(guī)則可以指定如果通信速度為4G則履行所有請(qǐng)求、如果通信速度為3G則履行每第五個(gè)請(qǐng)求并且如果通信速度為IG或者2G則僅履行最后請(qǐng)求。作為另一示例,規(guī)則可以基于連接速度和隊(duì)列中的請(qǐng)求的數(shù)目(例如,請(qǐng)求總數(shù)或者用于特定應(yīng)用的請(qǐng)求數(shù)目)兩者。
[0057]例如,規(guī)則可以對(duì)于應(yīng)用指定如果連接速度為4G或者如果在隊(duì)列中有用于應(yīng)用的十個(gè)或者更少請(qǐng)求或者如果連接速度為3G或者如果在隊(duì)列中有用于應(yīng)用的五個(gè)或者更少請(qǐng)求則將履行所有請(qǐng)求。作為多個(gè)條件的另一示例,用于社交應(yīng)用的規(guī)則可以指定將履行包括文字的所有狀態(tài)更新但是將僅履行上至預(yù)定數(shù)目的其它更新,比如由用戶做出的標(biāo)示(例如“喜歡(like)”、“戳(poke)”)。一般而言,可以例如使用任何數(shù)目的布爾算符或者其組合來指定條件。[0058]隊(duì)列管理器可以基于分析所有注冊(cè)的規(guī)則和隊(duì)列中的用于每個(gè)應(yīng)用或者應(yīng)用類型的請(qǐng)求的數(shù)目以及每個(gè)請(qǐng)求的一個(gè)或者多個(gè)特性確定履行哪些請(qǐng)求。例如,如果用于一個(gè)或者多個(gè)應(yīng)用的多個(gè)規(guī)則基于請(qǐng)求的優(yōu)先級(jí),并且如果隊(duì)列包括來自不同應(yīng)用的請(qǐng)求,則隊(duì)列管理器可以確定所有請(qǐng)求的總優(yōu)先級(jí)順序并且可以基于總優(yōu)先級(jí)順序確定履行請(qǐng)求中的一些或者所有請(qǐng)求。
[0059]可以定義一個(gè)或者多個(gè)默認(rèn)規(guī)則。默認(rèn)規(guī)則可以例如是系統(tǒng)定義的規(guī)則而不是應(yīng)用定義的規(guī)則。默認(rèn)規(guī)則可以基于應(yīng)用類型。例如,可以對(duì)于與電子郵件有關(guān)的請(qǐng)求定義默認(rèn)規(guī)則,并且如果電子郵件應(yīng)用尚未注冊(cè)專用規(guī)則,則默認(rèn)規(guī)則可以用于電子郵件請(qǐng)求。一般而言,隊(duì)列管理器可以基于請(qǐng)求與一個(gè)或者多個(gè)規(guī)則的適用性和/或相似性確定針對(duì)請(qǐng)求使用的一個(gè)或者多個(gè)規(guī)則。
[0060]繼續(xù)圖3,隊(duì)列管理器使被分類為將履行的請(qǐng)求被履行或者使被分類為將不履行的請(qǐng)求不被履行(306),由此結(jié)束過程300 (307)。例如,隊(duì)列管理器可以通知另一部件(例如,與移動(dòng)設(shè)備的收發(fā)器關(guān)聯(lián)的通信部件)履行隊(duì)列中的已經(jīng)被標(biāo)記為將履行的請(qǐng)求或者履行已經(jīng)向另一隊(duì)列復(fù)制或者移動(dòng)的請(qǐng)求。在履行請(qǐng)求時(shí),可以向提交請(qǐng)求的應(yīng)用發(fā)送通知。
[0061]如提到的那樣,可以刪除將不履行的請(qǐng)求。隊(duì)列管理器或者另一部件可以已經(jīng)在分類時(shí)間刪除將不履行的請(qǐng)求或者可以在以后時(shí)間刪除將不履行的請(qǐng)求。如提到的那樣,可以在隊(duì)列中保持將不履行的請(qǐng)求以考慮以后履行。
[0062]圖4圖示示例隊(duì)列402和示例規(guī)則數(shù)據(jù)庫404??梢岳缭谝苿?dòng)設(shè)備的計(jì)算機(jī)可讀介質(zhì)中包括隊(duì)列402和規(guī)則數(shù)據(jù)庫404。隊(duì)列402包括請(qǐng)求406-416。請(qǐng)求406-416中的每個(gè)請(qǐng)求可以例如代表對(duì)從移動(dòng)設(shè)備上傳數(shù)據(jù)或者向移動(dòng)設(shè)備下載數(shù)據(jù)的請(qǐng)求。根據(jù)向隊(duì)列402中的插入時(shí)間從左到右在隊(duì)列404中對(duì)請(qǐng)求406-416進(jìn)行排序。例如,在請(qǐng)求408之前向隊(duì)列402中插入請(qǐng)求406。
[0063]隊(duì)列402包括與多個(gè)應(yīng)用關(guān)聯(lián)的信息。例如,請(qǐng)求406和416各自與應(yīng)用“123”關(guān)聯(lián)并且各自代表對(duì)“獲得當(dāng)前信息”的請(qǐng)求。應(yīng)用“123”可以例如是天氣預(yù)報(bào)應(yīng)用或者股價(jià)應(yīng)用。請(qǐng)求408和414各自與應(yīng)用“456”關(guān)聯(lián)并且各自代表對(duì)“下載前十篇文章”的請(qǐng)求。應(yīng)用“456”可以例如是新聞廣播員應(yīng)用。代表對(duì)向“佛瑞德(Fred)”發(fā)電子郵件的請(qǐng)求的請(qǐng)求410和代表對(duì)向“鮑勃(Bob)”發(fā)電子郵件的請(qǐng)求的請(qǐng)求412各自與作為電子郵件應(yīng)用的應(yīng)用“789”關(guān)聯(lián)。
[0064]規(guī)則數(shù)據(jù)庫404存儲(chǔ)用于規(guī)則420、422和424的信息。規(guī)則數(shù)據(jù)庫404為每個(gè)規(guī)則420、422和424存儲(chǔ)關(guān)聯(lián)的應(yīng)用的標(biāo)識(shí)符。例如,規(guī)則420、422和424分別與應(yīng)用“ 123”、“456”和“789”關(guān)聯(lián)。規(guī)則420指定將僅發(fā)送由應(yīng)用“ 123”做出的對(duì)從移動(dòng)設(shè)備上傳數(shù)據(jù)或者向移動(dòng)設(shè)備下載數(shù)據(jù)的最后請(qǐng)求。
[0065]規(guī)則422指定除了在移動(dòng)設(shè)備的連接速度大于閾值速度時(shí)之外將僅發(fā)送由應(yīng)用“456”做出的對(duì)上傳或者下載數(shù)據(jù)的最后請(qǐng)求。如果移動(dòng)設(shè)備的連接速度大于閾值速度,則規(guī)則422指定將發(fā)送由應(yīng)用“456”做出的對(duì)上傳或者下載數(shù)據(jù)的所有請(qǐng)求。規(guī)則424指定將發(fā)送由應(yīng)用“789”做出的對(duì)上傳或者下載數(shù)據(jù)的所有請(qǐng)求。
[0066]在移動(dòng)設(shè)備接收對(duì)發(fā)送數(shù)據(jù)上傳和數(shù)據(jù)下載請(qǐng)求的通知(例如,響應(yīng)于定時(shí)器事件或者響應(yīng)于檢測(cè)到大于閾值速度的連接速度)時(shí),規(guī)則數(shù)據(jù)庫404中的規(guī)則可以應(yīng)用于隊(duì)列402以將條目406-416中的每個(gè)條目分類為將履行或者為將不履行。例如,規(guī)則424可以應(yīng)用于與應(yīng)用“789”關(guān)聯(lián)的請(qǐng)求410和412。由于規(guī)則424指定將履行由應(yīng)用“789”做出的所有請(qǐng)求,所以請(qǐng)求410和412將各自分別如由指示符426和428所示被分類為將履行。
[0067]作為另一示例,規(guī)則420可以應(yīng)用于與應(yīng)用“123”關(guān)聯(lián)的請(qǐng)求406和416??梢詫⒄?qǐng)求416標(biāo)識(shí)為由應(yīng)用“ 123”做出的最后(例如,最新的)請(qǐng)求,并且根據(jù)規(guī)則420,可以將請(qǐng)求416分類為將履行的請(qǐng)求(例如,如由指示符430所示),并且可以將可以被標(biāo)識(shí)為不是由應(yīng)用“123”做出的最后請(qǐng)求的請(qǐng)求406分類為將不履行的請(qǐng)求(例如,如由指示符432所示)。
[0068]作為又一示例,規(guī)則422可以應(yīng)用于與應(yīng)用“456”關(guān)聯(lián)的請(qǐng)求408和414。假設(shè)當(dāng)前連接速度不大于在規(guī)則420中包括的閾值速度。然后可以與規(guī)則420實(shí)質(zhì)上相同地處理規(guī)則422,這意味著將僅將由應(yīng)用“456”做出的最后請(qǐng)求分類為將履行。
[0069]例如,可以將請(qǐng)求414標(biāo)識(shí)為由應(yīng)用“456”做出的最后(例如,最新的)請(qǐng)求,并且根據(jù)規(guī)則422,可以將請(qǐng)求414分類為將履行的請(qǐng)求(例如,如由指示符434所示),并且可以將可以被標(biāo)識(shí)為不是由應(yīng)用“456”做出的最后請(qǐng)求的請(qǐng)求408分類為將不履行的請(qǐng)求(例如,如由指示符436所示)。
[0070]圖5是示例過程500的泳道圖。在移動(dòng)設(shè)備上運(yùn)行的應(yīng)用502如由箭頭504所示向規(guī)則數(shù)據(jù)庫506發(fā)送對(duì)注冊(cè)一個(gè)或者多個(gè)規(guī)則的請(qǐng)求。注冊(cè)并且可以在規(guī)則數(shù)據(jù)庫506中存儲(chǔ)規(guī)則。如由箭頭508所示,隊(duì)列管理器510從無線電512接收無線電512未準(zhǔn)備好傳輸?shù)耐ㄖ?。例如,可以沒有用于傳輸?shù)某浞中盘?hào)強(qiáng)度或者可以按編程方式(programmatically)關(guān)斷無線電512 (例如,以節(jié)省電池功率)。
[0071]應(yīng)用502生成對(duì)上傳或者下載數(shù)據(jù)的第一請(qǐng)求并且如由箭頭514所示向隊(duì)列516發(fā)送請(qǐng)求。隊(duì)列516如由箭頭518所示向隊(duì)列管理器510發(fā)送新隊(duì)列條目的通知。通知可以包括與新添加的隊(duì)列條目關(guān)聯(lián)的應(yīng)用的指示。
[0072]如由箭頭520所示,隊(duì)列管理器510向規(guī)則數(shù)據(jù)庫506發(fā)送對(duì)確定是否有與應(yīng)用502 (例如,與新添加的隊(duì)列條目關(guān)聯(lián)的應(yīng)用)關(guān)聯(lián)的任何規(guī)則的請(qǐng)求。規(guī)則數(shù)據(jù)庫506如由箭頭522所示發(fā)送答復(fù),該答復(fù)指示與應(yīng)用502關(guān)聯(lián)的規(guī)則或者指示沒有與應(yīng)用502關(guān)聯(lián)的規(guī)則。
[0073]在一些實(shí)現(xiàn)方式中,隊(duì)列管理器512每當(dāng)從隊(duì)列516接收與隊(duì)列管理器512未知的應(yīng)用關(guān)聯(lián)的通知時(shí)請(qǐng)求來自規(guī)則數(shù)據(jù)庫506的關(guān)于規(guī)則的信息。作為另一示例,在一些實(shí)現(xiàn)方式中,隊(duì)列管理器512每當(dāng)(例如,從無線電512)接收指示無線電512準(zhǔn)備好傳輸?shù)耐ㄖ獣r(shí)請(qǐng)求關(guān)于規(guī)則的信息。
[0074]如由箭頭524所示,應(yīng)用502生成對(duì)上傳或者下載數(shù)據(jù)的第二請(qǐng)求并且向隊(duì)列516發(fā)送第二請(qǐng)求。隊(duì)列516轉(zhuǎn)而如由箭頭526所示向隊(duì)列管理器510發(fā)送第二請(qǐng)求的通知。類似地,應(yīng)用502生成對(duì)上傳或者下載數(shù)據(jù)的第三請(qǐng)求并且如由箭頭528所示向隊(duì)列516發(fā)送第三請(qǐng)求。隊(duì)列516如由箭頭530所示向隊(duì)列管理器510發(fā)送第三請(qǐng)求的通知。
[0075]如由箭頭532所示,隊(duì)列管理器510從無線電512接收指示無線電512準(zhǔn)備好傳輸?shù)耐ㄖ?。無線電512可以例如響應(yīng)于檢測(cè)到大于閾值速度的通信速度或者響應(yīng)于定時(shí)器事件的激發(fā)而準(zhǔn)備好傳輸。如由箭頭534所示,響應(yīng)于接收無線電512準(zhǔn)備好傳輸?shù)耐ㄖ?duì)列管理器510向隊(duì)列516發(fā)送與一個(gè)或者多個(gè)規(guī)則對(duì)應(yīng)的指令。例如,隊(duì)列管理器可以發(fā)送與用于應(yīng)用502的規(guī)則對(duì)應(yīng)的指令。
[0076]如由箭頭536所示,根據(jù)由隊(duì)列管理器510發(fā)送的指令對(duì)隊(duì)列536執(zhí)行操作。例如,可以刪除一個(gè)或者多個(gè)隊(duì)列條目、可以將一個(gè)或者多個(gè)隊(duì)列條目標(biāo)記為將保持(例如,將不履行)或者可以將一個(gè)或者多個(gè)隊(duì)列條目標(biāo)記為將履行。如由箭頭538所示,向隊(duì)列管理器510發(fā)送與將履行的請(qǐng)求關(guān)聯(lián)的隊(duì)列條目的指示。如由箭頭540所示,使用無線電512來履行將履行的每個(gè)請(qǐng)求。例如,每個(gè)請(qǐng)求可以造成使用無線電512向服務(wù)器發(fā)送對(duì)向服務(wù)器上傳數(shù)據(jù)或者從服務(wù)器下載數(shù)據(jù)的請(qǐng)求。
[0077]已經(jīng)描述了許多實(shí)現(xiàn)方式。然而,將理解,可以進(jìn)行各種修改而不脫離公開內(nèi)容的精神實(shí)質(zhì)和范圍。例如,可以使用以上所示流程的各種形式而對(duì)步驟進(jìn)行重新排序、添加或者去除。
[0078]可以在數(shù)字電子電路中或者在包括本說明書中公開的結(jié)構(gòu)及其結(jié)構(gòu)等效物的計(jì)算機(jī)軟件、固件或者硬件中或者在它們中的一項(xiàng)或者多項(xiàng)的組合中實(shí)施本說明書中描述的方面和功能操作中的所有功能操作??梢詫⒎矫鎸?shí)施為一個(gè)或者多個(gè)計(jì)算機(jī)程序產(chǎn)品,即在計(jì)算機(jī)可讀介質(zhì)上編碼的用于由數(shù)據(jù)處理裝置執(zhí)行或者用于控制數(shù)據(jù)處理裝置的操作的一個(gè)或者多個(gè)計(jì)算機(jī)程序指令模塊。計(jì)算機(jī)可讀介質(zhì)可以是機(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)襯底、存儲(chǔ)器設(shè)備、實(shí)現(xiàn)機(jī)器可讀傳播信號(hào)的內(nèi)容組成或者它們中的一項(xiàng)或者多項(xiàng)的組合。術(shù)語“數(shù)據(jù)處理裝置”涵蓋用于處理數(shù)據(jù)的所有裝置、設(shè)備和機(jī)器,例如包括可編程處理器、計(jì)算機(jī)或者多個(gè)處理器或者計(jì)算機(jī)。裝置除了硬件之外還可以包括為討論的計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如,構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或者它們中的一項(xiàng)或者多項(xiàng)的組合的代碼。傳播信號(hào)是人為生成的信號(hào),例如,機(jī)器生成的電、光或者電磁信號(hào),該信號(hào)被生成用于對(duì)信息進(jìn)行編碼以用于向適當(dāng)接收器裝置傳輸。
[0079]可以用包括編譯或者解譯語言的任何形式的編程語言編寫計(jì)算機(jī)程序(也被稱為程序、軟件、軟件應(yīng)用、腳本或者代碼),并且可以用任何形式部署它,包括部署為獨(dú)立程序或者部署為適合于在計(jì)算環(huán)境中使用的模塊、部件、子例程或者其它單元。計(jì)算機(jī)程序未必對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可以被存儲(chǔ)于保持其它程序或者數(shù)據(jù)的文件(例如,存儲(chǔ)于標(biāo)記語言文檔中的一個(gè)或者多個(gè)腳本)的一部分中、專用于討論的程序的單個(gè)文件中或者多個(gè)協(xié)同文件(例如,存儲(chǔ)一個(gè)或者多個(gè)模塊、子程序或者代碼部分的文件)中。計(jì)算機(jī)程序可以被部署用于在一個(gè)計(jì)算機(jī)上或者在位于一個(gè)地點(diǎn)或者分布于多個(gè)地點(diǎn)并且由通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。
[0080]在本說明書中描述的過程和邏輯流程可以由一個(gè)或者多個(gè)可編程處理器執(zhí)行,該一個(gè)或者多個(gè)可編程處理器執(zhí)行一個(gè)或者多個(gè)計(jì)算機(jī)程序以通過對(duì)輸入數(shù)據(jù)進(jìn)行操作并且生成輸出來執(zhí)行功能。過程和邏輯流程也可以由專用邏輯電路裝置(例如,F(xiàn)PGA (現(xiàn)場(chǎng)可編程門陣列)或者ASIC (專用集成電路))執(zhí)行并且也可以將裝置實(shí)施為該專用邏輯電路裝置。
[0081]適合于執(zhí)行計(jì)算機(jī)程序的處理器例如包括通用和專用微處理器以及任何種類的數(shù)字計(jì)算機(jī)的任何一個(gè)或者多個(gè)處理器。一般而言,處理器將從只讀存儲(chǔ)器或者隨機(jī)存取存儲(chǔ)器或者二者接收指令和數(shù)據(jù)。計(jì)算機(jī)的基本單元是用于執(zhí)行指令的處理器以及用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或者多個(gè)存儲(chǔ)器設(shè)備。一般而言,計(jì)算機(jī)也將包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備(例如,磁盤、磁光盤或者光盤)或者被操作地耦合用于從該一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備接收數(shù)據(jù)或者向該一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備發(fā)送數(shù)據(jù)或者二者。然而,計(jì)算機(jī)無需具有這樣的設(shè)備。另外,計(jì)算機(jī)可以嵌入于另一設(shè)備中,聊舉數(shù)例,例如,平板計(jì)算機(jī)、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻播放器、全球定位系統(tǒng)(GPS)接收器。適合于存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存儲(chǔ)器設(shè)備,舉例而言包括半導(dǎo)體存儲(chǔ)器設(shè)備,例如,EPROM、EEPROM和閃存設(shè)備;磁盤、例如內(nèi)部硬盤或者可拆卸盤;光磁盤;以及⑶-ROM和DVD-ROM盤。處理器和存儲(chǔ)器可以由專用邏輯電路裝置補(bǔ)充或者并入于專用邏輯電路裝置中。
[0082]為了提供與用戶的交互,方面可以被實(shí)施于計(jì)算機(jī)上,該計(jì)算機(jī)具有用于向用戶顯示信息的顯示設(shè)備(例如,CRT (陰極射線管)或者LCD (液晶顯示器)監(jiān)視器)以及用戶可以用來向計(jì)算機(jī)提供輸入的鍵盤和指點(diǎn)設(shè)備(例如,鼠標(biāo)或者跟蹤球)。其它種類的設(shè)備也可以用來提供與用戶的交互;例如,向用戶提供的反饋可以是任何形式的感官反饋,例如,視覺反饋、聽覺反饋或者觸覺反饋;并且可以用包括聲音、話音或者觸覺輸入的任何形式接收來自用戶的輸入。
[0083]方面可以被實(shí)施于計(jì)算系統(tǒng)中,該計(jì)算系統(tǒng)包括例如作為數(shù)據(jù)服務(wù)器的后端部件或者包括中間件部件(例如,應(yīng)用服務(wù)器)或者包括前端部件(例如,具有圖形用戶界面或者Web瀏覽器(用戶可以通過該圖形用戶界面或者Web瀏覽器與本說明的實(shí)現(xiàn)方式交互)的客戶端計(jì)算機(jī))或者一個(gè)或者多個(gè)這樣的后端、中間件或者前端部件的任何組合。系統(tǒng)的部件可以由任何數(shù)字?jǐn)?shù)據(jù)通信形式或者介質(zhì)(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“LAN”)和廣域網(wǎng)(“MN”),例如,因特網(wǎng)。
[0084]計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般相互遠(yuǎn)離并且通常通過通信網(wǎng)絡(luò)交互。客戶端和服務(wù)器的關(guān)系借助在相應(yīng)計(jì)算機(jī)上運(yùn)行并且相互具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序而產(chǎn)生。
[0085]盡管本說明書包含許多具體細(xì)節(jié),但是這些不應(yīng)解釋為限制本發(fā)明的或者可以要求保護(hù)的內(nèi)容的范圍而是描述具體方面特有的特征。在本說明書中在分離的方面的情境中描述的某些特征也可以在單個(gè)方面中組合實(shí)施。反言之,在單個(gè)方面的情境中描述的各種特征也可以在多個(gè)方面中分離地或者在任何適當(dāng)子組合中實(shí)施。另外,雖然上文可以將特征描述為在某些組合中動(dòng)作并且甚至起初這樣要求保護(hù),但是來自要求保護(hù)的組合的一個(gè)或者多個(gè)特征可以在一些情況下從該組合中被刪除,并且要求保護(hù)的組合可以涉及子組合或者子組合的變化。
[0086]類似地,盡管在附圖中以特定順序描繪操作,但是這不應(yīng)理解為要求以所示特定順序或者以依次順序執(zhí)行這樣的操作或者執(zhí)行所有所示操作以實(shí)現(xiàn)希望的結(jié)果。在某些境況中,多任務(wù)和并行處理可以是有利的。另外,在以上描述的方面中的各種系統(tǒng)部件的分離不應(yīng)理解為在所有實(shí)現(xiàn)方式中要求這樣的分離,并且應(yīng)當(dāng)理解描述的程序部件和系統(tǒng)一般可以一起被集成于單個(gè)軟件產(chǎn)品中或者封裝成多個(gè)軟件產(chǎn)品。
[0087]在其中該提到HTML文件的每個(gè)實(shí)例中,可以提交其它文件類型或者格式。例如,HTML文件可以被替換為XML、JS0N、純文本或者其它類型的文件。另外,在提到表或者哈希表時(shí),可以使用其它數(shù)據(jù)結(jié)構(gòu)(比如電子表格、關(guān)系數(shù)據(jù)庫或者結(jié)構(gòu)化文件)。
[0088]因此,已經(jīng)描述了具體實(shí)現(xiàn)方式。其它實(shí)現(xiàn)方式在所附權(quán)利要求的范圍內(nèi)。例如,在權(quán)利要求中記載的動(dòng)作可以按不同順序來執(zhí)行而仍然實(shí)現(xiàn)希望的結(jié)果。
【權(quán)利要求】
1.一種計(jì)算機(jī)實(shí)施的方法,包括: 由具有網(wǎng)絡(luò)接口的移動(dòng)設(shè)備上的隊(duì)列管理器確定履行對(duì)通過所述網(wǎng)絡(luò)接口上傳或者下載數(shù)據(jù)的一個(gè)或者多個(gè)請(qǐng)求; 響應(yīng)于確定履行所述請(qǐng)求,由所述隊(duì)列管理器將一個(gè)或者多個(gè)規(guī)則應(yīng)用于所述請(qǐng)求以將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求;以及 由所述隊(duì)列管理器使被分類為將履行的所述請(qǐng)求被履行或者使被分類為將不履行的請(qǐng)求不被履行。
2.根據(jù)權(quán)利要求1所述的方法,其中確定履行所述一個(gè)或者多個(gè)請(qǐng)求還包括確定自從已經(jīng)履行對(duì)上傳或者下載數(shù)據(jù)的先前請(qǐng)求起已經(jīng)流逝預(yù)定時(shí)間段。
3.根據(jù)權(quán)利要求1所述的方法,其中確定履行所述一個(gè)或者多個(gè)請(qǐng)求還包括: 確定與所述請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求關(guān)聯(lián)的特性; 確定與所述特性關(guān)聯(lián)的預(yù)定時(shí)間段;以及 確定自從已經(jīng)履行對(duì)上傳或者下載數(shù)據(jù)的先前請(qǐng)求起已經(jīng)流逝所述預(yù)定時(shí)間段。
4.根據(jù)權(quán)利要求3所述的方法,其中所述特性包括所述請(qǐng)求的優(yōu)先級(jí)。
5.根據(jù)權(quán)利要求1所述的方法,其中使被分類為將不履行的請(qǐng)求不被履行包括刪除被分類為將不履行的所述請(qǐng)求。
6.根據(jù)權(quán)利要求1所述的方法,其中將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求還包括標(biāo)識(shí)與每個(gè)請(qǐng)求關(guān)聯(lián)的指示提交所述請(qǐng)求的應(yīng)用的信息。`
7.根據(jù)權(quán)利要求1所述的方法,其中將每個(gè)請(qǐng)求分類為將履行的請(qǐng)求或者將不履行的請(qǐng)求還包括分別確定所述請(qǐng)求是反復(fù)請(qǐng)求或者非反復(fù)請(qǐng)求。
8.根據(jù)權(quán)利要求1所述的方法,還包括: 由所述隊(duì)列管理器從應(yīng)用接收對(duì)注冊(cè)所述規(guī)則中的一個(gè)或者多個(gè)規(guī)則的請(qǐng)求;以及由所述隊(duì)列管理器基于接收對(duì)注冊(cè)所述規(guī)則中的一個(gè)或者多個(gè)規(guī)則的所述請(qǐng)求來注冊(cè)所述一個(gè)或者多個(gè)規(guī)則。
9.一種系統(tǒng),包括: 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),被配置用于存儲(chǔ)多個(gè)數(shù)據(jù)上傳或者下載請(qǐng)求和用于過濾所述請(qǐng)求的規(guī)則; 網(wǎng)絡(luò)接口,被配置用于建立網(wǎng)絡(luò)連接;以及 規(guī)則引擎,被配置用于: 使用所述規(guī)則來評(píng)估所述多個(gè)數(shù)據(jù)上傳或者下載請(qǐng)求, 基于使用所述規(guī)則評(píng)估所述多個(gè)數(shù)據(jù)上傳或者下載請(qǐng)求來確立特定數(shù)據(jù)上傳或者下載請(qǐng)求是反復(fù)請(qǐng)求, 選擇所述反復(fù)請(qǐng)求的子集; 刪除所述反復(fù)請(qǐng)求的所述子集;以及 通過所述網(wǎng)絡(luò)連接傳達(dá)未作為所述子集的部分而被選擇的任何反復(fù)請(qǐng)求。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定在由特定應(yīng)用提交的一個(gè)或者多個(gè)更加新的請(qǐng)求被排隊(duì)時(shí),將履行所述更加新的請(qǐng)求并且將不履行由所述特定應(yīng)用提交的一個(gè)或者多個(gè)更加舊的請(qǐng)求。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定將同時(shí)履行所述請(qǐng)求中的兩個(gè)或者更多請(qǐng)求。
12.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定將作為批次履行所述請(qǐng)求中的兩個(gè)或者更多請(qǐng)求。
13.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述規(guī)則中的一個(gè)或者多個(gè)規(guī)則指定直至預(yù)定事件出現(xiàn)才將履行所述請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述預(yù)定事件包括預(yù)定時(shí)間段流逝。
15.一種用計(jì)算機(jī)程序編碼的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述程序包括包括在由一個(gè)或者多個(gè)計(jì)算機(jī)執(zhí)行時(shí)使所述一個(gè)或者多個(gè)計(jì)算機(jī)執(zhí)行操作的指令,所述操作包括: 確定已經(jīng)建立網(wǎng)絡(luò)連接,然后確定在數(shù)據(jù)傳輸隊(duì)列中存儲(chǔ)的對(duì)通過所述網(wǎng)絡(luò)連接傳達(dá)數(shù)據(jù)的多個(gè)請(qǐng)求代表相同請(qǐng)求類型; 選擇所述多個(gè)請(qǐng)求中的一個(gè)請(qǐng)求;以及 通過所述網(wǎng)絡(luò)連接僅傳輸所述多個(gè)請(qǐng)求中的選擇的所述一個(gè)請(qǐng)求。
16.根據(jù)權(quán)利要求15所述的介質(zhì),其中確定所述多個(gè)請(qǐng)求代表相同請(qǐng)求類型包括確定所述多個(gè)請(qǐng)求是反復(fù)請(qǐng)求。
17.根據(jù)權(quán)利要求16所述的介質(zhì),其中確定所述多個(gè)請(qǐng)求是反復(fù)請(qǐng)求包括確定所述多個(gè)請(qǐng)求是對(duì)于更新的位置信息的定期請(qǐng)求。
18.根據(jù)權(quán)利要求15所述的介質(zhì),其中所述請(qǐng)求中的一個(gè)或者多個(gè)請(qǐng)求包括對(duì)在移動(dòng)設(shè)備與服務(wù)器之間同步數(shù)據(jù)的請(qǐng)求。`
19.根據(jù)權(quán)利要求15所述的介質(zhì),其中所述操作包括過濾未被選擇的所述多個(gè)請(qǐng)求。
20.根據(jù)權(quán)利要求15所述的介質(zhì),其中確定所述多個(gè)請(qǐng)求代表相同請(qǐng)求類型包括確定所述多個(gè)請(qǐng)求具有相同優(yōu)先級(jí)。
【文檔編號(hào)】H04L29/08GK103518361SQ201280020314
【公開日】2014年1月15日 申請(qǐng)日期:2012年3月12日 優(yōu)先權(quán)日:2011年3月11日
【發(fā)明者】J·B·M·凱呂, L·拉彭納 申請(qǐng)人:谷歌公司