[go: up one dir, main page]

TWI488035B - 用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體、方法與系統 - Google Patents

用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體、方法與系統 Download PDF

Info

Publication number
TWI488035B
TWI488035B TW098105857A TW98105857A TWI488035B TW I488035 B TWI488035 B TW I488035B TW 098105857 A TW098105857 A TW 098105857A TW 98105857 A TW98105857 A TW 98105857A TW I488035 B TWI488035 B TW I488035B
Authority
TW
Taiwan
Prior art keywords
schedules
time
schedule
repetitive
notification
Prior art date
Application number
TW098105857A
Other languages
English (en)
Other versions
TW200943047A (en
Inventor
崔倫安P
墨爾洛伊德阿弗列德
伽洛里克里斯多夫塔德
提根修
米勒約翰馬克
沙培克亞當
班特禮基斯C
哈特蓋迪波南賈尼斯
艾伯特 劉
Original Assignee
微軟公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟公司 filed Critical 微軟公司
Publication of TW200943047A publication Critical patent/TW200943047A/zh
Application granted granted Critical
Publication of TWI488035B publication Critical patent/TWI488035B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)
  • Navigation (AREA)

Description

用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體、方法與系統
本發明係有關聚集重覆性排程以最佳化資源耗用。
像是行動電話及個人數位助理(PDA)之行動計算裝置近年來既已日漸普及。隨著該等裝置持續逐漸縮小,像是記憶體、儲存、帶寬與電池之資源方面的限制亦隨之增加。此外,更多的應用程式現要求提高此等資源的水準。例如,許多應用程式執行重覆性任務,像是與一伺服器的同步化及即時性的內容更新,而這些任務需要運用射頻以供持續連接。在無線電啟動進行資料發送之後,該無線電需耗用數秒以關閉電源(例如在2.5G網路上約為3秒,並且在3G網路上約為20秒)。此無線電「尾區」會吸用電力並且減少裝置電池壽命。
本發明具體實施例可調整重覆性排程的啟動時間,藉以最佳地運用像是受限資源之類的資源。各個排程係經定義以在一重覆性啟動時間處啟動,然可於一容忍因數之內提早執行。在收到一像是資源可獲用性之事件的通知後,即依據該所收通知、該啟動時間及該容忍因數以識別排程。例如,一些排程將會基於該容忍因數而被識別為可予提早啟動,藉此運用該可獲用資源。所識別之排程經聚集後再啟動。
提供本「發明內容」以介紹一種按一較簡化形式且在後文「實施方式」中將進一步描述的選擇概念。本「發明內容」並非用於識別所主張之發明標的的各項關鍵特點或基本特性,亦非用於輔助決定所主張發明標的之範圍。
參照於該等圖式,本發明具體實施例提供一排程器服務202,其運行於一計算裝置204上且控制重覆性排程208的啟動作業。該等排程208係由一使用者定義,或是由像是應用程式#1到應用程式#M的一或多應用程式207定義,而將其定義成週期性地出現。
該等排程208之啟動作業包含在一預定容忍度內於一經定義之啟動時間410處執行一或多與該等排程208相關聯的動作406。該排程器服務202的示範性操作可如第1圖所示。在102處收到一事件通知。例如,該通知述明可獲用一受限資源。在104處存取該等複數個排程208。而除其他性質以外(例如用於排程逾期的規則、最大排程運行計數、該排程208是否需使用該受限資源等等),該等複數個排程208各者具有該經定義啟動時間410及一容忍因數412。該容忍因數412通常係用以述明當該受限資源成為可獲用時,該排程208可提早運行的容忍度。該容忍因數412包含任何用於述明該排程之可獲用性以供在異於其預定啟動時間410的時間處執行之方式。例如,該容忍因數412可包含一常數值(例如按分鐘或秒鐘)、一百分比(例如一區間時段408的百分比,像是10%),以及一於資源可獲用性之間的輪迴分鐘平均值,然不限於此。
在106處,一或多的所存取排程係依據該等所存取排程各者之事件通知、一目前時間、該經定義啟動時間410以及該容忍因數412的函數來進行識別。例如,該排程器服務202識別對於其該事件係一用以啟動該等排程208之所定義條件的排程208,或者識別可適用該事件的排程208。該排程器服務202可進一步依據該等排程各者之容忍因數412,以自該等經識別排程中選定可予提早啟動的排程。例如,該排程器服務202計算該目前時間與對於該等排程208各者之經定義啟動時間410之間的一差值,並且將該所算得差值比較於該等排程208的容忍因數412。對於所有在容忍度之內的差值,可選定該等相對應排程以供啟動。
在106之一範例裡,會針對合格性對該等需要該受限資源之排程208進行評估,以供在產生或收到該通知的時間處運行。在一些具體實施例裡,合格性是根據目前時間是否落在該所排定時間與該所排定時間減去提早運行的容忍度的時間二者之間所決定。
在108處啟動所識別的排程。啟動該等所識別排程包含執行該等動作406中與該等排程相關聯的一或多動作。該等動作406可例如包含像是軟體安裝、設定及/或更新的軟體組態設定動作。該動作亦可包含在該計算裝置204上存取一可執行檔案或程式庫。該動作亦可包含在該計算裝置204上修改會造成出現任何先前動作的同步化事件。
對於一行動計算裝置302而言,最受限資源之其中一者為電池,並且使用蜂巢式無線電為在該行動計算裝置302上最為耗電力的活動。
在一該排程器服務202執行於該行動計算裝置302上或該排程服務202控制該行動計算裝置302的具體實施例裡,該排程器服務202的操作可藉由匯合、合併或另為聚集重覆性排程208以最佳化該等可獲用資源運用的方式來延長電池壽命。該等重覆性排程208係依據事件而被選定。該事件包含任何條件,像是一特定時間或一裝置條件。例如,若該事件述明可獲用一資源(例如一網路或網路類型),則識別該等排程208包含識別使用該資源的排程208。在另一範例裡,將根據該容忍因數412來識別可予提早啟動的需要該蜂巢式無線電的排程208,藉以在當既已為另一任務啟用該無線電時利用該無線電。附錄A列出在本發明具體實施例之範疇內的進一步示範性排程208。
藉由在該容忍度之內改變各個排程的啟動時間410,該排程器服務202可運作以藉由在當可獲用資源時充分利用資源,且藉由將開支最小化,來延長電池壽命。例如,當出現一非同步蜂巢式連接、無線傳真(Wi-Fi)或是其他的無線電傳送器或接收器事件時(例如一伺服器對該裝置發送資料或者該使用者啟動一網路瀏覽會期),則該排程器服務202掃描一資料庫210並決定可肩載或槓桿運用該無線電使用的排程。按此方式進行排程聚集可將無線電起轉最小化。在其他具體實施例裡,該排程器服務202可運作以使得將該裝置帶離一閒置狀態的頻率降至最低。在另一具體實施例裡,該排程器服務202可運作以保留耗電資源,像是一行動計算裝置302的下列組件:一背光器、一處理器、一音訊放大器、一全球定位系統、一數位記憶體、一短範圍無線網路配接器(例如用於一藍芽網路)、一輔助處理器、一震動馬達、一振鈴、一相機、一加速計及一週遭光源感測器。
另外或此外,若該排程器服務202決定在該等排程的個別執行過程中無法將一資源設置於高耗用狀態下,則該排程器服務202將分別地執行該等排程。
在一些具體實施例裡雖係參照於該行動計算裝置302來進行描述,然本發明特點確適用於其他裝置。同時,在一些具體實施例裡雖係參照於該排程器服務202來進行描述,然本發明特點確適用於任何執行本揭所述及所示之功能性的組件。
在一「排程」A、B及C皆要求網路連接的範例中,「排程」B及C可根據該容忍因數412而經批次或聚集於「排程」A。若該「排程」A的執行起轉一無線電事件,則將會發佈該事件並且接著執行「排程」B及C,藉以充分地運用該無線電事件。若其結果是「排程」A實無須一網路,則「排程」B及C將按其原始的排定時間執行。
在執行該等排程之後,該排程器服務202在110處定義對於該等排程各者的次一啟動時間。該等排程208各者擁有該區間時段408,此時段係對應於該等排程208各者之重覆性啟動間的時間。該區間時段408是由該應用程式207或使用者在當建立該排程時所設定。在一具體實施例裡,該等排程各者的次一啟動時間是藉由將該區間時段408加至該前一啟動時間所決定。據此,該等排程執行作業之間的實際時間週期可能較該區間時段408為短,然將絕不會長於該區間時段408。
另外,對於該等排程各者之次一啟動時間是根據原始定義的啟動時間來設定。據此,排程執行作業之間的實際週期比起該區間時段408可為較短或較長,然長期的平均區間時段會收斂至該所指定區間。在一具體實施例裡,建立該等排程208之應用程式207或使用者,會決定應採用哪一種設定該次一啟動時間的方法。
在一些具體實施例裡,許多應用程式207會使排程208將小型資料封包規則性地發送至伺服器,藉此保持一連接為開放。開放連接可讓伺服器能夠以即時方式將資料推送至該等行動計算裝置302。該排程器服務202可讓該等應用程式207能夠呼叫一應用程式介面(API)並且模擬既已運行該排程208。因此,可根據所模擬運行計算出次一排定時間。在此一範例裡,該等重覆性排程208稱為「心跳」,並且確保是在網路時限下於該計算裝置204與該伺服器之間發送該資料。例如,若該網路時限為15分鐘,則該連接要求每15分鐘需在該裝置與該伺服器之間交換一些資料,否則將會關閉該連接。亦即,該裝置204必須每15分鐘將一些小型資料封包發送至該伺服器。然而,若該伺服器向該裝置發送資料(例如在8分鐘標記處),則該應用程式207會在該8分鐘標記處呼叫該API。可計算出該排程的次一啟動時間即為在23分鐘處(例如8+15),而非該15分鐘標記。
附錄B含有一對於該排程器服務202之示範性質和狀態的列表。
現參照第2圖,一示範性方塊圖說明在該計算裝置204上所執行的排程器服務202。該計算裝置204包含例如一行動裝置,像是一個人數位助理(PDA)或一行動電話。一處理器206係經組態設定以執行電腦可執行指令,藉以自該使用者、運行於該計算裝置204上的應用程式207、距該計算裝置204所遠端地運行的應用程式207、或是另一來源,接收該等排程208各者的啟動時間410、容忍因數412及區間時段408。所收到的排程資料係經儲存在該資料庫210或其他記憶體區域之內。附錄C列出在定義該等排程208時所牽涉到的示範性質和定義。
該區間時段408決定在執行或啟動該等排程208之間的時間週期。接續的區間時段可為相同,或為線性、指數等等方式所相關聯。例如,部份的排程208可於多次啟動作業之間具有漸進遞增的區間。在一具體實施例裡,該應用程式207或該使用者可指定一初始區間數值、一漸進類型(例如,線性或指數)以及一最大區間數值中一或多者。當該等排程執行時,該區間自該初始數值開始,然後在每次執行之後適當地增加。若指定該最大區間數值,則該區間時段408絕不會增至高於該最大區間數值,而是維持在其最高數值處。
一或多的電腦可讀取媒體擁有用以實作該排程器服務202之具體實施例的電腦可執行組件。例如,該等組件係經儲存在一記憶體區域212上,並且含有一介面組件214、一條件組件216、一聚集組件218、一保留組件220、一閥控組件222及一規則組件223。該介面組件214接收一事件的通知(例如,該計算裝置204上一電力耗用資源之可獲用性的通知)。例如,該事件可為一時間事件,像是出現一相對時間區間(例如,在開機啟動後的5分鐘)或是一絕對時間(例如,12:00:00am)。該事件亦可為一狀態事件,像是開機啟動、偵測到一像是Wi-Fi連接或蜂巢式連接之預定連接類型及/或在初始喪失網路連接之後重新建立網路連接,或者是該計算裝置204的其他狀態。此外,該事件通知係接收自一通知中介器224或者任何其他的事件、通知或狀態系統。第2圖中的通知中介器224雖經顯示為立該計算裝置204上執行,然該通知中介器224可另外(或此外)執行於另一計算裝置上(例如透過一網路而與該計算裝置204相通訊)。
在一範例裡,該介面組件214可有數種方式以接收說明一蜂巢式無線電正在該行動計算裝置302上傳送資料的通知。一種方式是牽涉到該無線電製造商,其通知位在該無線電之上的軟體層該無線電正在傳送資料。另一種方式是針對所發送或收到的資料來監視該網際網路協定(IP)堆疊。當發送出或收到資料時,會記錄該時間並且設定一事件狀態(例如設定為「真」)。在一經定義時間週期之後(例如,十秒鐘),若尚未再傳送其他資料,則會改變該事件狀態(例如為「偽」)。當偵測到該事件之狀態自「偽」移至「真」時,這在此範例中表示該無線電正在傳送資料,該排程器服務202將該等排程208予以匯合。
根據由該介面組件214所收到的事件資訊,該條件組件216識別該等經儲存在該資料庫210內之排程208的至少一者。在該所收事件表示一資源之可獲用性的一範例裡,該條件組件216識別該等在執行過程中會耗用該資源的排程208。該聚集組件218選定由該條件組件216所識別之排程的一或多者以供執行,而這是根據該等排程的啟動時間410及容忍因數412。例如,該聚集組件218會選定那些在該次一啟動時間與由該介面組件214收到該通知之時刻間的差值是落於該排程之容忍因數412內的排程。在一具體實施例裡,收到該通知的時間是對應於一目前時間。該保留組件220執行由該聚集組件218所選定的排程。例如,該保留組件220執行與該等所聚集之排程各者相關聯的動作406。如一範例,用以由該聚集組件218選定該等排程的關鍵標準是由下列布林表示式所表示:(Current Time>=(NEXT_RUN_TIME-RUN_EARLY_TIME))and(Current Time<END_TIME)。所有符合這些關鍵標準的排程皆會被該聚集組件218選定。
該閥控組件222可依據一預定閥控限制值之函數來限制由該保留組件220所執行之排程的數量。在一具體實施例裡,該閥控限制係定義為一該計算裝置204上一資源之耗用狀態的函數。例如,在該保留組件220執行由該聚集組件218所選定的排程之前,該保留組件220會先透過該閥控組件222決定是否已觸抵該閥控限制門檻值。例如,在近密時間鄰近度之內觸發龐大數量的排程或動作可能會導致嚴重的資源飢竭問題。為舒緩此一狀況,在任何給定的時間窗口過程中該閥控組件222僅會啟動一經定義數量之排程或動作406。而每次成功地啟動一排程或動作時,一計數器即行遞增。若該計數器數值觸抵該閥控限制,則會延遲進一步啟動該等排程或動作,直到該計數器被重置為零或減少為止。例如,該計數器可藉由一按規則性、預定區間所執行的執行緒而獲重置為零。另外或此外,當一利用該資源的排程或動作釋放該資源時,該計數器即告遞減。
該規則組件223將具有排程特定性的性質施行於該等排程208各者。例如,該規則組件223決定如何計算次一排定時間(例如,最大或平均)、何時開始該排程208、何時結束該排程208、該排程208需重複多少次以及哪些個體可修改該排程208。
部份的排程208係經定義成僅在當該計算裝置204開機啟動時執行。若這些排程共享一共用資源(例如,該無線電),則該排程器服務202可將該等排程的啟動作業校準於一共同啟動時間,藉以充分運用該資源的可獲用性。
同樣地,該排程器服務202將具有類似區間或多個區間的排程校準於一基準時間零(例如,一人為所訂之時間零)。如一範例,兩個應用程式207各者擁有五分鐘的心跳區間而具一20%的容忍因數412(例如對應於一分鐘的容忍度以供提早運行)。該第一應用程式在時間T0(例如,開始)、T5(例如,開始之後五分鐘)和T10(例如,開始之後十分鐘)處進行心跳操作。該第二應用程式開始,並且在時間T2(例如,在該第一應用程式開始之後兩分鐘)和T7(例如,開始之後五分鐘)處進行心跳操作。由於該等應用程式之心跳操作間的差值為二或三分鐘,因此該排程器服務202並未對該等心跳操作進行匯合。相反地,該排程器服務202校準該第二應用程式以在時間T5處開始,因而兩者應用程式的心跳操作可在相同的時間處進行。
現參照第3圖,一示範性方塊圖說明由一裝置管理伺服器304所進行的行動計算裝置302控制。於第3圖中,來自第2圖的排程器服務202可運作如一在一裝置管理客戶端308之內執行的客戶端排程器模組306,其與一運行於該裝置管理伺服器304或是其他計算裝置(例如透過一網路312所連接的)之上的伺服器排程器模組310相通訊。在此等具體實施例中,該伺服器排程器模組310指示該客戶端排程器模組306以啟動該等排程208,並執行與如第2圖中該等所聚集之排程各者相關聯的動作406。
現參照第4圖,此係一說明一表示該等排程208之資料結構的示範性方塊圖。該等排程208係經儲存在一可按一可延展標記語言(XML)格式所編碼的資料結構中。該等排程208各者含有一列表,其包含一預定事件404以及相關動作406、且連同於該區間時段408、該啟動時間410、及該容忍因數412。該等預定事件404包含時間事件及狀態事件。該等相關動作406包含當出現該等預定事件404時所要執行的操作。該等動作406可例如指定一可執行檔案路徑及命令行參數,或是所指定的同步化事件。
示範性操作環境
一如本揭所述之計算裝置或電腦具備一或多的處理器或處理單元、以及一系統記憶體。該電腦通常具有至少某形式的電腦可讀取媒體,這包含電腦儲存媒體及通訊媒體。電腦儲存媒體包含揮發性及非揮發性、可移除及非可移除媒體,其可按任何方法或技術來實作,以供儲存像是電腦可讀取指令、資料結構、程式模組或其他資料之資訊。通訊媒體通常是具體化為在一像是載波或其他傳送機制之經調變資料信號中的電腦可讀取指令、資料結構、程式模組或其他資料,並且含有任何資訊遞送媒體。
本發明之具體實施例雖描述為關聯於一示範性計算系統環境,然其確可運作於無數其他一般目的或特殊目的之計算系統環境或組態。
本發明之具體實施例可以電腦可執行指令(像是程式模組)形式而由一或多電腦或其他裝置執行的一般架構來描述。可藉任意數量及組織方式之該等組件或模組來實作本發明各種態樣。例如,本發明之態樣並不限於在圖式與本文中所描述的特定電腦可執行指令或是特定組件或模組。本發明的其他具體實施例可含有具有相較於本揭所說明及所描述者為更多或更少之功能性的不同電腦可執行指令或組件。
本揭所述示及說明之具體實施例,以及本揭並未特定描述然確歸屬本發明態樣之範圍內的具體實施例,組成用以聚集該等重覆性排程208以供啟動的示範性方式、用以校準該等重覆性排程208之啟動作業的示範性方式,以及用以依據一該等複數個重覆性排程各者之所收通知、通知時間、所定義啟動時間和容忍因數412的函數來識別該等複數個重覆性排程208之一或多者的示範性方式。
除另指定者外,在此所說明及描述之本發明具體實施例裡的操作執行或進行次序並不具關鍵性。亦即,除另指定者外,確可按任何次序執行該等操作,並且本發明具體實施例可含有較本揭所述者為額外或較少的操作。例如,已考量到在一操作之前、同時或之後執行或進行一特定操作確為歸屬本發明態樣之範圍內。
當介紹本發明或其具體實施例之特性的元件時,該等詞彙「一」、「該」係為意指存在有一或多個元件。該詞彙「包含」、「含有」及「具有」係意圖具備含納性,並且意指除所列出元件之外尚可存在有額外的元件。
現已詳細地描述本發明之各種態樣,將能瞭解確可進行修改及變化,而不致悖離如後載申請專利範圍中所定義之本發明態樣的範圍。可在前述架構、產物及方法中進行各種變化,而不致悖離本發明態樣之範圍,而希望在前文說明中所含有的並於隨附圖式中所顯示出的全部項目皆應被解譯為示範性而不具限制性質。
附錄A
底下列出在本發明具體實施例範圍之內的示範排程。
在另一範例裡,一應用程式具有一在中午執行並利用一行動裝置內之無線電的排程。另一應用程式則是擁有一具備一12:05pm之經定義啟動時間410且連同一五分鐘之容忍度的排程。此排程亦需使用該無線電。接著,該排程器服務聚集這兩個排程以在相同時間啟動,藉此讓該無線電能夠僅須起轉一次。其結果為可藉由避免該無線電關機所必要的電力吸收(例如無線電關機一次而非兩次)以節省電池電力。在此範例的變化型中,於提早運行之後會重新計算該排程的次一執行時間,因而絕不會超過該區間時段數值,或者是絕不會重新計算該次一執行時間。
在另一範例裡,一應用程式監視一具有一預定結束時間的線上資料來源,像是拍賣。該所欲排程更新率為可變,並且是希望能在愈接近該結束時間時能夠更頻繁地更新。
在另一範例裡,該裝置上的一應用程式必須每隔x分鐘就將資料發送至該伺服器,藉以保持該連接在該裝置與該伺服器之間為開放。若該伺服器在次一排定時間之前發送資料,則該裝置應用程式並不需在該排程時間處發送資料,而僅須將該次一排定時間重新計算為等於自該伺服器收到資料的時間再加上x。
附錄B
底下列出一根據本發明具體實施例之排程器的示範性質和狀態。
附錄C
下表C1中列出定義一重覆性排程所牽涉到的示範性質和定義。
202...排程器服務
204...計算裝置
206...處理器
207...應用程式
208...重覆性排程
210...資料庫
212...記憶體區域
214...介面組件
216...條件組件
218...聚集組件
220...保留組件
222...閥控組件
223...規則組件
224...通知中介器
302...行動計算裝置
304...裝置管理伺服器
306...客戶端排程器模組
308...裝置管理客戶端
310...伺服器排程器模組
312...網路
404...預定事件
406...相關動作
408...區間時段
410...啟動時間
412...容忍因數
第1圖係一示範性流程圖,其中說明一排程器服務的操作。
第2圖係一示範性方塊圖,其中說明運行於一計算裝置上的排程器服務。
第3圖係一示範性方塊圖,其中說明由一裝置管理伺服器所進行的行動計算裝置控制。
第4圖係一示範性方塊圖,其中說明一表示一排程器的資料結構。
在全篇圖式中,相對應元件符號表示相對應部份。

