TWI468055B - 基於代理伺服器之推送服務 - Google Patents

基於代理伺服器之推送服務 Download PDF

Info

Publication number
TWI468055B
TWI468055B TW102102116A TW102102116A TWI468055B TW I468055 B TWI468055 B TW I468055B TW 102102116 A TW102102116 A TW 102102116A TW 102102116 A TW102102116 A TW 102102116A TW I468055 B TWI468055 B TW I468055B
Authority
TW
Taiwan
Prior art keywords
notification
notification service
client
mobile device
server
Prior art date
Application number
TW102102116A
Other languages
English (en)
Other versions
TW201338600A (zh
Inventor
Li Li
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 TW201338600A publication Critical patent/TW201338600A/zh
Application granted granted Critical
Publication of TWI468055B publication Critical patent/TWI468055B/zh

Links

Classifications

    • 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/55Push-based network services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

基於代理伺服器之推送服務
本發明之實施例係關於行動器件處理之領域;且更特定而言係關於管理行動器件與代理伺服器的通知服務連接。
行動器件(例如,膝上型電腦、掌上型電腦、攜帶型媒體播放器、智慧型手機、多媒體行動電話、諸如「Gameboy」之行動遊戲系統等)之使用者可訂用一或多個通知服務。舉例而言,使用者可訂用一或多個「推送」電子郵件服務,諸如.Mac、Microsoft Exchange ActiveSync、推送IMAP、Yahoo!Push等。在推送電子郵件服務之狀況下,例如,電子郵件伺服器可在使用者未請求之情況下將電子郵件訊息及/或行事曆更新自動地傳輸至使用者之行動器件上的電子郵件用戶端。換言之,使用者並不向電子郵件伺服器請求(輪詢)電子郵件訊息或其他所關注項目。因此,推送通知服務為持續性通知服務。此外,其他類型之服務可使用類似推送架構(例如,更新/升級服務、新聞服務、網誌服務、播客服務等)。為了維持推送通知服務,行動器件週期性地再新與推送通知服務之連接(例如,藉由將偵測(ping)訊息傳輸至推送伺服器)。
此外,使用者可訂用一或多個「提取」服務,諸如「提取」電子郵件服務(例如,IMAP、POP3)。在提取電子郵件服務中,使用者週期性地檢查(輪詢)電子郵件伺服器以判定是否存在新電子郵件訊 息。若存在新電子郵件訊息,就將新電子郵件訊息下載至用戶端。許多電子郵件用戶端支援輪詢時間間隔之自動組態。舉例而言,行動器件之使用者可對於POP3電子郵件帳戶組態10分鐘的輪詢時間間隔(因此電子郵件用戶端每10分鐘自動輪詢電子郵件伺服器一次以檢查新電子郵件訊息)。此外,通知服務可經組態以將全網路(例如,全網際網路)事件通知訊息提供至多個用戶,其中通知服務可由一或多個用戶及/或發行者自動地發現,以上方法描述於2008年3月4日申請之題為「Automatic Notification System and Process」的美國專利申請案第12/042,307號中,該案特此以全文引用之方式併入。
行動器件建立與一或多個網路元件的資料內容脈絡(例如,封包資料協定(PDP)內容脈絡),該一或多個網路元件經由網路(例如,諸如通用封包無線電服務(GPRS)網路之蜂巢式網路及/或區域網路(LAN))將資料服務提供至行動器件(例如,來自網際網路之網際網路協定訊務)。資料內容脈絡為行動器件與網路元件之間的邏輯關聯,且包括與路由(例如,IP位址資訊)、服務品質(QoS)、計費、鑑認等相關的資訊。由於維持資料內容脈絡會消耗網路元件之網路資源,因此若行動器件並非正在有效地使用資料內容脈絡,則一或多個伺服器可終止與行動器件相關聯的資料內容脈絡。舉例而言,若行動器件被關閉(且因此並非正在使用資料內容脈絡及與網路元件聯繫),則網路元件可在未自行動器件接收到資訊之後的一段時間後終止資料內容脈絡。行動器件可週期性地再新資料內容脈絡以維持資料內容脈絡連接。
為了節省電池壽命,行動器件在不連接至恆定電源供應器且未被有效地使用(例如,閒置狀態)時可進入功率減小模式。此情形通常被稱作「休眠」模式。特定行動器件之休眠模式視行動器件之特性而可為不同的。舉例而言,在行動器件具有網路存取(例如,蜂巢式存 取、WiFi存取等)之狀況下,休眠模式可包括將主處理器臨時地置於休眠狀態且關閉顯示器,但仍使網路堆疊保持於可操作功能。因此,雖然處於休眠模式,但例示性行動器件可繼續接收電話呼叫及/或自通知服務接收所關注項目(例如,來自推送電子郵件服務及/或來自提取電子郵件服務的電子郵件訊息)。一旦接收到,行動器件便可被喚醒以處理彼等電話呼叫及/或通知。舉例而言,行動器件在處於休眠模式時於接收到電話呼叫之後喚醒,因此使用者可應答電話呼叫。另外,典型行動器件通常在處於休眠模式時無法再新資料內容脈絡(因此,行動器件通常需要被喚醒以再新資料內容脈絡)。
描述代理一行動用戶端與一通知伺服器之間的通知服務連接之一種方法及裝置。在本發明之一項實施例中,一代理伺服器自該行動用戶端接收對該通知服務之一代理伺服器設定請求。該代理伺服器進一步為該行動用戶端建立與該通知伺服器的一通知連接,並在不喚醒該行動用戶端之一應用處理器的情況下維持該通知連接。該代理伺服器自該通知服務接收一通知並將該通知轉遞至該行動用戶端。
在本發明之另一實施例中,一種系統包括一行動用戶端、一通知伺服器及一推送代理伺服器。該行動用戶端經由該通知伺服器自該通知服務接收通知,且該推送代理伺服器代理該行動用戶端之通知請求。該推送代理伺服器自該行動用戶端接收對該通知服務之一代理伺服器設定請求。該推送代理伺服器進一步為該行動用戶端建立與該通知伺服器的一通知連接,並在不喚醒該行動用戶端之一應用處理器的情況下維持與該通知伺服器的該通知連接。此外,該代理伺服器自該通知服務接收一通知並將該通知轉遞至該行動用戶端。
在本發明之又一實施例中,一種器件包括:一應用處理器,其在一第一作業系統中執行且執行一命令功能;及一網路連接性元件, 其在一第二作業系統中執行且執行一通信功能。該網路連接性包括一推送代理伺服器,其中該推送代理伺服器經組態以自該應用處理器接收對該通知服務之一代理伺服器設定請求。該推送代理伺服器進一步經組態以為該器件建立與一通知伺服器的一通知連接,且在不喚醒該應用處理器的情況下維持與該通知伺服器的該通知連接。此外,該推送代理伺服器經組態以自該通知服務接收一通知且將該通知轉遞至該應用處理器。
100‧‧‧例示性計算環境
110‧‧‧推送通知服務
120‧‧‧推送通知服務
130‧‧‧提取通知服務
140‧‧‧廣域網路(WAN)
150‧‧‧網路資料存取元件
160‧‧‧行動器件
162‧‧‧應用處理器
164‧‧‧網路連接性元件
170‧‧‧行動器件
310‧‧‧通知服務用戶端
320‧‧‧通知服務連接管理器
322‧‧‧通知服務連接訊息傳輸時間間隔排程器模組
323‧‧‧通知服務連接訊息傳輸時間間隔最佳化器模組
324‧‧‧通知服務連接訊息傳輸計時器監視器模組
325‧‧‧通知服務連接訊息喚醒排程器模組
326‧‧‧通知服務連接訊息產生器模組
327‧‧‧休眠模式管理器模組
330‧‧‧網路堆疊
340‧‧‧喚醒I/O子系統
350‧‧‧系統級計時器
360‧‧‧通知服務連接管理器
510‧‧‧休眠模式
512‧‧‧休眠模式
514‧‧‧休眠模式
516‧‧‧休眠模式
518‧‧‧休眠模式
540‧‧‧窗
542‧‧‧窗
544‧‧‧窗
546‧‧‧窗
550‧‧‧窗
552‧‧‧窗
554‧‧‧窗
560‧‧‧喚醒/喚醒時間
562‧‧‧喚醒
564‧‧‧喚醒
566‧‧‧獨立喚醒
568‧‧‧喚醒
570‧‧‧活動信號
572‧‧‧活動信號
574‧‧‧活動信號
576‧‧‧檢查
578‧‧‧活動信號
580‧‧‧檢查
582‧‧‧活動信號
584‧‧‧活動信號
700‧‧‧電腦系統
720‧‧‧處理系統
725‧‧‧電源供應器
730‧‧‧記憶體
740‧‧‧非揮發性記憶體
750‧‧‧匯流排
760‧‧‧選用之銜接台
770‧‧‧顯示控制器與顯示器件
780‧‧‧輸入/輸出器件
790‧‧‧選用之無線收發器
800‧‧‧資料處理系統
810‧‧‧記憶體
820‧‧‧處理系統
825‧‧‧電源供應器
830‧‧‧無線收發器
840‧‧‧音訊輸入/輸出
850‧‧‧選用之輸入/輸出
860‧‧‧顯示控制器及顯示器件
900‧‧‧例示性計算環境
902‧‧‧代理伺服器
904‧‧‧行動器件
950‧‧‧例示性計算環境
952‧‧‧代理伺服器
954‧‧‧行動用戶端
956‧‧‧網路連接性元件
1002‧‧‧用戶端
1004‧‧‧代理伺服器
1006‧‧‧伺服器
可藉由參考用以說明本發明之實施例的以下描述及隨附圖式來最佳地理解本發明。在圖式中:圖1說明根據本發明之一項實施例之例示性計算環境;圖2說明根據本發明之一項實施例的行動器件建立通知服務連接並排程通知服務連接訊息傳輸時間間隔的例示性流程;圖3A為根據本發明之一項實施例的說明例示性行動器件之管理通知服務連接之構架的方塊圖;圖3B為根據本發明之一項實施例的說明圖3A之通知服務連接管理器之分解視圖的方塊圖;圖4為根據本發明之一項實施例的說明管理通知服務連接之流程圖;圖5為根據本發明之一項實施例的說明行動器件基於重疊之通知服務連接訊息傳輸窗使通知服務連接訊息之傳輸同步的例示性圖表;圖6為根據本發明之一項實施例的說明使通知服務連接訊息時間間隔最佳化的例示性狀態圖;圖7為根據本發明之一項實施例的說明例示性行動器件之方塊圖;圖8為根據本發明之一項實施例的說明例示性行動器件之方塊 圖;圖9A說明根據本發明之一項實施例的包括獨立代理伺服器之例示性計算環境;圖9B說明根據本發明之一項實施例的包括併入於行動用戶端中之代理伺服器的例示性計算環境;圖10為根據本發明之一項實施例的代理用戶端與伺服器之間的服務連接之代理伺服器的方塊圖;圖11為根據本發明之一項實施例的說明由代理伺服器管理用於用戶端之通知服務連接的流程圖;圖12為根據本發明之一項實施例的說明管理代理伺服器與伺服器之間的通知服務連接之流程圖;且圖13為根據本發明之一項實施例的說明管理用戶端互動之流程圖。
在以下描述中,闡述了眾多特定細節。然而,應理解,可在無此等特定細節之情況下實踐本發明之實施例。在其他個例中,未詳細展示熟知電路、結構及技術以便不使此描述晦澀難懂。在其他個例中,未詳細展示控制結構、閘層級電路及全軟體指令序列以便不使本發明含糊不清。藉由所包括之描述,一般熟習此項技術者將能夠在無過度實驗的情況下實施適當功能性。
在本說明書中引用「一項實施例」、「一實施例」、「一實例實施例」等指示所描述之實施例可包括一特定特徵、結構或特性,但未必所有實施例可包括該特定特徵、結構或特性。此外,此類片語未必指代相同實施例。另外,當結合一實施例描述一特定特徵、結構或特性時,認為無論是否作明確描述,結合其他實施例實現該特徵、結構或特性屬於熟習此項技術者所瞭解之範圍。
在以下描述及申請專利範圍中,可使用術語「耦接」及「連接」連同其派生詞。應理解,此等術語並不意欲作為彼此之同義詞。「耦接」用以指示:可能或可能並非彼此直接實體或電接觸之兩個或兩個以上元件彼此合作或彼此互動。「連接」用以指示在彼此耦接之兩個或兩個以上元件之間建立通信。
展示於諸圖中之技術可使用在一或多個電子器件(例如,行動器件(例如,膝上型電腦、掌上型電腦、攜帶型媒體播放器、智慧型手機、多媒體行動電話、行動遊戲系統等)、非行動器件(例如,桌上型電腦、工作站、伺服器等)上儲存並執行之程式碼及資料來實施。此等電子器件使用機器可讀媒體來儲存並傳達(內部地及經由網路與其他電子器件進行通信)程式碼及資料,該等機器可讀媒體諸如機器儲存媒體(例如,磁碟、光碟、隨機存取記憶體、唯讀記憶體、快閃記憶體器件),及機器通信媒體(例如,電、光學、聲學或其他形式之所傳播信號,諸如載波、紅外線信號、數位信號等)。此外,此等電子器件通常包括一組一或多個處理器,該一或多個處理器耦接至一或多個其他組件,諸如儲存器件、一或多個使用者輸入/輸出器件(例如,鍵盤、小鍵盤、觸控螢幕及/或顯示器),及一或多個網路連接。該組處理器與其他組件之耦接通常經由一或多個匯流排及橋接器(亦被稱作匯流排控制器)。儲存器件及攜載網路訊務之信號分別表示一或多個機器儲存媒體及機器通信媒體。因此,給定電子器件之儲存器件通常儲存用於在該電子器件之該組一或多個處理器上執行的程式碼及/或資料。當然,可使用軟體、韌體及/或硬體之不同組合實施本發明之實施例的一或多個部分。
通知服務
描述用於使用行動用戶端或藉由行動用戶端之代理伺服器來管理通知服務連接的方法及裝置。在本發明之一項實施例中,行動器件 (例如,膝上型電腦、掌上型電腦、攜帶型媒體播放器、智慧型手機、多媒體行動電話、諸如「Gameboy」之行動遊戲系統等)包括一或多個通知服務用戶端(例如,推送通知服務用戶端(例如,諸如.Mac、Microsoft Exchange、推送-IMAP、Yahoo!Push等之推送電子郵件用戶端,更新/升級服務,新聞服務,網誌服務,播客服務等)及/或提取通知服務用戶端(例如,提取電子郵件用戶端,諸如POP3、IMAP等))。對於每一通知服務用戶端,行動器件獨立地排程通知服務連接訊息傳輸時間間隔,並設定通知服務連接訊息傳輸計時器。此外,通知服務連接訊息傳輸窗係與每一通知服務連接訊息傳輸時間間隔相關聯,且係基於通知服務連接訊息傳輸時間間隔之值。在針對特定通知服務用戶端之通知服務連接訊息傳輸計時器過期時,行動器件傳輸針對該通知服務的通知服務連接訊息,且亦傳輸針對通知服務連接訊息傳輸窗與該過期之傳輸計時器重疊的每一其他通知服務之通知服務連接訊息。行動器件在傳輸了通知服務連接訊息之後便可重設每一通知服務的通知服務連接訊息傳輸計時器。
在本發明之一項實施例中,對於每一通知服務連接而言,若行動器件係處於休眠模式,則行動器件排程喚醒行動器件之時間以便傳輸通知服務連接訊息。若行動器件在特定時間喚醒,或在所排程之喚醒期間在特定時間被喚醒,則行動器件傳輸針對通知服務連接訊息傳輸窗與該特定時間重疊之每一通知服務的通知服務連接訊息。行動器件在傳輸了通知服務連接訊息之後可重設每一通知服務的通知服務連接訊息傳輸計時器。
圖1說明根據本發明之一項實施例之例示性計算環境100。計算環境100包括各自與一或多個網路資料存取元件150耦接之行動器件160及170。網路資料存取元件150在本發明之不同實施例中可為各種類型之網路的部分,該等網路包括蜂巢式網路(例如,全球行動通信 系統(GSM)、GSM增強資料速率演進(EDGE)、通用封包無線電服務(GPRS)、分碼多重存取(CDMA)、分時CDMA(TD-CDMA)、通用行動電信系統(UMTS)、長期演進(LTE)或其他蜂巢式網路)、區域網路(LAN)等。舉例而言,若網路資料存取元件150為GSM網路之部分,則網路資料存取元件150可包括以下各者中之一或多者:基地收發器台(BTS)、基地台控制器(BSC)、行動交換中心(MSC)、伺服GPRS支援節點(SGSN)等。作為另一實例,若網路資料存取元件150為LAN之部分,則網路資料存取元件150可包括一或多個網路交換器、路由器、集線器、數據機等。
行動器件160包括應用處理器162及網路連接性元件164(例如,無線網路連接性元件(例如,蜂巢式電話之無線電網路連接性元件、WiFi網路連接性元件)、有線網路連接性元件(例如,有線網路介面控制器(NIC)))。行動器件160透過資料內容脈絡(例如,PDP內容脈絡)經由網路連接性元件164與網路資料存取元件150通信。廣域網路(WAN)140(例如,網際網路)與網路資料存取元件150耦接。推送通知服務110及120以及提取通知服務130與WAN 140耦接。根據本發明之一項實施例,行動器件160之使用者存取並使用推送通知服務110及120以及提取通知服務130(推送通知服務110及120以及提取通知服務130為使用者提供所關注項目)。舉例而言,推送通知服務110可正向行動器件160之使用者提供個人推送電子郵件帳戶,同時推送通知服務120可正向行動器件160之使用者提供工作推送電子郵件帳戶。作為另一實例,提取通知服務130可正向行動器件160之使用者提供組織提取電子郵件帳戶(例如,POP3電子郵件帳戶、網路郵件帳戶等)。
在本發明之一項實施例中,應用處理器162係行動器件160之中央處理器。舉例而言,應用處理器162處理行動器件160之作業系統(作業系統並未說明於圖1中以便不使本發明晦澀難懂),及在行動器 件160上執行之任何應用程式。行動器件之其他熟知特徵並未說明於圖1中以便不使本發明晦澀難懂,該等熟知特徵包括輸入/輸出器件、記憶體、電源供應器、顯示器等。
根據本發明之一項實施例,行動器件160能夠進入稱作「休眠模式」之功率減小模式。舉例而言,若行動器件160並未與恆定電源供應器耦合(例如,未插入至電源插座中),則行動器件160可週期性地進入休眠模式以節省器件之電池壽命。行動器件160可以包括以下各者之數種不同方式進入休眠模式:在一段停止使用時期(例如,1分鐘之停止使用)之後及/或直接藉由來自使用者之命令(例如,使用者可發佈命令以使行動器件160進入休眠模式)。應理解,進入休眠模式之其他機制係在本發明之範疇內。
在休眠模式期間,根據本發明之一項實施例,行動器件160臨時停用應用處理器162(應用處理器162在經臨時停用時可實際上不消耗電力)。應理解,若應用處理器162經停用,則行動器件160之作業系統及應用程式亦被停用。然而,根據本發明之一項實施例,網路連接性元件164中之至少一些並未被臨時停用。換言之,網路連接性元件164中之至少一些可繼續接收來自網路資料存取元件150之資訊,且使用電力。舉例而言,若行動器件160具有接收電話呼叫及/或文字訊息(例如,短訊息服務(SMS)訊息)之能力,則行動器件160可在休眠模式期間使無線電連接性元件保持喚醒以便接收電話呼叫及/或文字訊息。若行動器件160停用無線電連接性元件,則(例如)行動器件160之使用者將不能接收電話呼叫及/或文字訊息(例如,電話呼叫可被替代地轉遞至語音郵件(若支援))。應理解,為了處理彼等所接收之電話呼叫及/或文字訊息(例如,為了使使用者應答傳入電話呼叫),行動器件160自休眠模式喚醒(例如,重新啟用應用處理器162)。
此外,根據本發明之一項實施例,行動器件160包括在休眠模式 期間自推送通知服務110至120接收所關注項目之能力。舉例而言,網路連接性元件164中之至少一些具有在休眠模式期間自推送通知服務110至120接收所關注項目(例如,電子郵件訊息、行事曆更新、天氣更新、股票更新等)之能力。在本發明之一項實施例中,無線電網路連接性元件在休眠模式期間接收自推送通知服務110及120發送之所關注項目。因此,在休眠模式期間,若推送通知服務110及120向行動器件160之使用者提供推送電子郵件服務,則行動器件160可自推送通知服務110及120接收電子郵件訊息。根據本發明之一項實施例,行動器件160自休眠模式喚醒以處理在休眠模式期間接收到的所關注項目。
雖然在本發明之一些實施例中WiFi網路連接性元件在休眠模式期間喚醒且起作用(且能夠接收來自推送通知服務110及120之所關注項目),但在本發明之替代性實施例中,WiFi網路連接性元件在休眠模式期間被置於休眠狀態。在一項實施例中,無線電網路連接性元件相較於WiFi網路連接性元件可使用較少電力。因此,在此實施例中,與使無線電網路連接性元件保持喚醒相比較,使WiFi網路連接性元件在休眠模式期間保持喚醒會造成較大量電力被耗散。因此,在本發明之一些實施例中,行動器件160可經由Wi-Fi網路連接性元件在休眠模式期間自推送通知服務110及120接收所關注項目,而在本發明之其他實施例中,行動器件160並不經由WiFi網路連接性元件在休眠模式期間接收所關注項目。
在本發明之一些實施例中,行動器件160可使用網路連接性元件之組合自推送通知服務110及120接收所關注項目。舉例而言,行動器件160可支援經由無線電網路連接性元件(例如,經由蜂巢式網路)及/或經由WiFi網路連接性元件(例如,當連接於家庭LAN處)接收資料資訊。行動器件160之使用者可組態行動器件160,使得當WiFi服務可用時(例如,在連接於家庭LAN及/或工作LAN處時),使用WiFi網路連接 性元件;且在WiFi服務不可用時,使用無線電網路連接性元件。因此,在本發明之一項實施例中,視何網路連接性元件正在提供資料支援而定,可將無線電網路連接性元件及/或WiFi網路連接性元件用以接收來自推送通知服務110及120的所關注項目。此外,在本發明之一項實施例中,視在進入休眠模式之前何網路連接性元件正提供資料支援而定,可將無線電網路連接性元件及/或WiFi網路連接性元件用以在休眠模式期間接收來自推送通知服務110及120的所關注項目(例如,若當行動器件160喚醒時係在LAN內且WiFi網路連接性元件正接收來自推送通知服務110及120之所關注項目,則在休眠模式期間,WiFi網路連接性元件保持喚醒以接收所關注項目,且行動器件160將無線電網路連接性元件置於休眠狀態)。
在本發明之一項實施例中,WiFi網路連接性元件可相較於無線電網路連接性元件使用較多電力,而無關於在進入休眠模式之前何網路連接性元件正提供資料支援,且行動器件160在休眠模式期間將WiFi網路連接性元件置於休眠狀態(例如,臨時停用WiFi網路連接性元件)且使用無線電網路連接性元件來接收來自推送通知服務的所關注項目。舉例而言,若行動器件160經由LAN(例如,使用者之家庭LAN)與推送通知服務110及120連接,且使用者發佈命令以將行動器件160置於休眠模式,則行動器件160自動轉變至經由蜂巢式網路(經由無線電連接性元件)而與推送通知服務110及120連接,且將WiFi連接性元件置於休眠狀態。
在本發明之一些實施例中,持續性通知服務連接(例如,推送通知服務110及120)被週期性再新以便維持連接之持續性。舉例而言,若行動器件並不有效地使用至行動器件160之連接,則推送通知服務110及120可使該連接逾時(因此停止針對使用者的推送通知服務)。因此,在本發明之一些實施例中,需要行動器件160與推送通知服務110 及120通信以便維持該行動器件之持續性連接。舉例而言,以某一週期性時間間隔,行動器件160將通知服務連接訊息傳輸至推送通知服務110及120以再新連接。通知服務連接訊息告知推送通知服務110及120:行動器件160仍經連接(且大概希望繼續接收來自推送通知服務的所關注項目)。應理解,再新推送通知連接告知推送通知服務之伺服器:行動器件希望維持連接至服務。此外,再新推送通知連接告知沿著至推送通知服務之伺服器之路由的每一網路元件:維持連接(否則,例如,網路元件可能清除與該連接相關聯之網路資源)。通知服務連接訊息可為偵測訊息,或其他持續連線(keep alive)訊息。通知服務可對通知服務連接訊息作出回應以通知行動器件160:連接係在作用中。因此,若行動器件160並未自通知服務接收到回應,則可需要行動器件160重新建立與通知服務的作業階段。應理解,在本發明之一些實施例中,自通知服務接收到所關注項目亦可再新持續性通知服務連接。
傳輸通知服務連接訊息之時間間隔對於個別通知服務可為不同的。舉例而言,若30分鐘無通信,則推送通知服務110可引起連接之逾時;而若15分鐘無通信,則推送通知服務120可引起連接之逾時。然而,此等逾時時間間隔並非靜態的,且可視不同網路條件而動態地改變。此外,通知服務可能不向行動器件通知:逾時時間間隔已被修改。因此,在試圖維持連接(不必重新建立連接)時,行動器件160可在已知逾時時間間隔內傳輸通知服務連接訊息。應理解,需要行動器件160喚醒以傳輸通知服務連接訊息從而再新並維持通知服務連接。
此外,在本發明之一些實施例中,需要行動器件160週期性地再新與網路資料存取元件150(例如,諸如電訊廠商之網路中的NAT路由器、防火牆,或網路中之其他網路元件)之連接以便維持網路資料連接性。舉例而言,由於資料內容脈絡消耗網路資源,因此若資料內容 脈絡未被有效使用及/或在特定時間量內未被使用,則網路資料存取元件150可終止資料內容脈絡(例如,資料內容脈絡被移除,且該資料內容脈絡之網路資源被重新分配)。應理解,若資料內容脈絡被終止,則行動器件160不與任何通知服務連接。當然,亦應理解,可由於除停止使用週期外之其他原因終止資料內容脈絡(例如,在行動器件之位置係在網路之範圍外的情況下,在行動器件160關閉之情況下等)。在本發明之其他實施例中,資料內容脈絡不必由行動器件160再新。通常,資料內容脈絡逾時時間間隔小於通知服務逾時時間間隔。若資料內容脈絡在作用中,則藉由行動器件160傳輸至通知服務之通知服務連接訊息固有地再新與網路資料存取元件150之連接。
圖2說明根據本發明之一項實施例的行動器件建立通知服務連接並排程通知服務連接訊息傳輸時間間隔的例示性流程。將參看圖1、圖3A及圖4之例示性實施例來描述圖2的操作。然而,應理解,圖2之操作可藉由不同於參看圖1、圖3A及圖4所論述之彼等實施例的本發明之實施例來執行,且參看圖1、圖3A及圖4所論述之實施例可執行不同於參看圖2所論述之彼等操作的操作。
在區塊210處,行動器件160建立資料內容脈絡。資料內容脈絡可藉由此項技術中已知之許多方法來建立。自區塊210,流程移動至區塊220,其中行動器件160建立一或多個通知服務連接。舉例而言,參看圖1,行動器件160建立與推送通知服務110及120以及提取通知服務130的連接。在本發明之一些實施例中,連接各自為傳輸控制協定(TCP)連接。流程自區塊220移動至區塊230。
在區塊230處,行動器件排程通知服務連接訊息傳輸時間間隔,且針對通知服務連接中之每一者排程器件喚醒時間。舉例而言,行動器件160可排程針對推送通知服務110之為30分鐘的通知服務連接訊息傳輸時間間隔,針對推送通知服務120之為15分鐘的時間間隔,及針 對提取通知服務130之為25分鐘的時間間隔。此外,行動器件160可排程與彼等傳輸時間間隔相符之喚醒時間。流程自區塊230移動至區塊240。
在區塊240處,行動器件160進入休眠模式。如先前所描述,行動器件160可以包括以下各者之數種不同方式進入休眠模式:在一段停止使用時期(例如,30分鐘之停止使用)之後及/或直接藉由來自使用者之命令(例如,使用者可發佈命令以使行動器件160進入休眠模式)。流程自區塊240移動至區塊250。在區塊250處,使行動器件之應用處理器置於休眠狀態,且網路連接性元件保持喚醒以(例如)維持通知服務連接。流程自區塊250移動至區塊260,其中應用處理器根據通知服務連接管理器被喚醒以傳輸通知服務連接訊息。
圖3A說明根據本發明之一項實施例的由例示性行動器件用以管理通知服務連接的構架。舉例而言,行動器件160使用說明於圖3A中之構架管理至推送通知服務110及120以及提取通知服務130的連接。構架包括一或多個通知服務用戶端310。舉例而言,參看圖1,可存在總計三個通知服務用戶端310(例如,用於推送通知服務110之通知服務用戶端、用於推送通知服務120之通知服務用戶端,及用於提取通知服務130的通知服務用戶端)。每一通知服務用戶端310個別地與服務連接管理器320及網路堆疊330耦接。舉例而言,在本發明之一項實施例中,每一通知服務用戶端為獨立程序,且並不與其他通知服務用戶端共用記憶體及/或並不與其他通知服務用戶端通信。每一通知服務用戶端向通知服務連接管理器320註冊(360)。
通知服務連接管理器320與一或多個系統級計時器350、網路堆疊330及喚醒I/O子系統340耦接。如藉由數字372所指示,服務連接管理器320藉由使用系統級計時器350來排程通知服務連接訊息傳輸時間間隔,且監視彼等計時器。此外,如藉由數字370所指示,服務連接 管理器320藉由使用I/O子系統340來相對於通知服務連接訊息傳輸時間間隔排程行動器件之喚醒(例如,喚醒可排程於靠近通知服務連接訊息傳輸時間間隔之結束的時間處),且使通知服務連接訊息傳輸窗與通知服務連接訊息傳輸時間間隔相關聯。如藉由數字368所指示,服務連接管理器320在行動器件之休眠模式期間亦使網路堆疊330保持有效。
網路堆疊330包括對網路連接性元件(例如,無線電連接性元件及/或WiFi連接性元件)之支援。網路堆疊330用以與通知服務(且與貫穿網路之其他實體)通信。如藉由數字366所指示,網路堆疊330向通知服務連接管理器320提供網路之狀態。舉例而言,通知服務連接管理器320向服務連接管理器320通知網路條件(例如,網路壅塞、統計資料等)。此外,如藉由數字376所指示,網路堆疊330接收來自網路服務之所關注項目,且將該等項目傳輸至適當通知服務用戶端310。此外,網路堆疊330向通知服務用戶端320通知:是否接收到來自通知服務中之一者的通信(例如,是否接收到對通知服務連接訊息傳輸之回覆)。
根據本發明之一項實施例,如藉由數字364所指示,在通知服務連接之計時器已流逝之後,服務連接管理器320指導通知服務用戶端310傳輸通知服務連接訊息,且亦向通知服務用戶端310通知任何重試事件(例如,重試事件可包括重新建立中斷之通知服務連接)。如藉由數字374所指示,通知服務用戶端310藉由使用網路堆疊330傳輸通知服務連接訊息。此外,如藉由數字362所指示,通知服務用戶端310可指導服務連接管理器320校準通知服務連接訊息傳輸時間間隔。參看圖6更詳細地論述校準通知服務連接訊息傳輸時間間隔。
圖3B為根據本發明之一項實施例的說明圖3A之通知服務連接管理器320之分解視圖的方塊圖。通知服務連接管理器320包括通知服務 連接訊息傳輸時間間隔排程器模組322、通知服務連接訊息傳輸時間間隔最佳化器模組323、通知服務連接訊息傳輸計時器監視器模組324、通知服務連接訊息喚醒排程器模組325、通知服務連接訊息產生器模組326,及休眠模式管理器模組327。
根據本發明之一項實施例,時間間隔排程器模組322排程通知服務連接訊息傳輸時間間隔。此外,時間間隔排程器模組使通知服務連接訊息傳輸窗與經排程之通知服務連接訊息傳輸時間間隔相關聯。時間間隔排程器模組322與通知服務連接訊息傳輸計時器監視器模組324耦接。在本發明之一項實施例中,計時器監視器模組監視包括通知服務連接訊息傳輸計時器之一或多個系統級計時器350。時間間隔排程器模組322亦與通知服務連接訊息喚醒排程器模組耦接。根據本發明之一項實施例,喚醒排程器模組322基於通知服務連接訊息傳輸時間間隔來排程行動器件之喚醒。
計時器監視器模組324與通知服務連接訊息產生器模組326耦接。根據本發明之一項實施例,訊息產生器模組326警告通知服務用戶端310以發佈通知服務連接訊息。時間間隔最佳化器模組323與時間間隔排程器模組322耦接。根據本發明之一項實施例,時間間隔最佳化器模組使通知服務連接訊息傳輸時間間隔最佳化,此情形將參看圖6來更詳細地描述。在本發明之一項實施例中,休眠模式管理器327在休眠模式期間使網路堆疊330保持喚醒。
圖4為根據本發明之一項實施例的說明管理通知服務連接之流程圖。將參看圖3A及圖5之例示性實施例來描述圖4的操作。然而,應理解,圖4之操作可藉由不同於參看圖3A及圖5所論述之彼等實施例的本發明之實施例來執行,且參看圖3A及圖5所論述之實施例可執行不同於參看圖4所論述之彼等操作的操作。圖5為根據本發明之一項實施例的說明行動器件基於重疊的通知服務連接訊息傳輸窗使通知服務 連接訊息之傳輸同步的例示性圖表。
根據本發明之一項實施例,行動器件上之每一通知服務用戶端獨立地執行圖4之操作。在區塊410處,通知服務用戶端(例如,推送通知服務用戶端或提取通知服務用戶端)向通知服務連接管理器註冊。舉例而言,參看圖3A及圖5,通知推送通知服務110、120及通知提取通知服務130(各自有一通知服務用戶端310)各自獨立地向通知服務連接管理器360註冊。流程自區塊410移動至區塊412。
在區塊412處,行動器件160針對每一通知服務排程通知服務連接訊息傳輸時間間隔及相對於該服務連接訊息傳輸時間間隔排程喚醒時間。然而,如本文中將稍後描述,行動器件的針對特定通知服務連接之實際喚醒時間可視其他通知服務而不同。根據本發明之一項實施例,持續性通知服務(例如,推送通知服務)之初始服務連接訊息傳輸時間間隔係基於由每一持續性通知服務提供之通知服務逾時值。舉例而言,參看圖5,推送通知服務110包括30分鐘之通知服務逾時值(因此,若至推送通知服務110之連接在30分鐘之時期內未使用,則推送通知服務110可移除該連接),且推送通知服務110包括15分鐘之通知服務逾時值。為了使本發明之理解簡化,在圖5中,推送通知服務110及120之通知服務連接訊息傳輸時間間隔與逾時值相符。舉例而言,通知服務連接訊息傳輸時間間隔對於推送通知服務110為30分鐘,且對於推送通知服務120為15分鐘。然而,應理解,通知服務連接訊息傳輸時間間隔可能不與逾時值相符(例如,時間間隔可小於逾時值)。亦應理解,在本發明之一些實施例中,通知服務連接訊息傳輸時間間隔可經最佳化且可隨時間而改變,此情形將參看圖6來更詳細地描述。此外,為了使本發明之理解簡化,在通知服務連接訊息傳輸時間間隔結束時排程每一通知服務連接的預設喚醒時間。又,貫穿圖5之論述,通知服務連接訊息之傳輸可被稱作關於發送至持續性通知服務 (例如,推送服務110及120)之通知服務連接訊息的「活動信號」(heartbeat/beat)。
再參看圖4,行動器件160亦使通知服務連接訊息傳輸窗與訊息傳輸時間間隔相關聯,且設定與訊息傳輸時間間隔相關聯的一或多個系統計時器。根據本發明之一項實施例,通知服務連接訊息傳輸窗為訊息傳輸時間間隔之可在其中傳輸通知服務連接訊息的一部分。舉例而言,若行動器件在窗內之任何時間期間喚醒,則行動器件可傳輸通知服務連接訊息。在圖5中,通知服務連接訊息傳輸窗粗略地為通知服務連接訊息傳輸窗之三分之一。舉例而言,推送通知服務110之通知服務連接訊息傳輸窗為活動信號訊息之經排程傳輸之前的10分鐘(例如,經排程活動信號之前的10分鐘),推送通知服務120之通知服務連接訊息傳輸窗為經排程活動信號之前的5分鐘,且提取通知服務130之通知服務連接訊息傳輸窗為經排程提取之前的8分鐘。儘管圖5說明通知推送通知服務110及120以及通知提取通知服務130在同一時間(例如,在時間0)開始,但應理解,此情形係出於說明性目的,且此等通知服務可於不同時間開始。參看圖5,推送通知服務110具有在30分鐘處之初始經排程活動信號及喚醒時間,推送通知服務120具有在15分鐘處之初始經排程活動信號及喚醒時間,且提取通知服務130具有在25分鐘處之初始經排程提取訊息及喚醒時間。
參看圖4,流程自區塊412移動至區塊414,其中行動器件監視服務連接訊息計時器(例如,與每一服務連接相關聯之系統級計時器),且流程移動至區塊416。舉例而言,參看圖5,行動器件監視用於推送通知服務110及120以及提取通知服務130的計時器。在圖5中,在時間5處,行動器件進入休眠模式510。因此,根據本發明之一項實施例,應用處理器及應用處理器之作業系統離線,而網路連接性元件保持喚醒。
在區塊416處,行動器件判定:時間是否在通知服務連接訊息傳輸窗內。若時間並非在通知服務連接訊息傳輸窗內,則流程移動至區塊418,其中進行關於全域通知服務連接訊息計時器是否已過期之判定。本文中稍後將更詳細地論述全域通知服務連接訊息計時器。若時間在通知服務連接訊息傳輸窗內,則流程移動至區塊420,其中進行行動器件是否喚醒之判定。若器件喚醒,則流程移動至區塊430,其中行動器件傳輸通知服務連接訊息。若行動器件並非喚醒(亦即,若處於休眠模式),則流程移動至區塊422,其中進行通知服務連接訊息傳輸計時器是否已過期之判定。舉例而言,參看圖5,於時間10開始,推送通知服務120係在窗540內,且行動器件160並非喚醒(行動器件160係處於休眠模式)。若計時器尚未流逝,則流程移動回至區塊420。若計時器已流逝,則流程移動至區塊424,其中行動器件被喚醒,且流程移動至區塊430,其中行動器件傳輸通知服務連接訊息。
參看圖5,與推送通知服務120相關聯之通知服務連接訊息傳輸計時器於時間15流逝。因此,在時間15,行動器件160被喚醒(藉由虛線喚醒560來表示),且將通知服務連接訊息傳輸至推送通知服務120以便再新通知服務連接(藉由活動信號570來表示)。應理解,行動器件160在喚醒時間560期間並不將通知服務連接訊息傳輸至推送通知服務110或提取通知服務130。舉例而言,推送通知服務110具有30分鐘之活動信號時間間隔。因此,為了再新至推送通知服務110之連接,可直至30分鐘才傳輸一活動信號(亦即,僅需要每30分鐘再新連接一次)。若每當一活動信號被傳輸至推送通知服務120(其具有15分鐘之活動信號時間間隔)時行動器件110便將活動信號傳輸至推送通知服務110,則將傳輸實際上兩倍於必要數目之活動信號訊息。因此,根據本發明之一項實施例,僅在行動器件在特定通知服務之通知服務連接訊息傳輸窗期間喚醒的情況下,行動器件才將通知服務連接訊息傳輸 至該特定通知服務。由於喚醒560不與推送通知服務110或提取通知服務130之通知服務連接訊息傳輸窗重疊,因此行動器件不傳輸針對彼等通知服務之通知服務連接訊息以便節省頻寬。
根據本發明之一項實施例,行動器件在將通知服務連接訊息傳輸至特定通知服務時重設與該特定通知服務相關聯的通知訊息傳輸計時器。舉例而言,行動器件160在傳輸了活動信號訊息570時重設用於推送通知服務120的通知服務連接訊息傳輸計時器。
在時間16,器件進入休眠模式512。換言之,行動器件160具體而言被喚醒以再新至通知推送通知服務120之通知服務連接,且器件重新進入休眠模式以便節省電池資源。在時間25,與提取通知服務130相關聯之通知服務連接訊息傳輸計時器過期(例如,該時期係在窗542之結束處)。因此,在時間25,行動器件160被喚醒(藉由虛線喚醒562來表示),且通知服務連接訊息被傳輸至提取通知服務130以便檢查所關注項目(藉由檢查576來表示)。此外,由於推送通知服務110之窗544與喚醒562之時間重疊(窗544於時間20開始且於時間30結束),且推送通知服務120之窗546與喚醒562之時間重疊(窗546於時間25開始且於時間30結束),因此行動器件160將通知服務連接訊息傳輸至推送通知服務110(藉由活動信號572來表示)且將通知服務連接訊息傳輸至推送通知服務120(藉由活動信號574來表示)。因此,在喚醒562期間,行動器件160將通知服務連接訊息傳輸至推送通知服務110及120以及提取通知服務130中的每一者。
由於行動器件160將通知服務連接訊息傳輸至推送通知服務110、推送通知服務120及提取通知服務130,因此根據本發明之一項實施例,行動器件160針對每一通知服務重設通知服務連接訊息傳輸計時器,重新排程通知服務連接訊息傳輸時間及喚醒時間。舉例而言,替代推送通知服務110具有在時間60處之經排程通知服務連接訊息傳輸 時間,由於通知服務連接訊息在時間25被傳輸至推送通知服務110,因此行動器件160在時間55排程通知服務連接訊息傳輸。作為另一實例,替代推送通知服務120具有在時間45處之經排程通知服務連接訊息傳輸時間,由於通知服務連接訊息在時間25被傳輸至推送通知服務120,因此行動器件160在時間40排程通知服務連接訊息傳輸。在時間26處,行動器件160進入休眠模式514。
應理解,在一項實施例中,藉由基於重疊之通知服務連接訊息傳輸窗使通知服務連接訊息的傳輸同步來節省電池資源。舉例而言,合併在同一喚醒週期期間針對多個通知服務之通知服務連接訊息的傳輸可節省電池資源。舉例而言,喚醒行動器件會使用顯著量之電池資源。另外,與傳輸通知服務連接訊息相比較,在喚醒器件時使用更多電池資源。因此,在同一喚醒週期期間將通知服務連接訊息傳輸至多個通知服務可節省電池資源(例如,行動器件並不針對每一通知服務連接訊息傳輸獨立地自休眠模式喚醒)。因此,在本發明之一些實施例中,基於重疊之通知服務連接訊息傳輸窗使通知服務連接訊息之傳輸同步會減小所需要之行動器件喚醒的數目,此情形減小電力消耗。應理解,隨著通知服務用戶端之數目增加,電池資源節省亦增加。
此外,雖然通知服務連接訊息之傳輸不一定在其經排程之傳輸時間執行(例如,通知服務連接訊息可在其經排程之傳輸時間之前進行發送),但自經排程之傳輸時間的偏離為低的(例如,通常通知服務連接訊息傳輸窗大約為通知服務連接訊息傳輸時間間隔的三分之一)。因此,本發明之實施例藉由在通知服務連接訊息之經排程之傳輸時間附近傳輸通知服務連接訊息來節省頻寬。
在時間40,與推送通知服務120相關聯之通知服務連接訊息傳輸計時器過期(例如,該時期係在窗548之結束處)。因此,在時間40,行動器件160被喚醒(藉由虛線喚醒564來表示),且通知服務連接訊息 被傳輸至推送通知服務120以便再新推送通知服務120之連接。由於喚醒564與推送通知服務110或提取通知服務130之通知服務連接訊息傳輸窗並不重疊,因此行動器件並不將通知服務連接訊息傳輸至彼等通知服務以便節省頻寬。在時間41,行動器件160進入休眠模式516。
在時間47,行動器件160由於獨立事件而被從休眠模式516喚醒(藉由獨立喚醒566來表示)。可存在獨立喚醒之許多原因,包括使用者互動(例如,使用者停用休眠模式)、接收到所關注項目(例如,自推送通知服務110接收到電子郵件訊息)、接收到電話呼叫及/或文字訊息等。一旦喚醒,行動器件便判定:時間是否在任何通知服務連接訊息傳輸窗內。舉例而言,時間47係在推送通知服務110之窗552內(該窗552於時間45開始且於時間55結束)且係在提取通知服務130之窗550內(該窗550於時間42開始且於時間50結束)。利用行動器件喚醒且係在通知服務連接訊息傳輸窗內之事實,行動器件將通知服務連接訊息傳輸至推送通知服務110(藉由活動信號582表示)以再新推送通知服務連接110,且將通知服務連接訊息傳輸至提取通知服務130(藉由檢查580來表示)以檢查所關注項目。此外,雖然為了簡單目的在圖5中未說明,但行動器件160針對推送通知服務110及提取通知服務130重設通知服務連接訊息傳輸計時器並重新排程通知服務連接訊息傳輸時間及喚醒。在時間49,行動器件進入休眠模式518。
在時間55,與推送通知服務120相關聯之通知服務連接訊息傳輸計時器過期(例如,該時期係在窗554之結束處)。因此,在時間55,行動器件160被從休眠模式518喚醒(藉由虛線喚醒568來表示),且通知服務連接訊息被傳輸至推送通知服務120以再新推送通知服務120之連接(藉由活動信號584來表示)。請注意,儘管推送通知服務110之窗552最初將與喚醒568重疊,但因為在時間47傳輸活動信號582且通知服務連接訊息計時器被重設且通知服務連接訊息傳輸時間被重新排 程,所以行動器件160並不將通知服務連接訊息傳輸至推送通知服務110。
參看圖4,如較早所描述,在區塊418處,進行全域通知服務連接訊息計時器是否過期的判定。根據本發明之一項實施例,行動器件以週期性時間間隔(例如,一天4次)在大約相同之時間(例如,彼此相差不超過一分鐘)將通知服務連接訊息傳輸至每一通知服務。若全域通知服務連接訊息計時器過期,則流程移動至區塊426,其中進行行動器件是否喚醒之判定。若行動器件喚醒,則流程移動至區塊430,其中行動器件將通知服務連接訊息傳輸至每一通知服務。若行動器件並未喚醒,則流程移動至區塊428,其中行動器件被喚醒,且流程移動至區塊430,其中行動器件將通知服務連接訊息傳輸至每一通知服務。
由於多個行動器件可能正經由同一網路存取相同通知服務(例如,參看圖1,根據本發明之一項實施例,行動器件160及行動器件170至少部分地與相同網路存取資料元件150耦接),因此全域通知服務連接訊息計時器經組態使得所有行動器件並不同時傳輸通知服務連接訊息。根據本發明之一項實施例,此等通知服務連接訊息傳輸時間係以密碼編譯方式隨機化(且因此分散在全天中)。舉例而言,可在給定時間間隔上調變每一行動器件之唯一識別符(例如,通用唯一識別符(UUID)、媒體存取控制(MAC)位址等)以判定此等全域通知服務連接訊息傳輸時間。
如先前所描述,在本發明之一些實施例中,持續性通知服務(例如,推送通知服務)之通知服務連接訊息傳輸時間間隔可被最佳化。換言之,在本發明之一些實施例中,訊息傳輸時間間隔經最佳化以便傳輸用於持續性通知服務的最少量之通知服務連接訊息,同時保持連接至持續性通知服務。圖6為根據本發明之一項實施例的說明使通知 服務連接訊息時間間隔最佳化的例示性狀態圖。在區塊610處,判定初始通知服務連接訊息傳輸時間間隔。舉例而言,初始通知服務連接訊息傳輸時間間隔可係基於特定通知服務之逾時時間間隔。若行動器件判定連接係在作用中,則使訊息傳輸時間間隔增加N 量612(例如,5分鐘)。舉例而言,若自通知服務接收到回覆訊息,則可將連接判定為係在作用中。
若行動器件判定連接並非在作用中,則使訊息傳輸時間間隔減少Y 量614(例如,5分鐘),且進入改進的通知服務連接訊息傳輸時間間隔616。若行動器件判定連接係在作用中,則使訊息傳輸時間間隔增加M 量,其中M 小於N 618(例如,2分鐘)。若行動器件判定連接並非在作用中,則使訊息傳輸時間間隔減少X 量,其中X 小於Y 620。
在某一時間後,連接訊息傳輸時間間隔進入穩定之通知服務連接訊息傳輸時間間隔622狀態。當處於此狀態時,若連接係在作用中,則時間間隔值保持於當前值624。在本發明之一些實施例中,在處於狀態622中Z時間量之後(例如,8小時之後),連接訊息傳輸時間間隔被重設623為初始通知服務連接訊息傳輸時間間隔610,此時時間間隔最佳化程序重新開始。因此,若通知服務連接訊息傳輸時間間隔安定為相對高頻率之訊息傳輸時間間隔(例如,每5分鐘一訊息),則在某時期之後,最佳化程序重新開始,從而試圖判定最佳傳輸時間間隔。然而,若連接並非在作用中,則使時間間隔減少626(例如,減少一半),且時間間隔進入退減通知服務連接訊息傳輸時間間隔628。當處於退減狀態時,若連接並非在作用中,則使時間間隔減少630(例如,減少一半)。
應理解,若通知服務連接並非在作用中,則需要重新建立該連接。根據本發明之一項實施例,根據喚醒時間間隔來排程通知服務連接重試。舉例而言,參看圖5,若活動信號572在時間25未能再新至推 送通知服務110之連接,則在本發明之一項實施例中,下次喚醒行動器件將試圖重新建立通知服務連接。因此,在時間40處之喚醒564期間,行動器件可試圖重新建立至推送通知服務110之通知服務連接。
基於代理伺服器之通知服務
如上文所描述,通知服務以行動用戶端之電池壽命為代價向使用者提供獲取最新資訊的體驗。此外,使用者亦可需要負擔與協定附加項相關聯之資料之費用,若使用者並不具有無限資料計劃,則該費用可能不在少數。行動用戶端需要週期性地發送通知服務連接訊息以維持資料鏈路,不管是否存在實際使用者資料活動。結果,行動用戶端需要週期性地自休眠狀態喚醒以發送通知服務連接訊息;此外,來自伺服器之回應亦將喚醒行動器件且因此消耗更多電池電力。當使用者選擇激進的推送時間間隔時或當使用者訂用多個推送服務時,電池之電力消耗增加。
舉例而言,對於Microsoft Exchange伺服器,典型活動信號時間間隔係在8至28分鐘之範圍內。即使使用者在8分鐘之時間間隔處未接收到資料,行動器件仍需要每天喚醒180次以發送通知服務連接訊息;且再一次,行動器件亦將粗略地需要每天喚醒另外180次以處理對應的伺服器回應,此係由於伺服器回應通常會延遲根據伺服器組態的一時間間隔。若使用者訂用多個推送服務或若使用者選擇激進的推送時間間隔,則情形將更糟。此外,對於按位元組為資料服務付費的使用者,推送通知服務連接訊息亦可招致使用者之成本。假設每封包200個位元組之平均有效負載及8分鐘之時間間隔,則附加項為每月約2 MB。且此數目隨著使用者訂用之推送服務的數目而線性增加。
在一項實施例中,將代理伺服器用以減輕對行動用戶端之電池壽命的需求及與通知相關聯之額外資料成本。在此實施例中,將此代理伺服器用以管理行動用戶端之通知服務。代理伺服器可管理用於一 行動用戶端之一或多個服務及/或可處置針對一或多個用戶端之通知服務。為了管理通知服務連接,代理伺服器將自行動用戶端接收為行動用戶端代理一或多個通知服務的請求,將通知服務連接訊息週期性發送至對應通知伺服器,轉遞來自行動用戶端之通知,處置來自行動用戶端之更新,且處置行動用戶端登出請求。
在一項實施例中,代理伺服器為獨立器件,諸如個人電腦、膝上型電腦、伺服器、行動用戶端等。舉例而言且在一項實施例中,代理伺服器為具有單獨電源供應器且視需要具有低成本資料連接之獨立器件。在另一實施例中,代理伺服器為行動用戶端之一部分。在此實施例中,行動用戶端包括執行第一作業系統之應用處理器及執行一或多個不同作業系統之一或多個網路連接性元件。此外,應用處理器之電力消耗可大於網路連接性元件之電力消耗。此外,網路連接性元件中之一或多者在彼等網路連接性元件之對應作業系統中執行代理伺服器。藉由在網路連接性元件中執行代理伺服器,應用處理器可進入休眠模式,並節省行動用戶端的電池壽命。
圖9A說明根據本發明之一項實施例之包括獨立代理伺服器之例示性計算環境900。計算環境900類似於以上圖1之計算環境100,其中計算環境900包括各自與一或多個網路資料存取元件150耦接的行動器件904及170。如在圖1中一般,網路資料存取元件150在本發明之不同實施例中可為各種類型之網路的部分,包括蜂巢式網路(例如,GSM、EDGE、GPRS、CDMA、UMTS、TD-CDMA、LTE或其他蜂巢式網路)、LAN等。然而,不同於計算環境100,在計算環境900中,行動器件904使用代理伺服器902來管理行動器件904的服務連接。在一項實施例中,代理伺服器902傳輸通知服務連接訊息且接收回應,就好像代理伺服器902為執行此功能的行動用戶端904一樣。下文進一步描述代理伺服器902。
行動器件904包括如上文在圖1中所描述之應用處理器162及網路連接性元件164。透過資料內容脈絡(例如,PDP內容脈絡),行動器件160經由網路連接性元件164及代理伺服器902與網路資料存取元件150通信。此外,WAN 140與網路資料存取元件150耦接。推送通知服務110及120以及提取通知服務130與WAN 140耦接。根據本發明之一項實施例,行動器件902之使用者經由代理伺服器904存取並使用推送通知服務110及120以及提取通知服務130(推送通知服務110及120以及提取通知服務130為使用者提供所關注項目)。舉例而言,推送通知服務110可正經由代理伺服器904提供行動器件902之使用者的個人推送電子郵件帳戶,同時推送通知服務120可正提供行動器件160之使用者的工作推送電子郵件帳戶。
在本發明之一項實施例中,應用處理器162為行動器件902之中央處理器。在一項實施例中,如在圖1中所描述,應用處理器162處理行動器件902之作業系統。
根據本發明之一項實施例,如圖1中針對行動用戶端160所描述,行動器件902能夠進入休眠模式。此外,藉由使用代理伺服器902,行動用戶端904可處於休眠模式,同時代理伺服器管理用於行動用戶端904的服務連接。在休眠模式期間,根據本發明之一項實施例,行動器件902臨時停用應用處理器162(應用處理器162當被臨時停用時可實際上不消耗電力)。
如在圖1中所描述,在本發明之一些實施例中,週期性再新持續性通知服務連接(例如,推送通知服務110及120)以便維持連接之持續性。替代如圖1中所描述行動用戶端週期性地再新持續性通知服務連接,代理伺服器902再新用於行動用戶端之此等持續性通知服務連接。舉例而言,若行動器件904未有效地使用至行動器件904之連接,則推送通知服務110及120可使該連接逾時(因此停止對使用者之推送 通知服務)。然而,在此實施例中,代理伺服器902有效地使用行動用戶端904之此連接。在一項實施例中,以某一週期性時間間隔,代理伺服器902將通知服務連接訊息傳輸至推送通知服務110及120以再新用於行動用戶端904之連接。在代理伺服器902管理用於行動用戶端904之通知服務連接的時間期間,行動用戶端904可進入休眠模式,藉此節省行動用戶端904的電池電力。通知服務連接訊息告知推送通知服務110及120:代理伺服器902仍經連接(且大概希望繼續自推送通知服務接收所關注項目)。應理解,由代理伺服器902再新推送通知連接會告知推送通知服務之伺服器:行動器件希望保持連接至服務。此外,再新推送通知連接會告知沿著至推送通知服務之伺服器的路由之每一網路元件:維持該連接(否則,例如網路元件可清除與該連接相關聯之網路資源)。在一項實施例中,通知服務連接訊息可為偵測訊息、超文字傳送協定(HTTP)請求,或如此項技術中已知的某其他持續連線訊息。通知服務可對通知服務連接訊息作出回應以向代理伺服器902通知:用於行動器件902的連接係在作用中。應理解,在本發明之一些實施例中,自通知服務接收所關注項目亦會再新持續性通知服務連接。
如上文所描述,傳輸通知服務連接訊息之時間間隔對於個別通知服務可為不同的。此外,在本發明之一些實施例中,需要行動器件904週期性地再新與網路資料存取元件150(例如,諸如電訊廠商之網路中的NAT路由器、防火牆或網路中的其他網路元件)之連接以便維持網路資料連接性。在此實施例中,藉由管理用於行動用戶端904之通知服務連接,代理伺服器902將再新此等網路資料存取元件150之連接。
在一項實施例中,代理伺服器902管理通知服務及行動用戶端更新。舉例而言且在一項實施例中,代理伺服器902自行動用戶端904接 收服務連接請求,將此等服務連接請求轉遞至對應服務提供者(例如,推送通知服務110及120等)。此外,代理伺服器902管理用於行動用戶端904之服務連接。舉例而言且在一項實施例中,代理伺服器902將通知服務連接訊息傳輸至推送通知服務110及120以再新用於行動用戶端904的連接。如上文所描述,此通知服務連接訊息可為偵測訊息、HTTP請求或如此項技術中已知之某一其他持續連線訊息。
若通知訊息被代理伺服器902接收到(不管是回應於通知服務連接訊息抑或由通知伺服器中之一者推送至代理伺服器等),則代理伺服器902可將通知訊息轉遞至行動用戶端904之應用處理器162,或可保留通知訊息以便統合(bundle)此通知訊息與其他通知訊息並在稍遲時間發送經統合之訊息。此外,代理伺服器902管理來自行動用戶端904之更新,諸如,諸如登入/登出請求、位址改變等。在一項實施例中,代理伺服器902管理自行動用戶端904之應用處理器162接收到的更新。下文在圖10至圖13中進一步描述代理伺服器功能。
如上文所描述,代理伺服器可為諸如代理伺服器902之獨立器件,或被併入至行動用戶端中。圖9B說明根據本發明之一項實施例的包括併入於行動用戶端954中之代理伺服器952的例示性計算環境950。在圖9B中,代理伺服器952被併入作為行動用戶端954之部分。在一項實施例中,代理伺服器952為網路連接性元件956之部分。在此實施例中,代理伺服器952在網路連接性元件956之作業系統下執行,此情形允許應用處理器進入低電力或「休眠模式」以便節省行動用戶端954的電力消耗。舉例而言且在一項實施例中,代理伺服器902在用以操作3G蜂巢式網路連接之3G蜂巢式網路連接性元件的作業系統下執行。在此實例中,此網路連接性元件之作業系統可為軟體、韌體、硬體等。
在一項實施例中,代理伺服器可為網路連接性元件956之基頻處 理器的作業環境的部分,其允許行動用戶端954避免喚醒應用處理器162且節省電池。在此實施例中,代理伺服器952承擔了與通知服務相關聯之協定附加項的大部分,且當資料可用時,行動用戶端954之應用處理器162會得到通知。
在一項實施例中,代理伺服器952執行與如上文在圖9A中所描述之代理伺服器902之功能類似的功能。舉例而言且在一項實施例中,代理伺服器952接收來自應用處理器162之服務連接請求,將此等服務連接請求轉遞至對應服務提供者(例如,推送通知服務110及120等)。此外,代理伺服器952管理用於行動用戶端954之服務連接。舉例而言且在一項實施例中,代理伺服器952將通知服務連接訊息傳輸至推送通知服務110及120以再新用於行動用戶端954之連接。如上文所描述,此通知服務連接訊息可為偵測訊息、HTTP請求,或如此項技術中已知之某其他持續連線訊息。
若通知訊息被代理伺服器952接收到(不管是回應於通知服務連接訊息抑或由通知伺服器中之一者推送至代理伺服器等),則代理伺服器952可將通知訊息轉遞至行動用戶端954之應用處理器162,或可保留通知訊息以便統合此通知訊息與其他通知訊息並在稍遲時間發送經統合之訊息。此外,代理伺服器952管理來自行動用戶端954之更新,諸如,諸如登入/登出請求、位址改變等。在一項實施例中,代理伺服器952管理自行動用戶端954之應用處理器162接收到的更新。下文在圖10至圖13中進一步描述代理伺服器功能。
圖10為根據本發明之一項實施例的代理用戶端與伺服器之間的服務連接之代理伺服器之方塊圖。在圖10中,用戶端1002與代理伺服器1004通信,且代理伺服器1004與伺服器1006通信。在一項實施例中,用戶端1002可係如上文所描述之行動用戶端904或954。在另一實施例中,代理伺服器1004可為如上文所描述之代理伺服器902或952。 在又一實施例中,伺服器為如上文所描述之推送通知服務110或120中的一者。
在圖10中,用戶端1002將登入請求(1008A)傳輸至代理伺服器1004。在一項實施例中,當用戶端1002之使用者開啟推送服務時或當用戶端啟動(例如,器件開機)時,用戶端1002發送登入請求。在一項實施例中,登入請求包括可用以建立代理伺服器之資訊(例如,用戶端識別碼、用戶端IP位址、伺服器IP位址、異動識別符、服務品質(QoS)參數、最大化電池等)。在一項實施例中,用戶端識別碼係唯一地識別用戶端之識別碼(例如,國際行動設備識別碼(IMEI)、MAC位址等)。在一項實施例中,用戶端IP位址為用戶端1002之IP位址,且代理伺服器使用此IP位址來將資料發送至用戶端。伺服器IP位址為用於對應通知服務之伺服器的IP位址。在一項實施例中,登入請求包括對通知服務之一或多個請求。在此實施例中,登入請求將包括一個以上伺服器IP位址。
此外,登入請求亦可包括QoS參數,諸如延遲。在此實施例中,延遲係一指示使用者可容忍何類別之延遲的參數。此外,登入請求可另外包括一指示使用者是否意欲使電池壽命最大化之參數。
回應於接收到登入請求,代理伺服器回應以異動識別符且發送登入回應(1008B)至用戶端1002。在一項實施例中,登入回應包括用戶端識別碼、用戶端IP位址及異動識別符。在一項實施例中,異動識別符係識別代理伺服器與用戶端之作業階段之識別符。
藉由來自登入請求之資訊,代理伺服器1004將通知服務連接訊息發送至伺服器1006以再新用於用戶端1002之連接(1010A至1010F)。舉例而言,代理伺服器1004將通知服務連接訊息(1010A、1010C及1010E)週期性地發出至伺服器1006。在一項實施例中,通知服務連接訊息為偵測訊息、HTTP請求,或如此項技術中已知之某其他持續連 線訊息。回應地,伺服器1006可藉由在有效負載中不包括資料之一回應(1010B及1010D)或藉由有效負載中之資料(1010F)作出回應。在一項實施例中,無資料之回應指示:不存在針對用戶端1002之通知訊息。若無資料,則代理伺服器1004不通知用戶端且不潛在地自休眠模式喚醒用戶端1002,藉此節省電池電力。
在一項實施例中,具有資料之回應係包括用於用戶端1002之一或多個通知訊息的回應。在一項實施例中且回應於接收到具有資料之回應,代理伺服器1004將資料發送到用戶端1002上(1012)。在此實施例中,代理伺服器1004將一或多個通知訊息發送至用戶端1002。此外,若用戶端1002係處於休眠模式,則接收到一或多個通知訊息將使用戶端1002自休眠模式喚醒,使得用戶端1002可處理該一或多個通知訊息。
在一項實施例中,代理伺服器1004可在自伺服器1006接收到資料時將一或多個通知訊息轉遞至用戶端1002。在替代性實施例中,代理伺服器1004可統合一或多個通知訊息與其他通知訊息且將經統合之通知訊息發送至用戶端1002。在此實施例中,通知訊息之統合可節省用戶端之電池壽命,此係因為通知訊息被轉遞至用戶端1002之次數得以減小。
在一項實施例中,代理伺服器1004在接收時抑或在統合通知訊息後轉遞通知訊息受到由用戶端1002在上文所描述之登入請求(1008A)中發送的參數控制。舉例而言且在一項實施例中,代理伺服器1004將使用電池壽命參數來判定是否統合用戶端之通知訊息。在替代性實施例中,是否統合可由用戶端基於當日時間、服務之時效性等進行更新。
此外,用戶端1002可發送更新請求(1014A)。在一項實施例中,更新請求包括歸因於用戶端1002之IP位址改變而更新用戶端IP位址的 請求。在此實施例中,更新請求包括用戶端識別碼、新用戶端IP位址及異動識別符。若網路歸因於用戶端停止使用而已去啟動資料內容脈絡且用戶端已重新建立了資料內容脈絡或若用戶端已改變網路(例如,蜂巢式至Wi-Fi且反之亦然),則用戶端IP位址可改變。若用戶端1002已在某時期中中止服務,則用戶端1002亦可將更新請求發送至代理伺服器,使得代理伺服器可將可用資料推送至用戶端。在此實施例中,此新IP位址由代理伺服器1004儲存,且替換用戶端之舊IP位址。
在另一實施例中,用戶端1002發送更新請求以改變一些或所有參數(QoS參數、電池參數等)。在一項實施例中,使用者可能想要使電池節省最大化,且將通知轉遞自在接收到時轉遞通知訊息改變至統合通知訊息。在替代實施例中,使用者可能想要將通知轉遞改變至在接收到時轉遞通知訊息。在又一實施例中,更新係出於其他原因(當日時間、行動用戶端之位置等)。
在一項實施例中,若使用者關閉推送服務或當器件關機時,用戶端1002可將登出請求發送至代理伺服器(1016A)。在一項實施例中,登出請求係一包括資訊之封包,該資訊指示要停止代理服務。在一項實施例中,登出請求包括用戶端識別碼及異動識別符。代理伺服器可停止與伺服器通信,或代理伺服器可繼續通信並對資料進行緩衝以供稍後使用。在接收到登出請求時,代理伺服器1004將登出回應發送至用戶端1002(1016B)。
圖11為根據本發明之一項實施例的說明由代理伺服器管理用於用戶端之通知服務連接的流程圖。在一項實施例中,代理伺服器902或952執行程序1100以管理通知服務連接。在圖11中,程序1100藉由在區塊1110處建立代理伺服器開始。在一項實施例中,程序1100藉由如上文在圖10中所描述接收登入請求並對該登入請求作出回應來建立代理伺服器。
在區塊1120處,程序1100管理服務連接。在一項實施例中,程序1100藉由以下操作來管理服務連接:將通知服務連接訊息週期性地發送至對應伺服器及處理對彼等通知服務連接訊息之回應。此外,程序1100將通知轉遞至用戶端。下文在圖12中進一步描述管理服務連接。
程序1100在區塊1130處管理用戶端。在一項實施例中,程序1100藉由接收登入及/或登出請求並對其作出回應來管理用戶端。下文中在圖13中進一步描述管理用戶端。
圖12為根據本發明之一項實施例的說明管理代理伺服器與伺服器之間的通知服務連接之流程圖。在一項實施例中,代理伺服器902或952執行程序1200以管理代理伺服器與伺服器之間的通知服務連接。在圖12中,程序1200藉由在區塊1210處判定程序1200是否應將通知服務連接訊息發送至伺服器來開始。在一項實施例中,程序1200基於經動態調整之時間間隔等週期性地發送通知服務連接訊息。若程序1200將發送通知服務連接訊息,則程序1200在區塊1220處發送通知服務連接訊息。在一項實施例中,程序1200將諸如以下各者之適當訊息發送至伺服器:偵測訊息、HTTP請求,或如此項技術中已知之某其他持續連線訊息。執行繼續至區塊1230。若程序1200在區塊1210處判定程序1200將不發送通知服務連接訊息,則執行繼續至以下區塊1230。
在區塊1230處,程序1200判定:程序1200是否已自伺服器接收到回應。在一項實施例中,所接收回應係針對程序1200正為之進行代理的用戶端。若程序已接收到伺服器回應,則在區塊1240處,程序1200判定接收到之服務回應是否包括用於該用戶端之通知資料,程序1200在區塊1270處判定通知資料是否將被發送至用戶端或進行統合以稍後發送。在一項實施例中,程序1200可將通知選擇性地轉遞至用戶端。舉例而言,程序1200可統合通知以減小喚醒用戶端之次數,以便 減小電池消耗。作為另一實例,行動器件無資料服務(例如,歸因於漫遊),且程序1200將代表用戶端接收通知,且選擇性地藉由另一輸送機制(例如,簡訊服務(SMS))通知行動用戶端。在另一實例中,程序1200可基於通知資料之內容選擇性地轉遞通知(例如,時間敏感性通知在接收到時便被轉遞(例如,股票通知等),且統合非時間敏感性通知(例如,應用程式更新等))。若將發送通知資料,例如,代理服務在接收到時轉遞通知資料或若已統合了足夠通知資料,則程序1200在區塊1250處將通知資料轉遞至用戶端。在一項實施例中,如上文在圖10中所描述,程序1200在接收到時將通知資料轉遞至用戶端,或統合通知資料與其他通知。執行繼續至以下區塊1260。若將不發送通知,則程序1200對通知資料進行緩衝以與其他通知資料統合,且執行繼續至以下區塊1260。
若程序1200接收到一不包括通知資料之回應,則在區塊1260處,程序1200排程下一通知服務連接訊息以進行發送。在一項實施例中,程序1200基於週期性週期、經動態調整之週期等來排程下一通知。執行繼續至如上文所描述之區塊1210。
圖13為根據本發明之一項實施例的說明管理用戶端互動之流程圖。在一項實施例中,代理伺服器902或952執行程序1300以管理用戶端。在圖13中,程序1300藉由在區塊1310處自用戶端接收封包而開始。在一項實施例中,所接收封包可為登入請求、登出請求、更新請求等。
在區塊1320處,程序1300判定接收到之封包是否為更新封包。如上文所描述,更新封包係來自用戶端之請求對代理服務之更新的封包。舉例而言且在一項實施例中,更新請求封包可請求更新用戶端IP位址或與代理服務相關聯之其他參數(例如,QoS參數、電池使用參數等)。若接收到之封包為更新請求封包,則在區塊1320處,程序1300 使用包括於更新請求封包中之資訊來更新用戶端資訊。舉例而言且在一項實施例中,若更新請求封包包括更新用戶端IP位址之請求,則如上文在圖10中所描述,程序1300更新用戶端IP位址資訊。作為另一實例及另一實施例,若更新請求封包包括更新某一其他代理設定(例如,QoS參數、電池設定等)之請求,則如上文在圖10中所描述,程序1300更新此等設定。在區塊1340處,程序1300將更新回應發送至用戶端。在一項實施例中,包括應答所請求之更新的資訊。
若接收到之封包並非更新封包,則程序1300在區塊1350處判定接收到之封包是否為登入或登出封包。在一項實施例中,登入請求為一包括資訊之封包,該資訊可用以建立代理伺服器(例如,用戶端識別碼、用戶端IP位址、伺服器IP位址、QoS參數、最大化電池等)。在一項實施例中,登出請求為一包括指示將停止代理服務的資訊之封包(如上文在圖10中所描述)。
在區塊1360處,程序1300處理接收到之登入/登出請求。在一項實施例中,若接收到之封包為登入請求,則程序1300使用包括於登入請求中之資訊來建立用於用戶端的代理伺服器。在一項實施例中,若接收到之封包為登出請求,則程序1300使用包括於登出請求中之資訊來停止代理服務。在另一實施例中,登出請求包括使代理服務藉由發送持續連線訊息來繼續執行代理功能性並對所接收之回應進行緩衝之請求。舉例而言且在一項實施例中,用戶端使資料特徵斷電或關閉(例如,以在漫遊時減小成本),且用戶端發送出登出請求,用戶端可請求程序1300繼續接收推送訊息並對該等推送訊息進行緩衝。此外且在此實施例中,程序1300可具有將SMS訊息發送至用戶端以向使用者通知用於由用戶端指定之服務的某些訊息之邏輯。
程序在區塊1370處將對應登入/登出回應發送至用戶端。在一項實施例中,如上文在圖10中所描述,程序發送對應請求。執行繼續至 以上區塊1310。
圖7為說明可用於本發明之一些實施例中之例示性電腦系統的方塊圖。舉例而言,電腦系統700之例示性架構可包括於行動器件(例如,行動器件160、904或954)中。應理解,雖然圖7說明電腦系統之各種組件,但圖7並不意欲表示互連該等組件之任何特定架構或方式,此係由於此等細節與本發明並無密切關係。應瞭解,具有較少組件或較多組件之其他電腦系統亦可與本發明一起使用。
如圖7中所說明,係一種形式的資料處理系統的電腦系統700包括匯流排750,該匯流排750與處理系統720、電源供應器725、記憶體730及非揮發性記憶體740(例如,硬碟機、快閃記憶體、相變記憶體(PCM)等)耦接。如此項技術中所熟知,匯流排750可經由各種橋接器、控制器及/或配接器而彼此連接。處理系統720可自記憶體730及/或非揮發性記憶體740擷取指令,且執行該等指令以執行如上文所描述的操作。匯流排750將上述組件互連在一起,且亦將彼等組件互連至選用之銜接台760、顯示控制器與顯示器件770、輸入/輸出器件780(例如,NIC(網路介面卡)、游標控制(例如,滑鼠、觸控式螢幕、觸控板等)、鍵盤等)及選用之無線收發器790(例如,藍芽、WiFi、紅外線等)。
圖8為說明可用於本發明之一些實施例中的例示性資料處理系統之方塊圖。舉例而言,資料處理系統800可為手持式電腦、個人數位助理(PDA)、行動電話、攜帶型遊戲系統、攜帶型媒體播放器,或可包括行動電話、媒體播放器及/或遊戲系統的手持型電腦。作為另一實例,資料處理系統800可為網路電腦或另一器件內之嵌入式處理器件。
根據本發明之一項實施例,資料處理系統800之例示性架構可包括於行動器件160中。資料處理系統800包括處理系統820,處理系統 820可包括一或多個微處理器及/或積體電路上的系統。處理系統820與記憶體810、電源供應器825(其包括一或多個電池)、音訊輸入/輸出840、顯示控制器及顯示器件860、選用之輸入/輸出850、輸入器件870及無線收發器830耦接。應瞭解,圖8中未展示之額外組件在本發明之某些實施例中亦可為資料處理系統800之部分,且在本發明之某些實施例中,可使用比展示於圖8中之組件少的組件。此外,應瞭解,如此項技術中所熟知,未展示於圖8中之一或多個匯流排可用以互連各種組件。
記憶體810可儲存供資料處理系統800執行的資料及/或程式。音訊輸入/輸出840可包括麥克風及/或揚聲器以(例如)經由揚聲器及麥克風來播放音樂及/或提供電話功能性。顯示控制器及顯示器件860可包括圖形使用者介面(GUI)。無線(例如,RF)收發器830(例如,WiFi收發器、紅外線收發器、藍芽收發器、無線蜂巢式電話收發器等)可用以與其他資料處理系統通信。一或多個輸入器件870允許使用者將輸入提供至系統。此等輸入器件可為小鍵盤、鍵盤、觸控式面板、多點觸控面板等。選用之其他輸入/輸出850可為用於銜接台之連接器。
雖然諸圖中之流程圖展示了由本發明之某些實施例執行的操作之特定次序,但應理解,此次序為例示性的(例如,替代性實施例可以不同次序執行操作,組合某些操作,使某些操作重疊等)。
雖然已依據若干實施例描述了本發明,但熟習此項技術者將認識到,本發明並不限於所描述之實施例,可在具有在附加申請專利範圍之精神及範疇內的修改及變更的情況下來實踐。該描述因此應被看作說明性而非限制性的。
110‧‧‧推送通知服務
120‧‧‧推送通知服務
130‧‧‧提取通知服務
140‧‧‧廣域網路(WAN)
150‧‧‧網路資料存取元件
162‧‧‧應用處理器
164‧‧‧網路連接性元件
170‧‧‧行動器件
900‧‧‧例示性計算環境
902‧‧‧代理伺服器
904‧‧‧行動器件

Claims (20)

  1. 一種具有可執行指令之非暫時性機器可讀媒體,該等指令使得一或多個處理單元執行一種代理一行動用戶端與一通知服務之一通知伺服器之間的一通知服務之方法,該方法包含:自該行動用戶端接收對該通知服務之一代理伺服器設定請求;為該行動用戶端建立與該通知伺服器的一通知連接;在不喚醒該行動用戶端之一應用處理器的情況下維持與該通知伺服器的該通知連接;自該通知服務接收一通知;及將該通知轉遞至該行動用戶端。
  2. 如請求項1之非暫時性機器可讀媒體,其中該維持該通知連接包含:將一通知服務連接訊息發送至該通知伺服器;及接收該通知伺服器之一回應。
  3. 如請求項2之非暫時性機器可讀媒體,其中該通知服務連接訊息係選自由以下各者組成之一群組:一偵測訊息及一超文字傳送協定請求。
  4. 如請求項2之非暫時性機器可讀媒體,其中該回應包括對該行動用戶端之一通知。
  5. 如請求項1之非暫時性機器可讀媒體,其中該通知係一推送通知。
  6. 如請求項1之非暫時性機器可讀媒體,其中該建立一通知連接包含:將對該代理伺服器設定請求之一回應發送至該行動用戶端。
  7. 如請求項1之非暫時性機器可讀媒體,其中該將該通知轉遞至該行動用戶端包含:統合該通知與另一通知;及將該等經統合之通知轉遞至該行動用戶端。
  8. 如請求項1之非暫時性機器可讀媒體,其進一步包含:自該行動用戶端接收一更新請求;及藉由該更新請求更新一行動用戶端。
  9. 如請求項1之非暫時性機器可讀媒體,其中該更新請求包括該行動用戶端之一位址改變。
  10. 如請求項1之非暫時性機器可讀媒體,其中該行動用戶端包括在一第一作業系統中執行以執行一通信功能的一第一處理器,及在一第二作業系統中執行的一第二處理器,且該第二處理器係中央處理器,其中該方法由該第一處理器來執行。
  11. 一種代理一通知服務之系統,該系統包含:一行動用戶端,其自該通知服務接收通知;一通知伺服器,其將該通知服務的該等通知發送至該行動用戶端;代理該行動用戶端之通知請求的一推送代理伺服器,其中該推送代理伺服器:自該行動用戶端接收對該通知服務之一代理伺服器設定請求;為該行動用戶端建立與該通知伺服器的一通知連接;在不喚醒該行動用戶端之一應用處理器的情況下維持與該通知伺服器的該通知連接;自該通知服務接收一通知;及將該通知轉遞至該行動用戶端。
  12. 如請求項11之系統,其中為了維持該通知連接,該推送代理伺服器亦將一通知服務連接訊息發送至該通知伺服器及接收該通知伺服器之一回應。
  13. 如請求項12之系統,其中該通知服務連接訊息係選自由以下各者組成之一群組:一偵測訊息及一超文字傳送協定請求。
  14. 如請求項12之系統,其中該回應包括對該行動用戶端之一通知。
  15. 如請求項11之系統,其中該通知係一推送通知。
  16. 一種自一通知服務接收通知的器件,該器件包含:一應用處理器,其在一第一作業系統中執行且執行一命令功能;及一網路連接性元件,其在一第二作業系統中執行且執行一通信功能,該網路連接性元件包括一推送代理伺服器,其中該推送代理伺服器經組態以:自該應用處理器接收對該通知服務之一代理伺服器設定請求;為該器件建立與一通知伺服器的一通知連接;在不喚醒該應用處理器的情況下維持與該通知伺服器的該通知連接;自該通知服務接收一通知;及將該通知轉遞至該應用處理器。
  17. 如請求項16之器件,其中為了維持該通知連接,該推送代理伺服器進一步經組態以將一通知服務連接訊息發送至該通知伺服器;及接收該通知伺服器之一回應。
  18. 如請求項17之器件,其中該回應包括對該器件之一通知。
  19. 如請求項16之器件,其中為了建立一通知連接,該推送代理伺服器進一步經組態以將對該代理伺服器設定請求之一回應發送至該應用處理器。
  20. 如請求項16之器件,其中為了將該通知轉遞至該行動用戶端,該推送代理伺服器進一步經組態以統合該通知與另一通知並將該等經統合之通知轉遞至該應用處理器。
TW102102116A 2012-01-20 2013-01-18 基於代理伺服器之推送服務 TWI468055B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/355,441 US9749435B2 (en) 2012-01-20 2012-01-20 Proxy-based push service

Publications (2)

Publication Number Publication Date
TW201338600A TW201338600A (zh) 2013-09-16
TWI468055B true TWI468055B (zh) 2015-01-01

Family

ID=47630560

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102102116A TWI468055B (zh) 2012-01-20 2013-01-18 基於代理伺服器之推送服務

Country Status (7)

Country Link
US (1) US9749435B2 (zh)
EP (1) EP2795880B1 (zh)
JP (1) JP5837237B2 (zh)
KR (1) KR101604561B1 (zh)
CN (1) CN104054322B (zh)
TW (1) TWI468055B (zh)
WO (1) WO2013109550A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI644257B (zh) * 2016-06-07 2018-12-11 三竹資訊股份有限公司 推播通知附帶設定參數之方法

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058483A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Connection architecture for a mobile network
US9521625B2 (en) 2008-09-15 2016-12-13 Apple Inc. Electronic devices for receiving pushed data
US8611895B2 (en) * 2009-10-30 2013-12-17 Apple Inc. Methods for optimizing paging mechanisms using device context information
US9749435B2 (en) * 2012-01-20 2017-08-29 Apple Inc. Proxy-based push service
CN102595577B (zh) * 2012-03-13 2017-12-26 深圳市中兴物联科技有限公司 一种终端待机唤醒后网络连接处理方法及ap和bp
GB201210600D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Call invites
GB201210598D0 (en) * 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB201210596D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB2504461B (en) 2012-06-14 2014-12-03 Microsoft Corp Notification of communication events
WO2014030199A1 (ja) * 2012-08-20 2014-02-27 富士通株式会社 シームレスアプリプッシュシステム及びその方法
US20150296455A1 (en) * 2012-11-02 2015-10-15 Kyocera Corporation Mobile communication system, mobile terminal and mobile communication method
US9143550B2 (en) * 2012-12-01 2015-09-22 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent HTTP-based communications
US8918529B1 (en) * 2013-03-15 2014-12-23 Mobile Iron, Inc. Messaging gateway
WO2014172893A1 (zh) * 2013-04-26 2014-10-30 华为技术有限公司 一种心跳信号的发送控制方法及装置
US9503540B2 (en) * 2013-05-09 2016-11-22 Nokia Technologies Oy Method and apparatus for asynchronous distribution of content
EP3008943A4 (en) 2013-06-11 2017-02-22 Seven Networks, LLC Optimizing keepalive and other background traffic in a wireless network
US9342554B2 (en) * 2013-07-05 2016-05-17 Facebook, Inc. Techniques to generate mass push notifications
US9065765B2 (en) * 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9961027B2 (en) 2013-09-17 2018-05-01 Amazon Technolgies, Inc. Email webclient automatic failover
KR20150032018A (ko) * 2013-09-17 2015-03-25 삼성전자주식회사 전자 장치 및 전자 장치의 정보 전송 방법, 정보 전송 시스템
US9900366B2 (en) * 2013-09-17 2018-02-20 Amazon Technologies, Inc. Email webclient notification queuing
WO2015050544A1 (en) 2013-10-02 2015-04-09 Bodhi Technology Ventures Llc Cloud phone notifications
KR101840245B1 (ko) * 2013-11-28 2018-03-20 후아웨이 디바이스 (둥관) 컴퍼니 리미티드 하트비트 메시지를 송신하는 방법 및 이동 단말기
CN104703146B (zh) * 2013-12-09 2019-03-08 腾讯科技(深圳)有限公司 信息推送方法、客户端及系统
EP2919418B1 (en) * 2014-03-13 2017-03-01 Alcatel Lucent Apparatuses, methods and computer program for a base station transceiver and for a mobile transceiver
US9961131B2 (en) 2014-04-25 2018-05-01 Microsoft Technology Licensing, Llc Enhanced reliability for client-based web services
US9277530B2 (en) * 2014-05-30 2016-03-01 Apple Inc. Delivery of push notifications to an inactive computing device
US9282516B2 (en) 2014-07-01 2016-03-08 Apple Inc. Cooperative power savings among mobile computing devices
US10743255B2 (en) * 2014-07-25 2020-08-11 Apple Inc. Power optimization modes for communication between device and server
US20160094659A1 (en) * 2014-09-25 2016-03-31 Ricoh Company, Ltd. Information processing system and information processing method
US20160099997A1 (en) * 2014-10-01 2016-04-07 Samsung Electronics Co., Ltd. Method and system for managing application data in a communication device
US10305736B2 (en) * 2014-12-18 2019-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods, network nodes, and computer program products for price signal feedback for network optimization
CN104539678B (zh) * 2014-12-19 2018-08-07 百度在线网络技术(北京)有限公司 一种信息推送、接收方法和装置
US20160262205A1 (en) * 2015-03-06 2016-09-08 Apple Inc. Cloud support for discovery and data transfer for mobile client devices
JP6251210B2 (ja) * 2015-03-25 2017-12-20 Kddi株式会社 端末装置、通信セッション確立方法、及び、プログラム
JP6227583B2 (ja) * 2015-03-25 2017-11-08 Kddi株式会社 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム
US9554239B2 (en) 2015-04-21 2017-01-24 Apple Inc. Opportunistic offloading of tasks between nearby computing devices
JP6584171B2 (ja) 2015-07-02 2019-10-02 キヤノン株式会社 通信装置、通信方法及びプログラム
KR101676653B1 (ko) * 2016-04-20 2016-11-17 주식회사 티맥스 소프트 Http 세션 정보 동적 유지 방법, 이를 사용한 웹 애플리케이션 서버 및 웹 서버
CN106028428A (zh) * 2016-04-27 2016-10-12 努比亚技术有限公司 一种信息处理方法及移动终端
US10725761B2 (en) 2016-06-10 2020-07-28 Apple Inc. Providing updated application data for previewing applications on a display
US10520979B2 (en) 2016-06-10 2019-12-31 Apple Inc. Enhanced application preview mode
US10521107B2 (en) 2016-09-24 2019-12-31 Apple Inc. Devices, methods, and graphical user interfaces for selecting and interacting with different device modes
WO2018072284A1 (zh) * 2016-10-18 2018-04-26 华为技术有限公司 一种业务通信方法及设备
CN107317723B (zh) * 2017-05-27 2021-01-05 北京金山安全软件有限公司 一种数据处理方法及服务器
CN107466094A (zh) * 2017-08-02 2017-12-12 努比亚技术有限公司 网络数据上报控制方法、协处理器、终端及存储介质
CN113490261B (zh) 2017-09-19 2024-06-18 联发科技(新加坡)私人有限公司 无线通信方法、通信设备及具有存储功能的装置
JP7085391B2 (ja) * 2018-04-11 2022-06-16 フォルシアクラリオン・エレクトロニクス株式会社 サーバ及び通信システム
DK201870334A1 (en) 2018-05-07 2019-12-05 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROACTIVE MANAGEMENT OF NOTIFICATIONS
US10897500B2 (en) * 2018-10-03 2021-01-19 International Business Machines Corporation Synchronizing a device using push notifications
US11627049B2 (en) * 2019-01-31 2023-04-11 Hewlett Packard Enterprise Development Lp Failsafe firmware upgrade for cloud-managed devices
JP6806865B2 (ja) * 2019-09-03 2021-01-06 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
CN110932845B (zh) 2019-12-31 2021-12-03 山东英信计算机技术有限公司 一种代理端注册方法、系统及相关装置
US11750714B2 (en) * 2020-03-31 2023-09-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Fast resumption of dormant sessions on a client device
AU2020233622B2 (en) 2020-05-11 2022-03-10 Apple Inc. System, method and user interface for supporting scheduled mode changes on electronic devices
CN113132486A (zh) * 2021-04-20 2021-07-16 阿波罗智联(北京)科技有限公司 一种数据处理方法、装置、电子设备和介质
US20220365640A1 (en) * 2021-05-12 2022-11-17 Apple Inc. Devices, Methods, and Graphical User Interfaces for Adjusting the Provision of Notifications
CN114979260B (zh) * 2022-05-12 2023-09-15 深圳市绿联科技股份有限公司 一种基于协议的通信方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070299918A1 (en) * 2006-06-27 2007-12-27 Research In Motion Limited Electronic Mail Communications System with Client Email Internet Service Provider (ISP) Polling Application and Related Methods
EP2254309A1 (en) * 2009-05-20 2010-11-24 Thomson Licensing Method for sending data of a service

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4230708A (en) 1977-10-20 1980-10-28 Stichting Rega V.Z.W. Therapeutic application of (S) -or (RS)-9-(2, 3-dihydroxypropyl) adenine for use as antiviral agents
US6463307B1 (en) * 1998-08-14 2002-10-08 Telefonaktiebolaget Lm Ericsson Method and apparatus for power saving in a mobile terminal with established connections
US6708206B1 (en) * 1999-06-15 2004-03-16 Nokia Corporation Apparatus, and associated method, for providing a client with messages
US7190956B2 (en) 2001-05-15 2007-03-13 Motorola Inc. Instant message proxy for circuit switched mobile environment
US7007064B2 (en) * 2002-08-02 2006-02-28 Motorola, Inc. Method and apparatus for obtaining and managing wirelessly communicated content
US8856346B2 (en) 2004-01-15 2014-10-07 Unwired Planet, Llc Stateful push notifications
US7725826B2 (en) * 2004-03-26 2010-05-25 Harman International Industries, Incorporated Audio-related system node instantiation
JP2005323285A (ja) * 2004-05-11 2005-11-17 Matsushita Electric Ind Co Ltd 移動体通信装置
KR100608582B1 (ko) 2004-08-28 2006-08-03 삼성전자주식회사 범용 플러그 앤 플레이 통신 방법 및 장치
US7532890B2 (en) * 2005-04-01 2009-05-12 Rockliffe Systems Content-based notification and user-transparent pull operation for simulated push transmission of wireless email
EP1775911B1 (en) 2005-10-13 2018-02-28 BlackBerry Limited System and method for providing asynchronous notifications using synchronous data
US7895309B2 (en) * 2006-01-11 2011-02-22 Microsoft Corporation Network event notification and delivery
JP4972980B2 (ja) * 2006-04-14 2012-07-11 富士通株式会社 データ通信プログラム、データ通信方法および携帯端末装置
JP4668879B2 (ja) 2006-09-22 2011-04-13 株式会社エヌ・ティ・ティ・ドコモ 通信端末及び端末制御方法
US20080293403A1 (en) * 2007-05-22 2008-11-27 Colin Shong Chin Quon Mobile communication service bridging
US20090143094A1 (en) * 2007-12-03 2009-06-04 Motorola, Inc. Method and Apparatus for Mode Switching in Dual-Core Mobile Communication Devices
EP2238794A4 (en) * 2008-02-05 2014-01-08 Ericsson Telefon Ab L M TRANSFER OF LINE-RELATED DATA OVER HSPA
US7953808B2 (en) 2008-03-04 2011-05-31 Apple Inc. Automatic notification system and process
US8135392B2 (en) * 2008-06-06 2012-03-13 Apple Inc. Managing notification service connections and displaying icon badges
US8611895B2 (en) * 2009-10-30 2013-12-17 Apple Inc. Methods for optimizing paging mechanisms using device context information
US8335175B2 (en) 2010-04-07 2012-12-18 Qualcomm Incorporated Systems and methods for page delivery to a wireless client device in idle state
US9521621B2 (en) 2010-06-02 2016-12-13 Qualcomm Incorporated Application-proxy support over a wireless link
CN102316423B (zh) 2010-07-06 2014-03-12 华为技术有限公司 一种信息推送方法、装置和系统
CA2806549C (en) 2010-07-26 2014-10-28 Seven Networks, Inc. Context aware traffic management for resource conservation in a wireless network
US8843153B2 (en) * 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
CN202111746U (zh) 2011-07-07 2012-01-11 深圳市金立通信设备有限公司 一种实现移动终端信息推送的系统
US9515976B2 (en) * 2011-12-19 2016-12-06 Facebook, Inc. Proxied outgoing message transmission
US9148397B2 (en) * 2011-12-19 2015-09-29 Facebook, Inc. Messaging object generation for synchronous conversation threads
WO2013107505A2 (en) * 2012-01-18 2013-07-25 Telefonaktiebolaget L M Ericsson (Publ) Terminal battery aware scheduling
US9749435B2 (en) * 2012-01-20 2017-08-29 Apple Inc. Proxy-based push service
US9125158B2 (en) * 2012-02-06 2015-09-01 Qualcomm Incorporated Wideband detection of narrowband trigger signals
CN102595577B (zh) * 2012-03-13 2017-12-26 深圳市中兴物联科技有限公司 一种终端待机唤醒后网络连接处理方法及ap和bp
JP5962096B2 (ja) * 2012-03-16 2016-08-03 富士通株式会社 無線通信システム、端末、及び通信方法
GB201210598D0 (en) * 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
CN103688506B (zh) * 2012-07-04 2017-07-21 华为技术有限公司 实现多媒体数据录制的方法、设备和系统
US8918529B1 (en) * 2013-03-15 2014-12-23 Mobile Iron, Inc. Messaging gateway
US9503540B2 (en) * 2013-05-09 2016-11-22 Nokia Technologies Oy Method and apparatus for asynchronous distribution of content
US9554239B2 (en) * 2015-04-21 2017-01-24 Apple Inc. Opportunistic offloading of tasks between nearby computing devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070299918A1 (en) * 2006-06-27 2007-12-27 Research In Motion Limited Electronic Mail Communications System with Client Email Internet Service Provider (ISP) Polling Application and Related Methods
EP2254309A1 (en) * 2009-05-20 2010-11-24 Thomson Licensing Method for sending data of a service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Efficient and Transparent Dynamic Content Updates for Mobile Clients", Trevor Armstrong. Department of Electrical and Computer Engineering. University of Toronto, Canada, MobiSys'06, June19~22, 2006, Uppsala, Sweden. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI644257B (zh) * 2016-06-07 2018-12-11 三竹資訊股份有限公司 推播通知附帶設定參數之方法

Also Published As

Publication number Publication date
CN104054322A (zh) 2014-09-17
EP2795880A1 (en) 2014-10-29
JP5837237B2 (ja) 2015-12-24
EP2795880B1 (en) 2016-01-06
US20130190032A1 (en) 2013-07-25
KR101604561B1 (ko) 2016-03-17
TW201338600A (zh) 2013-09-16
JP2015513332A (ja) 2015-05-07
KR20140114054A (ko) 2014-09-25
US9749435B2 (en) 2017-08-29
WO2013109550A1 (en) 2013-07-25
CN104054322B (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
TWI468055B (zh) 基於代理伺服器之推送服務
US10412678B2 (en) Managing notification service connections
US8396463B2 (en) Managing notification service connections and displaying icon badges
US8904206B2 (en) Mobile computing device and method for maintaining application continuity
TWI538537B (zh) 資訊推送方法、客戶端裝置及其系統
US8688826B2 (en) Mobile computing device and method with intelligent pushing management
CN102970155B (zh) 保持活动管理
EP3013114B1 (en) Method for sending heartbeat message and mobile terminal
US20110153728A1 (en) Synchronization of sporadic web poll traffic
WO2016171841A1 (en) Opportunistic offloading of tasks between nearby computing devices
JP2011525744A (ja) 通信システムにおける端末とサーバとの接続維持方法及びシステム
KR101944556B1 (ko) 무선부에서의 절전 모드 제어 방법
US20170195275A1 (en) Delivery of email to a mobile device