TWI539273B - 用於減少電力消耗之並行網路應用程式排程技術 - Google Patents
用於減少電力消耗之並行網路應用程式排程技術 Download PDFInfo
- Publication number
- TWI539273B TWI539273B TW103133228A TW103133228A TWI539273B TW I539273 B TWI539273 B TW I539273B TW 103133228 A TW103133228 A TW 103133228A TW 103133228 A TW103133228 A TW 103133228A TW I539273 B TWI539273 B TW I539273B
- Authority
- TW
- Taiwan
- Prior art keywords
- network request
- network
- execution
- computing device
- application
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer Hardware Design (AREA)
Description
本發明係有關於用於減少電力消耗之並行網路應用程式排程技術。
連接至快速無線網路之諸如智慧型手機、平板電腦及筆記型電腦的攜帶型計算裝置已大大地增加對頻寬密集型網路應用程式的使用。大多數攜帶型裝置具有可用之許多網路密集型應用程式,包括媒體串流傳輸、視訊聊天、互動式訊息傳遞及雲端資料儲存應用程式。然而,攜帶型計算裝置通常具有有限之電池容量。對攜帶型計算裝置的增加之使用及詳言之,對無線網路無線電的增加之使用增加攜帶型裝置的電力消耗且因此縮短可用的電池壽命。
依據本發明之一實施例,係特地提出一種用於排程應用程式之行動計算裝置,該行動計算裝置包含:一應用程式排程器模組,其用以進行以下操作:自該行動計算裝置之一第一網路應用程式接收一第一網路請求;判定針
對該第一網路應用程式之一或多個第一執行約束;基於該等一或多個第一執行約束而判定該第一網路請求是否可延遲;回應於該第一網路請求可延遲之一判定而排程該第一網路請求用於延遲執行;自該行動計算裝置之一第二網路應用程式接收一第二網路請求;以及回應於該第二網路請求之接收而排程該第一網路請求及該第二網路請求用於並行執行。
100‧‧‧系統
102‧‧‧行動計算裝置
104、104a、104b‧‧‧應用程式伺服器
106‧‧‧無線網路
120‧‧‧處理器
122‧‧‧輸入/輸出子系統
124‧‧‧記憶體
126‧‧‧資料儲存裝置
128、204、204a、204b、214‧‧‧應用程式執行約束
130‧‧‧通訊電路
132‧‧‧顯示器
200‧‧‧環境
202、202a、202b‧‧‧網路應用程式
206‧‧‧應用程式排程器模組
208‧‧‧延遲請求佇列
210‧‧‧延遲計時器
212‧‧‧網路通訊模組
300‧‧‧用於網路應用程式排程之方法
302、304、306、308、310、312、314、316、318、402、404、406、408、410、412、502、504、506、508、510、512、514、516、518、520‧‧‧區塊
400‧‧‧用於並行地執行網路請求之方法
500‧‧‧用於判定網路請求是否可延遲之方法
600‧‧‧圖表
602、604、606‧‧‧應用程式
本文所描述之概念係藉由實例且並非藉由隨附諸圖中之限制來說明。為說明之簡單性及清楚性,諸圖中所說明之元件未必按比例繪製。在被視為適當之處,參考標籤已在諸圖當中重複以指示對應或相似元件。
圖1為用於並行網路應用程式排程之系統之至少一個實施例的簡化方塊圖;圖2為可藉由圖1之行動計算裝置建立的環境之至少一個實施例的簡化方塊圖;圖3為可藉由圖1及圖2之系統之行動計算裝置執行的用於排程網路請求的方法之至少一個實施例的簡化流程圖;圖4為可藉由圖1及圖2之行動計算裝置執行的用於並行地執行網路請求的方法之至少一個實施例的簡化流程圖;圖5為可藉由圖1及圖2之行動計算裝置執行的用於判定網路請求是否可延遲的方法之至少一個實施例的簡化流
程圖;及圖6為展示可藉由圖1及圖2之行動計算裝置達成之例示性結果的圖表。
雖然本發明之概念易受各種修改及替代形式影響,但已在圖式中藉由實例展示其特定實施例且將在本文中對該等實施例進行詳細描述。然而,應理解,不欲將本發明之概念限於所揭示之特定形式,而相反的,本發明將涵蓋與本發明及所附申請專利範圍相一致的所有修改、等效物及替代物。
在說明書中對「一個實施例」、「一實施例」、「一例示性實施例」等之引用指示所描述之實施例可包括特定特徵、結構或特性,但每一實施例可能或可能並非必要地包括彼特定特徵、結構或特性。此外,此等片語未必指代同一實施例。此外,當特定特徵、結構或特性係結合實施例描述時,認為其係在熟習此項技術者之知識內以結合其他實施例(無論是否明確地描述)實行此特徵、結構或特性。另外,應瞭解,以「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)。
在一些狀況下,所揭示實施例可以硬體、韌體、
軟體或其任何組合來實施。所揭示實施例亦可實施為藉由一或多個暫時性或非暫時性機器可讀取(例如,電腦可讀取)儲存媒體所攜載或儲存於其上的指令,該等指令可藉由一或多個處理器讀取及執行。機器可讀取儲存媒體可體現為用於儲存或傳輸呈可藉由機器讀取之形式的資訊的任何儲存裝置、機構或其他實體結構(例如,依電性或非依電性記憶體、媒體光碟,或其他媒體裝置)。
在圖式中,一些結構或方法特徵可以特定配置及/或排序來展示。然而,應瞭解,此等特定配置及/或排序可能並非要求的。更確切而言,在一些實施例中,此等特徵可以不同於例示性諸圖中所示之方式及/或次序來配置。另外,結構或方法特徵在特定圖中之包括並不意謂暗示此特徵在所有實施例中係要求的,且在一些實施例中,可能並未被包括或可與其他特徵組合。
現參看圖1,在例示性實施例中,用於並行網路應用程式排程之系統100包括行動計算裝置102及一或多個應用程式伺服器104。行動計算裝置102及應用程式伺服器104可經由網路106彼此通訊。在使用中,如下文更詳細地論述,行動計算裝置102執行與應用程式伺服器104通訊之數個網路應用程式。行動計算裝置102自應用程式接收數個網路請求,且判定該等請求是否可在不會不利地影響網路應用程式或其使用之情況下延遲。行動計算裝置102延遲請求(若可能),直至其可與另一可延遲請求或與非可延遲請求並行地執行為止。舉例而言,行動計算裝置102可執行(多
個)經延遲之應用程式與另一經延遲或非延遲之應用程式,使得每一網路應用程式之執行的至少一部分重疊或以其他方式彼此同時發生。在一些實施例中,行動計算裝置102可排程並行執行之應用程式以在相同時間或以其他方式彼此同時啟動,且應用程式可以平行或交錯之方式執行(例如,每一並行執行之應用程式可以交錯方式存取行動計算裝置102之網路介面或其他硬體)。在此等實施例中,應理解,網路應用程式之執行可在不同時間完成。在其他實施例中,經延遲之應用程式可藉由以下操作與另一應用程式並行地執行:在起始另一應用程式之執行之後的某個時刻起始經延遲之應用程式的執行。
舉例而言,在一些實施例中,第一網路應用程式可發出與應用程式伺服器104a連接之請求。行動計算裝置102可延遲與應用程式伺服器104a連接之請求,直至接收到來自另一應用程式的連接至應用程式伺服器104b之請求為止。在彼實例中,行動計算裝置102並行地服務連接至應用程式伺服器104a、104b之請求。
當與順序地或個別地服務網路請求比較時,並行網路應用程式排程技術可減少行動計算裝置102之電力消耗。另外,對於許多無線網路106,每一網路應用程式之效能可能不會藉由並行執行不利地影響。詳言之,當應用程式伺服器104關於可用頻寬而節制或以其他方式限制其頻寬使用(此情況對於許多媒體串流應用程式係典型的)時,整體效能及使用者體驗可能未藉由並行網路執行改變。
行動計算裝置102可體現為能夠執行本文所描述之功能的任何類型之裝置,包括(無限制)智慧型手機、蜂巢式電話、手機、電腦、平板電腦、膝上型電腦、筆記型電腦、訊息傳遞裝置、車載資通訊(vehicle telematics)裝置、網路器具、網頁器具、分散式計算系統、多處理器系統、基於處理器之系統,及/或消費型電子裝置。如圖1中所示,行動計算裝置102包括處理器120、輸入/輸出子系統122、記憶體124、資料儲存裝置126,及通訊電路130。當然,在其他實施例中,行動計算裝置102可包括其他或額外組件,諸如通常見於智慧型手機中之彼等組件(例如,各種輸入/輸出裝置)。另外,在一些實施例中,例示性組件中之一或多者可併入於另一組件中,或以其他方式形成另一組件之一部分。舉例而言,在一些實施例中,記憶體124或其部分可併入於處理器120中。
處理器120可體現為能夠執行本文所描述之功能的任何類型之處理器。舉例而言,處理器120可體現為(多個)單或多核心處理器、數位信號處理器、微控制器,或其他處理器或處理/控制電路。類似地,記憶體124可體現為能夠執行本文所描述之功能的任何類型之依電性或非依電性記憶體或資料儲存器。在操作中,記憶體124可儲存在行動計算裝置102之操作期間所使用的各種資料及軟體,諸如作業系統、應用程式、程式、程式庫及驅動程式。記憶體124經由I/O子系統122以通訊方式耦接至處理器120,I/O子系統122可體現為電路及/或組件以促進與處理器120、記憶
體124及行動計算裝置102之其他組件的輸入/輸出操作。舉例而言,I/O子系統122可體現為或以其他方式包括記憶體控制器集線器、輸入/輸出控制集線器、韌體裝置、通訊鏈路(亦即,點對點鏈路、匯流排鏈路、導線、纜線、光導、印刷電路板跡線等)及/或其他組件及子系統以促進輸入/輸出操作。在一些實施例中,I/O子系統122可形成系統單晶片(SoC)之一部分,且連同處理器120、記憶體124及行動計算裝置102之其他組件併入於單一積體電路晶片上。
資料儲存裝置126可體現為經組配以用於資料之短期或長期儲存的任何類型之(多個)裝置,諸如記憶體裝置及電路、記憶卡、硬碟機、固態磁碟機或其他資料儲存裝置。資料儲存裝置126可儲存一或多個應用程式執行約束128,該等一或多個應用程式執行約束128用以定義安裝及/或執行於行動計算裝置102上之各種網路應用程式的網路、處理及其他資源要求。如下文更詳細地論述,行動計算裝置102可基於與該特定應用程式相關聯之一或多個應用程式執行約束而作出應用程式之執行是否可延遲的判定。
行動計算裝置102之通訊電路130可體現為能夠實現在行動計算裝置102、應用程式伺服器104及/或其他遠端裝置之間經由網路106之通訊的任何通訊電路、裝置或其集合。通訊電路130可經組配以使用任何一或多種通訊技術(例如,無線或有線通訊)及相關聯之協定(例如,3G、LTE、Bluetooth®、Wi-Fi®、WiMAX等)來實行此通訊。例示性通
訊電路130使用無線通訊與網路106通訊;然而,應理解,本發明同樣適用於有線網路連接(例如,乙太網路)。
在例示性實施例中,行動計算裝置102進一步包括顯示器132。行動計算裝置102之顯示器132可體現為能夠顯示數位資訊之任何類型的顯示器,諸如液晶顯示器(LCD)、發光二極體(LED)、電漿顯示器、陰極射線管(CRT)或其他類型之顯示裝置。在一些實施例中,顯示器132可耦接至觸控螢幕以允許與行動計算裝置102之使用者互動。
應用程式伺服器104中之每一者經組配以將網路服務提供至行動計算裝置102之一或多個應用程式。舉例而言,應用程式伺服器104可提供電話服務(例如,VoIP服務)、視訊服務、網頁服務、電子郵件、雲端資料服務,或任何其他網路服務。舉例而言,在例示性實施例中,應用程式伺服器104a可提供網頁服務,且應用程式伺服器104b可提供VoIP服務。每一應用程式伺服器104可體現為能夠執行本文所描述之功能的任何類型之伺服器計算裝置或裝置之集合。因而,每一應用程式伺服器104可體現為單一伺服器計算裝置或伺服器及相關聯之裝置的集合。舉例而言,在一些實施例中,每一應用程式伺服器104可體現為由跨越網路106分散之多個計算裝置形成且在公用或私用雲端中操作的「虛擬伺服器」。因此,儘管該(等)應用程式伺服器104在圖1中說明為體現為單一伺服器計算裝置,但應瞭解,每一應用程式伺服器104可體現為一起合作之多個裝置以促進下文所描述的功能性。此外,每一應用程式伺服器104可
包括類似於行動計算裝置102及/或典型資料伺服器之組件及特徵,諸如處理器、I/O子系統、記憶體、資料儲存器、通訊電路及各種周邊裝置,該等組件及特徵為本描述之清楚性起見未說明於圖1中。
如下文更詳細地論述,行動計算裝置102及該(等)應用程式伺服器104可經組配以經由網路106與彼此及/或系統100之其他裝置傳輸及接收資料。網路106可體現為任何數目個各種有線及/或無線網路。舉例而言,網路106可體現為或以其他方式包括有線或無線區域網路(LAN)、有線或無線廣域網路(WAN)、蜂巢式網路,及/或可公開存取之全球網路(諸如,網際網路)。因而,網路106可包括任何數目個額外裝置(諸如,額外電腦、路由器及交換器)以促進在系統100之裝置當中的通訊。
現參看圖2,在例示性實施例中,行動計算裝置102在操作期間建立環境200。環境200包括數個網路應用程式202、一應用程式排程器模組206,及一網路通訊模組212。環境200進一步包括應用程式執行約束214。環境200之各種模組可體現為硬體、韌體、軟體,或其組合。
網路應用程式202可各自體現為存取藉由應用程式伺服器104中之一或多者所提供之服務的任何應用程式。網路應用程式202中之每一者經組配以在存取應用程式伺服器104之前將網路請求提交至應用程式排程器模組206。另外或替代地,應用程式排程器模組206可經組配以「截留」藉由應用程式202進行之網路存取。在一些實施例
中,在提交網路請求時抑或在較早時間(諸如,在應用程式202之安裝期間),每一網路應用程式202可將相關聯之應用程式執行約束204提交至應用程式排程器模組206。彼等應用程式執行約束204可儲存於在環境200中所建立之應用程式執行約束214中,如下文所描述。儘管應用程式202經說明及描述為網路應用程式,但應理解,本發明可同樣適用於可在行動計算裝置102上執行的任何種類之應用程式。
應用程式排程器模組206經組配以自網路應用程式202接收網路請求且排程每一網路請求用於立即或延遲執行。應用程式排程器模組206基於與網路應用程式202相關聯之應用程式執行約束214判定是否排程網路請求用於延遲執行。如下文所描述,網路請求可為可基於可接受潛時、優先權、應用程式類別或應用程式202之任何其他執行約束延遲的。應用程式排程器模組206經進一步組配以排程網路請求用於並行執行以減少總電力消耗。為了管理請求排程,應用程式排程器模組206可維持經排程用於延遲執行之網路請求之佇列,且可維持計時器以確保請求係在其允許之參數內執行。在一些實施例中,彼等功能可藉由子模組(例如,藉由延遲請求佇列208或延遲計時器210)執行。
網路通訊模組212經組配以執行或以其他方式促進已由應用程式排程器模組206排程用於執行的網路請求。執行網路請求可包括使網路連接開放,發送及接收資料,及由網路應用程式202所要求之任何其他處理。網路通訊模組212可啟動適當應用程式202以執行網路請求,可執
行藉由應用程式202所供應之任務、執行緒或程序以執行網路請求,或可獨立地執行網路請求。
應用程式執行約束214針對可接受效能及/或使用者體驗定義資源要求、時間限制及/或藉由網路應用程式202所要求之其他參數。如下文進一步描述,應用程式執行約束214可描述網路應用程式202之網路資源、處理資源、所要求時序或急迫性。在一些實施例中,應用程式執行約束214可藉由每一網路應用程式202供應。舉例而言,每一網路應用程式202之開發者可在應用程式202經安裝時供應安裝至應用程式執行約束214中之約束。另外或替代地,行動計算裝置102可藉由監視網路應用程式202在使用中隨時間之行為而判定應用程式執行約束214。應用程式執行約束214可以任何資料格式儲存(例如,作為本端資料庫)。
現參看圖3,在使用中,行動計算裝置102可執行用於網路應用程式排程之方法300。方法300以區塊302開始,其中行動計算裝置102監視網路請求。網路請求可體現為在任何抽象層級處在網路應用程式202與一或多個應用程式伺服器104之間發送或接收網路資料的任何請求。網路應用程式202可使用標準化應用程式設計介面(「API」)提交網路請求。舉例而言,網路請求可體現為使至應用程式伺服器104之TCP連接開放的請求,或體現為自特定網際網路位址下載檔案之請求。在區塊304中,行動計算裝置102判定是否已接收到網路請求。若無請求已被接收,則方法300迴圈回至區塊302以繼續監視網路請求。若網路請求已
被接收,則方法300前進至區塊306。
在區塊306中,行動計算裝置102判定進行網路請求之網路應用程式202的一或多個應用程式執行約束214。在一些實施例中,行動計算裝置102可自先前已在行動計算裝置102上建立之約束的資料庫擷取應用程式執行約束214。另外或替代地,在一些實施例中,行動計算裝置102可(例如)經由標準化API直接自應用程式202接收應用程式執行約束214。
在區塊308中,行動計算裝置102基於應用程式執行約束214判定網路請求是否可延遲。換言之,行動計算裝置102判定請求是否可在不會不利地影響應用程式202之效能或使用者體驗的情況下延遲。舉例而言,在一些實施例中,對於低優先權應用程式202或對於能夠容忍大量網路潛時之應用程式202,網路請求可為可延遲的。相反,在一些實施例中,對於高優先權應用程式202、低潛時應用程式202或對於要求大量處理資源之應用程式202,網路請求可能不可延遲。用於判定請求是否可延遲之方法的一個實施例係在下文結合圖5描述。若網路請求不可延遲,則方法300叉出分支至下文進一步描述之區塊316。若網路請求可延遲,則方法300叉出分支至區塊310。
在區塊310中,行動計算裝置102排程網路請求用於延遲執行。如下文結合圖4所描述,延遲網路請求之執行可允許行動計算裝置102適時地排程網路請求用於在稍後時間執行以達成減少之電力消耗。行動計算裝置102可使用
用於排程網路請求用於延遲執行的任何可用技術。舉例而言,行動計算裝置102可使得應用程式202之程序、任務或執行緒暫停、暫時中止、封鎖或以其他方式放棄(yield)執行。另外或替代地,應用程式202可繼續執行,但單獨的網路請求任務、程序或執行緒可被暫時中止。在一些實施例中,在區塊312中,行動計算裝置102可將網路請求添加至延遲請求佇列208。因此,藉由將多個網路請求儲存於延遲請求佇列208中,行動計算裝置102可排程一個以上網路請求用於延遲執行。
在一些實施例中,在區塊314中,行動計算裝置102可基於應用程式202之應用程式執行約束214設定用於網路請求之延遲計時器210。如下文進一步描述,設定延遲計時器210可允許行動計算裝置102確保網路請求在所要時間段內執行。舉例而言,行動計算裝置102可將延遲計時器210設定為在應用程式執行約束214中所指定之最大容許潛時。繼續彼實例,例如,延遲計時器210可針對電子郵件更新應用程式202而設定為十分鐘,或針對備份應用程式202而設定為二十四小時。在排程網路請求用於延遲執行之後,方法300迴圈回至區塊302以等待其他網路請求。
返回參看區塊308,若網路請求不可延遲,則方法300叉出分支至區塊316。在區塊316中,行動計算裝置102排程網路請求用於立即執行。行動計算裝置102可使用用於排程網路請求用於立即執行之任何可用技術。舉例而言,行動計算裝置102可開始程序、任務或執行緒之執行以服務
網路請求。另外或替代地,行動計算裝置102可使至請求應用程式202之所請求網路連接開放或返回該所請求網路連接,或將應用程式202提交至作業系統程序排程器或執行佇列(未圖示)。
在一些實施例中,在區塊318中,行動計算裝置102可在判定當前網路請求已經排程用於立即執行後即排程其他經延遲之網路請求用於立即執行。舉例而言,行動計算裝置102可開始含於延遲請求佇列208中之任何經延遲之網路請求。一旦開始,先前經延遲之請求便與在區塊316中所開始之請求並行地執行。因此,任何先前經延遲之網路請求可與立即執行之稍後到達的請求「捎帶(piggyback)」執行。在開始任何其他經延遲之請求之前,行動計算裝置102可判定並行執行是否與當前應用程式202之應用程式執行約束214相容。舉例而言,並行執行可能並不與要求大量處理資源之當前應用程式202相容(例如,若當前應用程式202使處理器120飽和)。在排程該(等)網路請求用於立即執行之後,方法300迴圈回至區塊302以監視額外網路請求。
現參看圖4,在使用中,行動計算裝置102可執行用於並行地執行網路請求之方法400。儘管說明為單獨的方法,但方法400可與用於排程網路請求之方法300並行地執行或以其他方式與方法300協調。方法400在區塊402中開始,其中行動計算裝置102識別先前已經排程用於延遲執行的所有網路請求。在一些實施例中,在區塊404中,行動計算裝置102可列舉含於延遲請求佇列208中之所有經延遲之
網路請求。如上文結合圖3所描述,網路請求可在藉由行動計算裝置102自網路應用程式202接收到之後已添加至延遲請求佇列208。
在區塊406中,行動計算裝置102判定經延遲之網路請求的數目是否超過請求之臨限數目。在一些實施例中,臨限數目個請求可僅為一個請求;亦即,行動計算裝置102可判定當前是否存在經排程用於延遲執行之一個以上網路請求。當然,在其他實施例中,請求之臨限數目可較高,諸如兩個請求或三個請求。若請求之數目超過臨限值,則方法400向前叉出分支至區塊412,如下文所描述。若請求之數目不超過臨限值,則方法400前進至區塊408。
在區塊408中,行動計算裝置102判定對於任何網路請求,延遲計時器210是否已屆期。換言之,行動計算裝置102可判定對於經延遲之網路請求中的任一者,可接受潛時是否已被超過(或即將被超過)。行動計算裝置102可使用用於判定延遲計時器210是否已屆期之任何技術。舉例而言,行動計算裝置102可遍歷延遲請求佇列208之所有經延遲之網路請求以判定延遲計時器210是否已屆期。另外或替代地,行動計算裝置102可(例如)藉由俘獲藉由延遲計時器210所激發(fire)之事件(未圖示)而判定延遲計時器210是否已非同步地屆期。
在區塊410中,行動計算裝置102判定在延遲計時器210已屆期之情況下是否叉出分支。若計時器尚未屆期,則方法400迴圈回至區塊402以繼續識別經延遲之網路請
求。因此,在彼情況下,經延遲之網路請求可保持處於延遲請求佇列208中直至足夠的經延遲之網路請求被接收到為止,或直至任何網路請求之最大潛時被超過為止。若延遲計時器210已屆期,則方法400前進至區塊412。
在區塊412中,行動計算裝置102排程經延遲之網路請求用於立即、並行執行。行動計算裝置102可執行含於延遲請求佇列208中之每一網路請求,且可在結束時清空佇列。行動計算裝置102可使用用於排程網路請求用於立即執行之任何可用技術。舉例而言,行動計算裝置102可開始程序、任務或執行緒之執行以服務每一網路請求。在一些實施例中,行動計算裝置102可使至每一請求應用程式202之所請求網路連接開放或且返回該所請求網路連接,或將每一應用程式202提交至作業系統程序排程器或執行佇列(未圖示)。所有網路請求經排程以並行地執行。在排程網路請求之後,方法400迴圈回至區塊402以繼續識別經延遲之網路請求。
現參看圖5,在使用中,行動計算裝置102可執行用於判定網路請求是否可延遲之方法500。方法500可(例如)作為如上文結合圖3所描述之區塊308之部分來執行。方法500在區塊502中開始,其中行動計算裝置102判定與當前應用程式202相關聯之應用程式執行約束214的資源執行約束。資源執行約束定義藉由應用程式202所要求以完成網路請求之行動計算裝置102的資源。舉例而言,資源執行約束可描述所要求之記憶體、資料儲存或處理器資源。在一些
實施例中,在區塊504中,行動計算裝置102判定針對應用程式202之處理資源約束。處理資源約束可描述藉由應用程式202所要求的處理器、處理器核心、處理器循環或行動計算裝置102之其他處理資源的數目。舉例而言,資源執行約束可描述應用程式202預期其將要求之可用處理資源之百分比。在一些實施例中,資源執行約束可簡單地將應用程式202識別為具有「高」或「低」處理要求。
在區塊506中,行動計算裝置102判定應用程式202是否為資源密集的。換言之,行動計算裝置102判定資源執行約束是否超過臨限資源要求。舉例而言,行動計算裝置102可判定應用程式202是否將使用所有可用的處理器循環,或應用程式202是否已加標籤為具有「高」處理要求。若應用程式202係資源密集的,則方法500叉出分支至區塊508,其中方法500傳回應用程式202不可延遲。如上文結合圖3所描述,若應用程式202不可延遲,則網路請求可經排程用於立即執行。返回參看區塊506,若應用程式202並非資源密集的,則方法500前進至區塊510。
在區塊510中,行動計算裝置102判定與當前應用程式202相關聯之應用程式執行約束214的急迫性執行約束。急迫性約束定義應用程式202對時間延遲之容忍度。在一些實施例中,在區塊512中,行動計算裝置102獲得潛時約束。潛時約束描述針對當前應用程式202之容許的網路潛時,且可依據經過時間來量測。舉例而言,每日備份應用程式202可具有若干小時之允許潛時,電子郵件應用程式
202可具有若干分鐘之允許潛時,且即時電話應用程式202可能不具有允許潛時。在一些實施例中,在區塊514中,行動計算裝置102可獲得優先權約束。優先權約束描述應用程式202之相對重要性。舉例而言,系統應用程式202或使用者起始之互動式應用程式202可具有高優先權,而背景應用程式202可具有低優先權。在一些實施例中,在區塊516中,行動計算裝置102可獲得應用程式202之應用程式類別。應用程式類別可描述應用程式202之一般網路使用型樣;例如,應用程式類別可包括即時通訊應用程式、互動式應用程式或背景應用程式。可針對每一應用程式202預先判定應用程式類別,或可藉由行動計算裝置102基於在使用中之應用程式202的觀測來指派應用程式類別。
在區塊518中,行動計算裝置102判定當前網路請求是否為急迫的。行動計算裝置102可判定先前判定之急迫性執行約束是否超過臨限急迫性等級。行動計算裝置102可使用急迫性之可能量測中的任一者。舉例而言,若允許之潛時低於臨限潛時,則行動計算裝置102可判定請求為急迫的。在一些實施例中,請求在其並未要求容許之潛時的情況下可為急迫的。作為另一實例,若優先權等級超過臨限優先權等級,則行動計算裝置102可判定請求為急迫的。作為第三實例,若應用程式類別屬於急迫應用程式類別(諸如,即時通訊應用程式或互動式應用程式)之預定義集合,則行動計算裝置102可判定請求為急迫的。另外,行動計算裝置102可基於藉由使用者所提供之輸入或指示(例如,應
用程式應具有高優先權存取之指示)判定請求為急迫的。若請求為急迫的,則方法500叉出分支至區塊508以傳回不可延遲,如上文所描述。若請求並非急迫的,則方法500叉出分支至區塊520,其中方法500傳回應用程式202可延遲。如上文結合圖3所描述,若應用程式202可延遲,則網路請求可經排程用於延遲執行。
現參看圖6,圖表600展示可藉由根據本發明之行動計算裝置達成的例示性結果。應瞭解,在圖表600中所呈現之結果僅為例示性的且其他結果可在其他實施例中產生。圖表600說明在單獨地及並行地執行不同應用程式工作負荷時行動計算裝置之所量測電力消耗。在例示性表示中,應用程式602係VoIP應用程式(亦即,不可經排程用於延遲執行之應用程式)。在單獨地執行之情況下,應用程式602消耗(例如)1108mW之電力。例示性應用程式604係自網頁伺服器之檔案下載,且在單獨地執行時消耗(例如)1033mW之電力。例示性應用程式606係至網頁伺服器之檔案上傳,且在單獨地執行時消耗(例如)1460mW之電力。在並行地執行之情況下,應用程式602、604例示性地消耗1324mW之電力,與單獨執行相比在電力消耗上具有38%改良。應用程式602、606在並行地執行時例示性地消耗1555mW之電力,與單獨執行相比在電力消耗上具有39%改良。且應用程式602、604、606在並行地執行時例示性地消耗1643mW之電力,與單獨執行相比在電力消耗上具有54%改良。
儘管本發明已主要依據網路應用程式202得以描
述,但應理解,對於其他類型之應用程式,相同排程技術可減少電力消耗。類似地,儘管本發明已主要依據經由無線網路106通訊之行動計算裝置102得以描述,但應理解,對於靜止的或主要靜止的電腦(諸如,桌上型電腦及伺服器)以及對於經由有線網路之通訊,相同排程技術可減少電力消耗。
本文所揭示之技術的例示性實例係在下文中提供。該等技術之實施例可包括下文所描述之實例中的任何一或多者及任何組合。
實例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包括實例1至14中之任一者的標的物,且其中判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一資源要求;且判定該第二網路請求是否可延遲包含判定該資源要求是否小於一臨限資源要求。
實例16包括實例1至15中之任一者的標的物,且其中該資源要求包含該第二網路應用程式之一處理器要
求,且該臨限資源要求包含一臨限處理器要求。
實例17包括實例1至16中之任一者的標的物,且其中判定該等一或多個第一執行約束包含自該行動計算裝置之一執行約束資料庫判定該等一或多個第一執行約束。
實例18包括實例1至17中之任一者的標的物,且其中該等第一執行約束係在該第一網路請求之接收之前藉由該第一網路應用程式被提供至該執行約束資料庫。
實例19包括一種用於排程應用程式之方法,該方法包含下列步驟:藉由一行動計算裝置自該行動計算裝置之一第一網路應用程式接收一第一網路請求;藉由該行動計算裝置判定針對該第一網路應用程式之一或多個第一執行約束;藉由該行動計算裝置基於該等一或多個第一執行約束而判定該第一網路請求是否可延遲;藉由該行動計算裝置回應於判定該第一網路請求可延遲而排程該第一網路請求用於延遲執行;藉由該行動計算裝置自該行動計算裝置之一第二網路應用程式接收一第二網路請求;以及藉由該行動計算裝置回應於接收該第二網路請求而並行地執行該第一網路請求及該第二網路請求。
實例20包括實例19之標的物,且其中判定該等一或多個第一執行約束包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一急迫性等級;且判定該第一網路請求是否可延遲包含判定該急迫性等級是否小於一臨限急迫性等級。
實例21包括實例19及20中之任一者的標的物,且
其中判定該急迫性等級包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一優先權;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該優先權是否小於一臨限優先權。
實例22包括實例19至21中之任一者的標的物,且其中判定該急迫性等級包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一應用程式類別;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該應用程式類別是否屬於急迫應用程式類別之一預定義集合。
實例23包括實例19至22中之任一者的標的物,且其中判定該急迫性等級包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一可接受潛時;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該可接受潛時是否超過一臨限潛時。
實例24包括實例19至23中之任一者的標的物,且其中排程該第一網路請求用於延遲執行包含基於該第一網路應用程式之該可接受潛時設定一延遲計時器;其中該方法進一步包含藉由該行動計算裝置判定該延遲計時器是否已屆期;且執行該第一網路請求及該第二網路請求包含回應於判定該延遲計時器已屆期而並行地執行該第一網路請求及該第二網路請求。
實例25包括實例19至24中之任一者的標的物,且其中判定該等一或多個第一執行約束包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一資源要
求;且判定該第一網路請求是否可延遲包含判定該資源要求是否小於一臨限資源要求。
實例26包括實例19至25中之任一者的標的物,且其中判定該資源要求包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一處理器要求;且判定該資源要求是否小於該臨限資源要求包含判定該處理器要求是否小於一臨限處理器要求。
實例27包括實例19至26中之任一者的標的物,且進一步包括:藉由該行動計算裝置判定針對該第二網路應用程式之一或多個第二執行約束;藉由該行動計算裝置基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;藉由該行動計算裝置回應於判定該第二網路請求可延遲而排程該第二網路請求用於延遲執行;以及藉由該行動計算裝置回應於排程該第二網路請求而判定超過臨限數目個網路請求是否已被排程用於延遲的執行;其中執行該第一網路請求及該第二網路請求包含回應於判定超過該等臨限數目個網路請求已被排程用於延遲執行而執行該第一網路請求及該第二網路請求。
實例28包括實例19至27中之任一者的標的物,且進一步包括:藉由該行動計算裝置判定針對該第二網路應用程式之一或多個第二執行約束;藉由該行動計算裝置基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;以及藉由該行動計算裝置回應於判定該第二網路請求不可延遲而排程該第二網路請求用於立即執行;其中
執行該第一網路請求及該第二網路請求包含回應於排程該第二網路請求用於立即執行而並行地執行該第一網路請求及該第二網路請求。
實例29包括實例19至28中之任一者的標的物,且其中判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一急迫性等級;且判定該第二網路請求是否可延遲包含判定該急迫性等級是否小於一臨限急迫性等級。
實例30包括實例19至29中之任一者的標的物,且其中判定該急迫性等級包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一優先權;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該優先權是否小於一臨限優先權。
實例31包括實例19至30中之任一者的標的物,且其中判定該急迫性等級包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一應用程式類別;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該應用程式類別是否屬於急迫應用程式類別之一預定義集合。
實例32包括實例19至31中之任一者的標的物,且其中判定該急迫性等級包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一可接受潛時;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該可接受潛時是否超過一臨限潛時。
實例33包括實例19至32中之任一者的標的物,且
其中判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一資源要求;且判定該第二網路請求是否可延遲包含判定該資源要求是否小於一臨限資源要求。
實例34包括實例19至33中之任一者的標的物,且其中判定該資源要求包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一處理器要求;且判定該資源要求是否小於該臨限資源要求包含判定該處理器要求是否小於一臨限處理器要求。
實例35包括實例19至34中之任一者的標的物,且其中判定該等一或多個第一執行約束包含自該行動計算裝置之一執行約束資料庫判定該等一或多個第一執行約束。
實例36包括實例19至35中之任一者的標的物,且其中該等第一執行約束係在接收該第一網路請求之前藉由該第一網路應用程式提供至該執行約束資料庫。
實例37包括一種計算裝置,其包含:一處理器;以及一記憶體,其中儲存有在藉由該處理器執行時致使該計算裝置執行實例19至36中之任一者之方法的多個指令。
實例38包括一或多個機器可讀取儲存媒體,其包含儲存於其上之多個指令,該等指令回應於經執行而導致一計算裝置執行請求項19至36中之任一者的方法。
實例39包括一種計算裝置,其包含用於執行實例19至36中之任一者之方法的構件。
102‧‧‧行動計算裝置
200‧‧‧環境
202a、202b‧‧‧網路應用程式
204a、204b、214‧‧‧應用程式執行約束
206‧‧‧應用程式排程器模組
208‧‧‧延遲請求佇列
210‧‧‧延遲計時器
212‧‧‧網路通訊模組
Claims (25)
- 一種用於排程應用程式之行動計算裝置,該行動計算裝置包含:一應用程式排程器模組,其用以進行以下操作:自該行動計算裝置之一第一網路應用程式接收一第一網路請求;判定針對該第一網路應用程式之一或多個第一執行約束;基於該等一或多個第一執行約束而判定該第一網路請求是否可延遲;回應於該第一網路請求可延遲之一判定而排程該第一網路請求用於延遲執行;自該行動計算裝置之一第二網路應用程式接收一第二網路請求;以及回應於該第二網路請求之接收而排程該第一網路請求及該第二網路請求用於並行執行。
- 如請求項1之行動計算裝置,其中:判定該等一或多個第一執行約束包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一急迫性等級;且判定該第一網路請求是否可延遲包含判定該急迫性等級是否小於一臨限急迫性等級。
- 如請求項2之行動計算裝置,其中該急迫性等級包含該 第一網路應用程式之一優先權,且該臨限急迫性等級包含一臨限優先權。
- 如請求項2之行動計算裝置,其中:該急迫性等級包含該第一網路應用程式之一應用程式類別;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該應用程式類別是否屬於急迫應用程式類別之一預定義集合。
- 如請求項2之行動計算裝置,其中:該急迫性等級包含該第一網路應用程式之一可接受潛時;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該可接受潛時是否超過一臨限潛時。
- 如請求項5之行動計算裝置,其中排程該第一網路請求用於延遲執行包含基於該第一網路應用程式之該可接受潛時而設定一延遲計時器;其中該應用程式排程器模組係進一步判定該延遲計時器是否已屆期;且其中執行該第一網路請求及該第二網路請求包含回應於該延遲計時器已屆期之一判定而並行地執行該第一網路請求及該第二網路請求。
- 如請求項1之行動計算裝置,其中該應用程式排程器模組係進一步用以進行以下操作:判定針對該第二網路應用程式之一或多個第二執 行約束;基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;回應於該第二網路請求可延遲之一判定而排程該第二網路請求用於延遲執行;以及回應於該第二網路請求之一排程而判定超過臨限數目個網路請求是否已被排程用於延遲執行;其中執行該第一網路請求及該第二網路請求包含回應於超過該等臨限數目個網路請求已被排程用於延遲執行的一判定而執行該第一網路請求及該第二網路請求。
- 如請求項1之行動計算裝置,其中該應用程式排程器模組係進一步用以進行以下操作:判定針對該第二網路應用程式之一或多個第二執行約束;基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;以及回應於該第二網路請求不可延遲之一判定而排程該第二網路請求用於立即執行;其中執行該第一網路請求及該第二網路請求包含回應於該第二網路請求用於立即執行之一排程而並行地執行該第一網路請求及該第二網路請求。
- 如請求項8之行動計算裝置,其中:判定該等一或多個第二執行約束包含基於該等一 或多個第二執行約束而判定該第二網路應用程式之一急迫性等級;且判定該第二網路請求是否可延遲包含判定該急迫性等級是否小於一臨限急迫性等級。
- 如請求項9之行動計算裝置,其中:該急迫性等級包含該第二網路應用程式之一可接受潛時;且判定該急迫性等級是否小於該臨限急迫性等級包含判定該可接受潛時是否超過一臨限潛時。
- 如請求項8之行動計算裝置,其中:判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一資源要求;且判定該第二網路請求是否可延遲包含判定該資源要求是否小於一臨限資源要求。
- 如請求項11之行動計算裝置,其中該資源要求包含該第二網路應用程式之一處理器要求,且該臨限資源要求包含一臨限處理器要求。
- 如請求項1之行動計算裝置,其中判定該等一或多個第一執行約束包含自該行動計算裝置之一執行約束資料庫判定該等一或多個第一執行約束,其中該等第一執行約束係在該第一網路請求之接收之前藉由該第一網路應用程式被提供至該執行約束資料庫。
- 一種用於排程應用程式之方法,該方法包含下列步驟: 藉由一行動計算裝置自該行動計算裝置之一第一網路應用程式接收一第一網路請求;藉由該行動計算裝置判定針對該第一網路應用程式之一或多個第一執行約束;藉由該行動計算裝置基於該等一或多個第一執行約束而判定該第一網路請求是否可延遲;藉由該行動計算裝置回應於判定該第一網路請求可延遲而排程該第一網路請求用於延遲執行;藉由該行動計算裝置自該行動計算裝置之一第二網路應用程式接收一第二網路請求;以及藉由該行動計算裝置回應於接收該第二網路請求而並行地執行該第一網路請求及該第二網路請求。
- 如請求項14之方法,其中:判定該等一或多個第一執行約束包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一可接受潛時;且判定該第一網路請求是否可延遲包含判定該可接受潛時是否超過一臨限潛時。
- 如請求項14之方法,其進一步包含:藉由該行動計算裝置判定針對該第二網路應用程式之一或多個第二執行約束;藉由該行動計算裝置基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;藉由該行動計算裝置回應於判定該第二網路請求 可延遲而排程該第二網路請求用於延遲執行;以及藉由該行動計算裝置回應於排程該第二網路請求而判定超過臨限數目個網路請求是否已被排程用於延遲執行;其中執行該第一網路請求及該第二網路請求包含回應於判定超過該等臨限數目個網路請求已被排程用於延遲執行而執行該第一網路請求及該第二網路請求。
- 如請求項14之方法,其進一步包含:藉由該行動計算裝置判定針對該第二網路應用程式之一或多個第二執行約束;藉由該行動計算裝置基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;以及藉由該行動計算裝置回應於判定該第二網路請求不可延遲而排程該第二網路請求用於立即執行;其中執行該第一網路請求及該第二網路請求包含回應於排程該第二網路請求用於立即執行而並行地執行該第一網路請求及該第二網路請求。
- 如請求項17之方法,其中:判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一急迫性等級;且判定該第二網路請求是否可延遲包含判定該急迫性等級是否小於一臨限急迫性等級。
- 如請求項17之方法,其中: 判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一處理器要求;且判定該第二網路請求是否可延遲包含判定該處理器要求是否小於一臨限處理器要求。
- 一種包含一或多個電腦可讀取儲存媒體之媒體,其包含回應於經執行而致使一行動計算裝置進行以下操作之多個指令:自該行動計算裝置之一第一網路應用程式接收一第一網路請求;判定針對該第一網路應用程式之一或多個第一執行約束;基於該等一或多個第一執行約束而判定該第一網路請求是否可延遲;回應於判定該第一網路請求可延遲而排程該第一網路請求用於延遲執行;自該行動計算裝置之一第二網路應用程式接收一第二網路請求;以及回應於接收該第二網路請求而並行地執行該第一網路請求及該第二網路請求。
- 如請求項20之一或多個電腦可讀取儲存媒體,其中:判定該等一或多個第一執行約束包含基於該等一或多個第一執行約束而判定該第一網路應用程式之一可接受潛時;且 判定該第一網路請求是否可延遲包含判定該可接受潛時是否超過一臨限潛時。
- 如請求項20之一或多個電腦可讀取儲存媒體,其進一步包含回應於經執行而致使該行動計算裝置進行以下操作之多個指令:判定針對該第二網路應用程式之一或多個第二執行約束;基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;回應於判定該第二網路請求可延遲而排程該第二網路請求用於延遲執行;以及回應於排程該第二網路請求而判定超過臨限數目個網路請求是否已被排程用於延遲執行;其中執行該第一網路請求及該第二網路請求包含回應於判定超過該等臨限數目個網路請求已被排程用於延遲執行而執行該第一網路請求及該第二網路請求。
- 如請求項20之一或多個電腦可讀取儲存媒體,其進一步包含回應於經執行而致使該行動計算裝置進行以下操作之多個指令:判定針對該第二網路應用程式之一或多個第二執行約束;基於該等一或多個第二執行約束而判定該第二網路請求是否可延遲;以及回應於判定該第二網路請求不可延遲而排程該第 二網路請求用於立即執行;其中執行該第一網路請求及該第二網路請求包含回應於排程該第二網路請求用於立即執行而並行地執行該第一網路請求及該第二網路請求。
- 如請求項23之一或多個電腦可讀取儲存媒體,其中:判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一急迫性等級;且判定該第二網路請求是否可延遲包含判定該急迫性等級是否小於一臨限急迫性等級。
- 如請求項23之一或多個電腦可讀取儲存媒體,其中:判定該等一或多個第二執行約束包含基於該等一或多個第二執行約束而判定該第二網路應用程式之一處理器要求;且判定該第二網路請求是否可延遲包含判定該處理器要求是否小於一臨限處理器要求。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/062805 WO2015050525A1 (en) | 2013-10-01 | 2013-10-01 | Concurrent network application scheduling for reduced power consumption |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201516650A TW201516650A (zh) | 2015-05-01 |
TWI539273B true TWI539273B (zh) | 2016-06-21 |
Family
ID=52778989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103133228A TWI539273B (zh) | 2013-10-01 | 2014-09-25 | 用於減少電力消耗之並行網路應用程式排程技術 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10042414B2 (zh) |
EP (1) | EP3053033A4 (zh) |
JP (1) | JP6189545B2 (zh) |
KR (1) | KR101890046B1 (zh) |
CN (1) | CN105474173B (zh) |
TW (1) | TWI539273B (zh) |
WO (1) | WO2015050525A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI776287B (zh) * | 2020-11-24 | 2022-09-01 | 威聯通科技股份有限公司 | 雲端檔案存取裝置及方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6626602B2 (ja) * | 2016-10-21 | 2019-12-25 | アファームド ネットワークス,インク. | 適応型コンテンツ最適化 |
US10631302B2 (en) * | 2017-06-27 | 2020-04-21 | At&T Intellectual Property I, L.P. | Limiting data transmission under lossy wireless conditions of an internet of things wireless device to facilitate a reduction of wireless retransmissions of the data |
CN108540575B (zh) * | 2018-04-27 | 2021-07-20 | 北京奇艺世纪科技有限公司 | 一种网络请求调度方法及装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095754B2 (en) * | 2000-11-03 | 2006-08-22 | At&T Corp. | Tiered contention multiple access (TCMA): a method for priority-based shared channel access |
US7653906B2 (en) | 2002-10-23 | 2010-01-26 | Intel Corporation | Apparatus and method for reducing power consumption on simultaneous multi-threading systems |
US20080141265A1 (en) * | 2004-12-08 | 2008-06-12 | Electronics And Telecommunications Research Instit | Power Management Method for Platform and that Platform |
US20070028228A1 (en) * | 2005-07-28 | 2007-02-01 | International Business Machines Corporation | Software upgrades with user advisement |
US7652990B2 (en) * | 2005-11-29 | 2010-01-26 | Alcatel-Lucent Usa Inc. | Method and apparatus for providing quality of service level in broadband communications systems |
JP4859111B2 (ja) * | 2006-04-21 | 2012-01-25 | Kddi株式会社 | バッテリの駆動時間を延長させる無線通信装置、プログラム及び通信トラヒック制御方法 |
US8160000B2 (en) * | 2006-06-08 | 2012-04-17 | Qualcomm Incorporated | Achieving power savings through packet grouping |
US8767636B2 (en) * | 2007-08-21 | 2014-07-01 | Optis Cellular Technology, Llc | Scheduling in wireless networks |
US9027027B2 (en) * | 2008-06-09 | 2015-05-05 | Microsoft Technology Licensing, Llc | Thread management based on device power state |
US8190088B1 (en) * | 2008-08-07 | 2012-05-29 | Bee Networx Inc. | Optimally controlling short-range wireless communication on mobile communication devices |
US8291422B2 (en) * | 2009-05-11 | 2012-10-16 | Bbn Technologies Corp. | Energy-aware computing environment scheduler |
US20110047552A1 (en) * | 2009-05-11 | 2011-02-24 | Raytheon Bbn Technologies Corp. | Energy-aware process environment scheduler |
US8255716B2 (en) * | 2009-08-27 | 2012-08-28 | Qualcomm Incorporated | Power optimization for data services |
CN102378309B (zh) * | 2010-08-12 | 2014-04-30 | 华为技术有限公司 | 一种接入网络的方法和系统 |
CA2716646C (en) * | 2010-10-14 | 2020-04-07 | Ibm Canada Limited - Ibm Canada Limitee | Coordinated approach between middleware application and sub-systems |
US8831658B2 (en) * | 2010-11-05 | 2014-09-09 | Qualcomm Incorporated | Controlling application access to a network |
US8966493B1 (en) * | 2010-11-09 | 2015-02-24 | Teradata Us, Inc. | Managing execution of multiple requests in a job using overall deadline for the job |
US9167618B2 (en) * | 2010-11-16 | 2015-10-20 | At&T Mobility Ii Llc | Data bundling and fast dormancy based upon intelligent application learning |
US9264868B2 (en) * | 2011-01-19 | 2016-02-16 | Qualcomm Incorporated | Management of network access requests |
US9374787B2 (en) * | 2011-02-10 | 2016-06-21 | Alcatel Lucent | Method and apparatus of smart power management for mobile communication terminals using power thresholds |
JP5887846B2 (ja) * | 2011-11-10 | 2016-03-16 | 日本電気株式会社 | 電力制御システムおよび電力制御方法 |
US20140293848A1 (en) * | 2013-03-28 | 2014-10-02 | Alcatel-Lucent Usa Inc. | Communication device data channel access |
-
2013
- 2013-10-01 JP JP2016536072A patent/JP6189545B2/ja active Active
- 2013-10-01 EP EP13895108.2A patent/EP3053033A4/en not_active Withdrawn
- 2013-10-01 KR KR1020167005528A patent/KR101890046B1/ko active IP Right Grant
- 2013-10-01 US US14/129,783 patent/US10042414B2/en active Active
- 2013-10-01 CN CN201380079287.5A patent/CN105474173B/zh active Active
- 2013-10-01 WO PCT/US2013/062805 patent/WO2015050525A1/en active Application Filing
-
2014
- 2014-09-25 TW TW103133228A patent/TWI539273B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI776287B (zh) * | 2020-11-24 | 2022-09-01 | 威聯通科技股份有限公司 | 雲端檔案存取裝置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105474173A (zh) | 2016-04-06 |
US20160252945A1 (en) | 2016-09-01 |
WO2015050525A1 (en) | 2015-04-09 |
JP6189545B2 (ja) | 2017-08-30 |
KR101890046B1 (ko) | 2018-08-20 |
TW201516650A (zh) | 2015-05-01 |
CN105474173B (zh) | 2019-08-06 |
US10042414B2 (en) | 2018-08-07 |
JP2016528648A (ja) | 2016-09-15 |
EP3053033A4 (en) | 2017-06-21 |
KR20160040260A (ko) | 2016-04-12 |
EP3053033A1 (en) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628216B2 (en) | I/O request scheduling method and apparatus by adjusting queue depth associated with storage device based on hige or low priority status | |
US9244816B2 (en) | Application testing using sandboxes | |
US9582326B2 (en) | Quality of service classes | |
US9462022B2 (en) | Mobile application migration to cloud computing platform | |
CN111950988B (zh) | 分布式工作流调度方法、装置、存储介质及电子设备 | |
US8402466B2 (en) | Practical contention-free distributed weighted fair-share scheduler | |
US9973512B2 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
EP3886385A1 (en) | Device, system and method to dynamically prioritize a data flow based on user interest in a task | |
US8725800B1 (en) | Mobile photo application migration to cloud computing platform | |
BR102013014262A2 (pt) | Importância de processo adaptável | |
TWI539273B (zh) | 用於減少電力消耗之並行網路應用程式排程技術 | |
US10037225B2 (en) | Method and system for scheduling computing | |
US8745261B1 (en) | Optimized video streaming using cloud computing platform | |
US11422857B2 (en) | Multi-level scheduling | |
WO2023174037A1 (zh) | 资源调度方法、装置、系统、设备、介质和程序产品 | |
CN116627333A (zh) | 日志缓存方法、装置、电子设备及计算机可读存储介质 | |
EP3539278A1 (en) | Method and system for affinity load balancing | |
CN114138427A (zh) | Slo保障方法、装置、节点及存储介质 | |
CN106484536B (zh) | 一种io调度方法、装置和设备 | |
CN113138854A (zh) | 终端的控制方法、装置、终端和存储介质 |