Claims (20)

  1. 一種用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體,含有多個電腦可執行組件以供保留一行動裝置的電力,該等組件包含:一介面組件,用以接收該行動裝置上之一電力耗用資源的可獲性之通知;一條件組件,用以識別經儲存在一記憶體區域內於執行過程中耗用該資源的複數個排程,該等複數個排程各者具有:一重覆性啟動時間及一容忍因數;一聚集組件,用以選定所識別之該等複數個排程的一或多者,而對於該等一或多者,在該重覆性啟動時間與該介面組件所收到的該通知的一時間之間的一差值是在該容忍因數內;以及一保留組件,用以執行由該聚集組件所選定的該等排程以運用該電力耗用資源。
  2. 如申請專利範圍第1項所述之電腦可讀取媒體,進一步包含一閥控組件,用以依據一預定限制數值之一函數來限制由該保留組件所執行之排程的一數量。
  3. 如申請專利範圍第1項所述之電腦可讀取媒體,其中該電力耗用資源包含:與一行動裝置相關聯之下列項目的一或多者:一射頻傳送器、一背光器、一處理器、 一音訊放大器、一全球定位系統、一數位記憶體、一短範圍無線網路配接器、一輔助處理器、一震動馬達、一振鈴、一相機、一加速計、及一週遭光源感測器。
  4. 一種用於聚集重覆性排程以最佳化資源耗用之方法,包含以下步驟:接收一事件通知;存取複數個重覆性排程,該等複數個重覆性排程各者具有:一經定義啟動時間以及與該經定義啟動時間相關聯的一容忍因數;依據該等所存取排程各者之所收到的事件通知、一目前時間、該經定義啟動時間、以及該容忍因數的一函數,識別該等所存取排程之一或多者;以及啟動該等經識別排程。
  5. 如申請專利範圍第4項所述之方法,其中啟動該等經識別排程之步驟包含以下步驟:執行與該等經識別排程相關聯的一或多動作之步驟。
  6. 如申請專利範圍第4項所述之方法,其中該等複數個排程各者具有:在多個啟動時間之間的一區間時段,並且進一步包含:根據該排程的該區間時段定義該等經啟動排程各者的一次一啟動時間之步驟。
  7. 如申請專利範圍第6項所述之方法,其中定義該次一啟動時間之步驟包含以下步驟:將該等排程各者的該區間時段加至該目前時間,以定義該等排程各者的該次一啟動時間。
  8. 如申請專利範圍第6項所述之方法,其中該目前時間與該經定義次一啟動時間之間的一差值是小於該區間時段。
  9. 如申請專利範圍第4項所述之方法,其中識別該等所存取排程之一或多者之步驟包含以下步驟:計算該目前時間與該等排程各者的該經定義啟動時間之間的一差值;將所算得之該差值與該等排程的該容忍因數相較;以及根據該比較結果識別該等排程的一或多者。
  10. 如申請專利範圍第4項所述之方法,其中接收該事件通知之步驟包含以下步驟:接收一資源為可獲用的通知,並且其中識別該等所存取排程之一或多者之步驟包含以下步驟:識別該等排程中運用該可獲用資源的一或多個排程。
  11. 如申請專利範圍第4項所述之方法,其中該等接 收、存取、識別及啟動步驟是由一行動裝置所執行。
  12. 如申請專利範圍第4項所述之方法,其中該等複數個排程各者具有:至少一與該排程相關聯的動作,其中該等接收、存取、識別及啟動步驟是由一計算裝置所執行,並且其中啟動該等經識別排程之步驟包含以下步驟:指示一行動裝置執行與該等經識別排程各者相關聯的該動作。
  13. 如申請專利範圍第4項所述之方法,進一步包含以下步驟:定義一閥控限制,並且其中啟動該等經定義排程之步驟包含以下步驟:啟動一低於該所定義閥控限制之一數量的該經識別排程。
  14. 如申請專利範圍第13項所述之方法,其中該等經識別排程啟動於一行動裝置上,並且其中定義該閥控限制之步驟包含以下步驟:依據該行動裝置上一資源之一耗用狀態的一函數來定義該閥控限制。
  15. 一種用於聚集重覆性排程以最佳化資源耗用之系統,包含:一記憶體區域,用以儲存複數個重覆性排程,該等複數個重覆性排程各者具有一經定義啟動時間、一容忍因數、及在多個啟動時間之間的一區間時段;以及 一處理器,該處理器係經組態設定來執行多數電腦可執行指令以執行以下步驟:接收該等重覆性排程各者的該經定義啟動時間、容忍因數及區間時段;將該所收到的啟動時間、容忍因數、及區間時段儲存在該記憶體區域內;在一通知時間處,接收一事件的通知;識別該等重覆性排程中適用該所收到的通知的,並且該等排程之該經定義啟動時間與該通知時間之間的一差值是在該容忍因數內的一或多個重覆性排程;聚集該等經識別的排程以予啟動;以及執行一或多個與該等經聚集排程各者相關聯的動作。
  16. 如申請專利範圍第15項所述之系統,其中該事件包含:開機啟動一行動裝置,並且其中該處理器係經進一步組態設定以將該等經識別排程的啟動作業校準於一共同啟動時間。
  17. 如申請專利範圍第15項所述之系統,其中該記憶體區域及該處理器係關聯於一行動裝置。
  18. 如申請專利範圍第15項所述之系統,其中該記憶體區域及該處理器係關聯於一裝置管理伺服器,並且其 中該處理器係經組態設定以:藉由指示一行動裝置執行與該等所聚集之排程各者相關聯的該等動作來執行該一或多個動作。
  19. 如申請專利範圍第15項所述之系統,進一步包含:一識別構件,用以依據該等複數個排程各者之該所收到的通知、該通知時間、該經定義啟動時間、及該容忍因數的一函數來識別該等複數個重覆性排程的一或多者;以及一聚集構件,用以聚集該等經識別排程以供啟動。
  20. 如申請專利範圍第15項所述之系統,進一步包含:用以校準該等重覆性排程之啟動作業的構件。
