TW201502984A - 基於使用者活動起始背景更新 - Google Patents

基於使用者活動起始背景更新 Download PDF

Info

Publication number
TW201502984A
TW201502984A TW103118138A TW103118138A TW201502984A TW 201502984 A TW201502984 A TW 201502984A TW 103118138 A TW103118138 A TW 103118138A TW 103118138 A TW103118138 A TW 103118138A TW 201502984 A TW201502984 A TW 201502984A
Authority
TW
Taiwan
Prior art keywords
application
mobile device
user
sprite
push notification
Prior art date
Application number
TW103118138A
Other languages
English (en)
Other versions
TWI521434B (zh
Inventor
David Michael Chan
John Iarocci
Gaurav Kapoor
Kit-Man Wan
Phillip Stanley-Marbell
Jonathan J Andrews
Matthew E Shepherd
Amit K Vyas
Anand Ramadurai
Lee Russell
Brittany D Hughes
David B Myszewski
Andrew M Matuschak
Joshua V Graessley
Marc Krochmal
Daniel Vinegrad
Stephen C Peters
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of TW201502984A publication Critical patent/TW201502984A/zh
Application granted granted Critical
Publication of TWI521434B publication Critical patent/TWI521434B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Multimedia (AREA)

Abstract

在一些實施中,一行動器件可經組態以監視環境、系統及使用者事件。一或多個事件之發生可觸發對系統設定之調整。在一些實施中,該行動器件可經組態以基於由使用者對所預測之調用的一預報來使頻繁調用之應用程式保持為最新。在一些實施中,該行動器件可接收與應用程式相關聯之推送通知,該等推送通知指示新內容可供該等應用程式下載之用。該行動器件可在背景中啟動與該等推送通知相關聯之該等應用程式且下載該新內容。在一些實施中,在執行一應用程式或存取一網路介面之前,該行動器件可經組態以檢查該行動器件之能量與資料預算及環境條件,從而保持一高品質之使用者體驗。

Description

基於使用者活動起始背景更新 相關申請案之交叉參考
本申請案主張2013年6月9日申請之題為「Initiating Background Updates Based on User Activity」之美國臨時專利申請案第61/832,932號的優先權,該案之全部內容以引用之方式併入本文中。
本發明大體上係關於基於使用者行為調整電腦系統之組件。
行動運算器件通常為電池操作型。一些行動運算器件可經由蜂巢式資料及/或Wi-Fi網路連接來無線地存取網路資源。此等行動器件常常受電池容量及關於蜂巢式資料之限制的約束。
一些行動運算器件允許使用者執行自網路資源存取資料之應用程式。使用者通常調用一應用程式且接著必須等待該應用程式自網路資源擷取資料,使得該應用程式可呈現當前更新之內容。
在一些實施中,行動器件可經組態以監視環境、系統及使用者事件。行動器件可經組態以偵測可觸發對系統設定之調整的一或多個事件之發生。
在一些實施中,行動器件可經組態以使頻繁調用之應用程式保 持為最新。行動器件可追蹤由使用者何時調用應用程式。基於調用資訊,行動器件可預報在一天期間何時調用應用程式。行動器件可接著佔先地啟動應用程式且下載更新,使得使用者可調用該等應用程式且檢視當前更新之內容而不必等待應用程式下載更新之內容。
在一些實施中,行動器件可接收與應用程式相關聯之推送通知,該等推送通知指示新內容可供該等應用程式下載之用。行動器件可在背景中啟動與該等推送通知相關聯之應用程式且可下載新內容。在下載內容之後,行動器件可呈現一圖形介面,該圖形介面向使用者指示接收到推送通知。使用者可接著調用應用程式且檢視更新之內容。
在一些實施中,行動器件可經組態以在處理序外執行行動器件上之應用程式之內容的下載及/或上傳。舉例而言,專用處理序可組態於行動器件上以用於下載及/或上傳行動器件上之應用程式的內容。當正執行上傳/下載時,可暫時中止或終止應用程式。當上傳/下載完成時,可調用應用程式。
在一些實施中,在執行應用程式或存取網路介面之前,行動器件可經組態以檢查電池電力及蜂巢式資料使用預算以確保足夠電力及資料可供使用者調用的操作之用。在於背景中啟動應用程式之前,行動器件可檢查使用統計以判定該應用程式是否在不久的將來很有可能被使用者調用。
特定之實施至少提供以下優點:可藉由回應於所偵測到之事件動態地調整行動器件之組件來節約電池電力。可藉由預期使用者何時將調用應用程式且在調用應用程式後即下載內容,使得使用者將檢視更新之內容來改良使用者體驗。
下文附圖及描述中陳述一或多項實施之細節。其他特徵、態樣及潛在優點將自該描述及該等圖式以及自申請專利範圍顯而易見。
100‧‧‧行動器件
102‧‧‧取樣精靈協助程式
104‧‧‧事件資料儲存區
106‧‧‧應用程式管理器處理序
108‧‧‧電力監視器處理序/應用程式/電力監視器
110‧‧‧熱管理處理序
112‧‧‧器件設定處理序
114‧‧‧器件感測器
116‧‧‧行事曆應用程式
118‧‧‧時鐘應用程式
120‧‧‧試探處理序
122‧‧‧器件組件
124‧‧‧控制多工器
200‧‧‧處理序
202‧‧‧步驟
204‧‧‧步驟
206‧‧‧步驟
208‧‧‧步驟
210‧‧‧步驟
212‧‧‧步驟
300‧‧‧處理序
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
310‧‧‧步驟
312‧‧‧步驟
314‧‧‧步驟
400‧‧‧系統
402‧‧‧帳戶處理資料儲存區
404‧‧‧內容伺服器
500‧‧‧圖解
530‧‧‧圖解
560‧‧‧圖解
600‧‧‧處理序
602‧‧‧步驟
604‧‧‧步驟
606‧‧‧步驟
608‧‧‧步驟
610‧‧‧步驟
612‧‧‧步驟
614‧‧‧步驟
616‧‧‧步驟
700‧‧‧處理序
702‧‧‧步驟
704‧‧‧步驟
706‧‧‧步驟
708‧‧‧步驟
710‧‧‧步驟
712‧‧‧步驟
714‧‧‧步驟
716‧‧‧步驟
718‧‧‧步驟
800‧‧‧流程圖
802‧‧‧步驟
804‧‧‧步驟
806‧‧‧步驟
808‧‧‧步驟
810‧‧‧步驟
811‧‧‧步驟
900‧‧‧方塊圖
902‧‧‧推送提供者
904‧‧‧推送服務精靈協助程式
906‧‧‧推送通知伺服器
908‧‧‧應用程式
910‧‧‧高優先權推送通知
912‧‧‧低優先權推送通知
914‧‧‧推送篩選器
916‧‧‧喚醒清單
918‧‧‧非喚醒清單
920‧‧‧通知訊息
922‧‧‧推送通知資料儲存區
924‧‧‧其他傳輸
926‧‧‧訊息
928‧‧‧推送篩選器
930‧‧‧喚醒清單
932‧‧‧非喚醒清單
934‧‧‧推送通知資料儲存區
936‧‧‧高優先權推送通知儲存區
1000‧‧‧處理序
1002‧‧‧步驟
1004‧‧‧步驟
1006‧‧‧步驟
1008‧‧‧步驟
1010‧‧‧步驟
1012‧‧‧步驟
1014‧‧‧步驟
1100‧‧‧處理序
1102‧‧‧步驟
1104‧‧‧步驟
1106‧‧‧步驟
1108‧‧‧步驟
1110‧‧‧步驟
1112‧‧‧步驟
1114‧‧‧步驟
1116‧‧‧步驟
1200‧‧‧處理序
1202‧‧‧步驟
1204‧‧‧步驟
1206‧‧‧步驟
1208‧‧‧步驟
1210‧‧‧步驟
1212‧‧‧步驟
1214‧‧‧步驟
1216‧‧‧步驟
1300‧‧‧系統
1302‧‧‧背景傳送精靈協助程式
1304‧‧‧應用程式
1306‧‧‧伺服器
1308‧‧‧請求存放庫
1400‧‧‧處理序
1402‧‧‧步驟
1404‧‧‧步驟
1406‧‧‧步驟
1408‧‧‧步驟
1410‧‧‧步驟
1412‧‧‧步驟
1500‧‧‧圖形使用者介面(GUI)
1502‧‧‧應用程式
1504‧‧‧應用程式
1506‧‧‧應用程式
1508‧‧‧應用程式
1510‧‧‧應用程式
1512‧‧‧應用程式
1514‧‧‧應用程式
1516‧‧‧雙態觸發
1518‧‧‧雙態觸發
1602‧‧‧記憶體介面
1604‧‧‧處理器
1606‧‧‧周邊設備介面
1610‧‧‧運動感測器
1612‧‧‧光感測器
1614‧‧‧近接感測器
1616‧‧‧其他感測器
1620‧‧‧攝影機子系統
1622‧‧‧光學感測器
1624‧‧‧無線通信子系統
1626‧‧‧音訊子系統
1628‧‧‧揚聲器
1630‧‧‧麥克風
1640‧‧‧I/O子系統
1642‧‧‧觸控表面控制器
1644‧‧‧其他輸入控制器
1646‧‧‧觸控表面
1648‧‧‧其他輸入/控制器件
1650‧‧‧記憶體
1652‧‧‧作業系統指令
1654‧‧‧通信指令
1656‧‧‧GUI指令
1658‧‧‧感測器處理指令
1660‧‧‧電話指令
1662‧‧‧電子傳訊指令
1664‧‧‧網頁瀏覽指令
1666‧‧‧媒體處理指令
1668‧‧‧GNSS/導航指令
1670‧‧‧攝影機指令
1672‧‧‧其他軟體指令
1674‧‧‧其他軟體指令
圖1說明行動器件100,其經組態以執行該行動器件之動態調整。
圖2說明用於調用試探處理序之實例處理序。
圖3說明用於使用試探處理序來調整行動器件之設定的處理序。
圖4說明用於執行應用程式之背景提取更新的實例系統。
圖5說明實例圖解,其描繪用於判定行動器件上之應用程式之使用者調用機率的時間數列模型化。
圖6為用於預測性地啟動應用程式以執行背景更新之實例處理序的流程圖。
圖7為用於判定何時啟動行動器件上之應用程式之實例處理序的流程圖。
圖8為說明趨勢表中之項目之狀態轉變的流程圖。
圖9為說明用於將推送通知提供給行動器件之系統的方塊圖。
圖10為用於在推送通知伺服器處執行非喚醒推送之實例處理序的流程圖。
圖11為用於回應於低優先權推送通知來執行應用程式之背景更新之實例處理序的流程圖。
圖12為用於回應於高優先權推送通知來執行應用程式之背景更新之實例處理序的流程圖。
圖13為用於在行動器件上執行資料之背景下載及/或上傳之實例系統的方塊圖。
圖14為用於執行背景下載及上傳之實例處理序的流程圖。
圖15說明用於啟用及/或停用行動器件上之應用程式之背景更新的實例圖形使用者介面(GUI)。
圖16為一實例運算器件之方塊圖,該運算器件可實施圖1至圖15 之特徵及處理序。
各圖式中之類似參考符號指示類似元件。
概觀
根據實施,本文中描述了一系統架構,其用於使得行動器件能夠適應使用者行為以促進電池壽命、電源要求、熱管理及效能之間的取捨。該系統提供基礎事件及統計聚集架構以及一組試探處理序,該等試探處理序隨時間的過去向使用者之網路條件及應用程式使用型樣學習以最大化電池壽命而無使用者體驗之明顯降級。此系統可基於動態聚集之統計及/或明確指定之使用者意圖來預期使用者之未來行為以及使用者對器件效能之期望。系統可判定將設定哪些硬體及軟體控制參數以及將該等參數設定至何值以便改良所預期之使用者行為的使用者體驗。系統槓桿作用於使用者監視及硬體控制以達成使用者體驗之全面改良同時擴展可供行動器件之用的系統及網路資源。因此,系統可最大化系統及網路資源同時最小化對使用者體驗之影響。
資料收集-以使用者為中心之統計
圖1說明行動器件100,其經組態以執行行動器件100之動態調整。在一些實施中,行動器件100可包括一取樣精靈協助程式102,該取樣精靈協助程式收集與器件條件、網路條件及使用者行為相關的事件。舉例而言,取樣精靈協助程式102可收集與應用程式、感測器及由行動器件100接收之使用者輸入相關的統計且將統計儲存於事件資料儲存區104中。所產生或收集之所有統計可包括指示當產生或收集統計時之時間及時區的時間戳及/或一地理位置。可基於全球導航衛星系統信號、蜂巢式傳輸信號、Wi-Fi信號或任何其他位置判定方法來判定地理位置。
在一些實施中,取樣精靈協助程式102可自應用程式管理器處理 序106接收應用程式使用統計。舉例而言,應用程式管理器106可為一開始、停止及監視行動器件100上之應用程式(例如,應用程式108)的處理序。在一些實施中,應用程式管理器106可向取樣精靈協助程式102報導執行於行動器件100上之應用程式的開始時間及停止時間。舉例而言,當使用者或其他處理序調用或啟動一應用程式時,應用程式管理器106可向取樣精靈協助程式102通知該應用程式調用。另外,應用程式管理器106可向取樣精靈協助程式102指示應用程式啟動係回應於推送通知、使用者調用或所預測或預報之使用者應用調用而被起始的。當應用程式終止時,應用程式管理器106可向取樣精靈協助程式102通知該應用程式不再執行。舉例而言,應用程式管理器106可將應用程式之名稱或其他識別符及開始時間或結束時間提供給取樣精靈協助程式102。
在一些實施中,取樣精靈協助程式102可使用應用程式開始及結束通知來產生每應用程式之使用時間歷史。舉例而言,每應用程式之使用時間歷史可針對應用程式之每一執行而包括自該應用程式之上一次執行以來已過去的時間量及執行持續時間。取樣精靈協助程式102可保持使用者調用的應用程式啟動及/或系統啟動的應用程式之分離的歷史。因此,取樣精靈協助程式102可保持執行於行動器件100上之所有應用程式的使用統計。
在一些實施中,取樣精靈協助程式102可自電力監視器處理序108接收電力統計。舉例而言,電力監視器108可監視行動器件100之電池容量、放電、使用及充電特性。電力監視器可判定何時將行動器件100插入外部電源中及行動器件100何時處於電池電力。電力監視器108可向取樣精靈協助程式102通知何時將行動器件100插入外部電源中。舉例而言,當電力監視器108偵測到行動器件100被插入外部電源中時,電力監視器可將訊息發送至取樣精靈協助程式102。該訊息可 包括在當連接外部電源之時的電池電量。
電力監視器108可向取樣精靈協助程式102通知行動器件100何時自外部電源斷開。舉例而言,當電力監視器108偵測到行動器件100自外部電源斷開時,電力監視器可將訊息發送至取樣精靈協助程式102。該訊息可包括在當斷開外部電源之時的電池電量。因此,取樣精靈協助程式102可保持描述行動器件100之電池之充電分佈(例如,隨時間的過去之電量)的統計。充電分佈統計可包括自上一次充電以來的時間量(例如,自被插入外部電源中以來的時間)及可歸因於充電之電池電量改變(例如,電量之開始位準、電量之結束位準)。
在一些實施中,電力監視器108可向取樣精靈協助程式102通知一整天之電池電量改變。舉例而言,當應用程式開始及結束時可通知電力監視器108,且電力監視器可回應於該等通知來判定在該週期期間被放電之電池電力的量及電池中所剩餘之電量且將此資訊傳輸至取樣精靈協助程式102。
在一些實施中,取樣精靈協助程式102可自熱管理處理序110接收器件溫度統計。舉例而言,熱管理處理序110可使用一或多個溫度感測器來監視行動器件100之操作溫度條件。熱管理處理序110可經組態以向取樣精靈協助程式102週期性地報導溫度改變。舉例而言,熱管理處理序110可每五秒判定行動器件100之操作溫度且向取樣精靈協助程式102報導該溫度。取樣精靈協助程式102可將所報導之溫度儲存於事件資料儲存區104中。
在一些實施中,取樣精靈協助程式102可自器件設定處理序112接收器件設定統計。舉例而言,器件設定處理序112可為行動器件100之作業系統的功能或處理序。器件設定處理序112可(例如)接收使用者輸入以調整各種器件設定(諸如,接通/切斷飛機模式、接通/切斷Wi-Fi、接通/切斷漫遊等)。器件設定處理序112可向取樣精靈協助程式 102報導器件設定之改變。舉例而言,器件設定處理序112可向取樣精靈協助程式102通知使用者何時接通或切斷行動器件100上之飛機模式。取樣精靈協助程式102可基於所接收之通知來產生及儲存器件設定之統計。舉例而言,針對每次啟用(或停用)一設定,取樣精靈協助程式102可儲存指示自該設定先前被啟用以來已過去的時間量及該設定被啟用之時間量(例如,持續時間)。
類似地,在一些實施中,當發生其他事件時,取樣精靈協助程式102可自其他行動器件100組件(例如,器件感測器114)接收通知。舉例而言,取樣精靈協助程式102可在以下情況下接收通知:當接通或切斷行動器件之閒置螢幕時、當將行動器件100固持成挨著使用者面部時、當偵測小區塔交遞時、當基頻處理器處於搜尋模式時、當行動器件100已偵測到使用者正在行走、跑步及/或駕駛時。在每一狀況下,取樣精靈協助程式102可在事件之開始及結束時接收一通知。在每一狀況下,取樣精靈協助程式102可產生及儲存指示自上一次偵測到事件以來已過去之時間量及事件之持續時間的統計。取樣精靈協助程式102可接收其他事件通知且產生其他統計,如下文關於特定用例及情況予以另外描述。
應用程式事件
在一些實施中,取樣精靈協助程式102可自行動器件100上之應用程式接收事件資訊。舉例而言,取樣精靈協助程式102可自行事曆應用程式116接收行事曆事件(例如,約會、會議、提醒等)。舉例而言,取樣精靈協助程式102可儲存事件名稱、事件持續時間及/或當事件經排程以發生時的時間。取樣精靈協助程式102可自時鐘應用程式118接收時鐘事件。舉例而言,取樣精靈協助程式102可儲存事件名稱(例如,鬧鐘名稱)及/或當事件經排程以發生時的時間。取樣精靈協助程式102可自其他應用程式(例如,媒體應用程式、存摺應用程式等) 接收事件資訊,如下文予以另外描述。
應用程式統計
在一些實施中,取樣精靈協助程式102可跨越應用程式啟動事件來收集應用程式統計。舉例而言,取樣精靈協助程式102可跨越每一應用程式之許多調用來收集該應用程式之統計。舉例而言,每一應用程式可用其之可執行檔案系統路徑的雜湊及可執行內容之雜湊加以識別,使得可將同一應用程式之不同型式處置為不同應用程式。
在一些實施中,取樣精靈協助程式102可保持一計數器,該計數器追蹤每一應用程式之背景任務完成確定事件。舉例而言,每次應用程式被執行為背景任務(例如,在前景中不可見/當前未由使用者使用),該應用程式或應用程式管理器106總可向取樣精靈協助程式102通知該應用程式何時被終止或暫時中止且取樣精靈協助程式102可遞增計數器。取樣精靈協助程式102可保持一計數器,該計數器跨越應用程式在背景中所執行之應用程式啟動來追蹤累積秒數。在一些實施中,取樣精靈協助程式102可保持分離的計數器,該等計數器計數資料連接之數目、追蹤網路資料訊務之量(例如,以位元組計)、追蹤檔案系統操作之持續時間及大小及/或追蹤與每一應用程式相關聯之線緒的數目。舉例而言,取樣精靈協助程式102可保持一應用程式跨越應用程式啟動而保持有效的累積時間量。此等僅為可由取樣精靈協助程式102追蹤之應用程式統計類型的有限實例。可產生或收集其他統計,如下文予以另外描述。
試探法
在一些實施中,行動器件100可組態有試探處理序,該等試探處理序可基於由取樣精靈協助程式102所偵測到之事件來調整器件組件之設定。舉例而言,試探處理序120可包括一或多個處理序,該一或多個處理序經組態(例如,程式化)以回應於一或多個觸發事件及/或基 於由取樣精靈協助程式102所收集或產生之統計來調整各種系統設定(例如,CPU功率、基頻處理器功率、顯示照明等)。
在一些實施中,試探處理序120可向取樣精靈協助程式102註冊以在滿足一組預定標準(例如,某種觸發事件之發生)時被調用或啟動。觸發事件可包括媒體播放器應用程式之調用或偵測到使用者已開始行走、跑步、駕駛等。可將觸發事件一般化以當在事件資料104中偵測到或由取樣精靈協助程式102偵測到某種性質、資料、統計、事件等時調用試探處理序120。舉例而言,當取樣精靈協助程式102接收到應用程式開始通知或高於某一臨限值之溫度時,可調用試探處理序120。試探處理序120可註冊以在發生單一事件或觀測到統計時被調用。試探處理序120可註冊以在觀測到或偵測到事件、資料及/或統計之組合時被調用。可回應於特定使用者輸入(例如,將器件設定改變至飛機模式)來觸發或調用試探處理序120。當取樣處理序102偵測到試探處理序120註冊所針對之事件時,取樣處理序102可調用該試探處理序120。
在一些實施中,當調用試探處理序120時,試探處理序120可與取樣精靈協助程式102通信以自事件資料104擷取資料。試探處理序120可處理事件資料及/或試探處理序120關於其自己所收集之其他資料以判定如何調整系統設定以改良行動器件100之效能、在使用行動器件100時改良使用者體驗及/或避免行動器件100之未來問題。
在一些實施中,試探處理序120可作出可引起行動器件100之各種器件組件122之設定改變的設定建議。舉例而言,器件組件可包括CPU、GPU、基頻處理器、顯示器、GPS、藍芽、Wi-Fi、振動馬達及其他組件。
在一些實施中,試探處理序120可向控制多工器124作出設定建議。舉例而言,控制多工器124可為一在由試探處理序120所提供之組 件設定與行動器件100之其他處理序及/或功能(其影響或改變行動器件100之組件的設定)之間進行仲裁的處理序。舉例而言,熱管理處理序110可經組態以基於偵測到行動器件100處於熱事件當中(例如,高於臨限溫度)來對CPU功率、顯示亮度、基頻處理器功率及其他組件設定作出調整。然而,試探處理序120亦可經組態以對CPU功率、顯示亮度、基頻處理器功率及其他組件設定作出調整。因此,在一些實施中,試探處理序120及熱管理處理序110可向控制多工器124作出設定調整建議且控制多工器124可判定將作出哪些設定調整。舉例而言,控制多工器124可對處理序進行優先級排序且基於建議之處理序的優先權來執行調整。因此,若熱管理處理序110係優先權高於試探處理序120之處理序,則控制多工器124可根據熱管理處理序110而非試探處理序120之建議來調整CPU、顯示器、基頻處理器等之設定。
在一些實施中,行動器件100可組態有多個試探處理序120。可空中組態或重組態該等試探處理序120。舉例而言,可經由網路(例如,蜂巢式資料連接、Wi-Fi連接等)來設定或調整每一試探處理序120之參數(例如,觸發、臨限值、標準及輸出)。在一些實施中,可將新試探處理序120新增至行動器件100。舉例而言,隨著時間的過去,可由系統開發者判定觸發事件、統計資料及器件設定之間的新關聯。隨著此等新關聯得以識別,可開發新的試探處理序120以調整系統設定,從而說明新近判定之關係。在一些實施中,可經由網路將新的試探處理序120新增至行動器件100。舉例而言,可空中(例如,蜂巢式資料連接、Wi-Fi連接等)下載或安裝新的試探處理序120於行動器件100上。
實例試探處理序
在一些實施中,試探處理序120可經組態以調整行動器件100之系統設定,從而防止行動器件100在位於使用者口袋中時變得太熱。 舉例而言,此袋中熱試探處理序可經組態以向取樣精靈協助程式102註冊,從而當行動器件之顯示器關閉時且當行動器件100不播放任何娛樂媒體(例如,音樂、電影、視訊等)時被調用。舉例而言,當被調用時,袋中熱試探法可作出建議以減小CPU功率及GPU功率。
在一些實施中,試探處理序120可經組態以在行動器件之顯示器未正使用時調整位置準確度。舉例而言,若行動器件之顯示器未正使用(例如,顯示器被切斷),則行動器件100不能向使用者顯示地圖資訊或方向。因此,使用者不大可能使用行動器件100之位置服務且可調整該等位置服務(例如,GPS位置、Wi-Fi位置、蜂巢式位置等)以使用較少電力。位置準確度試探處理序可向取樣精靈協助程式102註冊以在行動器件之顯示器關閉時被調用。當被調用時,試探處理序可調整GPS處理器、Wi-Fi傳輸器、蜂巢式傳輸器、基頻處理器之功率位準或終止用以判定行動器件100之位置的處理序。
在一些實施中,試探處理序120可經組態以回應於使用者行為來調整行動器件之環境光感測器的設定。舉例而言,當取樣精靈協助程式102接收到指示以下各者之資料時,可由取樣精靈協助程式102調用此使用者自適應環境光感測器(ALS)試探處理序:環境光感測器已偵測到包圍行動器件100之環境光的改變;環境光感測器系統已調整顯示器之亮度及/或使用者已提供輸入以調整顯示器之亮度。
當被調用時,使用者自適應ALS試探法可請求來自取樣精靈協助程式102之關於ALS顯示器調整及使用者起始之顯示器調整的額外資訊以判定是否存在使用者輸入之型樣,其指示ALS何時上下調整顯示器亮度及使用者在相反方向上調整顯示器亮度。舉例而言,使用者可乘坐公共汽車或火車去上班。公共汽車燈可在乘坐期間被接通或切斷。環境光感測器可偵測環境光之改變且當光出現時增加顯示器亮度。由於光僅臨時地出現,所以使用者可在光被再次切斷時減小顯示 器亮度。使用者輸入之此型樣可藉由試探處理序而與日時、行事曆或鬧鐘項目或旅行型樣相關以判定在什麼情況或內容脈絡下使用者回應於ALS顯示器調整來調整顯示器亮度。一旦使用者自適應ALS試探處理序判定輸入及內容脈絡之型樣,試探處理序便可調整ALS之設定以較具積極性或較不具積極性。舉例而言,ALS可經調整以在所判定之日時、行事曆或鬧鐘項目或旅行型樣期間較頻繁或較不頻繁地檢查環境光之位準且相應地調整顯示器亮度。
上文之試探處理序係試探處理序及可如何將其實施於本文中所描述之系統中的少數實例。其他試探處理序可在其隨著時間的過去而發展時加以實施且新增至系統。舉例而言,額外試探處理序可經組態或程式化以回應於偵測到與溫度量測、使用者輸入、時鐘事件(例如,鬧鐘)、行事曆事件及/或發生於行動器件上且在行動器件上被偵測到的其他事件有關的事件或事件型樣來調整CPU、GPU、基頻處理器或行動器件之其他組件。
實例試探註冊及調用處理序
圖2說明用於調用試探處理序之實例處理序200。在步驟202處,可初始化取樣精靈協助程式102。舉例而言,可在行動器件100之啟動期間初始化取樣精靈協助程式102。
在步驟204處,取樣精靈協助程式102可調用在取樣精靈協助程式102之初始化期間被組態於行動器件100上的試探處理序。舉例而言,取樣精靈協助程式102可使每一試探處理序120執行於行動器件100上且瀏覽其初始化子常用程式。
在步驟206處,取樣精靈協助程式102可自每一試探處理序120接收事件註冊訊息。舉例而言,在試探處理序120之初始化子常用程式期間,試探處理序120可將指示哪些事件應觸發試探處理序120之調用的資訊發送至取樣精靈協助程式102。舉例而言,取樣精靈協助程式 102可將註冊資訊儲存於資料庫(諸如,事件資料儲存區104)中。舉例而言,註冊資訊可包括試探處理序之識別(例如,可執行名稱、檔案系統路徑等)及事件標準(事件、值、臨限值、範圍等之識別)。
在步驟208處,取樣精靈協助程式102可接收事件資料。舉例而言,取樣精靈協助程式102可自各種系統組件(包括應用程式管理器106、感測器114、行事曆116及時鐘118)接收事件資料,如上文所描述。
在步驟210處,取樣精靈協助程式102可比較所接收之事件資料與試探註冊資料。舉例而言,當向取樣精靈協助程式102報導事件資料時,取樣精靈協助程式102可比較該事件資料或自該事件資料產生之統計與自試探處理序120接收之註冊資訊。
在步驟212處,取樣精靈協助程式102可基於在步驟210處所執行之比較來調用一試探處理序。舉例而言,若事件資料及/或統計滿足在試探處理序120之試探註冊資料中所指定的標準,則取樣精靈協助程式102可調用該試探處理序120。舉例而言,若事件資料及/或統計資料交叉由試探處理序在註冊期間針對一事件所指定之某一臨限值,則可由取樣精靈協助程式102調用該試探處理序。
圖3說明用於使用試探處理序120來調整行動器件100之設定的處理序300。在步驟302處,初始化試探處理序120。舉例而言,可由取樣精靈協助程式102調用試探處理序120,使得試探處理序120可瀏覽其初始化子常用程式。舉例而言,調用可經參數化以指示試探處理序120應在此調用期間瀏覽其初始化子常用程式。
在步驟304處,試探處理序120可針對系統事件而向取樣精靈協助程式102註冊。舉例而言,在初始化期間,試探處理序120可將訊息發送至取樣精靈協助程式102,該訊息包括用於調用試探處理序120之事件、臨限值、值或其他標準的識別。當發生事件及/或滿足標準 時,取樣精靈協助程式102可調用試探處理序120。
在步驟306處,試探處理序120可關機或終止。舉例而言,直至滿足試探處理序120之註冊標準系統才需要試探處理序120。因此,為節約器件資源(例如,電池電力、處理能力等),終止、關機或暫時中止試探處理序120直至需要該試探處理序為止。
在步驟308處,可重新開始試探處理序120。舉例而言,當取樣精靈協助程式102判定已滿足註冊訊息中由試探處理序120所指定之標準時,取樣精靈協助程式102可調用試探處理序120。
在步驟310處,試探處理序120可自取樣精靈協助程式102獲得事件資料。舉例而言,一旦重新開始,試探處理序120便可針對額外事件資料來查詢取樣精靈協助程式102。試探處理序120可經組態以在需要時與其他系統資源、處理序、感測器等互動,從而收集資料。
在步驟312處,試探處理序120可處理事件資料以判定組件設定。舉例而言,試探處理序120可使用來自取樣精靈協助程式102之事件資料及/或統計及/或自系統之其他組件收集的資料以判定如何調整行動器件100之各種組件的設定。
在步驟314處,試探處理序120可將所判定之組件設定傳輸至控制多工器124。舉例而言,控制多工器124可對自試探處理序120及其他系統組件(例如,熱管理處理序110)接收之器件設定建議進行仲裁。控制多工器124可接著根據所接收之設定建議來調整行動器件100之各種組件(例如,CPU、GPU、基頻處理器、顯示器等)。
使應用程式保持為最新一提取更新
圖4說明用於執行應用程式之背景提取更新的實例系統400。在一些實施中,行動器件100可經組態以預測性地啟動應用程式以作為行動器件100之背景處理序,使得該等應用程式可下載內容且更新其介面以預期使用者調用該等應用程式。舉例而言,由取樣精靈協助程 式102保持之使用者應用程式啟動歷史資料可用以預報使用者將何時調用行動器件100之應用程式。可由應用程式管理器106在使用者調用之前啟動此等應用程式,使得將不要求使用者等待使用者調用之應用程式下載當前內容且更新應用程式之圖形介面。
判定何時啟動應用程式
在一些實施中,應用程式管理器106可請求來自取樣精靈協助程式102之應用程式調用預報。舉例而言,取樣精靈協助程式102可提供一介面,該介面允許應用程式管理器106請求指示何時啟動行動器件100之應用程式的資訊。取樣精靈協助程式102可保持指示使用者何時調用行動器件100上之應用程式的統計,如上文所描述。當應用程式管理器106呼叫「when to launch(何時啟動)」介面時,取樣精靈協助程式102可處理使用者應用程式調用統計以判定通常由使用者在一天期間的何時調用每一應用程式。舉例而言,取樣精靈協助程式102可計算一特定日時或時間週期將包括由使用者進行之應用程式調用的機率。
在一些實施中,應用程式管理器106可在應用程式管理器106之初始化期間調用取樣精靈協助程式102之「when to launch(何時啟動)」介面。舉例而言,可在行動器件100之啟動期間調用或啟動應用程式管理器106。當應用程式管理器106正初始化時,應用程式管理器106可針對下一個24小時來請求應用程式調用之預報。一旦初始之24小時週期已過去,應用程式管理器106便可請求另一24小時預報。舉例而言,此24預報週期可持續直至行動器件100被切斷。
在一些實施中,取樣精靈協助程式102可針對一24小時週期而產生應用程式調用預報。舉例而言,取樣精靈協助程式102可將該24小時週期劃分成96個十五分鐘時槽。取樣精靈協助程式102可基於由取樣精靈協助程式102收集且儲存於事件資料儲存區104中之應用程式啟 動歷史資料來判定已調用哪些應用程式及在諸多(例如,1至7)先前操作日內該等應用程式在何時被調用。在一些實施中,當已停用一應用程式之背景更新時,取樣精靈協助程式102將自調用預報排除該應用程式。
在一些實施中,每一15分鐘時槽可根據一(例如,任何)應用程式將在該15分鐘時槽中被調用的機率進行排列。舉例而言,若取樣精靈協助程式102正使用使用者調用之應用程式啟動歷史資料的先前七日來判定針對15分鐘時槽之機率,則取樣精靈協助程式102可計算在先前七日內發生多少個使用者調用之應用程式啟動(例如,總應用程式啟動)且判定在每一15分鐘時槽(例如,n時槽)內發生多少個應用程式啟動。舉例而言,若15分鐘窗對應於時間週期12:00pm至12:15pm,則在該15分鐘窗內啟動之應用程式的數目將包括在上個七天中之每一者從12:00pm至12:15pm發生的所有使用者起始之應用程式啟動。取樣精靈協助程式102可接著藉由用在七天週期內之總應用程式啟動除在七天中之每一天之給定15分鐘窗內發生的應用程式啟動之數目(例如,n時槽/總應用程式啟動)來判定在給定15分鐘時槽內由使用者調用應用程式的機率。
一旦計算針對96個時槽中之每一者的應用程式調用機率,取樣精靈協助程式102便將選擇具有最大非零機率之諸多(例如,高達64)時槽且向應用程式管理器106傳回識別該等時槽之資訊。舉例而言,取樣精靈協助程式102可向應用程式管理器106發送時間(例如,12:00pm、1:45pm等)之清單,該等時間對應於15分鐘時槽(其對應於可能的使用者調用之應用程式啟動)之開始。
在一些實施中,96個時槽中之每一者可基於在每一各別時槽內複現之應用程式調用進行排列。舉例而言,若使用者在上個天數(例如,七)內的每一天期間在相同時槽中調用相同應用程式,則可高度 地排列時槽。若使用者在上個天數內的每一天期間在相同時槽中調用不同應用程式(例如,相同應用程式被調用不超過一次),則可低度地排列時槽。舉例而言,若在上個七天的時槽(例如,12:00至12:15pm)期間使用者調用應用程式‘A’,則該時槽可具有基於在所考慮之總天數內該應用程式被調用之天數的比率的等級或得分(例如,7/7=1)。若在上個七天的時槽(例如,12:00至12:15pm)期間僅在一天由使用者調用應用程式‘B’,則該時槽可具有基於在所考慮之總天數內該應用程式被調用之天數的比率的等級或得分(例如,1/7=0.14)。若應用程式A及應用程式B在七天週期內之12:00至12:15pm時槽中被調用,則可根據所產生之最高得分來排列或記分該時槽。舉例而言,針對該時槽使用應用程式A之得分為1.0,針對該時槽使用應用程式B之得分為0.14,因此針對該時槽之得分為1.0。不具有應用程式調用之時槽可指派有零得分。
在一些實施中,取樣精靈協助程式102可選擇具有最高得分之諸多(例如,64)時槽且將其發送至應用程式管理器106。舉例而言,取樣精靈協助程式102可向應用程式管理器106發送時間(例如,12:00pm、1:45pm等)之清單,該等時間對應於15分鐘時槽(其對應於可能的使用者調用之應用程式啟動)之開始。
在一些實施中,應用程式管理器106可基於由取樣精靈協助程式102提供之時槽來設定計時器。舉例而言,應用程式管理器106可創建或設定對應於由取樣精靈協助程式102識別之時槽的一或多個計時器(例如,鬧鐘)。當每一計時器響時(例如,在12:00pm),應用程式管理器106可喚醒(例如,在睡眠、被暫時中止等之情況下)且判定應針對當前15分鐘時槽來啟動哪些應用程式。因此,計時器可觸發很可能在該對應之時槽內將由使用者調用之應用程式的提取背景更新。
在一些實施中,其他事件可觸發應用程式之提取背景更新。舉 例而言,接通蜂巢式無線電、基頻處理器或建立網路連接(例如,蜂巢式或Wi-Fi)可觸發背景應用程式啟動,使得應用程式更新可利用一有效網路連接。解鎖行動器件100、接通顯示器及/或其他互動可觸發背景應用程式啟動及提取更新,如下文予以另外描述。在一些實施中,若在先前分鐘數(例如,七)內執行了任何背景更新,則應用程式管理器106將不觸發背景應用程式啟動及提取更新。
判定啟動什麼應用程式
在一些實施中,應用程式管理器106可請求取樣精靈協助程式102提供待針對當前時間啟動的應用程式之清單。舉例而言,當計時器針對一15分鐘時槽而響(例如,到期)時,應用程式管理器可呼叫取樣精靈協助程式102之「what to launch(啟動什麼)」介面,使得取樣精靈協助程式102可判定將針對當前時槽啟動哪些應用程式。取樣精靈協助程式102可接著產生應用程式之清單及指示在大約當前時間將由使用者調用每一應用程式之機率的對應之得分,如下文予以另外描述。在一些實施中,當已停用一應用程式之背景更新時,取樣精靈協助程式102將自應用程式之清單排除該應用程式。
在一些實施中,取樣精靈協助程式102可判定針對當前(例如,15分鐘)時槽將由使用者調用每一應用程式的機率。舉例而言,回應於「what to launch(啟動什麼)」介面之調用,取樣精靈協助程式102可判定將由使用者調用每一應用程式之似然性。
圖5說明實例圖解500、530及560,其描繪用於判定行動器件100上之應用程式之使用者調用機率的時間數列模型化。在一些實施中,取樣精靈協助程式102可使用時間數列模型化來判定行動器件100上之每一應用程式的使用者調用機率。若應用程式未顯現於時間數列中,則該應用程式可指派有零機率值。
在一些實施中,可基於新近之應用程式調用來產生使用者調用 機率。舉例而言,可使用先前兩個小時之應用程式啟動資料(例如,在上個兩小時內的使用者起始之應用程式啟動)來產生使用者調用機率。如由圖解500說明,應用程式啟動歷史資料可指示在先前兩小時中所啟動之應用程式的數目(例如,四)。舉例而言,點及圓可表示應用程式,其中空圓可表示單一特定應用程式(例如,電子郵件、社群網路連接應用程式等)。可藉由用在先前兩小時內之應用程式調用的總數(例如,4)除特定應用程式之調用的次數(例如,2)來計算與該特定應用程式使用新近歷史相關聯的機率。在所說明之狀況下,與特定應用程式使用新近應用程式啟動歷史資料相關聯的機率為2/4或50%。
可基於應用程式啟動之每日歷史(例如,哪些應用程式係在先前七天中之每一天的當前時間±2小時啟動)來產生使用者調用機率。圖解530表示使用每日歷史來判定應用程式之使用者調用機率。舉例而言,圖解530之每一方框表示在數個(例如,7)先前日中之每一日中的時間窗(例如,當前時間±2小時),其可經分析以判定特定應用程式(例如,空圓)之使用者調用機率。可藉由用在所有窗中之應用程式調用的總次數(例如,22)除在所有窗中之特定應用程式之調用的次數(例如,6)來計算與特定應用程式使用每日歷史資料相關聯的機率。在所說明之狀況下,與特定應用程式使用每日啟動歷史資料相關聯的機率為6/22或27%。
可基於應用程式啟動之每週歷史來產生使用者調用機率(例如,哪些應用程式係在七天前的當前時間±2小時啟動)。圖解560表示使用每週歷史來判定應用程式之使用者調用機率。舉例而言,若當前日期及時間為週三1pm,則應用程式之使用者調用機率可基於在上週三期間在1pm或大約1pm之時間窗(例如,±2小時)期間所啟動的應用程式。在所說明之狀況下,與特定應用程式(例如,空圓)使用每週應用程式啟動歷史資料相關聯的機率為1/4或25%。
在一些實施中,可組合新近、每日及每週使用者調用機率以產生每一應用程式之得分。舉例而言,可藉由計算新近(r)、每日(d)及每週(w)機率之加權平均值來組合新近、每日及每週機率。每一機率可具有關聯權數且每一權數可對應於每一機率之以經驗為根據所判定之預定重要性。所有權數之和可等於一。舉例而言,基於新近啟動之機率的權數可為0.6,每日機率之權數可為0.3,且每週機率之權數可為0.1。因此,組合機率得分可為0.6(r)、0.3(d)及0.1(w)之和(例如,得分=0.6r+0.3d+0.1w)。
返回參看圖4,一旦基於新近、每日及每週機率來判定每一應用程式之機率得分,取樣精靈協助程式102便可向應用程式管理器106建議啟動具有最高非零機率得分的可組態數目(例如,三)之應用程式以執行背景提取下載/更新。
在一些實施中,取樣精靈協助程式102可自上文所描述之「what to launch(啟動什麼)」分析排除不支援背景更新(例如,提取)應用程式更新的應用程式、使用者已切斷背景更新之應用程式、決定從背景更新退出之應用程式及/或當前正由使用者使用或係在行動器件100之顯示器上的前景中(因為前景應用程式很有可能已經是最新的)的無論哪個應用程式。
判定確定啟動應用程式
在一些實施中,當應用程式管理器106接收待啟動的應用程式之清單及應用程式得分時,應用程式管理器106可呼叫取樣精靈協助程式102之「ok to launch(確定啟動)」介面以判定是否確定啟動每一應用程式。舉例而言,取樣精靈協助程式102可分析網路條件、器件條件、環境條件、資料與能量預算及其他資料以判定應用程式管理器106是否確定啟動特定應用程式。舉例而言,應用程式管理器106可在呼叫「ok to launch(確定啟動)」介面時向取樣精靈協助程式102發送 應用程式識別符。
在一些實施中,行動器件102上之其他應用程式可呼叫取樣精靈協助程式102之「ok to launch(確定啟動)」介面以判定是否可以在行動器件100之背景中啟動應用程式。舉例而言,下文所描述之推送服務精靈協助程式可調用「ok to launch(確定啟動)」介面以判定是否可以回應於接收到推送通知來啟動應用程式。在一些實施中,當已停用在「ok to launch(確定啟動)」請求中所識別之應用程式的背景更新時,取樣精靈協助程式102將傳回一「no(否)」回覆值。
環境條件
在一些實施中,取樣精靈協助程式102可基於行動器件100之環境條件來判定是否允許啟動所識別之應用程式。舉例而言,環境條件可包括行動器件100之當前狀態、網路連接之狀態及/或如下文所描述之其他條件。在一些實施中,當由應用程式管理器106(或另一應用程式、處理序或精靈協助程式)呼叫「ok to launch(確定啟動)」介面時,取樣精靈協助程式102可傳回指示以下各者之值:「never(決不)」確定啟動所識別之應用程式、「no(否)」確定不啟動應用程式、或「yes(是)」確定啟動應用程式。舉例而言,除非以下條件中之一者指示不應啟動應用程式,否則將傳回「yes(是)」值。當新近未使用(例如,在過去的8週中未使用)所識別之應用程式時、當使用者已停用應用程式時及/或當由使用者明確地關閉應用程式時,取樣精靈協助程式102將傳回「never(決不)」值。
在一些實施中,當行動器件100連接至語音呼叫而不連接至Wi-Fi網路連接時,取樣精靈協助程式102可指示應用程式管理器106不應啟動應用程式。舉例而言,為防止背景更新處理序(例如,提取處理序)干擾或降低語音呼叫之品質,當使用者連接至語音呼叫而不連接至Wi-Fi連接時,取樣精靈協助程式102將不允許應用程式管理器106啟 動背景更新處理序。因此,當行動器件100連接至呼叫而不連接至Wi-Fi時,取樣精靈協助程式102將回應於「ok to launch(確定啟動)」請求而傳回「no(否)」值。
在一些實施中,當行動器件100已偵測到熱事件時,取樣精靈協助程式102可指示應用程式管理器106不應啟動應用程式。舉例而言,熱管理處理序110可監視行動器件100之溫度且向取樣精靈協助程式102報導溫度值。當取樣精靈協助程式102判定行動器件100之溫度高於臨限溫度值時,取樣精靈協助程式102可另外藉由在應用程式管理器106作出「ok to launch(確定啟動)」請求時傳回「no(否)」值來防止應用程式管理器啟動可增加行動器件100之操作溫度的額外應用程式。
在一些實施中,當行動器件100具有不良品質之蜂巢式網路連接時,取樣精靈協助程式102可指示應用程式管理器106不應啟動應用程式。當傳送率及/或輸貫量低於預定臨限值時,可判定不良品質之蜂巢式連接。舉例而言,若行動器件100具有不良品質之蜂巢式網路連接且未連接至Wi-Fi時,取樣精靈協助程式102可藉由在應用程式管理器106作出「ok to launch(確定啟動)」請求時傳回「no(否)」值來防止應用程式管理器啟動將藉由嘗試經由不良蜂巢式連接下載或上傳資料而浪費電池能量及蜂巢式資料的應用程式。
在一些實施中,當行動器件100正使用大於臨限量(例如,90%)之記憶體資源時,取樣精靈協助程式102可指示應用程式管理器106不應啟動應用程式。舉例而言,若行動器件100已經執行使用了行動器件100之大部分記憶體資源的許多應用程式或處理序,則在背景中啟動額外應用程式將反而藉由用光剩餘記憶體資源而降低行動器件100之效能。因此,當取樣精靈協助程式102判定記憶體使用超過臨限值(例如,75%)時,取樣精靈協助程式102可藉由在應用程式管理器106 作出「ok to launch(確定啟動)」請求時傳回「no(否)」值來防止應用程式管理器啟動額外應用程式。
在一些實施中,當應用程式已決定從背景更新退出或使用者已切斷應用程式之背景更新時,取樣精靈協助程式102可指示應用程式管理器106不應啟動應用程式。舉例而言,應用程式可有計劃地(例如,動態地)判定(基於程式員定義之標準)應用程式應決定從背景更新退出歷時一時間週期。替代地,使用者可與一設定使用者介面互動以切斷應用程式之背景更新。在任一狀況下,取樣精靈協助程式102均可判定已停用應用程式之背景更新且該等背景更新可藉由在應用程式管理器106針對應用程式作出「ok to launch(確定啟動)」請求時傳回「no(否)」值來防止應用程式管理器106啟動應用程式。
預算及速率限制之帳戶處理
在一些實施中,取樣精靈協助程式102可基於針對行動器件100所組態之能量預算、資料預算及/或應用程式啟動速率限制來判定是否「確定啟動」應用程式。取樣精靈協助程式102可將預算及速率限制資訊儲存於帳戶處理資料儲存區402中,包括用於針對當前時間週期(例如,當前一小時)來追蹤剩餘資料及能量預算的計數器。
能量預算
在一些實施中,取樣精靈協助程式102可基於能量預算來判定是否可以啟動應用程式。舉例而言,能量預算可為以毫安小時計的行動器件之電池容量百分比(例如,5%)。可在如上文所描述之預測性提取應用程式(例如,2%)與如下文所描述之推送應用程式及背景下載/上傳(例如,3%)之間劃分能量預算。
在一些實施中,可將能量預算分佈於24小時週期中的每一小時當中。舉例而言,取樣精靈協助程式102可利用被收集及儲存於事件資料儲存區104中之電池充電統計以判定影響24小時週期中之每一小 時之典型歷史電池使用的分佈。舉例而言,每一小時可基於在歷史上或統計上判定之能量使用分佈或應用程式使用預報而指派有能量預算之百分比,如上文所描述。每一小時將至少具有大於零的最少量之能量預算(例如,0.1%、1%等)。舉例而言,根據歷史能量或應用程式使用,可將10%之能量預算分佈於不具有使用資料之小時當中且可將剩餘90%之能量預算分佈於有效使用小時當中。隨著每一小時過去,當前能量預算將補充有用於新/當前小時之能量預算。自前一小時留下之任何能量預算將被新增至當前小時之預算。
在一些實施中,帳戶處理資料儲存區402可包括用於判定為提取應用程式(例如,預測性地啟動之應用程式)剩下多少能量預算的計數器。舉例而言,帳戶處理資料儲存區402可包括經初始化有當前小時之能量預算(例如,提取預算、推送及背景下載/上傳)的一或多個計數器。當由應用程式使用該能量預算時,可將對應(例如,提取或推送)能量預算遞減對應量。舉例而言,應用程式管理器106可向取樣精靈協助程式102通知何時啟動或終止應用程式。又,取樣精靈協助程式102可向電力監視器108通知何時啟動應用程式及何時終止該應用程式。基於開始時間及停止時間,電力監視器108可判定由應用程式使用多少能量。電力監視器108可將由應用程式使用之電力量傳輸至取樣精靈協助程式102且取樣精靈協助程式102可將適當計數器遞減所使用之電力量。
在一些實施中,當沒有為當前小時剩下能量預算時,取樣精靈協助程式102可以對「確定啟動」請求之「no(否)」回覆來作出回應。舉例而言,當帳戶處理資料儲存區402中之能量預算計數器被遞減至零時,無能量預算剩下且將不啟動額外背景應用程式。
在一些實施中,當將行動器件100插入外部電源中時,取樣精靈協助程式102將不使「ok to launch(確定啟動)」判定基於能量預算。 舉例而言,當將行動器件100插入外部電源中時,零之剩餘能量預算將不防止啟動應用程式。
資料預算
在一些實施中,取樣精靈協助程式102可基於資料預算來判定是否確定啟動應用程式。舉例而言,取樣精靈協助程式102可基於由取樣精靈協助程式102收集且儲存於事件資料儲存區104中之統計資料來判定由行動器件100所消耗之網路資料的平均量。可將網路資料預算(例如,提取/推送預算、背景下載/上傳預算)計算為由使用者/行動器件100所消耗之平均每日網路資料的百分比。替代地,網路資料預算可為預定值或可組態值(例如,對於提取/推送預算而言為每日15MB、對於背景下載/上傳而言為每日5MB)。
在一些實施中,可將網路資料預算分佈於24小時週期中的每一小時當中。舉例而言,每一小時可配置有最小預算(例如,0.2MB)。可根據歷史網路資料使用將剩餘量之網路資料預算分佈於24小時中的每一小時當中。舉例而言,取樣精靈協助程式102可基於歷史統計資料來判定在一天的每一小時中消耗多少網路資料且根據每一小時中所消耗之資料量來指派百分比。隨著每一小時過去,當前資料預算將補充有用於新/當前小時之資料預算。自前一小時留下之任何資料預算將被新增至當前小時之資料預算。
在一些實施中,帳戶處理資料儲存區402可保持用於網路資料預算之資料計數器。舉例而言,帳戶處理資料儲存區402可保持用於提取/推送應用程式之資料計數器。帳戶處理資料儲存區402可保持用於背景下載/上傳操作之資料計數器。隨著網路資料被消耗,可根據所消耗之網路資料的量來遞減資料計數器。舉例而言,可基於由應用程式管理器106提供給取樣精靈協助程式102的應用程式開始時間及停止時間來判定所消耗之網路資料的量。替代地,可由利用網路介面之處 理序(例如,下文所描述之背景下載/上傳精靈協助程式)來提供所消耗之網路資料的量。
在一些實施中,取樣精靈協助程式102可追蹤哪一網路介面(例如,蜂巢式或Wi-Fi)係用以消耗網路資料且基於該網路介面來判定所消耗之網路資料的量。可根據被指派給每一介面之權數或係數來調整所消耗之網路資料的量。舉例而言,在蜂巢式資料介面上所消耗之網路資料可指派有係數一(1)。在Wi-Fi介面上所消耗之網路資料可指派有係數十分之一(0.1)。可藉由將所消耗之蜂巢式資料新增至用十除所消耗之Wi-Fi資料來計算所消耗之總網路資料(例如,總資料=1*蜂巢式資料+0.1*Wi-Fi)。因此,經由Wi-Fi所消耗之資料對資料預算的影響力將遠小於經由蜂巢式資料連接所消耗之資料。
在一些實施中,當沒有為當前小時剩下資料預算時,取樣精靈協助程式102可以對「確定啟動」請求之「no(否)」回覆來作出回應。舉例而言,當帳戶處理資料儲存區402中之資料預算計數器被遞減至零時,無資料預算剩下且將不啟動額外背景應用程式。
全域應用程式啟動速率限制
在一些實施中,取樣精靈協助程式102可基於全域應用程式啟動速率限制來判定是否確定啟動應用程式。舉例而言,取樣精靈協助程式102可組態有應用程式管理器106可每小時啟動之數個背景應用程式(例如,提取及/或推送背景應用程式)。在一些實施中,將針對推送通知觸發之應用程式啟動而僅考慮啟動速率限制,如下文所描述。舉例而言,可將應用程式管理器106限制至每小時啟動64個背景應用程式。取樣精靈協助程式102可保持一追蹤已在當前小時中執行之背景應用程式啟動之數目的計數器。可每小時重設全域應用程式啟動計數器以允許達成更多應用程式啟動。然而,若超過了當前小時之全域應用程式啟動速率,則無額外背景應用程式可被啟動且取樣精靈協助程 式102將傳回對「確定啟動」請求之「no(否)」回覆。
每應用程式啟動速率限制
在一些實施中,取樣精靈協助程式102可基於個別應用程式啟動速率限制來判定是否確定啟動應用程式。舉例而言,取樣精靈協助程式102可組態有可每小時啟動個別背景應用程式(例如,提取及/或推送背景應用程式)的次數。舉例而言,可將應用程式管理器106限制至每小時啟動同一應用程式15次。取樣精靈協助程式102可保持一追蹤每小時在背景中啟動個別應用程式之次數的計數器。可每小時重設個別應用程式啟動計數器以允許達成更多應用程式啟動。然而,若對於一特定應用程式而言超過了當前小時之個別應用程式啟動速率,則在當前小時中不能再次啟動該特定應用程式且取樣精靈協助程式102將傳回對識別該特定應用程式之「確定啟動」請求的「no(否)」回覆。
啟動背景提取應用程式
在一些實施中,當應用程式管理器106向取樣精靈協助程式102發出「ok to launch(確定啟動)」呼叫且接收「yes(是)」回覆時,應用程式管理器106可在行動器件100之操作環境的背景中調用或啟動所識別之應用程式(例如,應用程式108)。舉例而言,可在背景中啟動應用程式108,使得應用程式108被啟動對使用者而言並非顯而易見。應用程式108可接著經由網路(例如,網際網路)與內容伺服器404通信以下載供向使用者顯示的更新之內容。因此,當使用者隨後調用應用程式108時(例如,將應用程式帶至前景),使用者將被呈現有當前及最新內容而不必等待應用程式108下載內容及再新該應用程式之使用者介面。
在一些實施中,應用程式管理器106可經組態以在行動器件100充電且連接至Wi-Fi時啟動背景提取啟用型應用程式。舉例而言,取樣精靈協助程式102可判定行動器件100何時連接至外部電源且經由 Wi-Fi連接至網路(例如,網際網路)並將信號發送至應用程式管理器106以使應用程式管理器106啟動已在先前時間量(例如,七天)內使用之提取啟用型應用程式。
實例背景提取處理序
圖6為用於預測性地開始應用程式以執行背景更新之實例處理序600的流程圖。舉例而言,可由應用程式管理器106執行處理序600以判定何時啟動經組態以自網路資源(諸如,圖4之內容伺服器404)提取資料更新的背景應用程式。可參看上文之圖4找到與處理序600之步驟相關的額外描述。
在步驟602處,應用程式管理器106可自取樣精靈協助程式102接收應用程式調用預報。舉例而言,可在行動器件100之啟動期間啟動應用程式管理器106。在其初始化期間,應用程式管理器106可請求在下一個24小時週期內很可能由行動器件100之使用者調用的應用程式之預報。舉例而言,此預報可指示何時啟動應用程式。可將24小時週期劃分成數個15分鐘塊且每一15分鐘塊可與使用者將在該15分鐘塊期間調用應用程式的機率。當使用者很可能調用應用程式時,被傳回至應用程式管理器106之預報可識別高達64個15分鐘時間塊。
在步驟604處,應用程式管理器106可基於應用程式啟動預報來設定計時器。舉例而言,應用程式管理器106可針對在由取樣精靈協助程式102傳回至應用程式管理器106之應用程式啟動預報中所識別的15分鐘塊中之每一者來設定一計時器或鬧鐘。
在步驟606處,應用程式管理器106可請求取樣精靈協助程式102識別將啟動什麼應用程式。舉例而言,當計時器到期或鬧鐘響時,應用程式管理器可在睡眠或暫時中止的情況下喚醒,且自取樣精靈協助程式102請求在當前15分鐘時間塊中待啟動的應用程式之清單。取樣精靈協助程式102可傳回應在行動器件100上之背景中啟動的應用程式 之清單。
在步驟607處,應用程式管理器106可將詢問是否確定啟動應用程式之請求發送至取樣精靈協助程式102。舉例而言,對於由取樣精靈協助程式102回應於「what to launch(啟動什麼)」請求所識別之每一應用程式而言,應用程式管理器106可詢問取樣精靈協助程式102是否確定啟動該應用程式。取樣精靈協助程式102在確定啟動應用程式的情況下傳回「yes(是)」、在確定不啟動應用程式的情況下傳回「no(否)」或在決不確定啟動應用程式的情況下傳回「never(決不)」。
在步驟610處,應用程式管理器106可啟動應用程式。舉例而言,若取樣精靈協助程式102針對「ok to launch(確定啟動)」請求而傳回「ok(可以)」回應,則應用程式管理器106將啟動應用程式以作為行動器件100之背景處理序。若取樣精靈協助程式102傳回對「ok to launch(確定啟動)」請求之「no(否)」或「never(決不)」回應,則應用程式管理器106將不啟動應用程式。
在步驟612處,應用程式管理器106可將應用程式啟動通知傳輸至取樣精靈協助程式102。舉例而言,取樣精靈協助程式102可在需要時使用該應用程式啟動通知來產生應用程式啟動統計、資料使用統計、能量使用統計及/或其他應用程式相關統計。
在步驟614處,應用程式管理器106可偵測到所啟動之應用程式已終止。舉例而言,應用程式管理器106可判定所啟動之應用程式何時不再執行於行動器件100上。
在步驟616處,應用程式管理器106可將應用程式終止通知傳輸至取樣精靈協助程式102。舉例而言,取樣精靈協助程式102可在需要時使用該應用程式終止通知來產生應用程式啟動統計、資料使用統計、能量使用統計及/或其他應用程式相關統計。
圖7為用於判定何時啟動行動器件100上之應用程式之實例處理 序700的流程圖。舉例而言,處理序700可用以基於應用程式使用統計、資料與能量預算及行動器件條件來判定何時啟動應用程式、應啟動什麼應用程式及是否確定啟動應用程式,如上文參看圖4予以詳細描述。
在步驟702處,取樣精靈協助程式102可自應用程式管理器106接收應用程式啟動預報請求。舉例而言,應用程式管理器106可針對下一個24小時來請求應用程式啟動預報。一旦24小時週期已過去,應用程式管理器106便可針對隨後之24小時週期而請求應用程式啟動預報。舉例而言,應用程式管理器106可每24小時請求應用程式啟動預報。
在步驟704處,取樣精靈協助程式102可判定應用程式啟動預報。舉例而言,該應用程式啟動預報可用以預測在24小時週期期間使用者起始之應用程式啟動何時很有可能發生。舉例而言,取樣精靈協助程式102可針對24小時週期來判定應用程式啟動預報。可將24小時週期劃分成數個15分鐘時間塊。對於每一15分鐘時間塊(例如,在24小時週期中存在96個15分鐘時間塊)而言,取樣精靈協助程式102可使用歷史使用者調用統計以判定將在該15分鐘時間塊中發生使用者起始之應用程式啟動的機率,如上文參看圖4所描述。
在步驟706處,取樣精靈協助程式102可將應用程式啟動預報傳輸至應用程式管理器106。舉例而言,取樣精靈協助程式102可選擇具有使用者起始之應用程式啟動之最高非零機率的高達64個15分鐘塊。所選15分鐘塊中之每一者可由該15分鐘塊之開始時間(例如,12:45pm)來識別。取樣精靈協助程式102可將15分鐘塊識別符之清單發送至應用程式管理器106以作為應用程式啟動預報。
在步驟708處,取樣精靈協助程式102可接收針對在當前時間將啟動什麼應用程式的請求。舉例而言,應用程式管理器106可將請求 發送至取樣精靈協助程式102以用於使取樣精靈協助程式102判定應在當前時間或大約當前時間啟動哪些應用程式。
在步驟710處,取樣精靈協助程式102可基於歷史使用者資料來記分針對當前時間之應用程式。取樣精靈協助程式102可基於由取樣精靈協助程式102收集之歷史使用者起始之應用程式啟動資料來判定使用者在不久的將來很可能啟動之哪些應用程式。取樣精靈協助程式102可利用新近應用程式啟動資料、每日應用程式啟動資料及/或每週應用程式啟動資料以基於使用者將在當前時間或大約當前時間調用應用程式的歷史似然性來記分應用程式,如上文參看圖4及圖5所描述。
在步驟712處,取樣精靈協助程式102可將應用程式及應用程式得分傳輸至應用程式管理器106。舉例而言,取樣精靈協助程式102可選擇具有最高得分(例如,被使用者調用之最高機率)之數個(例如,三個)應用程式以傳輸至應用程式管理器106。取樣精靈協助程式102可排除已在先前時間週期(例如,先前5分鐘)內啟動之應用程式。取樣精靈協助程式102可將識別最高記分之應用程式的資訊及其各別得分傳輸至應用程式管理器106,如上文參看圖4所描述。
在步驟714處,取樣精靈協助程式102可自應用程式管理器106接收一請求以判定是否確定啟動應用程式。舉例而言,取樣精靈協助程式102可接收一識別應用程式之「ok to launch(確定啟動)」請求。
在步驟716處,取樣精靈協助程式102可判定當前行動器件條件及預算考慮到應用程式啟動。舉例而言,取樣精靈協助程式102可分析行動器件100之環境條件、資料與能量預算、應用程式啟動速率限制、網路條件及其他資料以判定當前時間是否為啟動應用程式之優良時間,如上文參看圖4予以詳細描述。
在步驟718處,取樣精靈協助程式102可將指示「確定啟動」所識別之應用程式的回覆傳輸至應用程式管理器106。舉例而言,若條 件對於背景應用程式啟動而言係優良的,則取樣精靈協助程式102可向應用程式管理器106傳回「yes(是)」值,使得應用程式管理器106可啟動所識別之應用程式。
短期趨勢
在一些實施中,取樣精靈協助程式102可經組態以偵測應用程式何時成趨勢且基於所偵測到之趨勢在行動器件100上之背景中預測性地啟動該等應用程式。舉例而言,若應用程式正由行動器件100之使用者重複性地調用,則該應用程式成趨勢。在一些狀況下,成趨勢之應用程式係新應用程式或在趨勢之前係可能未包括於上文所描述之「what to launch(啟動什麼)」應用程式預報中的很少使用之應用程式。因此,可不使用上文所描述之應用程式啟動預報方法來使成趨勢之應用程式保持為最新。
應用程式啟動趨勢偵測之目的係偵測正由使用者重複地啟動之應用程式及判定該等應用程式正被啟動所用的近似步調(例如,週期),從而在報導較小步調上犯錯。據稱正由使用者重複地調用之應用程式係「成趨勢」的。可接著由應用程式管理器106使用所判定之步調來設定計時器,該等計時器將觸發應用程式管理器106在背景中啟動成趨勢之應用程式,使得當使用者調用該等應用程式時該等應用程式將得以更新,如上文所描述。舉例而言,若一應用程式之步調為5分鐘,則應用程式管理器106可設定一將每4分鐘到期之計時器且使應用程式管理器106啟動該應用程式,使得該應用程式可接收更新之內容且在由使用者再次調用之前更新該應用程式之介面。在一些實施中,本文中所描述之趨勢偵測機制可用以偵測除應用程式啟動以外之其他系統事件趨勢(諸如,重複之軟體或網路通知、應用程式崩潰等)。
在一些實施中,取樣精靈協助程式102可保持一可用以追蹤數個 應用程式之行為的趨勢表。趨勢表可包括應用程式識別欄位(APPID)、狀態欄位(STATE)、上一次啟動時間戳(LLT)、指示啟動之間的時間量的中間啟動步調(ILC)及置信欄位(C)。
圖8為說明趨勢表中之項目(例如,應用程式)之狀態轉變的流程圖800。最初在步驟802處,趨勢表可包括空項目(例如,記錄),其中APPID、LLT、ILC及C欄位為空(例如,N/A)且STATE被設定至「無效」(I)。當在時間t啟動應用程式時,針對可用項目(例如,處於狀態I之項目)來掃描趨勢表。在可能之無效項目當中,可將若干方法用於選擇待使用之項目。舉例而言,可選擇一隨機無效項目。替代地,可選擇一無效項目,使得趨勢表中之所有空項目被保持為呈相連次序。若不存在無效項目,則可選擇處於暫時(T)狀態之最陳舊項目(或隨機項目)以追蹤新近啟動之應用程式。若不存在I或T狀態項目,則可選擇最陳舊之新(N)狀態以追蹤新近啟動之應用程式。
在步驟804處,一旦選擇趨勢表項目,便可將用於追蹤新近啟動之應用程式的所選項目之STATE欄位設定至新(N),可將APPID設定至用於新近啟動之應用程式的識別符,可將LLT欄位設定至當前時間t(例如,掛鐘時間)且將ILC及C欄位設定至預定最小值ILC_MIN(例如,1分鐘)及C_MIN(例如,零)。
在步驟806處,關於同一應用程式在時間t'之下一次啟動,找到該應用程式之表中的項目(若其仍然存在且尚未被驅逐(例如,經選擇以追蹤另一應用程式))。將該項目之STATE設定至暫時(T),將ILC設定至LLT與當前系統時間之間的差(例如,t'-t或t'-LLT),且遞增C欄位(例如,遞增預定值C_DELTA)。替代地,可將ILC欄位設定至其舊值及新值之某一其他函式(諸如,執行平均值)。
在步驟808處,關於同一應用程式在時間t"之下一次啟動,找到該應用程式之表中的項目(若其仍然存在且尚未被驅逐(例如,經選擇 以追蹤另一應用程式))。該項目之STATE可保持被設定至暫時(T),將ILC設定至LLT與當前掛鐘時間之間的差(例如,t"-t'或t"-LLT),且再次遞增C欄位(例如,遞增預定值C_DELTA)。
在步驟810處,若在應用程式之若干次啟動之後趨勢表項目之C值達到(例如,等於)一臨限值(例如,C_HIGHTHRESHOLD),則在步驟811處,可將該應用程式項目之狀態改變至STATE=A。若在步驟810處趨勢表項目之C值未達到臨限值(例如,C_HIGHTHRESHOLD),則可根據步驟808來更新該項目之值。
每當在處於狀態「A」時啟動應用程式時,若上一次啟動與該次啟動之間的時間係在某一時間量(例如,ILC_EPSILON=5分鐘)內,則遞增應用程式項目之置信(C)欄位直至其達到一預定最大值(例如,C_MAX)。當趨勢表中之應用程式項目處於有效(A)狀態時,可將該項目之ILC值用作啟動速率(例如,步調)之估計且該項目之APPID可用以識別成趨勢之應用程式。
在一些實施中,取樣精靈協助程式102可將應用程式識別符(APPID)及步調值(ILC)發送至應用程式管理器106,使得應用程式管理器106可在背景中啟動所識別之應用程式以預期該應用程式之使用者調用,從而使得在使用者啟動該應用程式之前該應用程式可接收更新之內容,如上文所描述。舉例而言,應用程式管理器106可基於步調值來開始一計時器,該計時器將喚醒應用程式管理器106來啟動應用程式以預期使用者調用該應用程式。
在一些實施中,取樣精靈協助程式102可向應用程式管理器106發送指示應由應用程式管理器106啟動成趨勢之應用程式的信號或通知。舉例而言,應用程式管理器106可藉由向取樣精靈協助程式102發送應用程式識別符來註冊對應用程式之興趣。取樣精靈協助程式102可針對使用者調用來監視應用程式以判定應用程式是否成趨勢,如上 文所描述。若應用程式成趨勢,則取樣精靈協助程式102可如上文所描述來判定調用之步調,且在基於步調所判定之時間將通知或信號發送至應用程式管理器106。舉例而言,若步調係四分鐘,則取樣精靈協助程式102可每3分鐘將信號發送至應用程式管理器106以使應用程式管理器106啟動應用程式。若步調改變至六分鐘,則取樣精靈協助程式102可偵測步調改變且調整應用程式管理器106何時被傳信。舉例而言,取樣精靈協助程式102可向應用程式管理器106傳信以每5分鐘而非每3分鐘啟動應用程式以調整減小之步調(例如,調用之間增加之時間週期)。
在出於任何原因(例如,新增新項目、更新現有項目等)而對趨勢表進行每次檢測時,處於STATE=T或STATE=A之所有項目(其自上一次啟動以來的時間比其ILC大ILC_EPSILON)將使其C值遞減。在那時C值低於最小臨限值(例如,C_LOWTHRESHOLD)的任何項目被降階。舉例而言,可將項目自狀態A降階至狀態T或自狀態T降階至狀態I。
在一些實施中,上文所描述之趨勢偵測機制可用以偵測除應用程式調用或啟動之外的成趨勢事件。舉例而言,上文所描述之趨勢偵測方法及趨勢表可用以偵測及追蹤行動器件100上之任何複現事件。成趨勢事件可包括螢幕觸控、網路連接、應用程式故障、網路侵入之發生及/或可向取樣精靈協助程式102報導或傳信之任何其他事件。
推送通知
圖9為說明用於將推送通知提供給行動器件100之系統的方塊圖900。在一些實施中,行動器件100可經組態以接收推送通知。舉例而言,推送通知可為由推送提供者902起始且經由推送通知伺服器906而發送至執行於行動器件100上之推送服務精靈協助程式904的訊息。
在一些實施中,推送提供者902可接收授權以經由由應用程式 908呈現給行動器件100之使用者的使用者授權請求將推送通知發送至行動器件100。舉例而言,推送提供者902可為由創建(例如,程式化、開發)應用程式908之同一賣主擁有、操作及/或保持之伺服器。當應用程式908在行動器件100上呈現一請求授權推送提供者902將推送通知發送至行動器件100的使用者介面且使用者指示推送通知被授權時,推送提供者902可自使用者接收授權以將推送通知發送至行動器件100(例如,推送服務精靈協助程式904)。舉例而言,使用者可在由應用程式908呈現之使用者介面上選擇一按鈕以指示推送通知針對推送提供者902及/或應用程式908而被授權。推送提供者902可接著接收一器件符記,該器件符記識別行動器件100且可用以將推送通知投送至行動器件100。舉例而言,推送通知伺服器906可接收具有推送通知之器件符記且使用該器件符記來判定哪一行動器件100應接收該推送通知。
在一些實施中,行動器件100可將識別授權之推送應用程式的資訊發送至推送通知伺服器906。舉例而言,行動器件100可將含有推送通知篩選器914及行動器件100之器件符記的訊息926發送至推送通知伺服器906。推送通知伺服器906可針對由推送通知伺服器906服務之每一行動器件來儲存器件符記(例如,用於行動器件100之識別符)至推送篩選器914之映射。舉例而言,推送篩選器914可包括識別已接收到授權以在行動器件100上接收推送通知之應用程式的資訊。
在一些實施中,可由推送通知伺服器906使用推送篩選器914以濾除至尚未由行動器件100之使用者授權的應用程式之推送通知(例如,防止將推送通知發送至尚未由行動器件100之使用者授權的應用程式)。由推送提供者902發送至推送通知伺服器906之每一推送通知可包括識別與推送提供者902及行動器件100(例如,器件符記)相關聯之應用程式908的資訊(例如,識別符)。
當通知伺服器906接收推送通知時,通知伺服器906可使用行動器件識別資訊(例如,器件符記)來判定哪一推送篩選器914將應用於所接收之推送通知。通知伺服器906可比較推送通知中之應用程式識別資訊與用於所識別之行動器件的推送篩選器914以判定與推送提供者902相關聯且在推送通知中所識別之應用程式是否在推送篩選器914中得以識別。若與推送通知相關聯之應用程式在推送篩選器914中得以識別,則通知伺服器906可將自推送提供者902接收之推送通知傳輸至行動器件100。若推送通知中所識別之應用程式未在推送篩選器914中得以識別,則通知伺服器將不把自推送提供者902接收之推送通知傳輸至行動器件100且可刪除推送通知。
非喚醒推送通知
在一些實施中,通知伺服器906可經組態以處理高優先權推送通知及低優先權推送通知。舉例而言,推送提供者902可將高優先權推送通知910及/或低優先權推送通知912發送至推送通知伺服器906。舉例而言,推送提供者902可藉由在內含於被發送至推送通知伺服器906及行動器件100之推送通知內的資料中指定推送通知之優先權來將推送通知識別為高或低優先權。
在一些實施中,推送通知伺服器906可以不同於高優先權推送通知910之方式來處理低優先權推送通知912。舉例而言,推送通知伺服器906可經組態以比較內含於高優先權推送910中之應用程式識別資訊與推送篩選器914中之授權之應用程式識別資訊以判定是否可將高優先權推送通知910傳輸至行動器件100。若高優先權推送通知910中之應用程式識別資訊匹配推送篩選器914中之授權之應用程式識別符,則推送通知伺服器906可將高優先權推送通知傳輸至行動器件100。若高優先權推送通知910中之應用程式識別資訊不匹配推送篩選器914中之授權之應用程式識別符,則推送通知伺服器906將不把高優先權推 送通知傳輸至行動器件100。
在一些實施中,推送通知伺服器906可經組態以延遲低優先權推送通知之傳遞。舉例而言,當行動器件100自推送通知伺服器906接收推送通知時,該推送通知之接收使行動器件100喚醒(例如,在處於睡眠或低電力狀態的情況下)。當行動器件100喚醒時,行動器件100將接通可耗盡電池、使用蜂巢式資料、使行動器件100發熱或以其他方式影響行動器件100之各種子系統及處理器。舉例而言,藉由防止或延遲低優先權推送通知至行動器件100之傳遞,行動器件100可節約網路(例如,蜂巢式資料)及系統(例如,電池)資源。
在一些實施中,推送通知篩選器914可包括喚醒清單916及非喚醒清單918。喚醒清單916可識別低優先權推送通知應被傳遞至行動器件100的應用程式。在一些實施中,當授權一應用程式在行動器件100處接收推送通知時,以預設方式將應用程式識別資訊新增至喚醒清單914。非喚醒清單918可識別低優先權推送通知應被延遲的授權之應用程式。當描述推送通知起始之背景更新時,下文詳細描述了用於充填非喚醒清單918及/或操縱喚醒清單916及非喚醒清單918的特定機制。在一些實施中,高優先權推送通知將在推送通知伺服器906處不被延遲且將被傳遞至行動器件100,只要高優先權推送通知中所識別之應用程式在推送篩選器914(例如,喚醒清單914及/或非喚醒清單918)中被識別。
在一些實施中,當推送通知伺服器906接收低優先權推送通知912時,推送通知伺服器906可比較低優先權推送通知912中之應用程式識別符與喚醒清單916及/或非喚醒清單918。舉例而言,若低優先權推送通知912中之應用程式識別資訊匹配喚醒清單916中之授權之應用程式識別符,則將在通知訊息920中將低優先權推送通知912傳遞至行動器件100。
在一些實施中,可延遲與在非喚醒清單918中所識別之應用程式相關聯的低優先權推送通知之傳遞。舉例而言,若低優先權推送通知912中所識別之應用程式亦在非喚醒清單918中得以識別,則低優先權推送通知912可儲存於推送通知資料儲存區922中且並不立即傳遞至行動器件100。在一些實施中,若由推送通知(高或低優先權)所識別之行動器件100當前並不連接至推送通知伺服器906,則可將斷開之行動器件100的推送通知儲存於推送通知資料儲存區922中以供稍後傳遞至行動器件100。
在一些實施中,儲存於推送資料儲存區922中之推送通知將保持於推送資料儲存區922中直至與所儲存之推送通知相關聯的應用程式識別符自非喚醒清單918移至喚醒清單916為止或直至在推送通知伺服器906與行動器件100之間建立網路連接為止。舉例而言,當另一(高或低優先權)推送通知被傳遞至行動器件100時或當行動器件100將其他傳輸924(例如,狀態訊息、心跳訊息、持活訊息等)發送至推送通知伺服器906時,可建立推送通知伺服器906與行動器件100之間的網路連接。舉例而言,行動器件100可將指示行動器件100將在一時間週期(例如,5分鐘)中係有效的訊息924發送至推送通知伺服器905且推送通知伺服器906可在所指定之有效時間週期期間將所有所接收之推送通知發送至行動器件100。在一些實施中,當在行動器件100與推送通知伺服器906之間建立網路連接時,儲存於推送通知儲存區922中之所有推送通知將被傳遞至行動器件100。舉例而言,可經由由在行動器件100與推送通知伺服器906之間的其他傳輸所創建之連接來傳輸儲存於推送通知資料儲存區922中之推送通知。
在一些實施中,行動器件100可與推送通知伺服器906建立兩個不同通信頻道。舉例而言,可同時或在不同時間建立該兩個通信頻道。舉例而言,行動器件100可具有至推送通知伺服器906之蜂巢式資 料連接及/或Wi-Fi連接。在一些實施中,行動器件100可產生用於每一通信頻道之不同推送篩選器914且將該等推送篩選器傳輸至推送通知伺服器906。舉例而言,蜂巢式資料連接可與第一組推送篩選器914相關聯以用於判定何時跨越蜂巢式資料連接來發送高優先權推送通知及低優先權推送通知。Wi-Fi資料連接可與和蜂巢式資料推送篩選器相同或不同之第二組推送篩選器914相關聯以用於判定何時跨越Wi-Fi資料連接來發送高優先權推送通知及低優先權推送通知。當推送通知伺服器906接收一推送通知時,推送通知伺服器可比較該推送通知中所識別之應用程式與用於通信頻道(例如,Wi-Fi、蜂巢式)之推送通知篩選器,推送通知伺服器906將使用該等推送通知篩選器以將推送通知傳輸至行動器件100。
推送起始之背景更新
在一些實施中,由行動器件100對推送通知之接收可觸發行動器件100上之應用程式的背景更新。舉例而言,當行動器件100(例如,推送服務精靈協助程式904)自推送通知伺服器906接收推送通知訊息920時,推送服務精靈協助程式904可比較推送通知訊息920中之應用程式識別符與儲存於行動器件100上之推送篩選器928以判定推送通知訊息920由推送通知伺服器906恰當地傳遞抑或應已由推送通知伺服器906篩選(例如,未傳遞)。舉例而言,推送篩選器928、喚醒清單930及非喚醒清單932可分別對應於推送篩選器914、喚醒清單916及非喚醒清單918。在一些實施中,若推送服務精靈協助程式904判定推送通知訊息920不應已被傳遞至行動器件100,則將刪除推送通知訊息902。
低優先權推送通知
在一些實施中,由行動器件100接收之推送通知訊息920可包括低優先權推送通知。舉例而言,低優先權推送通知可指示內容更新可 供與推送通知相關聯的應用程式之用。因此,當低優先權推送通知引起應用程式908之啟動時,應用程式908可自一或多個網路資源(例如,推送提供者902)下載更新之內容。
在一些實施中,當推送服務精靈協助程式904接收與行動器件100上之應用程式(例如,應用程式908)相關聯的低優先權推送通知時,推送服務精靈協助程式904可詢問取樣精靈協助程式102是否確定啟動與所接收之低優先權推送通知相關聯的應用程式。舉例而言,推送服務精靈協助程式904可藉由向取樣精靈協助程式102發送用於與所接收之低優先權推送通知相關聯之應用程式的識別符來調用取樣精靈協助程式102之「ok to launch(確定啟動)」介面。取樣精靈協助程式102可檢查資料預算、能量預算、環境條件及速率限制(如上文參看圖4所描述),且向推送服務精靈協助程式904傳回指示是否確定啟動由低優先權推送通知所識別之應用程式的值。
在一些實施中,若自「ok to launch(確定啟動)」請求所傳回之值指示「yes(是)」確定啟動應用程式,則推送服務精靈協助程式904將把低優先權推送通知發送至應用程式管理器106且應用程式管理器106可調用該應用程式(例如,應用程式908)。應用程式908可接著經由網路(例如,網際網路)與推送提供者902通信以自推送提供者902接收更新之內容。
在一些實施中,若自「ok to launch(確定啟動)」請求所傳回之值指示「no(否)」確定不啟動應用程式,則推送服務精靈協助程式904將把低優先權推送通知儲存於推送通知資料儲存區934中。舉例而言,當儲存低優先權推送通知時,推送服務精靈協助程式904將僅儲存針對該推送通知中所識別之應用程式所接收的上一個推送通知。
在一些實施中,當取樣精靈協助程式102指示推送服務精靈協助程式904不應立刻啟動應用程式(例如,「ok to launch(確定啟動)」回 覆為「no(不)」)時,推送服務精靈協助程式904可將用於該應用程式之應用程式識別符自喚醒清單930移至非喚醒清單932。舉例而言,若取樣精靈協助程式102判定行動器件之預算、限制及/或條件未考慮到啟動應用程式,則允許推送通知伺服器906針對與該應用程式相關聯之額外低優先權推送通知來喚醒行動器件100將只是另外消耗行動器件100之資料及能量預算或使環境條件變更糟(例如,使器件發熱)。因此,藉由將應用程式識別符移入非喚醒清單932中且將一包括更新之篩選器928(例如,喚醒清單930及非喚醒清單932)之訊息926發送至推送通知伺服器906,通知伺服器906可更新其自己的推送篩選器914、喚醒清單916及非喚醒清單918以反映推送篩選器928之改變及防止用於應用程式之額外低優先權推送通知被傳遞至行動器件100。
在一些實施中,若自「ok to launch(確定啟動)」請求所傳回之值指示「never(決不)」確定啟動應用程式,則推送服務精靈協助程式904將刪除低優先權推送通知且自推送篩選器928移除與該推送通知相關聯之應用程式識別符。可將更新之推送篩選器傳輸至推送通知伺服器906且可更新推送通知伺服器906上之推送篩選器914以防止推送通知伺服器906發送與應用程式識別符相關聯之任何更多推送通知。
在一些實施中,取樣精靈協助程式102可將「停止」信號傳輸至推送服務精靈協助程式904以臨時地防止未來之低優先權推送通知自推送通知伺服器906發送至行動器件100。舉例而言,當取樣精靈協助程式102判定以下各情況時,取樣精靈協助程式可將停止信號發送至推送服務精靈協助程式904:全域應用程式啟動速率限制已被超過、推送資料預算對於當前小時而言被用完、推送能量預算對於當前小時而言被用完、系統正經歷熱事件(例如,行動器件100太熱)、行動器件100具有不良之蜂巢式連接且行動器件100未連接至Wi-Fi及/或行動器件100連接至語音呼叫且未連接至Wi-Fi。當推送服務精靈協助程式 904接收停止信號時,推送服務精靈協助程式904可將喚醒清單930中之應用程式識別符移至非喚醒清單932且將更新之推送篩選器928傳輸至推送通知伺服器906以更新推送篩選器914。因此,推送通知伺服器906將臨時地防止未來之低優先權推送通知喚醒行動器件100及影響行動器件100之預算、限制及操作條件。
在一些實施中,取樣精靈協助程式102可將「ok to retry(可以重試)」信號傳輸至推送服務精靈協助程式904。舉例而言,取樣精靈協助程式102可監視預算之狀態、網路連接、限制及器件條件且在以下各情況時將把「ok to retry(可以重試)」訊息發送至推送服務精靈協助程式904:當推送資料預算未被用完時、當能量預算未被用完時、當行動器件100未經歷熱事件時、當行動器件100具有優良品質之蜂巢式連接或連接至Wi-Fi時、當行動器件100未連接至語音呼叫時且當啟動速率限制已被重設時。一旦推送服務精靈協助程式904接收「ok to retry(可以重試)」信號時,推送服務精靈協助程式904將針對推送通知資料儲存區934中之每一推送通知而把「ok to launch(確定啟動)」請求發送至取樣精靈協助程式102以判定是否確定啟動與所儲存之推送通知相關聯的每一應用程式。
若取樣精靈協助程式102自「確定啟動」請求傳回「yes(是)」,則推送服務精靈協助程式904可將推送通知發送至應用程式管理器106且應用程式管理器106可啟動與該推送通知相關聯之應用程式以作為行動器件100上之背景處理序,如上文所描述。一旦啟動應用程式,該應用程式便可下載內容或資料更新且可基於所下載之資料來更新應用程式使用者介面。應用程式管理器106將不詢問取樣精靈協助程式102是否確定啟動與低優先權推送通知相關聯之應用程式。
高優先權推送通知
在一些實施中,由行動器件100接收之推送通知訊息920可包括 高優先權推送通知。舉例而言,高優先權推送通知可指示內容更新可供與推送通知相關聯的應用程式之用。因此,當高優先權推送通知引起應用程式之調用時,該應用程式可自一或多個網路資源下載更新之內容。在一些實施中,當由推送服務精靈協助程式904接收高優先權推送通知時,推送服務精靈協助程式904將把高優先權推送通知發送至應用程式管理器106而不向取樣精靈協助程式102作出「ok to launch(確定啟動)」請求。
在一些實施中,當應用程式管理器106接收與應用程式相關聯之推送通知時,應用程式管理器106將向取樣精靈協助程式102作出「ok to launch(確定啟動)」請求。回應於該「ok to launch(確定啟動)」請求,取樣精靈協助程式102可以如上文所描述之「yes(是)」、「no(否)」或「never(決不)」回應來作出回應。當應用程式管理器106接收對「確定啟動」請求之「yes(是)」回覆時,應用程式管理器106可啟動與所接收之高優先權推送通知相關聯的應用程式以作為行動器件100上之背景處理序。
在一些實施中,當應用程式管理器106接收對「ok to launch(確定啟動)」請求之「no(否)」回覆時,應用程式管理器106可將高優先權推送通知儲存於高優先權推送通知儲存區936中,當應用程式管理器106接收「never(決不)」回應時,應用程式管理器106可刪除高優先權推送通知且針對與該推送通知相關聯之應用程式來刪除儲存於推送通知資料儲存區936中之任何推送通知。
在一些實施中,取樣精靈協助程式102可將「ok to retry(可以重試)」信號發送至應用程式管理器106。舉例而言,當應用程式管理器106自取樣精靈協助程式102接收「ok to retry(可以重試)」訊息時,應用程式管理器106可針對與高優先權推送通知資料儲存區936中之每一高優先權推送通知相關聯的應用程式作出「ok to retry(可以重 試)」請求且當回應於「ok to launch(確定啟動)」請求而接收到「yes(是)」回覆時啟動各別應用程式以作為背景處理序。
延遲推送通知之顯示
在一些實施中,高優先權推送通知可使圖形使用者介面顯示於行動器件100上。舉例而言,高優先權推送通知之接收可使橫幅、氣球或其他圖形物件顯示於行動器件100之圖形使用者介面上。舉例而言,圖形物件可包括指示所接收之推送通知之標的或內容的資訊。
在一些實施中,當應用程式管理器106接收高優先權推送通知時,應用程式管理器106可使該通知顯示於行動器件100之圖形使用者介面上。然而,當高優先權推送通知指示存在待下載至與高優先權推送通知相關聯之應用程式的資料更新時,可在顯示推送通知之前在行動器件100之背景中啟動該應用程式。舉例而言,應用程式管理器106可組態有在啟動與高優先權推送通知相關聯之應用程式與顯示向使用者宣告推送通知之圖形物件(例如,橫幅)之間待延遲之時間量(例如,30秒)。舉例而言,該延遲可允許應用程式具有足夠時間來下載內容更新且在由使用者調用之前更新該應用程式之使用者介面。因此,當使用者提供至圖形物件之輸入或以其他方式調用與高優先權推送通知相關聯的應用程式時,該應用程式之使用者介面將為最新的且將不迫使使用者等待該應用程式之更新。在一些實施中,若應用程式管理器106不能啟動與高優先權推送通知相關聯的應用程式,則行動器件100將顯示圖形物件(例如,橫幅)以通知使用者高優先權推送通知被接收。
實例推送通知處理序
圖10為用於在推送通知伺服器906處執行非喚醒推送之實例處理序1000的流程圖。在步驟1002處,推送通知伺服器906可接收一推送通知。舉例而言,推送通知伺服器906可自推送通知提供者902(例 如,由應用程式賣主操作之伺服器)接收推送通知。
在步驟1004處,推送通知伺服器906可判定該推送通知為低優先權推送通知。舉例而言,推送通知提供者可包括推送通知中之指定該推送通知之優先權的資料。推送通知伺服器906可分析推送通知之內容以判定推送通知之優先權。
在步驟1006處,推送通知伺服器906可比較推送通知與推送通知篩選器。舉例而言,推送通知可識別低優先權推送通知所針對之被安裝或組態於行動器件100上的應用程式。舉例而言,推送通知可包括應用程式識別符。推送通知伺服器906可比較推送通知中之應用程式識別符與推送通知篩選器之非喚醒清單918中的應用程式識別符。
在步驟1008處,推送通知伺服器906可判定應儲存低優先權推送通知。舉例而言,若來自低優先權推送通知之應用程式識別符係在推送通知篩選器之非喚醒清單918中,則推送通知伺服器906可判定應將低優先權推送儲存於推送通知資料儲存區922中。
在步驟1010處,基於在步驟1008處之判定,低優先權推送通知將被儲存於推送通知伺服器906之資料庫或資料儲存區922中且並不立即發送至行動器件100。
在步驟1012處,推送通知伺服器906可判定已建立了至行動器件100之網路連接。舉例而言,推送通知伺服器906可創建至行動器件100之網路連接以傳遞另一高或低優先權推送。行動器件100可建立至推送通知伺服器906之網路連接以將通知篩選器改變、週期性狀態更新、持活訊息或其他訊息發送至推送通知伺服器906。
在步驟1014處,推送通知伺服器906可回應於判定已建立了至行動器件100之網路連接來發送所儲存之推送通知。舉例而言,推送通知伺服器906可將儲存於推送通知伺服器906處之低優先權推送通知發送至行動器件100。
圖11為用於回應於低優先權推送通知來執行應用程式之背景更新之實例處理序1100的流程圖。在步驟1102處,行動器件100可自推送通知伺服器906接收低優先權推送通知。
在步驟1104處,行動器件100可判定是否確定啟動與低優先權推送通知相關聯之應用程式。舉例而言,可啟動該應用程式以作為行動器件100上之背景處理序。行動器件100可基於針對行動器件100所判定之資料與能量預算來判定是否確定啟動該應用程式。行動器件100可基於行動器件之條件及/或行動器件之網路連接的條件來判定是否確定啟動該應用程式。行動器件100可基於器件廣度(例如,全域)及個別應用程式啟動限制(例如,每小時可啟動多少應用程式、每小時可啟動單一應用程式多少次)來判定是否確定啟動應用程式。參看上文之圖4更詳細地描述了用於判定是否確定啟動應用程式之細節。
在步驟1106處,當器件條件、預算、限制及其他資料指示確定不啟動應用程式時,行動器件100可儲存低優先權推送通知。舉例而言,行動器件100可將低優先權推送通知儲存於行動器件100上之資料庫或其他資料儲存區中。
在步驟1108處,行動器件100可回應於判定確定不啟動背景應用程式來更新其推送通知篩選器。舉例而言,行動器件100可將與低優先權推送通知相關聯之應用程式移至行動器件100上之推送通知篩選器的非喚醒清單。
在步驟1110處,行動器件100可將更新之通知篩選器傳輸至推送通知伺服器906。推送通知伺服器906可基於自行動器件100接收之篩選器來更新其自己的推送通知篩選器以判定何時傳輸及何時不傳輸低優先權推送通知至行動器件100。
在步驟1112處,行動器件100可判定是否可以重試啟動與低優先權推送通知相關聯之應用程式。舉例而言,行動器件100可判定如上 文所描述之預算、限制及器件條件考慮到啟動行動器件100上之額外背景應用程式。
在步驟1114處,行動器件100可判定是否確定啟動與所儲存之低優先權推送通知相關聯的特定應用程式。舉例而言,行動器件100可判定組態於行動器件100上之預算及限制已針對當前時間而被重設或得到補充且行動器件100之環境條件及網路連接係足夠優良以啟動該特定背景應用程式。
在步驟1116處,當行動器件100判定確定啟動應用程式時,行動器件100可啟動該特定應用程式。舉例而言,可啟動該特定應用程式以作為背景處理序,從而下載新內容且在使用者調用該應用程式之前更新該應用程式之使用者介面。此處理序將允許使用者調用應用程式且不必等待下載內容更新及等待再新該應用程式之使用者介面。
圖12為用於回應於高優先權推送通知來執行應用程式之背景更新之實例處理序1200的流程圖。在步驟1202處,行動器件100可接收高優先權推送通知。
在步驟1204處,行動器件100可判定是否確定啟動與高優先權推送通知相關聯之應用程式。舉例而言,行動器件100可基於行動器件100之預算及環境條件(例如,器件條件、網路條件等)來判定是否確定啟動應用程式。
在步驟1206處,當確定不啟動與高優先權推送通知相關聯之應用程式時,行動器件100可儲存高優先權推送通知。舉例而言,行動器件100可將高優先權推送通知儲存於資料庫、佇列或其他適當資料結構中。
在步驟1208處,行動器件100可判定是否可以重試啟動與所儲存之高優先權推送通知相關聯之應用程式。舉例而言,如上文所論述,當資料與能量預算已得到補充、器件條件已改良、網路條件已改良或 行動器件100之其他條件已改變時,行動器件100可判定可以重試啟動應用程式。
在步驟1210處,行動器件100可判定是否確定啟動與所儲存之高優先權推送通知相關聯之應用程式。舉例而言,行動器件100可基於上文所論述之標準來判定是否確定啟動應用程式。
在步驟1212處,行動器件100可在行動器件100上之背景中啟動應用程式。舉例而言,可啟動該應用程式以作為行動器件100上之背景處理序,使得該應用程式可自網路(例如,網際網路)上之網路資源(例如,內容伺服器)下載更新之內容。
在步驟1214處,行動器件100可在向使用者呈現推送通知之前等待一時間週期。舉例而言,行動器件可經組態以在通知使用者所接收之高優先權推送通知之前允許應用程式下載內容歷時一時間週期。
在步驟1216處,行動器件100可在行動器件100之使用者介面上呈現推送通知。舉例而言,行動器件100可呈現一包括描述高優先權推送通知之資訊的圖形物件(例如,橫幅)。舉例而言,使用者可選擇該圖形物件以調用應用程式。由於在向使用者呈現通知之前應用程式具有時間來下載內容,所以當使用者調用該應用程式之前,該應用程式將能夠向使用者顯示更新之內容而不迫使使用者等待待自網路下載的更新之內容。
背景上傳/下載
圖13為用於在行動器件100上執行資料之背景下載及/或上傳之實例系統1300的方塊圖。背景下載及/或上傳可為在無來自使用者之明確輸入的情況下由應用程式起始之網路資料傳送。舉例而言,可執行背景下載以在使用者播放視訊遊戲應用程式時擷取下一級視訊遊戲。相比之下,前景下載或上傳可為回應於來自使用者之應發生下載或上傳之明確指示所執行的網路資料傳送。舉例而言,可藉由使用者選擇 網頁連結來起始前景下載以下載圖像、電影或文件。類似地,可基於是否自使用者接收到將資料上傳至網路資源(例如,伺服器)的明確使用者請求來區分背景上傳與前景上傳。
在一些實施中,立即為使用者執行前景下載/上傳(例如,由使用者明確請求之下載/上傳)。舉例而言,使用者請求之下載/上傳立即予以執行且不經受預算約束或其他考慮。可經由蜂巢式資料連接來執行前景下載/上傳。相比之下,背景下載及/或上傳可予以機會主義式地執行且係在預算約束及考慮之環境條件(諸如,行動器件100之溫度)內。在一些實施中,可將背景下載及/或上傳限制至Wi-Fi連接。
在一些實施中,系統1300可包括背景傳送精靈協助程式1302。在一些實施中,背景傳送精靈協助程式1302可經組態以代表執行於行動器件100上之應用程式或處理序來執行資料或內容之背景下載及上傳。舉例而言,背景傳送精靈協助程式1302可代表應用程式1304而在應用程式1304與伺服器1306之間執行背景下載及/或上傳。因此,可在處理序外自應用程式1304執行背景下載/上傳(例如,不在請求下載/上傳之處理序中執行)。
在一些實施中,應用程式1304可藉由將下載或上傳資料之請求發送至背景傳送精靈協助程式1304來起始背景下載/上傳。舉例而言,下載資料(例如,內容)之請求可識別該資料可被下載自之網路位置。上傳資料之請求可識別資料可被上傳至之網路位置及資料當前儲存於行動器件100上的位置。該請求亦可識別應用程式1304。一旦已作出請求,應用程式1304便可關機或暫時中止,使得當由背景傳送精靈協助程式1304執行背景下載/上傳時應用程式將不繼續消耗行動器件100上之運算及/或網路資源。
在一些實施中,在接收到執行資料之背景上傳或下載的請求後,背景傳送精靈協助程式1302便可將請求發送至取樣精靈協助程式 102以判定背景傳送精靈協助程式1302是否可以經由網路來執行資料傳送。
回應於自背景傳送精靈協助程式1302接收「ok to transfer(可以傳送)」請求,取樣精靈協助程式102可判定用於背景下載/上傳之資料及/或能量預算是否已針對當前小時而被用完。然而,若取樣精靈協助程式102判定行動器件100連接至外部電源,則取樣精靈協助程式102將基於能量預算而不防止背景下載/上傳。取樣精靈協助程式102可判定行動器件100是否連接至Wi-Fi。取樣精靈協助程式102亦可判定行動器件100是否處於熱事件當中(例如,操作溫度高於預定臨限值)。若取樣精靈協助程式102判定資料預算被用完且行動器件100未連接至Wi-Fi、能量預算被用完且行動器件100未連接至外部電源、或行動器件100處於熱事件當中,則取樣精靈協助程式102將傳回對由處理序1302所作之「ok to transfer(可以傳送)」請求的「no(否)」回覆。
在一些實施中,當背景傳送精靈協助程式1302自取樣精靈協助程式102接收對「ok to transfer(可以傳送)」請求的「no(否)」回覆時,處理序1302可將來自應用程式1304之背景下載/上傳請求儲存於請求存放庫1308中。
在一些實施中,取樣精靈協助程式102可將「ok to retry(可以重試)」信號發送至背景傳送精靈協助程式1302。舉例而言,當資料與能量預算得到補充時且當系統不再經歷熱事件時,取樣精靈協助程式102可將可以重試信號發送至背景傳送精靈協助程式1302。當行動器件100連接至Wi-Fi、連接至外部電源時及當系統未經歷熱事件時,取樣精靈協助程式102可將可以重試信號發送至背景傳送精靈協助程式1302。
在一些實施中,當由背景傳送精靈協助程式1302接收「ok to retry(可以重試)」信號時,背景傳送精靈協助程式1302可將「ok to transfer(可以傳送)」請求發送至取樣精靈協助程式102。若取樣精靈協助程式102傳回「ok(可以)」回覆,則背景傳送精靈協助程式1302可為應用程式1304執行背景下載或上傳。一旦背景下載完成,背景傳送精靈協助程式1302便可喚醒或調用應用程式1304且向應用程式1304提供下載之資料。
在一些實施中,背景傳送精靈協助程式1302可向取樣精靈協助程式102通知該背景下載/上傳何時開始及結束,使得取樣精靈協助程式102可關於行動器件100上所執行之背景下載/上傳來調整預算及保持統計。在一些實施中,背景傳送精靈協助程式1302可傳輸經由蜂巢式資料、經由Wi-Fi及/或總共所傳送之位元組的數目,使得取樣精靈協助程式102可關於行動器件100上所執行之背景下載/上傳來調整預算及保持統計。
在一些實施中,取樣精靈協助程式102可回應於「ok to transfer(可以傳送)」請求而向背景傳送精靈協助程式1302傳回一逾時值。舉例而言,該逾時值可指示背景傳送精靈協助程式不得不執行背景下載或上傳的時間週期(例如,5分鐘)。當逾時週期消逝時,背景傳送精靈協助程式1302將暫時中止背景下載或上傳。
在一些實施中,逾時值可基於針對當前小時所剩下之能量預算。舉例而言,取樣精靈協助程式102可基於由取樣精靈協助程式102收集之歷史資料來判定當經由Wi-Fi來執行下載或上傳時每秒消耗多少能量。取樣精靈協助程式102可藉由用在執行背景下載或上傳時消耗能量之速率除剩下之能量預算來判定逾時週期(例如,能量預算/所消耗之能量/時間=逾時週期)。
在一些實施中,背景下載及/或上傳係可恢復的。舉例而言,若行動器件100移出Wi-Fi範圍,則可暫時中止(例如,暫停)背景下載/上 傳。當行動器件100重新進入Wi-Fi範圍時,可恢復被暫時中止之下載/上傳。類似地,若背景下載/上傳用光能量預算(例如,逾時週期消逝),則可暫時中止背景下載/上傳。當額外預算得以配置時(例如,在下一小時中),可恢復被暫時中止之下載/上傳。
在一些實施中,可基於網路連接之品質來暫時中止背景下載/上傳。舉例而言,即使行動器件100可具有在行動器件100與維修蜂巢式塔之間的優良蜂巢式資料連接及在蜂巢式塔與伺服器(行動器件100正將資料傳送至該伺服器或自該伺服器傳送資料)之間的優良資料連接,行動器件100仍可能不具有至該伺服器之優良連接。舉例而言,行動器件100與伺服器之間的傳送速率可為緩慢的,或蜂巢式介面之輸貫量可為低的。若背景下載/上傳之傳送速率低於一臨限傳送速率值及/或背景下載/上傳之輸貫量低於臨限輸貫量值,則可基於所偵測到之不良品質網路連接來暫時中止或暫停背景下載/上傳(資料傳送)直至一較好之網路連接可供使用。舉例而言,若Wi-Fi連接變得可供使用,則可經由Wi-Fi連接來恢復被暫時中止之背景下載/上傳。
在一些實施中,背景傳送精靈協助程式1302可組態有關於一次可執行之背景下載及/或上傳之數目的限制。舉例而言,背景傳送精靈協助程式1302可將同時之背景下載及/或上傳的數目限制至三。
實例背景下載/上傳處理序
圖14為用於執行背景下載及上傳之實例處理序1400的流程圖。舉例而言,可由背景傳送精靈協助程式1302代表行動器件100上之應用程式來執行背景下載及/或上傳。
在步驟1402處,可接收背景傳送請求。舉例而言,背景傳送精靈協助程式1302可自執行於行動器件100上之應用程式接收背景下載/上傳請求。舉例而言,一旦應用程式作出該請求,便可終止或暫時中止該應用程式。該請求可識別該應用程式且識別資料之源位置及/或 目的地位置。舉例而言,當下載資料時,源位置可為伺服器之網路位置且目的地位置可為行動器件100之檔案系統中的目錄。當上傳資料時,源位置可為檔案系統位置且目的地可為網路位置。
在步驟1404處,行動器件100可判定預算及器件條件未考慮到資料傳送。舉例而言,背景傳送精靈協助程式1302可詢問取樣精靈協助程式102是否可以執行所請求之背景傳送。取樣精靈協助程式102可判定用於背景下載/上傳之能量與資料預算是否被用完且行動器件100是否處於熱事件當中。若背景下載/上傳預算被用完或若行動器件100處於熱事件當中,則取樣精靈協助程式102可將指示不可以執行背景資料傳送之訊息發送至背景傳送精靈協助程式1302。
在步驟1406處,行動器件100可儲存背景傳送請求。舉例而言,背景傳送精靈協助程式1302可將傳送請求儲存於傳送請求存放庫中。
在步驟1408處,行動器件100可判定可以重試背景傳送。舉例而言,取樣精靈協助程式102可判定資料及能量預算已得到補充且行動器件100不處於熱事件當中。取樣精靈協助程式102可將重式訊息發送至背景傳送精靈協助程式1302。背景傳送精靈協助程式1302可接著嘗試執行儲存於傳送請求存放庫中的所請求之傳送。
在步驟1410處,行動器件100可判定行動器件100之預算及條件考慮到背景資料傳送。舉例而言,背景傳送精靈協助程式1302可詢問取樣精靈協助程式102是否可以執行所請求之背景傳送。取樣精靈協助程式102可判定用於背景下載/上傳之能量與資料預算得到補充且行動器件100不處於熱事件當中。若背景下載/上傳預算未被用完或若行動器件100不處於熱事件當中,則取樣精靈協助程式102可將指示可以執行背景資料傳送之訊息發送至背景傳送精靈協助程式1302。
在步驟1412處,行動器件100可執行背景傳送。舉例而言,背景傳送精靈協助程式1302可為請求應用程式執行所請求之背景下載或背 景上傳。背景傳送精靈協助程式1302可向取樣精靈協助程式102通知背景傳送何時開始及結束。背景傳送精靈協助程式1302可發送一訊息,該訊息通知取樣精靈協助程式在背景下載或上傳期間所傳送之位元組的數目。一旦背景傳送完成,背景傳送精靈協助程式1302便可調用(例如,啟動或喚醒)作出該背景傳送請求之應用程式且將完成狀態資訊(例如,成功、錯誤、下載了資料等)發送至請求應用程式。
啟用/停用背景更新
圖15說明用於啟用及/或停用行動器件上之應用程式之背景更新的實例圖形使用者介面(GUI)1500。舉例而言,GUI 1500可為呈現於行動器件100之顯示器上的介面,其用於接收使用者輸入以針對行動器件100上之應用程式來調整背景更新設定。
在一些實施中,至GUI 1500之使用者輸入可基於如上文所描述之使用者調用預報來啟用或停用針對應用程式執行背景更新。舉例而言,取樣精靈協助程式102及/或應用程式管理器106可判定啟用抑或停用應用程式之背景更新且防止由應用程式管理器106啟動該應用程式或防止該應用程式被包括於由取樣處理序102產生之應用程式調用預報中。舉例而言,若停用應用程式之背景更新,則取樣精靈協助程式102將不把該應用程式包括於由應用程式管理器106請求的使用者調用之應用程式預報中。因此,當停用背景更新時,應用程式管理器106將不啟動該應用程式。相反地,若啟用應用程式之背景更新,則可將該應用程式包括於由取樣精靈協助程式102基於使用者調用機率而產生之應用程式調用預報中,如上文所描述。
在一些實施中,當接收推送通知時,至GUI 1500之使用者輸入可啟用或停用為應用程式執行背景更新,如上文所描述。舉例而言,取樣處理序102、應用程式管理器106及/或推送服務精靈協助程式904可判定是否啟用或停用應用程式之背景更新且回應於接收到推送通知 來防止由應用程式管理器106啟動該應用程式。舉例而言,若停用應用程式之背景更新且接收到該應用程式之推送通知,則應用程式管理器106將回應於該推送通知而不啟動該應用程式以下載更新。
在一些實施中,GUI 1500可顯示已被組態以執行背景更新之應用程式1502至1514。舉例而言,當由應用程式管理器106啟動時,應用程式1502至1514可經組態或程式化以執行作為行動器件100上之背景處理序。當執行作為背景處理序時,應用程式1502至1514可與各種網路資源通信以下載當前或更新之內容。當由行動器件100之使用者調用時,應用程式1502至1514可接著更新其各別使用者介面以呈現更新之內容。在一些實施中,未經組態或程式化以執行背景更新的應用程式將不顯示於GUI 1500上。
在一些實施中,使用者可將輸入提供至GUI 1500以啟用及/或停用應用程式之背景更新。舉例而言,使用者可關於雙態觸發1516而將輸入(例如,觸控輸入)提供給行動器件102以接通或切斷應用程式1502之背景更新。使用者可關於雙態觸發1518而將輸入(例如,觸控輸入)提供給行動器件102以接通或切斷應用程式1508之背景更新。
在一些實施中,可經由GUI 1500來指定針對背景更新應用程式之額外選項。舉例而言,使用者可選擇與應用程式1514相關聯之圖形物件1510以調用用於指定額外背景更新選項之圖形使用者介面(未圖示)。背景更新選項可包括(例如)用於接通及/或切斷應用程式1514之背景更新的開始時間及結束時間。
實例系統架構
圖16為一實例運算器件1600之方塊圖,該運算器件可實施圖1至圖15之特徵及處理序。運算器件1600可包括:記憶體介面1602;一或多個資料處理器、影像處理器及/或中央處理單元1604;及周邊設備介面1606。記憶體介面1602、一或多個處理器1604及/或周邊設備介 面1606可為分離的組件,或可整合於一或多個積體電路中。運算器件1600中之各種組件可藉由一或多個通信匯流排或信號線而耦接。
可將感測器、器件及子系統耦接至周邊設備介面1606以促進多個功能性。舉例而言,運動感測器1610、光感測器1612及近接感測器1614可耦接至周邊設備介面1606以促進定向、照明及近接功能。諸如以下各者之其他感測器1616亦可連接至周邊設備介面1606以促進相關功能性:全球導航衛星系統(GNSS)(例如,GPS接收器)、溫度感測器、生物測定感測器、磁力計或其他感測器件。
可利用攝影機子系統1620及光學感測器1622(例如,電荷耦合器件(CCD)或互補金屬氧化物半導體(CMOS)光學感測器)以促進攝影機功能,諸如記錄照片及視訊片段。攝影機子系統1620及光學感測器1622可用於(例如)藉由執行面部辨識分析來收集在使用者鑑認期間待使用之使用者影像。
可經由一或多個無線通信子系統1624來促進通信功能,該一或多個無線通信子系統可包括射頻接收器與傳輸器及/或光學(例如,紅外線)接收器與傳輸器。通信子系統1624之特定設計及實施可取決於運算器件1600意欲操作所經由之通信網路。舉例而言,運算器件1600可包括通信子系統1624,該等通信子系統經設計以經由GSM網路、GPRS網路、EDGE網路、Wi-Fi或WiMax網路及BluetoothTM網路來操作。特定言之,無線通信子系統1624可包括代管協定,使得器件100可組態為用於其他無線器件之基地台。
音訊子系統1626可耦接至揚聲器1628及麥克風1630以促進諸如揚聲器辨識、語音複寫、數位記錄之語音啟用功能,及電話功能。舉例而言,音訊子系統1626可經組態以促進處理語音命令、聲紋及語音鑑認。
I/O子系統1640可包括觸控表面控制器1642及/或其他輸入控制器 1644。觸控表面控制器1642可耦接至觸控表面1646。觸控表面1646及觸控表面控制器1642可(例如)使用複數種觸敏性技術中之任一者來偵測接觸及移動或其破裂,該等觸敏性技術包括(但不限於)電容性、電阻性、紅外線及表面聲波技術以及用於判定與觸控表面1646之一或多個接觸點的其他近接感測器陣列或其他元件。
其他輸入控制器1644可耦接至其他輸入/控制器件1648,諸如一或多個按鈕、搖臂開關、拇指旋輪、紅外線埠、USB埠及/或指針器件(諸如,手寫筆)。一或多個按鈕(未圖示)可包括用於揚聲器1628及/或麥克風1630之音量控制的向上/向下按鈕。
在一項實施中,按下按鈕歷時第一持續時間可解開觸控表面1646之鎖定;及按下按鈕歷時長於第一持續時間之第二持續時間可接通或切斷至運算器件1600之電源。按下按鈕歷時第三持續時間可啟動一語音控制或語音命令模組,該語音控制或語音命令模組使使用者能夠說出命令至麥克風1630中以使該器件執行所說出的命令。使用者可定製該等按鈕中之一或多者的功能性。觸控表面1646亦可(例如)用以實施虛擬或軟按鈕及/或鍵盤。
在一些實施中,運算器件1600可呈現所記錄之音訊及/或視訊檔案(諸如,MP3、AAC及MPEG檔案)。在一些實施中,運算器件1600可包括MP3播放器之功能性(諸如,iPodTM)。
記憶體介面1602可耦接至記憶體1650。記憶體1650可包括高速隨機存取記憶體及/或非揮發性記憶體(諸如,一或多個磁碟儲存器件、一或多個光學儲存器件及/或快閃記憶體(例如,NAND、NOR))。記憶體1650可儲存作業系統1652,諸如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式作業系統(諸如,VxWorks)。
作業系統1652可包括用於處置基本系統服務且用於執行硬體依 賴性任務的數個指令。在一些實施中,作業系統1652可為核心(例如,UNIX核心)。在一些實施中,作業系統1652可包括用於基於使用者活動來執行行動器件之動態調整的指令。舉例而言,作業系統1652可實施如參看圖1至圖15所描述之動態調整特徵。
記憶體1650亦可儲存用以促進與一或多個額外器件、一或多個電腦及/或一或多個伺服器之通信的通信指令1654。記憶體1650可包括:圖形使用者介面指令1656,其用以促進圖形使用者介面處理;感測器處理指令1658,其用以促進感測器相關處理及功能;電話指令1660,其用以促進電話相關處理序及功能;電子傳訊指令1662,其用以促進電子傳訊相關處理序及功能;網頁瀏覽指令1664,其用以促進網頁瀏覽相關處理序及功能;媒體處理指令1666,其用以促進媒體處理相關處理序及功能;GNSS/導航指令1668,其用以促進GNSS及導航相關處理序及指令;及/或攝影機指令1670,其用以促進攝影機相關處理序及功能。
記憶體1650可儲存用以促進其他處理序及功能(諸如,如參看圖1至圖15所描述之動態調整處理序及功能)之其他軟體指令1672。
記憶體1650亦可儲存諸如以下各者之其他軟體指令1674:網頁視訊指令,其用以促進網頁視訊相關處理序及功能;及/或網頁購物指令,其用以促進網頁購物相關處理序及功能。在一些實施中,媒體處理指令1666被分成音訊處理指令及視訊處理指令,其用以分別促進音訊處理相關處理序及功能以及視訊處理相關處理序及功能。
以上所識別之指令及應用程式中之每一者可對應於用於執行上文所描述之一或多個功能的一組指令。不需要將此等指令實施為分離的軟體程式、程序或模組。記憶體1650可包括額外指令或較少指令。此外,可在硬體及/或軟體中(包括在一或多個信號處理及/或特殊應用積體電路中)實施運算器件1600之各種功能。
600‧‧‧處理序
602‧‧‧步驟
604‧‧‧步驟
606‧‧‧步驟
608‧‧‧步驟
610‧‧‧步驟
612‧‧‧步驟
614‧‧‧步驟
616‧‧‧步驟

Claims (19)

  1. 一種方法,其包含:在執行於一行動器件上之一第一處理序處接收事件資料,該事件資料包括與使用者起始之應用程式調用相關聯的調用資料;自該行動器件之一第二處理序接收針對一應用程式調用預報之一第一請求;基於該調用資料來產生該應用程式調用預報。
  2. 如請求項1之方法,其進一步包含:自該第二處理序接收針對識別待於一當前時間啟動之應用程式之資訊的一第二請求;針對該行動器件上之複數個應用程式中之每一者來判定該各別應用程式將由一使用者在大約該當前時間調用的一機率;及將識別待啟動之應用程式的該資訊發送至該第二處理序,其中該資訊識別該複數個應用程式中與大於零之一機率相關聯的應用程式。
  3. 如請求項2之方法,其進一步包含:接收一第三請求;及回應於該第三請求,基於該行動器件之一資料預算、一能量預算或熱條件來判定是否啟動一應用程式。
  4. 如請求項1之方法,其中該應用程式調用預報係藉由計算一應用程式將在一時間窗期間由一使用者調用的一機率而產生。
  5. 如請求項2之方法,其中判定該機率包括:對由該第一處理序收集之該調用資料執行時間數列模型化。
  6. 如請求項2之方法,其中判定該機率包括:分析新近、每日及每 週使用者調用歷史,以計算該使用者將在大約該當前時間調用一應用程式的一機率。
  7. 一種方法,其包含:在一行動器件上之一第一處理序處自該行動器件上之一第二處理序接收一背景資料傳送請求;基於該行動器件之預算約束或環境條件來判定是否執行該背景資料傳送請求;及當不可以執行該資料傳送請求時,儲存該背景資料傳送請求。
  8. 如請求項7之方法,其中判定是否執行該背景資料傳送請求係基於該行動器件之一資料預算、一能量預算或熱條件。
  9. 如請求項7之方法,其中在由該第一處理序接收到該背景資料請求之後終止或暫時中止該第二處理序。
  10. 如請求項7之方法,其進一步包含:基於該行動器件之預算約束或環境條件來判定可執行該背景資料傳送請求;當該行動器件之預算約束及環境條件允許該背景資料傳送時,執行由該背景資料傳送請求所指示之一背景資料傳送。
  11. 如請求項10之方法,其進一步包含當該背景資料傳送完成時啟動該第二處理序。
  12. 如請求項10之方法,其進一步包含:當執行該背景資料傳送時,在偵測到一不良網路連接時暫時中止該背景資料傳送。
  13. 如請求項10之方法,其進一步包含:當執行該背景資料傳送時,在超過一或多個預算時暫時中止該背景資料傳送。
  14. 一種系統,其包含:一或多個處理器;及一電腦可讀媒體,其包括指令之一或多個序列,該等指令在由該一或多個處理器執行時使:在執行於一行動器件上之一第一處理序處接收事件資料,該事件資料包括與使用者起始之應用程式調用相關聯的調用資料;自該行動器件之一第二處理序接收針對一應用程式調用預報之一第一請求;基於該調用資料來產生該應用程式調用預報。
  15. 如請求項14之系統,其中該等指令使:自該第二處理序接收針對識別待於一當前時間啟動之應用程式之資訊的一第二請求;針對該行動器件上之複數個應用程式中之每一者來判定該各別應用程式將由一使用者在大約該當前時間調用的一機率;及將識別待啟動之應用程式的該資訊發送至該第二處理序,其中該資訊識別該複數個應用程式中與大於零之一機率相關聯的應用程式。
  16. 如請求項15之系統,其中該等指令使:接收一第三請求;及回應於該第三請求,基於該行動器件之一資料預算、一能量預算或熱條件來判定是否啟動一應用程式。
  17. 如請求項14之系統,其中該應用程式調用預報係藉由計算一應用程式將在一時間窗期間由一使用者調用的一機率而產生。
  18. 如請求項15之系統,其中判定該機率包括:對由該第一處理序收集之該調用資料執行時間數列模型化。
  19. 如請求項15之系統,其中判定該機率包括:分析新近、每日及每週使用者調用歷史以計算該使用者將在大約該當前時間調用一應用程式的一機率。
TW103118138A 2013-06-09 2014-05-23 基於使用者活動起始背景更新 TWI521434B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361832932P 2013-06-09 2013-06-09
US14/253,781 US10223156B2 (en) 2013-06-09 2014-04-15 Initiating background updates based on user activity

Publications (2)

Publication Number Publication Date
TW201502984A true TW201502984A (zh) 2015-01-16
TWI521434B TWI521434B (zh) 2016-02-11

Family

ID=52006653

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103118138A TWI521434B (zh) 2013-06-09 2014-05-23 基於使用者活動起始背景更新

Country Status (3)

Country Link
US (2) US10223156B2 (zh)
TW (1) TWI521434B (zh)
WO (1) WO2014200655A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
EP3454594B1 (en) 2013-06-11 2020-11-04 Seven Networks, LLC Offloading application traffic to a shared communication channel for signal optimisation in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US20150106202A1 (en) * 2013-10-11 2015-04-16 Cellco Partnership D/B/A Verizon Wireless Dynamic aggregation and management of mobile applications and application data
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
JP5783301B1 (ja) 2014-06-11 2015-09-24 富士ゼロックス株式会社 通信端末、通信システム及びプログラム
GB2527130B (en) * 2014-06-13 2016-08-24 1E Ltd Deploying software in a computer network
WO2018055506A1 (en) * 2016-09-22 2018-03-29 Tensera Networks Ltd. An optimized content-delivery network (cdn) for the wireless last mile
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
EP3170335B1 (en) 2014-07-16 2019-12-11 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
US10506027B2 (en) 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US10049327B2 (en) 2014-12-12 2018-08-14 Qualcomm Incorporated Application characterization for machine learning on heterogeneous core devices
EP3054647B1 (en) * 2015-02-03 2020-03-25 Alcatel Lucent Management of push notifications for mobile devices
US10454867B2 (en) * 2015-02-09 2019-10-22 Airwatch Llc Enhanced e-mail delivery to mobile devices
KR102395868B1 (ko) * 2015-02-27 2022-05-10 삼성전자주식회사 전자 장치 및 전자 장치의 어플리케이션 제어 방법
US9723470B1 (en) 2015-04-30 2017-08-01 Tensera Networks Ltd. Selective enabling of data services to roaming wireless terminals
US10149343B2 (en) 2015-05-11 2018-12-04 Apple Inc. Use of baseband triggers to coalesce application data activity
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
CN107924374A (zh) 2015-10-15 2018-04-17 腾赛拉网络有限公司 通信终端中的内容的新鲜度感知呈现
CN105553772B (zh) * 2015-12-18 2020-03-17 小米科技有限责任公司 流量监控方法及装置
US10114439B2 (en) 2016-05-26 2018-10-30 Microsoft Technology Licensing, Llc Achieving a consistent computing device battery drain rate
US11283895B2 (en) 2017-06-19 2022-03-22 Tensera Networks Ltd. Silent updating of content in user devices
CN107181700A (zh) * 2017-07-19 2017-09-19 努比亚技术有限公司 移动终端应用程序的控制方法、移动终端及存储介质
CN107967178B (zh) * 2017-12-06 2020-03-17 Oppo广东移动通信有限公司 资源配置方法和资源配置装置及移动终端和介质
US11399357B2 (en) * 2018-01-29 2022-07-26 Ranjan Jagannathan Method and system of context-based personalized notification batching
CN108513006A (zh) * 2018-03-23 2018-09-07 努比亚技术有限公司 应用程序的运行方法、移动终端及存储介质
US10958082B2 (en) * 2018-04-25 2021-03-23 Microsoft Technology Licensing, Llc Intelligent battery cycling for lifetime longevity
CN110941320A (zh) * 2018-09-25 2020-03-31 华为技术有限公司 一种基于用户习惯的电量控制方法及终端
CN109683974B (zh) * 2018-12-26 2022-05-31 北京金山安全软件有限公司 针对移动终端中应用后台服务进程的唤醒方法及相关设备
CN109947503A (zh) * 2019-03-27 2019-06-28 重庆传音通讯技术有限公司 应用程序控制方法、装置、终端及计算机可读存储介质
US11044188B2 (en) * 2019-11-01 2021-06-22 EMC IP Holding Company LLC Automated testing of push notification service in cloud computing system
US20210153118A1 (en) * 2019-11-20 2021-05-20 Mediatek Inc. Method for referring to application scenario to manage hardware component of electronic device and associated non-transitory machine-readable medium
US11403119B2 (en) * 2020-06-21 2022-08-02 Apple Inc. Declaratively defined user interface timeline views
US11888340B2 (en) * 2020-12-04 2024-01-30 Schneider Electric It Corporation Method to enhance the life of a lithium battery
US11928691B2 (en) * 2021-06-11 2024-03-12 Dell Products L.P. Method and system for managing warranty claims associated with information handling systems
US20230393910A1 (en) * 2022-06-02 2023-12-07 Apple Inc. Application relaunch optimization

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020046230A1 (en) 1998-04-29 2002-04-18 Daniel J. Dieterich Method for scheduling thread execution on a limited number of operating system threads
US6250548B1 (en) 1997-10-16 2001-06-26 Mcclure Neil Electronic voting system
US6266781B1 (en) 1998-07-20 2001-07-24 Academia Sinica Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US6791580B1 (en) 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
US6970925B1 (en) 1999-02-03 2005-11-29 William H. Gates, III Method and system for property notification
US6859829B1 (en) 1999-02-23 2005-02-22 Microsoft Corp. Method and mechanism for providing computer programs with computer system events
US6993556B1 (en) 1999-04-07 2006-01-31 Sentillion, Inc. Context administrator
US6453430B1 (en) 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
US6871214B2 (en) 2000-10-30 2005-03-22 Nortel Networks Limited Generating and providing alert messages in a communications network
US7065575B1 (en) 2000-11-20 2006-06-20 Hewlett-Packard Development Company, L.P. Cooperative networking method and system
US6928585B2 (en) 2001-05-24 2005-08-09 International Business Machines Corporation Method for mutual computer process monitoring and restart
AU2002310341A1 (en) 2001-06-07 2002-12-16 Unwired Express, Inc. Method and system for providing context awareness
US6703930B2 (en) 2001-10-05 2004-03-09 Hewlett-Packard Development Company, L.P. Personal alerting apparatus and methods
US6996441B1 (en) 2002-03-11 2006-02-07 Advanced Micro Devices, Inc. Forward-looking fan control using system operation information
US20030200264A1 (en) 2002-04-18 2003-10-23 Brill Gregory M. Wireless email protocol system and method of using the same
KR100440583B1 (ko) 2002-05-16 2004-07-19 한국전자통신연구원 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법
US20040002958A1 (en) 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US7698276B2 (en) 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
WO2004003703A2 (en) 2002-06-27 2004-01-08 Ting-Mao Chang A power saving mobility aware system and method
KR100976288B1 (ko) 2002-06-28 2010-08-16 콸콤 인코포레이티드 임계 이벤트들을 통해 애플리케이션을 관리하는 시스템 및방법
US7386855B2 (en) 2002-08-12 2008-06-10 Ntt Docomo, Inc. Application mobility service
CN1230737C (zh) 2002-09-23 2005-12-07 华为技术有限公司 一种设备数据轮询调度方法
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US20040128663A1 (en) 2002-12-31 2004-07-01 Efraim Rotem Method and apparatus for thermally managed resource allocation
US7529823B2 (en) 2003-03-27 2009-05-05 Microsoft Corporation Notifications for shared resources
US7660845B2 (en) 2003-08-01 2010-02-09 Sentillion, Inc. Methods and apparatus for verifying context participants in a context management system in a networked environment
US20070067373A1 (en) 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
US7784069B2 (en) 2003-12-01 2010-08-24 International Business Machines Corporation Selecting divergent storylines using branching techniques
US20050125701A1 (en) 2003-12-03 2005-06-09 International Business Machines Corporation Method and system for energy management via energy-aware process scheduling
US7716158B2 (en) 2004-01-09 2010-05-11 Microsoft Corporation System and method for context sensitive searching
JP4521206B2 (ja) 2004-03-01 2010-08-11 株式会社日立製作所 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
NZ550373A (en) 2004-04-28 2009-07-31 Electrolux Home Prod Inc Wireless communication with household appliances
CA2564186C (en) 2004-04-30 2019-08-20 Research In Motion Limited System and method of operation control on an electronic device
US8898256B2 (en) 2004-07-13 2014-11-25 International Business Machines Corporation Prioritization of application component distribution
US20060168014A1 (en) 2004-11-30 2006-07-27 Nokia Inc. Highly extendable message filtering daemon for a network appliance
TWI272527B (en) 2004-12-10 2007-02-01 Inventec Corp System and method synchronously updating data and application programs
US7752253B2 (en) 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
US7610266B2 (en) 2005-05-25 2009-10-27 International Business Machines Corporation Method for vertical integrated performance and environment monitoring
US8732234B2 (en) 2005-06-07 2014-05-20 Yahoo! Inc. Providing relevant non-requested content to a mobile device
US20070022380A1 (en) 2005-07-20 2007-01-25 Microsoft Corporation Context aware task page
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
GB0520576D0 (en) 2005-10-10 2005-11-16 Applied Generics Ltd Using traffic monitoring information to provide better driver route planning
US8838620B2 (en) 2006-02-03 2014-09-16 International Business Machines Corporation Predictive data object retrieval
GB0607294D0 (en) 2006-04-11 2006-05-24 Nokia Corp A node
US8126993B2 (en) 2006-07-18 2012-02-28 Nvidia Corporation System, method, and computer program product for communicating sub-device state information
TWI333170B (en) 2006-11-09 2010-11-11 Inst Information Industry Complex event evaluation systems and methods, and machine readable medium thereof
JP4544246B2 (ja) 2006-12-28 2010-09-15 ソニー株式会社 制御装置および方法、プログラム、並びに記録媒体
US8028060B1 (en) 2007-01-05 2011-09-27 Apple Inc. Background task execution over a network based on network activity idle time
US8032472B2 (en) 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
KR100861329B1 (ko) 2007-04-06 2008-10-01 한국과학기술원 상황 모니터링을 지원하는 상황 모니터링 장치 및 상황 모니터링 방법
US20080310485A1 (en) 2007-06-15 2008-12-18 Qualcomm Incorporated System and methods for controlling modem hardware
US20090165132A1 (en) 2007-12-21 2009-06-25 Fiberlink Communications Corporation System and method for security agent monitoring and protection
US7949888B2 (en) 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US8402552B2 (en) * 2008-01-07 2013-03-19 Antenna Vaultus, Inc. System and method for securely accessing mobile data
US8170547B1 (en) 2008-01-17 2012-05-01 Sprint Communications Company L.P. Dynamic adjustment of a base transceiver station in a wireless communication system
US8386822B2 (en) 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8589955B2 (en) 2008-02-12 2013-11-19 Nuance Communications, Inc. System and method for building applications, such as customized applications for mobile devices
US7911509B2 (en) 2008-03-12 2011-03-22 Sony Ericsson Mobile Communications Ab Adaptive video encode scaling
TWI375906B (en) 2008-04-21 2012-11-01 Htc Corp Method and system and device and storage medium and operating system and application program for displaying information
US7778937B2 (en) 2008-05-07 2010-08-17 International Business Machines Corporation Systems and methods for predicting wait time for service transactions
US20090282130A1 (en) 2008-05-12 2009-11-12 Nokia Corporation Resource sharing via close-proximity wireless communication
US8032317B2 (en) 2008-05-15 2011-10-04 The Nielsen Company (Us), Llc System and methods for metering and analyzing energy consumption of events within a portable device
US8996332B2 (en) 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US9037727B2 (en) 2008-06-27 2015-05-19 Alcatel Lucent Capability grabbing peer device functionality in SIP
US8327349B2 (en) 2008-07-11 2012-12-04 Internationanl Business Machines Corporation Matching plug-ins to users
US20100015926A1 (en) 2008-07-18 2010-01-21 Luff Robert A System and methods to monitor and analyze events on wireless devices to predict wireless network resource usage
US20100235306A1 (en) 2008-08-11 2010-09-16 Seth Wagoner Adaptive timelog system
US8321057B2 (en) 2009-03-12 2012-11-27 Red Hat, Inc. Infrastructure for adaptive environmental control for equipment in a bounded area
JP4966327B2 (ja) 2009-03-17 2012-07-04 株式会社東芝 情報処理装置及び省電力設定方法
US9141918B2 (en) 2009-03-18 2015-09-22 Location Labs, Inc. User contribution based mapping system and method
EP2433256A4 (en) 2009-05-21 2016-10-05 Intertrust Tech Corp SYSTEMS AND METHODS FOR CONTENT DISTRIBUTION
US20120042002A1 (en) 2009-06-03 2012-02-16 Tony Paul Smith System and method for context driven centralized help
CA2766932A1 (en) 2009-06-24 2010-12-29 Robert Green A system and method for elections and government accountability
US8190939B2 (en) 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
CN101959133A (zh) 2009-07-15 2011-01-26 华为技术有限公司 M2m用户设备的操作控制方法、系统和m2m用户设备
TWI389032B (zh) 2009-07-17 2013-03-11 Inventec Appliances Corp 可攜式通訊裝置及其韌體更新方法及系統
US8732728B2 (en) 2009-07-20 2014-05-20 Samsung Electronics Co., Ltd. System and method to allow multiple plug-in applications real-time access to a camera application in a mobile device
US8521809B2 (en) 2009-07-31 2013-08-27 Z2Live, Inc. Mobile device notification controls system and method
US8090351B2 (en) 2009-09-01 2012-01-03 Elliot Klein Geographical location authentication method
US20110060996A1 (en) 2009-09-10 2011-03-10 Alberth Jr William P Method and System for Reducing Notifications to a Mobile Device in Accordance with User Preferences
US8145199B2 (en) 2009-10-31 2012-03-27 BT Patent LLC Controlling mobile device functions
EP2328324A1 (en) 2009-11-27 2011-06-01 France Telecom Selective routing method, network and home agent
US20120154633A1 (en) 2009-12-04 2012-06-21 Rodriguez Tony F Linked Data Methods and Systems
US8510569B2 (en) 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
US20110177774A1 (en) 2010-01-13 2011-07-21 Qualcomm Incorporated Dynamic generation, delivery, and execution of interactive applications over a mobile broadcast network
WO2011138972A1 (ja) 2010-05-07 2011-11-10 日本電気株式会社 情報処理装置、端末、サーバ及びデータ転送方法
US8305728B2 (en) 2010-06-30 2012-11-06 Apple Inc. Methods and apparatus for cooling electronic devices
WO2012018431A1 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Prediction of activity session for mobile network use optimization and user experience enhancement
US8578388B2 (en) 2010-10-25 2013-11-05 International Business Machines Corporation Optimizing the performance of hybrid CPU systems based upon the thread type of applications to be run on the CPUs
US9477286B2 (en) * 2010-11-05 2016-10-25 International Business Machines Corporation Energy allocation to groups of virtual machines
US8231057B1 (en) 2010-12-14 2012-07-31 United Services Automobile Association 2D barcode on checks to decrease non-conforming image percentages
US20120179502A1 (en) 2011-01-11 2012-07-12 Smart Technologies Ulc Method for coordinating resources for events and system employing same
US8510154B2 (en) 2011-01-27 2013-08-13 Leroy Robinson Method and system for searching for, and monitoring assessment of, original content creators and the original content thereof
US10631246B2 (en) * 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
US9485640B2 (en) 2011-03-28 2016-11-01 Google Inc. Smart cache warming
US9477734B2 (en) 2011-05-10 2016-10-25 Microsoft Technology Licensing, Llc Data synch notification using a notification gateway
US8874026B2 (en) 2011-05-24 2014-10-28 Listener Driven Radio Llc System for providing audience interaction with radio programming
US20120316774A1 (en) 2011-06-09 2012-12-13 Microsoft Corporation Automatic navigation to a prior known location
GB201113921D0 (en) 2011-08-12 2011-09-28 Overlay Media Ltd Context-awareness statistics on mobile devices
US8788881B2 (en) 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US8904216B2 (en) 2011-09-02 2014-12-02 Iota Computing, Inc. Massively multicore processor and operating system to manage strands in hardware
EP2568384A1 (en) 2011-09-06 2013-03-13 Alcatel Lucent Method, controller device and computer program for measuring energy efficiency of a multi blades system
US20130067492A1 (en) 2011-09-09 2013-03-14 Eli Joshua FIDLER Content-filter publish-subscribe system that optimizes interprocess communications
WO2013048986A1 (en) 2011-09-26 2013-04-04 Knoa Software, Inc. Method, system and program product for allocation and/or prioritization of electronic resources
US8634810B2 (en) 2011-09-29 2014-01-21 International Business Machines Corporation Pushing secure notifications to mobile computing devices
US8763077B2 (en) 2011-10-07 2014-06-24 Duo Security, Inc. System and method for enforcing a policy for an authenticator device
US8874781B2 (en) 2011-10-17 2014-10-28 Qualcomm Incorporated System and apparatus for power efficient delivery of social network updates to a receiver device in a broadcast network
US8881164B2 (en) 2011-10-18 2014-11-04 Hewlett-Packard Development Company, L.P. Computer process with utilization reduction
US8718628B2 (en) 2011-10-24 2014-05-06 Verizon Patent And Licensing Inc. Intelligent call identification
US20130110943A1 (en) 2011-11-02 2013-05-02 Apple Inc. Notification and reminder generation, distribution, and storage system
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9304570B2 (en) * 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
US20130303195A1 (en) 2011-12-23 2013-11-14 Elwha Llc Computational Systems and Methods for Locating a Mobile Device
KR20130089907A (ko) 2012-01-11 2013-08-13 삼성전자주식회사 사용자 상황에 따라 광고를 제공하는 이동 단말 및 방법
US8897782B2 (en) 2012-01-16 2014-11-25 Microsoft Corporation System and method for offloading traffic from cellular networks using plugins
US8943204B2 (en) 2012-01-23 2015-01-27 Cellco Partnership Method and system for conserving network resources when sending information to mobile devices
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9183497B2 (en) 2012-02-23 2015-11-10 Palo Alto Research Center Incorporated Performance-efficient system for predicting user activities based on time-related features
US9274805B2 (en) 2012-02-24 2016-03-01 Qualcomm Incorporated System and method for thermally aware device booting
WO2013149596A1 (zh) 2012-04-05 2013-10-10 Zhang Guobiao 基于位置的预取和基于参与者的预取
US9098357B2 (en) 2012-04-11 2015-08-04 Nokia Technologies Oy Method and apparatus for activity management across multiple devices
JP6019778B2 (ja) 2012-06-07 2016-11-02 富士通株式会社 運用監視装置、運用監視装置における原因事象の判定方法、及び情報通信ネットワークシステム
US20130332524A1 (en) 2012-06-12 2013-12-12 Intermec Ip Corp. Data service on a mobile device
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
CN103581837B (zh) 2012-08-08 2019-05-14 成都鼎桥通信技术有限公司 资源配置方法、资源删除方法及设备
CN102866921B (zh) 2012-08-29 2016-05-11 惠州Tcl移动通信有限公司 一种多核cpu的调控方法及系统
US8984240B2 (en) 2012-08-30 2015-03-17 International Business Machines Corporation Reducing page faults in host OS following a live partition mobility event
US9092445B2 (en) 2012-09-06 2015-07-28 Advanced Micro Devices, Inc. Predictive information topology modeling and visualization
US8515499B1 (en) 2012-09-10 2013-08-20 Google Inc. Estimating remaining use time of mobile computing devices
US20140082383A1 (en) 2012-09-20 2014-03-20 Apple Inc. Predicting user intent and future interaction from application activities
US10042603B2 (en) 2012-09-20 2018-08-07 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
WO2014049443A2 (en) 2012-09-27 2014-04-03 Aegis Mobility, Inc. Efficient detection of movement using satellite positioning systems
US9442778B2 (en) 2012-10-01 2016-09-13 Salesforce.Com, Inc. Method and system for secured inter-application communication in mobile devices
US8887182B2 (en) 2012-10-16 2014-11-11 Yahoo! Inc. Hybrid applications
US9219668B2 (en) 2012-10-19 2015-12-22 Facebook, Inc. Predicting the future state of a mobile device user
US9431839B2 (en) 2012-10-26 2016-08-30 Nokia Technologies Oy Method, apparatus, and computer program product for optimized device-to-device charging
US9158560B2 (en) 2012-10-26 2015-10-13 Verizon Patent And Licensing Inc. Dynamic application arranger
US9736652B2 (en) 2012-11-06 2017-08-15 Intertrust Technologies Corporation Activity recognition systems and methods
US9250958B2 (en) * 2012-11-19 2016-02-02 Qualcomm Innovation Center, Inc. System, method, and apparatus for improving application-launch latencies
US9832623B2 (en) 2012-12-05 2017-11-28 T-Mobile Usa, Inc. Energy-efficient push/poll notification service
WO2014093146A1 (en) 2012-12-12 2014-06-19 Milton Theo Online voting systems and methods
US9426120B1 (en) 2012-12-21 2016-08-23 Mobile Iron, Inc. Location and time based mobile app policies
US9038134B1 (en) 2012-12-31 2015-05-19 Emc Corporation Managing predictions in data security systems
US9049168B2 (en) 2013-01-11 2015-06-02 State Farm Mutual Automobile Insurance Company Home sensor data gathering for neighbor notification purposes
US9295413B2 (en) 2013-01-17 2016-03-29 Garmin Switzerland Gmbh Fitness monitor
US9293138B2 (en) 2013-05-14 2016-03-22 Amazon Technologies, Inc. Storing state information from network-based user devices
US9392393B2 (en) 2013-06-09 2016-07-12 Apple Inc. Push notification initiated background updates
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US9256484B2 (en) 2013-06-09 2016-02-09 Apple Inc. Dynamic adjustment of mobile device based on user activity
US9603094B2 (en) 2013-06-09 2017-03-21 Apple Inc. Non-waking push notifications
US9125015B2 (en) 2013-06-28 2015-09-01 Facebook, Inc. User activity tracking system and device
JP5422086B1 (ja) 2013-07-12 2014-02-19 三菱電機株式会社 回路遮断器
CN104348855B (zh) 2013-07-29 2018-04-27 华为技术有限公司 用户信息的处理方法、移动终端及服务器
US9170119B2 (en) 2013-09-24 2015-10-27 Mitsubishi Electric Research Laboratories, Inc. Method and system for dynamically adapting user interfaces in vehicle navigation systems to minimize interaction complexity
US9377839B2 (en) 2013-12-02 2016-06-28 Verizon Patent And Licensing Inc. Dynamic battery management
US9218468B1 (en) 2013-12-16 2015-12-22 Matthew B. Rappaport Systems and methods for verifying attributes of users of online systems
US9603003B2 (en) 2014-03-05 2017-03-21 Google Technology Holdings LLC Methods and apparatus for radio network scanning using geo-tagged information from wireless client devices of heterogeneous wide area networks
US9509827B2 (en) 2014-03-12 2016-11-29 Intel IP Corporation Apparatus, system and method of managing at a mobile device execution of an application by a computing device
US10110677B2 (en) 2014-05-06 2018-10-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Context-aware decision making
US9158604B1 (en) 2014-05-13 2015-10-13 Qualcomm Incorporated Lightweight data-flow tracker for realtime behavioral analysis using control flow
US9432839B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on thermal conditions
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9326097B2 (en) 2014-07-13 2016-04-26 Seven Networks, Llc Surrounding estimation based on sensors of a mobile device
US20160171577A1 (en) 2014-12-10 2016-06-16 Meijer, Inc. System and method for providing in-person retailer assistance to customers in a retail environment
US9572104B2 (en) 2015-02-25 2017-02-14 Microsoft Technology Licensing, Llc Dynamic adjustment of user experience based on system capabilities
WO2016196497A1 (en) 2015-06-05 2016-12-08 Apple Inc. Prediction and notification of changes in the operating context of a computing device
US10015178B2 (en) 2015-07-28 2018-07-03 Sap Se Real-time contextual monitoring intrusion detection and prevention
US9979591B2 (en) 2015-08-28 2018-05-22 Samsung Electronics Co., Ltd. Event notifications for applications

Also Published As

Publication number Publication date
WO2014200655A4 (en) 2015-02-05
US10223156B2 (en) 2019-03-05
US10936358B2 (en) 2021-03-02
TWI521434B (zh) 2016-02-11
US20140366042A1 (en) 2014-12-11
US20190317800A1 (en) 2019-10-17
WO2014200655A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
TWI521434B (zh) 基於使用者活動起始背景更新
TWI514133B (zh) 基於使用者活動之行動裝置之動態調整
KR101993568B1 (ko) 피어 이벤트 데이터에 기초한 모바일 디바이스의 동적 조정
TWI540426B (zh) 行動裝置基於熱條件之動態調整
US9603094B2 (en) Non-waking push notifications
US9392393B2 (en) Push notification initiated background updates
US9462965B2 (en) Dynamic adjustment of mobile device based on system events
US9465679B2 (en) Dynamic adjustment of mobile device based on adaptive prediction of system events