用于減少功率消耗的并行的網(wǎng)絡(luò)應(yīng)用調(diào)度的制作方法
【專利說明】
【背景技術(shù)】
[0001]諸如智能電話、平板和筆記型計算機的被連接到快速無線網(wǎng)絡(luò)的便攜式計算設(shè)備很大地增長了帶寬密集型網(wǎng)絡(luò)應(yīng)用的使用。大多數(shù)便攜式設(shè)備具有許多可用的網(wǎng)絡(luò)密集型應(yīng)用,包括媒體流傳輸、視頻聊天、互動通訊、以及云數(shù)據(jù)儲存應(yīng)用。然而,便攜式計算設(shè)備通常具有有限的電池容量。對便攜式計算設(shè)備的增加的使用,并且尤其是對無線網(wǎng)絡(luò)無線電的增加的使用增加了便攜式設(shè)備的功率消耗并且因此減少了可用的電池壽命。
【附圖說明】
[0002]以示例的方式而不是以限制的方式在附圖中圖解本文中描述的觀念。為了圖解的簡單和清楚,在附圖中圖解的元件不必按比例繪制。在考慮適當(dāng)?shù)那闆r下,在附圖間重復(fù)參考標(biāo)號以指示對應(yīng)的或類似的元件。
[0003]圖1是用于并行的網(wǎng)絡(luò)應(yīng)用調(diào)度的系統(tǒng)的至少一個實施例的簡化框圖;
圖2是可以由圖1的移動計算設(shè)備建立的環(huán)境的至少一個實施例的簡化框圖;
圖3是用于調(diào)度可以由圖1和2的系統(tǒng)的移動計算設(shè)備執(zhí)行的網(wǎng)絡(luò)請求的方法的至少一個實施例的簡化流程圖;
圖4是并行地執(zhí)行可以由圖1和2的移動計算設(shè)備執(zhí)行的網(wǎng)絡(luò)請求的方法的至少一個實施例的簡化流程圖;
圖5是用于確定可以由圖1和2的移動計算設(shè)備執(zhí)行的網(wǎng)絡(luò)請求是否是可延遲的方法的至少一個實施例的簡化流程圖;以及
圖6是示出由圖1和2的移動計算設(shè)備可以達(dá)到的例證性結(jié)果的圖表。
【具體實施方式】
[0004]雖然本公開的觀念易受各種修改和替換形式,在附圖中以示例的方式示出了其中的具體實施例,并將在本文中詳細(xì)描述它們。然而應(yīng)理解的是,沒有將本公開的觀念限制到所公開的特定形式的意圖,而是相反地,意圖是覆蓋與本公開和隨附的權(quán)利要求一致的所有的修改、等價、和替換。
[0005]在說明書中提及“一個實施例”、“實施例”、“說明性實施例”等指示所描述的實施例可以包括特定的特征、結(jié)構(gòu)或特性,但是每個實施例可以或可以不必要地包括該特定特征、結(jié)構(gòu)或特性。另外,這樣的短語不必要地涉及相同的實施例。另外,當(dāng)關(guān)于實施例描述特定的特征、結(jié)構(gòu)、或特性時,主張無論是否明確地描述,關(guān)于其它實施例實現(xiàn)這樣的特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識之內(nèi)的。另外,應(yīng)領(lǐng)會的是,以“A、B和C中的至少一個”的形式被包括在列表中的項目可以意味著(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A,B和C)。類似地,以“A、B或C中的至少一個”的形式列出的項目可以意味著(A)、(B)、(C)、(A和B)、(A 和 C)、(B和C)或(A,B和C)。
[0006]在一些情況中,可以在硬件、固件、軟件、或它們的任何結(jié)合中實現(xiàn)所公開實施例。所公開的實施例還可以被實現(xiàn)為由一個或多個暫時性或非暫時性機器可讀(例如,計算機可讀)儲存媒體攜帶的或存儲于其上的指令,可以由一個或多個處理器讀取并執(zhí)行所述指令。機器可讀儲存媒體可以被體現(xiàn)為任何儲存設(shè)備、機構(gòu)、或用于存儲或傳輸以由機器可讀的形式的信息的其它物理結(jié)構(gòu)(例如,易失性或非易失性存儲器、媒體盤、或其它媒體設(shè)備)。
[0007]在附圖中,可能以具體的布置和/或排序示出了一些結(jié)構(gòu)性或方法的特征。然而,應(yīng)領(lǐng)會的是,這樣的具體的布置和/或排序不是需要的。而是在一些實施例中,可以以與在例證性附圖中所示的不同的方式和/或順序布置這樣的特征。另外,在特定的附圖中包括結(jié)構(gòu)性或方法的特征不打算意味在所有的實施例中這樣的特征是需要的,并且在一些實施例中,可以不包括這樣的特征或者其可以被與其它特征相結(jié)合。
[0008 ]現(xiàn)在參考圖1,在例證性實施例中,用于并行的網(wǎng)絡(luò)應(yīng)用調(diào)度的系統(tǒng)10 0包括移動計算設(shè)備102和一個或多個應(yīng)用服務(wù)器104。移動計算設(shè)備102和應(yīng)用服務(wù)器104可以在網(wǎng)絡(luò)106上與彼此通信。在使用中,如在下面更詳細(xì)地討論的那樣,移動計算設(shè)備102執(zhí)行多個與應(yīng)用服務(wù)器104通信的網(wǎng)絡(luò)應(yīng)用。移動計算設(shè)備102從應(yīng)用接收多個網(wǎng)絡(luò)請求,并確定是否可以延遲請求而不會不利地影響網(wǎng)絡(luò)應(yīng)用或在其中的使用。如果可能的話,移動計算設(shè)備102延遲請求直到它們能夠與另一可延遲請求或與不可延遲請求并行地被執(zhí)行。例如,移動計算設(shè)備102可以與另一被延遲或未被延遲的應(yīng)用一起執(zhí)行(一個或多個)被延遲的應(yīng)用使得每個網(wǎng)絡(luò)應(yīng)用的執(zhí)行的至少一部分重疊或以其它方式與彼此同時地發(fā)生。在一些實施例中,移動計算設(shè)備102可以調(diào)度并行執(zhí)行的應(yīng)用以在相同的時間處或以其它方式與彼此同時地開始,并且可以以平行的或交叉存取(interleave)的方式執(zhí)行應(yīng)用(例如,每個并行執(zhí)行的應(yīng)用可以以交叉存取的方式訪問移動計算設(shè)備102的網(wǎng)絡(luò)接口或其它硬件)。在這樣的實施例中,應(yīng)理解是,網(wǎng)絡(luò)應(yīng)用的執(zhí)行可以在不同的時間處完成。在其它實施例中,可以通過在開始執(zhí)行另一應(yīng)用后的某一時間開始執(zhí)行被延遲的應(yīng)用來與該其他應(yīng)用并行地執(zhí)行被延遲的應(yīng)用。
[0009]例如在一些實施例中,第一網(wǎng)絡(luò)應(yīng)用可以發(fā)出與應(yīng)用服務(wù)器104a連接的請求。移動計算設(shè)備102可以延遲該與應(yīng)用服務(wù)器104a連接的請求直到接收到來自另一應(yīng)用的連接到應(yīng)用服務(wù)器104b的請求。在該示例中,移動計算設(shè)備102并行地為連接到應(yīng)用服務(wù)器104a、104b的請求服務(wù)。
[0010]當(dāng)與順序地或個別地與服務(wù)網(wǎng)絡(luò)請求相比較時,并行的網(wǎng)絡(luò)應(yīng)用調(diào)度可以減少移動計算設(shè)備102的功率消耗。另外,對于許多無線網(wǎng)絡(luò)106來說,并行執(zhí)行不會不利地影響每個網(wǎng)絡(luò)應(yīng)用的性能。特別地,當(dāng)應(yīng)用服務(wù)器104節(jié)流或以其它方式限制它們的關(guān)于可用帶寬的帶寬使用(其通常針對許多媒體流傳輸應(yīng)用)時并行網(wǎng)絡(luò)執(zhí)行可以不改變整體性能和用戶體驗。
[0011]移動計算設(shè)備102可以被體現(xiàn)為任何類型的能夠執(zhí)行本文中描述的功能的設(shè)備,在沒有限制的情況下包括智能電話、蜂窩式電話、頭戴式耳麥、計算機、平板計算機、膝上型計算機、筆記型計算機、通訊設(shè)備、交通工具遠(yuǎn)程傳送設(shè)備、網(wǎng)絡(luò)電器、web電器、分布式計算系統(tǒng)、多處理器系統(tǒng)、基于處理器的系統(tǒng)、和/或消費者電子設(shè)備。如在圖1中示出的那樣,移動計算設(shè)備102包括處理器120、輸入/輸出子系統(tǒng)122、存儲器124、數(shù)據(jù)儲存設(shè)備126、以及通信電路130。當(dāng)然,在其它實施例中,移動計算設(shè)備102可以包括其它或另外的組件,諸如在智能電話中通常找到的那些(例如,各種輸入/輸出設(shè)備)。另外在一些實施例中,可以將所圖解的組件中的一個或多個并入另一組件或以其它方式形成該另一組件的一部分。例如在一些實施例中,可以將存儲器124或其部分并入到處理器120中。
[0012]處理器120可以被體現(xiàn)為任何類型的能夠執(zhí)行本文中描述的功能的處理器。例如,處理器120可以被體現(xiàn)為(一個或多個)單核或多核處理器、數(shù)字信號處理器、微處理器、或其它處理器或處理/控制電路。類似地,存儲器124可以被體現(xiàn)為任何類型的能夠執(zhí)行本文中描述的功能的易失性或非易失性存儲器或數(shù)據(jù)儲存。在操作中,存儲器124可以存儲在移動計算設(shè)備102的操作期間使用的各種數(shù)據(jù)和軟件,諸如操作系統(tǒng)、應(yīng)用、程序、庫、以及驅(qū)動程序。存儲器124經(jīng)由I/O子系統(tǒng)122被通信地耦合到處理器120,1/0子系統(tǒng)122可以被體現(xiàn)為用于促進(jìn)與處理器120、存儲器124、和移動計算設(shè)備102的其它組件的輸入/輸出操作的電路和/或組件。例如,I/O子系統(tǒng)122可以被體現(xiàn)為(或以其它方式包括)存儲器控制器集線器、輸入/輸出控制集線器、固件設(shè)備、通信鏈路(即,點到點鏈路、總線鏈路、電線、線纜、光導(dǎo)、印刷電路板跡線等)和/或用于促進(jìn)輸入/輸出操作的其它組件和子系統(tǒng)。在一些實施例中,I/O子系統(tǒng)122可以形成片上系統(tǒng)(SoC)的一部分并且可以與處理器120、存儲器124和移動計算設(shè)備102的其它組件一起被并入在單個集成電路芯片上。
[0013]數(shù)據(jù)儲存設(shè)備126可以被體現(xiàn)為任何類型的被配置用于短期或長期存儲數(shù)據(jù)的一個或多個設(shè)備,諸如例如存儲器設(shè)備和電路、存儲卡、硬盤驅(qū)動器、固態(tài)驅(qū)動器、或其它數(shù)據(jù)儲存設(shè)備。數(shù)據(jù)儲存設(shè)備126可以存儲一個或多個被用于定義在移動計算設(shè)備102上安裝和/或執(zhí)行的各種網(wǎng)絡(luò)應(yīng)用的網(wǎng)絡(luò)、處理和其它資源需求的應(yīng)用執(zhí)行約束128。如在下面更詳細(xì)討論的那樣,移動計算設(shè)備102可以基于與特定的應(yīng)用相關(guān)聯(lián)的一個或多個應(yīng)用執(zhí)行約束來進(jìn)行應(yīng)用的執(zhí)行是否是可延遲的確定。
[0014]移動計算設(shè)備102的通信電路130可以被體現(xiàn)為能夠使實現(xiàn)在網(wǎng)絡(luò)106上在移動計算設(shè)備102、應(yīng)用服務(wù)器104、和/或其它遠(yuǎn)程設(shè)備之間的通信的任何通信電路、設(shè)備、或它們的集合。通信電路130可以被配置成使用任何一個或多個通信技術(shù)(例如,無線的或有線的通信)以及用于實現(xiàn)這樣的通信的相關(guān)聯(lián)的協(xié)議(例如,3G、LTE、藍(lán)牙? ,W1-Fi ?、WiMAX等)。例證性的通信電路130使用無線通信與網(wǎng)絡(luò)106通信,然而,應(yīng)理解的是,本公開平等地可應(yīng)用于有線網(wǎng)絡(luò)連接(例如,以太網(wǎng))。
[0015]在例證性實施例中,移動計算設(shè)備102還包括顯示器132。移動計算設(shè)備102的顯示器132可以被體現(xiàn)為任何類型的能夠顯示數(shù)字化信息的顯示器,諸如液晶顯示器(IXD)、發(fā)光二極管、等離子顯示器、陰極射線管(CRT)、或其它類型的顯示器設(shè)備。在一些實施例中,顯示器132可以被耦合到觸摸屏以允許用戶與移動計算設(shè)備102交互。
[0016]應(yīng)用服務(wù)器104中的每一個都被配置成向移動計算設(shè)備102的一個或多個應(yīng)用提供網(wǎng)絡(luò)服務(wù)。例如,應(yīng)用服務(wù)器104可以提供電話服務(wù)(例如,VoIP服務(wù))、視頻服務(wù)、web服務(wù)、電子郵件、云數(shù)據(jù)服務(wù)、