TW098105857A 2008-03-27 2009-02-24 用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體、方法與系統 TWI488035B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/056,287 US8230436B2 (en) 2008-01-10 2008-03-27 Aggregating recurrent schedules to optimize resource consumption

Publications (2)

Publication Number Publication Date
TW200943047A TW200943047A (en) 2009-10-16
TWI488035B true TWI488035B (zh) 2015-06-11

Family

ID=41114272

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098105857A TWI488035B (zh) 2008-03-27 2009-02-24 用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體、方法與系統

Country Status (12)

Country Link
US (1) US8230436B2 (zh)
EP (1) EP2286315B1 (zh)
JP (1) JP5281145B2 (zh)
KR (1) KR101475550B1 (zh)
CN (1) CN101981531B (zh)
AU (1) AU2009229136B2 (zh)
BR (1) BRPI0907860A2 (zh)
CA (1) CA2714716A1 (zh)
IL (1) IL207708A (zh)
RU (1) RU2502116C2 (zh)
TW (1) TWI488035B (zh)
WO (1) WO2009120442A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090182802A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Mobile device management scheduling
US8166145B2 (en) * 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US8230436B2 (en) 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US8099505B2 (en) * 2008-03-26 2012-01-17 Microsoft Corporation Aggregating connection maintenance to optimize resource consumption
JP2009258937A (ja) * 2008-04-16 2009-11-05 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US8090826B2 (en) * 2008-06-27 2012-01-03 Microsoft Corporation Scheduling data delivery to manage device resources
US8112475B2 (en) 2008-06-27 2012-02-07 Microsoft Corporation Managing data delivery based on device state
US7966410B2 (en) * 2008-09-25 2011-06-21 Microsoft Corporation Coordinating data delivery using time suggestions
US8621472B2 (en) 2009-11-03 2013-12-31 International Business Machines Corporation Job scheduling with optimization of power consumption
TW201129037A (en) * 2010-02-03 2011-08-16 Ralink Technology Corp Management method for internet protocol sharing communication mechanism
US8806497B2 (en) * 2010-03-05 2014-08-12 Microsoft Corporation System and method for altering the work definitions in an iterative parallel opportunistic work stealing scheduler
US20110289329A1 (en) * 2010-05-19 2011-11-24 Sumit Kumar Bose Leveraging smart-meters for initiating application migration across clouds for performance and power-expenditure trade-offs
US8489348B2 (en) 2010-06-02 2013-07-16 Google Inc. Aggregating mobile device battery life data
US20120023072A1 (en) * 2010-07-20 2012-01-26 Research In Motion Limited System and method for controlling the deletion of data associated with electronic groups
US8594648B2 (en) 2012-02-23 2013-11-26 International Business Machines Corporation Calendar-based power reserve
US20140005886A1 (en) * 2012-06-29 2014-01-02 Microsoft Corporation Controlling automotive functionality using internal- and external-facing sensors
US9069554B2 (en) * 2012-09-24 2015-06-30 Qualcomm Innovation Center, Inc. Systems and methods to coordinate resource usage in tightly sandboxed environments
US8984078B2 (en) * 2013-01-11 2015-03-17 Google Inc. Systems and methods for device-to-cloud message delivery
US9904575B2 (en) 2013-05-15 2018-02-27 Apple Inc. System and method for selective timer rate limiting
WO2015029229A1 (ja) * 2013-08-30 2015-03-05 株式会社小松製作所 鉱山機械の管理システム及び管理方法
US9172718B2 (en) * 2013-09-25 2015-10-27 International Business Machines Corporation Endpoint load rebalancing controller
KR102161055B1 (ko) * 2013-10-07 2020-09-29 삼성전자주식회사 소프트웨어 파이프라이닝을 이용한 명령어 스케줄링 방법 및 장치
GB2525917B (en) 2014-05-09 2021-08-11 Arm Ip Ltd Energy-based scheduling of operations to be executed by a data processing apparatus
CN104182223B (zh) * 2014-08-18 2018-01-02 百度在线网络技术(北京)有限公司 计时方法和计时装置
US9632823B1 (en) * 2014-09-08 2017-04-25 Amazon Technologies, Inc. Multithreaded application thread schedule selection
US9876872B1 (en) * 2015-04-03 2018-01-23 Symantec Corporation Method or mechanism for self notification avoidance
US9958933B2 (en) * 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
WO2018050242A1 (en) * 2016-09-16 2018-03-22 Huawei Technologies Co., Ltd. Efficient scheduler for short periodic tasks
US20220342701A1 (en) * 2021-04-22 2022-10-27 Shopify Inc. Systems and methods for limiting a client from dominating a computing resource

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125796A1 (en) * 2001-02-16 2005-06-09 Microsoft Corporation Method and apparatus for synchronization of periodic processes
TW200604786A (en) * 2004-03-30 2006-02-01 Intel Corp Managing power consumption by requesting an adjustment to an operating point of a processor
US20060271678A1 (en) * 2005-05-30 2006-11-30 Rambus, Inc. Self-powered devices and methods
TW200741443A (en) * 2006-04-25 2007-11-01 Mediatek Inc Station control method and station using the same

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950013619B1 (ko) * 1992-11-13 1995-11-13 삼성전자주식회사 이동무선휴대 단말기에서의 밧데리 절약(Battery Saving)방법
US7924783B1 (en) * 1994-05-06 2011-04-12 Broadcom Corporation Hierarchical communications system
US5692125A (en) * 1995-05-09 1997-11-25 International Business Machines Corporation System and method for scheduling linked events with fixed and dynamic conditions
US5867657A (en) * 1996-06-06 1999-02-02 Microsoft Corporation Distributed scheduling in a multiple data server system
WO1999000997A1 (en) * 1997-06-27 1999-01-07 Koninklijke Philips Electronics N.V. Power supply switching in a radio communication device
US6415196B1 (en) * 1997-08-28 2002-07-02 Manugistics, Inc. Manufacturing scheduling process with improved modeling, scheduling and editing capabilities for solving finite capacity planning problems
AU2001251387A1 (en) * 2000-04-07 2001-10-23 Adspace Networks System for electronically distributing, displaying and controlling advertising and other communicative media
US7236976B2 (en) * 2000-06-19 2007-06-26 Aramark Corporation System and method for scheduling events and associated products and services
US7000230B1 (en) * 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
CA2327001A1 (en) * 2000-11-27 2002-05-27 Redback Networks Systems Canada Inc. Policy schedule verification method and apparatus
US20040216098A1 (en) * 2001-02-05 2004-10-28 Roe Colleen A. Scalable agent service scheduler
US7099350B2 (en) * 2001-04-24 2006-08-29 Atitania, Ltd. Method and apparatus for converting data between two dissimilar systems
US6889331B2 (en) * 2001-08-29 2005-05-03 Analog Devices, Inc. Dynamic voltage control method and apparatus
FI20012256A0 (fi) * 2001-11-20 2001-11-20 Nokia Corp Matkaviestintäverkot ja digitaaliset yleislähetyspalvelut
JP2003230121A (ja) * 2001-11-30 2003-08-15 Fujitsu Ltd コンテンツ配信方法、コンテンツ視聴方法、サーバ装置、および端末装置
US20030135643A1 (en) * 2002-01-11 2003-07-17 Chaucer Chiu Data transmission scheduling system and method
US7130313B2 (en) * 2002-02-14 2006-10-31 Nokia Corporation Time-slice signaling for broadband digital broadcasting
US7564810B2 (en) * 2002-05-08 2009-07-21 Microsoft Corporation Method and system for managing power consumption of a network interface module in a wireless computing device
US20040002943A1 (en) * 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
KR100605845B1 (ko) * 2002-09-16 2006-07-31 삼성전자주식회사 단문 메시지 서비스를 이용한 스케줄 전송 및 등록 방법
US7486637B2 (en) * 2002-09-26 2009-02-03 Interdigital Technology Corporation Wireless communication method and system for efficiently managing paging windows and data messages
KR100730548B1 (ko) * 2002-11-04 2007-06-22 리서치 인 모션 리미티드 무선 장치 배터리 보존 방법 및 시스템
US7809384B2 (en) * 2002-11-05 2010-10-05 Microsoft Corporation User-input scheduling of synchronization operation on a mobile device based on user activity
US8271971B2 (en) * 2002-11-26 2012-09-18 Hewlett-Packard Development Company, L.P. System and method for automated program updating in a remote appliance
US9237514B2 (en) * 2003-02-28 2016-01-12 Apple Inc. System and method for filtering access points presented to a user and locking onto an access point
US7340615B2 (en) * 2003-01-31 2008-03-04 Microsoft Corporation Method and apparatus for managing power in network interface modules
US20040225525A1 (en) * 2003-05-05 2004-11-11 Weitzman Vernon L. Automatic contacts replication system and software
US7099689B2 (en) * 2003-06-30 2006-08-29 Microsoft Corporation Energy-aware communications for a multi-radio system
US7433714B2 (en) * 2003-06-30 2008-10-07 Microsoft Corporation Alert mechanism interface
JP4057989B2 (ja) * 2003-09-26 2008-03-05 株式会社東芝 スケジューリング方法および情報処理システム
US7137099B2 (en) * 2003-10-24 2006-11-14 Microsoft Corporation System and method for extending application preferences classes
US8385985B2 (en) * 2003-11-25 2013-02-26 Qualcomm Incorporated Method for reducing power consumption in a multi-mode device
JP2006235838A (ja) * 2005-02-23 2006-09-07 Nec Corp ソフトウェア更新システム、サーバ、方法およびプログラム
US7827560B2 (en) * 2005-05-11 2010-11-02 Siemens Aktiengesellschaft System and method for time controlled program execution
US8600336B2 (en) * 2005-09-12 2013-12-03 Qualcomm Incorporated Scheduling with reverse direction grant in wireless communication systems
WO2007033495A1 (en) * 2005-09-26 2007-03-29 Research In Motion Limited Communications event scheduler
US7440817B2 (en) * 2005-10-20 2008-10-21 Liang Fu Method and control unit for medication administering devices
US20070097867A1 (en) * 2005-11-03 2007-05-03 Kneckt Jarkko L S Techniques to provide a new or suggested data transmission schedule in a wireless network
FR2893476B1 (fr) * 2005-11-14 2008-01-25 Radiotelephone Sfr Procede et systeme de simulation et de gestion des ressources d'un reseau de telephonie mobile.
US20070118530A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Scheduling of software updates
US7647037B2 (en) * 2006-01-31 2010-01-12 International Business Machines Corporation Location aware, on demand, media delivery to remote devices
US8620994B2 (en) * 2006-02-23 2013-12-31 Qualcomm Incorporated System and method for scheduling content updates in a content-based application
US7676214B2 (en) * 2006-02-24 2010-03-09 Samsung Electronics Co., Ltd Method and system for increasing the standby battery life of a mobile device
US20080113656A1 (en) * 2006-11-15 2008-05-15 Lg Telecom Ltd. System and method for updating contents
US7944868B2 (en) * 2006-12-04 2011-05-17 Nec Laboratories America, Inc. Method and system for dynamic power management in wireless local area networks
US20080215407A1 (en) * 2007-03-01 2008-09-04 Julian Pachon Resource Scheduling with Rule Violation Feedback
US8166145B2 (en) * 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US8230436B2 (en) 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US7945206B2 (en) * 2009-02-04 2011-05-17 Telefonaktiebolaget L M Ericsson (Publ) Data packet transmission scheduling in a mobile communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125796A1 (en) * 2001-02-16 2005-06-09 Microsoft Corporation Method and apparatus for synchronization of periodic processes
TW200604786A (en) * 2004-03-30 2006-02-01 Intel Corp Managing power consumption by requesting an adjustment to an operating point of a processor
US20060271678A1 (en) * 2005-05-30 2006-11-30 Rambus, Inc. Self-powered devices and methods
TW200741443A (en) * 2006-04-25 2007-11-01 Mediatek Inc Station control method and station using the same

Also Published As

Publication number Publication date
AU2009229136B2 (en) 2014-02-06
CA2714716A1 (en) 2009-10-01
JP2011515778A (ja) 2011-05-19
RU2010139459A (ru) 2012-03-27
EP2286315A1 (en) 2011-02-23
CN101981531A (zh) 2011-02-23
KR101475550B1 (ko) 2014-12-22
EP2286315A4 (en) 2012-11-28
IL207708A (en) 2016-04-21
EP2286315B1 (en) 2017-03-22
JP5281145B2 (ja) 2013-09-04
RU2502116C2 (ru) 2013-12-20
KR20110018291A (ko) 2011-02-23
TW200943047A (en) 2009-10-16
US20090183157A1 (en) 2009-07-16
AU2009229136A1 (en) 2009-10-01
WO2009120442A1 (en) 2009-10-01
CN101981531B (zh) 2013-09-25
BRPI0907860A2 (pt) 2015-07-21
IL207708A0 (en) 2010-12-30
US8230436B2 (en) 2012-07-24

Similar Documents

Publication Publication Date Title
TWI488035B (zh) 用於聚集重覆性排程以最佳化資源耗用之電腦可讀取媒體、方法與系統
KR102106744B1 (ko) 피어 이벤트 데이터에 기초한 모바일 디바이스의 동적 조정
US10754683B1 (en) Optimizing preemptive operating system with motion sensing
US11372672B2 (en) Centralized task scheduling
KR101980135B1 (ko) 사용자 활동에 기초한 모바일 디바이스의 동적 조정
US9432839B2 (en) Dynamic adjustment of mobile device based on thermal conditions
KR101551321B1 (ko) 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템
US20120151055A1 (en) Low Energy Mobile Information Delivery
US7984161B2 (en) Optimizing mobile device synchronization with multiple data sources
CN1822556B (zh) 用于应用灵活属性来执行异步网络请求的系统和方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees