国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于代理的推送服務(wù)的制作方法

      文檔序號(hào):7790981閱讀:217來源:國知局
      基于代理的推送服務(wù)的制作方法
      【專利摘要】一種在移動(dòng)客戶端和通知服務(wù)器之間代理通知服務(wù)連接的方法和裝置。在本發(fā)明的一個(gè)實(shí)施例中,代理從移動(dòng)客戶端接收針對(duì)通知服務(wù)的代理設(shè)置請(qǐng)求。代理還為移動(dòng)客戶端建立與通知服務(wù)器的通知連接并保持通知連接而不喚醒移動(dòng)客戶端的應(yīng)用處理器。代理從通知服務(wù)接收通知并將通知轉(zhuǎn)發(fā)給移動(dòng)客戶端。
      【專利說明】基于代理的推送服務(wù)
      [0001]背景

      【技術(shù)領(lǐng)域】
      [0002]本發(fā)明的實(shí)施例涉及移動(dòng)設(shè)備處理領(lǐng)域;更具體地,涉及管理移動(dòng)設(shè)備與代理的通知服務(wù)連接。

      【背景技術(shù)】
      [0003]移動(dòng)設(shè)備(例如膝上型計(jì)算機(jī)、掌上電腦、便攜式媒體播放器、智能手機(jī)、多媒體移動(dòng)電話、移動(dòng)游戲系統(tǒng),例如“Gameboy”等)的用戶可能會(huì)訂閱一項(xiàng)或多項(xiàng)通知服務(wù)。例如,用戶可以訂閱一項(xiàng)或多項(xiàng)“推送”電子郵件服務(wù),例如,.Mac> Microsoft ExchangeActiveSync>push-1MAP>Yahoo ! Push等。就推送電子郵件服務(wù)而言,例如,電子郵件服務(wù)器可以自動(dòng)向針對(duì)用戶的移動(dòng)設(shè)備上的電子郵件客戶端傳輸電子郵件消息和/或日歷更新而無需用戶請(qǐng)求該項(xiàng)目。換句話講,用戶不請(qǐng)求(輪詢)電子郵件服務(wù)器發(fā)送感興趣的電子郵件消息或其他項(xiàng)目。因此,推送通知服務(wù)是一項(xiàng)持久性通知服務(wù)。此外,其他類型的服務(wù)可以使用類似的推送構(gòu)造(例如,更新/升級(jí)服務(wù)、新聞服務(wù)、weblog服務(wù)、podcast服務(wù)等)。為了保持推送通知服務(wù),移動(dòng)設(shè)備周期性地刷新與推送通知服務(wù)的連接(例如,通過向推送服務(wù)器傳輸查驗(yàn)消息)。
      [0004]此外,用戶可以訂閱一項(xiàng)或多項(xiàng)“拉取”服務(wù),例如“拉取”電子郵件服務(wù)(例如IMAP, POP3)。在拉取電子郵件服務(wù)中,用戶周期性地檢查(輪詢)電子郵件服務(wù)器以確定是否有新的電子郵件消息。如果有新的電子郵件消息,則將它們下載到客戶端。許多電子郵件客戶端支持自動(dòng)配置輪詢間隔。例如,移動(dòng)設(shè)備的用戶可以為POP3電子郵件帳戶配置10分鐘的輪詢間隔(因此, 電子郵件客戶端每10分鐘自動(dòng)輪詢電子郵件服務(wù)器以檢查新的電子郵件消息)。此外,可以配置通知服務(wù)以向多個(gè)訂閱者提供網(wǎng)絡(luò)范圍(例如互聯(lián)網(wǎng)范圍)事件通知消息,其中通知服務(wù)可以被一個(gè)或多個(gè)訂閱者和/或發(fā)布者自動(dòng)發(fā)現(xiàn),在2008年3月4日提交的名稱為“Automatic Notificat1n System and Process”的美國專利申請(qǐng)12/042,307中描述了這種情況,該申請(qǐng)據(jù)此全文以引用方式并入。
      [0005]移動(dòng)設(shè)備建立與一個(gè)或多個(gè)網(wǎng)元的數(shù)據(jù)語境(例如分組數(shù)據(jù)協(xié)議(rop)語境),所述一個(gè)或多個(gè)網(wǎng)元通過網(wǎng)絡(luò)(例如蜂窩網(wǎng)絡(luò),諸如通用分組無線電服務(wù)(GPRS)網(wǎng)絡(luò)和/或局域網(wǎng)(LAN))向移動(dòng)設(shè)備(例如,來自互聯(lián)網(wǎng)的網(wǎng)際協(xié)議流量)提供數(shù)據(jù)服務(wù)。該數(shù)據(jù)語境是移動(dòng)設(shè)備和網(wǎng)元之間的邏輯關(guān)聯(lián),并包括涉及路由(例如IP地址信息)、服務(wù)質(zhì)量(QoS)、計(jì)費(fèi)、認(rèn)證等的信息。由于保持?jǐn)?shù)據(jù)語境會(huì)消耗網(wǎng)元的網(wǎng)絡(luò)資源,因此如果移動(dòng)設(shè)備未主動(dòng)使用數(shù)據(jù)語境,一個(gè)或多個(gè)服務(wù)器可以拆除與移動(dòng)設(shè)備關(guān)聯(lián)的數(shù)據(jù)語境。例如,如果關(guān)閉移動(dòng)設(shè)備(從而不使用數(shù)據(jù)語境且不聯(lián)系網(wǎng)元),網(wǎng)元可以在不從移動(dòng)設(shè)備接收信息之后一定時(shí)間拆除數(shù)據(jù)語境。移動(dòng)設(shè)備可以周期性地刷新數(shù)據(jù)語境以保持?jǐn)?shù)據(jù)語境連接有效。
      [0006]為了節(jié)省電池壽命,移動(dòng)設(shè)備可以在未連接到恒定電源且未主動(dòng)使用時(shí)(例如空閑狀態(tài))進(jìn)入低功率模式。通常將這稱為“睡眠”模式。根據(jù)移動(dòng)設(shè)備的特性,特定移動(dòng)設(shè)備的睡眠模式可能不同。例如,在移動(dòng)設(shè)備具有網(wǎng)絡(luò)接入(例如蜂窩接入、WiFi接入等)的情況下,睡眠模式可以包括暫時(shí)使主處理器進(jìn)入睡眠并關(guān)閉顯示器,但保持網(wǎng)絡(luò)堆棧處于可操作功能中。因此,在處于睡眠模式中時(shí),示例性移動(dòng)設(shè)備可以繼續(xù)從通知服務(wù)(例如來自推送電子郵件服務(wù)和/或來自拉取電子郵件服務(wù)的電子郵件消息)接收電話呼叫和/或感興趣的項(xiàng)目。一旦接收到,就可以喚醒移動(dòng)設(shè)備以處理那些電話呼叫和/或通知。例如,移動(dòng)設(shè)備在處于睡眠模式時(shí)接收到電話呼叫之后喚醒,因此用戶可以應(yīng)答電話呼叫。此外,典型的移動(dòng)設(shè)備通常不能在處于睡眠模式的同時(shí)刷新數(shù)據(jù)語境(因此,移動(dòng)設(shè)備通常需要喚醒以刷新數(shù)據(jù)語境)。


      【發(fā)明內(nèi)容】

      [0007]—種在移動(dòng)客戶端和通知服務(wù)器之間代理通知服務(wù)連接的方法和裝置。在本發(fā)明的一個(gè)實(shí)施例中,代理從移動(dòng)客戶端接收對(duì)通知服務(wù)的代理設(shè)置請(qǐng)求。代理還為移動(dòng)客戶端建立與通知服務(wù)器的通知連接并保持通知連接而不喚醒移動(dòng)客戶端的應(yīng)用處理器。代理從通知服務(wù)接收通知并將通知轉(zhuǎn)發(fā)給移動(dòng)客戶端。
      [0008]在本發(fā)明的另一個(gè)實(shí)施例中,一種系統(tǒng)包括移動(dòng)客戶端、通知服務(wù)器和推送代理。移動(dòng)客戶端經(jīng)由通知服務(wù)器從通知服務(wù)接收通知,并且推送代理為移動(dòng)客戶端代理通知請(qǐng)求。推送代理從移動(dòng)客戶端接收對(duì)通知服務(wù)的代理設(shè)置請(qǐng)求。推送代理還為移動(dòng)客戶端建立與通知服務(wù)器的通知連接并保持與通知服務(wù)器的通知連接而不喚醒移動(dòng)客戶端的應(yīng)用處理器。此外,推送代理從通知服務(wù)接收通知并將通知轉(zhuǎn)發(fā)給移動(dòng)客戶端。
      [0009]在本發(fā)明的另一個(gè)實(shí)施例中,一種設(shè)備包括在第一操作系統(tǒng)中執(zhí)行并執(zhí)行命令功能的應(yīng)用處理器和在第二操作系統(tǒng)中執(zhí)行并執(zhí)行通信功能的網(wǎng)絡(luò)連接性元件。網(wǎng)絡(luò)連接性包括推送代理,其中推送代理被配置為從應(yīng)用處理器接收針對(duì)通知服務(wù)的代理設(shè)置請(qǐng)求。推送代理還被配置成為設(shè)備建立與通知服務(wù)器的通知連接并保持與通知服務(wù)器的通知連接而不喚醒應(yīng)用處理器。此外,推送代理被配置為從通知服務(wù)接收通知并將通知轉(zhuǎn)發(fā)給應(yīng)用處理器。

      【專利附圖】

      【附圖說明】
      [0010]參考以下描述和用于示出本發(fā)明的實(shí)施例的附圖可以最好地理解本發(fā)明。在附圖中:
      [0011]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種示例性計(jì)算環(huán)境;
      [0012]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備建立通知服務(wù)連接并安排通知服務(wù)連接消息傳輸間隔的一種示例性流程;
      [0013]圖3A是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理通知服務(wù)連接的示例性移動(dòng)設(shè)備的框架的框圖;
      [0014]圖3B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖3A的通知服務(wù)連接管理器的分解圖的框圖;
      [0015]圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理通知服務(wù)連接的流程圖;
      [0016]圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備基于重疊通知服務(wù)連接消息傳輸窗口來同步通知服務(wù)連接消息的傳輸?shù)氖纠詧D表;
      [0017]圖6是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例優(yōu)化通知服務(wù)連接消息間隔的示例性狀態(tài)圖;
      [0018]圖7是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種示例性移動(dòng)設(shè)備的框圖;
      [0019]圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種示例性移動(dòng)設(shè)備的框圖;
      [0020]圖9A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例包括獨(dú)立代理的一種示例性計(jì)算環(huán)境;
      [0021]圖9B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例包括并入移動(dòng)客戶端中的代理的一種示例性計(jì)算環(huán)境;
      [0022]圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例來代理客戶端和服務(wù)器之間的一個(gè)或多個(gè)服務(wù)連接的代理的框圖;
      [0023]圖11是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例由代理為客戶端管理通知服務(wù)連接的流程圖;
      [0024]圖12是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理代理和服務(wù)器之間的通知服務(wù)連接的流程圖;并且
      [0025]圖13是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理客戶端交互的流程圖。

      【具體實(shí)施方式】
      [0026]以下說明示出了許多具體細(xì)節(jié)。然而,應(yīng)當(dāng)理解,可以不需要這些具體細(xì)節(jié)來實(shí)踐本發(fā)明的實(shí)施例。在其他情況下,未詳細(xì)示出熟知的電路、結(jié)構(gòu)和技術(shù),以免影響對(duì)本說明的理解。在其他情況下,未詳細(xì)示出控制結(jié)構(gòu)、門電平電路和完整的軟件指令序列以免使本發(fā)明模糊不清。利用所包括的描述,本領(lǐng)域的普通技術(shù)人員將能夠?qū)崿F(xiàn)適當(dāng)?shù)墓δ苄远鵁o需過度試驗(yàn)。
      [0027]在說明書中提到“ 一個(gè)實(shí)施例”、“實(shí)施例”、“示例性實(shí)施例”等表示所述的實(shí)施例可包括特定的特征、結(jié)構(gòu)或特性,但未必每個(gè)實(shí)施例都包括該特定特征、結(jié)構(gòu)或特性。此外,這樣的措辭用語不必是指相同的實(shí)施例。另外,在結(jié)合實(shí)施例描述特定特征、結(jié)構(gòu)或特性時(shí),認(rèn)為結(jié)合明確或未明確描述的其他實(shí)施例實(shí)現(xiàn)此類特征、結(jié)構(gòu)或特性在本領(lǐng)域技術(shù)人員的知識(shí)范圍之內(nèi)。
      [0028]在以下描述和權(quán)利要求中,可以使用術(shù)語“耦接”和“連接”及其派生詞。應(yīng)當(dāng)理解,這些術(shù)語并非意在彼此同義。“耦接”被用于表示可能或可能不彼此直接物理或電接觸的兩個(gè)或更多個(gè)元件彼此合作或交互。“連接”被用于表示彼此耦接的兩個(gè)或更多元件之間通信的建立。
      [0029]可以利用一個(gè)或多個(gè)電子設(shè)備(例如,移動(dòng)設(shè)備(例如膝上型計(jì)算機(jī)、掌上電腦、便攜式媒體播放器、智能手機(jī)、多媒體移動(dòng)電話、移動(dòng)游戲系統(tǒng)等)、非移動(dòng)設(shè)備(例如,臺(tái)式計(jì)算機(jī)、工作站、服務(wù)器等))上存儲(chǔ)和執(zhí)行的代碼和數(shù)據(jù)來實(shí)現(xiàn)圖中所示的技術(shù)。此類電子設(shè)備利用機(jī)器可讀介質(zhì)(通過網(wǎng)絡(luò),在內(nèi)部并與其他電子設(shè)備一起)存儲(chǔ)和發(fā)送代碼和數(shù)據(jù),機(jī)器可讀介質(zhì)諸如機(jī)器存儲(chǔ)介質(zhì)(例如磁盤;光盤;隨機(jī)存取存儲(chǔ)器;只讀存儲(chǔ)器;閃存存儲(chǔ)器設(shè)備)和機(jī)器通信介質(zhì)(例如,所傳播信號(hào)的電、光、聲或其他形式,例如載波、紅外信號(hào)、數(shù)字信號(hào)等)。此外,此類電子設(shè)備通常包括耦接到一個(gè)或多個(gè)其他部件(諸如存儲(chǔ)設(shè)備)、一個(gè)或多個(gè)用戶輸入/輸出設(shè)備(諸如鍵盤、小鍵盤、觸摸屏和/或顯示器)和一個(gè)或多個(gè)網(wǎng)絡(luò)連接的一組一個(gè)或多個(gè)處理器。該組處理器與其他部件的耦接通常是通過一個(gè)或多個(gè)總線和網(wǎng)橋(也稱為總線控制器)實(shí)現(xiàn)的。承載網(wǎng)絡(luò)流量的存儲(chǔ)設(shè)備和信號(hào)分別表示一種或多種機(jī)器存儲(chǔ)介質(zhì)和機(jī)器通信介質(zhì)。因此,給定的電子設(shè)備的存儲(chǔ)設(shè)備通常存儲(chǔ)代碼和/或數(shù)據(jù),以在該電子設(shè)備的該組一個(gè)或多個(gè)處理器上執(zhí)行。當(dāng)然,可以利用軟件、固件和/或硬件的不同組合來實(shí)現(xiàn)本發(fā)明實(shí)施例的一個(gè)或多個(gè)部分。
      [0030]通知服備
      [0031]描述了一種使用移動(dòng)客戶端或由移動(dòng)客戶端的代理來管理通知服務(wù)連接的方法和設(shè)備。在本發(fā)明的一個(gè)實(shí)施例中,移動(dòng)設(shè)備(例如,膝上型計(jì)算機(jī)、掌上電腦、便攜式媒體播放器、智能手機(jī)、多媒體移動(dòng)電話、諸如“Gameboy”的移動(dòng)游戲系統(tǒng)等)包括一個(gè)或多個(gè)通知服務(wù)客戶端(例如,推送通知服務(wù)客戶端(例如,推送電子郵件客戶端,諸如.Mac,Microsoft Exchange, push-1MAP, Yahoo ! Push 等,更新 / 升級(jí)服務(wù)、新聞服務(wù)、weblog 服務(wù)、podcast服務(wù)等)和/或拉取通知服務(wù)客戶端(例如,拉取電子郵件客戶端,諸如POP3、IMAP等))。對(duì)于每個(gè)通知服務(wù)客戶端,移動(dòng)設(shè)備都獨(dú)立地安排通知服務(wù)連接消息傳輸間隔并設(shè)置通知服務(wù)連接消息傳輸計(jì)時(shí)器。此外,通知服務(wù)連接消息傳輸窗口與每個(gè)通知服務(wù)連接消息傳輸間隔相關(guān)聯(lián)并基于通知服務(wù)連接消息傳輸間隔的值。在通知服務(wù)連接消息傳輸計(jì)時(shí)器對(duì)于特定通知服務(wù)客戶端而言過期時(shí),移動(dòng)設(shè)備為該通知服務(wù)傳輸通知服務(wù)連接消息,并且還為每個(gè)通知服務(wù)連接消息傳輸窗口與該過期的傳輸計(jì)時(shí)器重疊的其他通知服務(wù)傳輸通知服務(wù)連接消息。移動(dòng)設(shè)備在傳輸通知服務(wù)連接消息時(shí)重置針對(duì)每個(gè)通知服務(wù)的通知服務(wù)連接消息傳輸計(jì)時(shí)器。
      [0032]在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于每個(gè)通知服務(wù)連接,如果移動(dòng)設(shè)備處在睡眠模式中,則移動(dòng)設(shè)備安排時(shí)間以喚醒移動(dòng)設(shè)備,以便傳輸通知服務(wù)連接消息。如果移動(dòng)設(shè)備在特定時(shí)間喚醒,或者在特定時(shí)間安排的喚醒期間被喚醒,則移動(dòng)設(shè)備為通知服務(wù)連接消息傳輸窗口與該特定時(shí)間重疊的每個(gè)通知服務(wù)傳輸通知服務(wù)連接消息。移動(dòng)設(shè)備在傳輸通知服務(wù)連接消息之后重置針對(duì)每個(gè)通知服務(wù)的通知服務(wù)連接消息傳輸計(jì)時(shí)器。
      [0033]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種示例性計(jì)算環(huán)境100。該計(jì)算環(huán)境100包括各自與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150耦接的移動(dòng)設(shè)備160和170。一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150在本發(fā)明的不同實(shí)施例中可以是各種類型網(wǎng)絡(luò)的一部分,包括蜂窩網(wǎng)絡(luò)(例如全球移動(dòng)通信系統(tǒng)(GSM)、增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)(EDGE)、通用分組無線電服務(wù)(GPRS)、碼分多址(CDMA)、時(shí)分-CDMA(TD-CDMA)、通用移動(dòng)電信系統(tǒng)(UMTS)、長期演進(jìn)(LTE)或其他蜂窩網(wǎng)絡(luò)),局域網(wǎng)(LAN)等。例如,如果一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150是GSM網(wǎng)絡(luò)的一部分,則該一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150可以包括一個(gè)或多個(gè)收發(fā)器基站(BTS)、基站控制器(BSC)、移動(dòng)交換中心(MSC)、服務(wù)GPRS支持節(jié)點(diǎn)(SGSN)等。又如,如果一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150是LAN的一部分,則該一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150可以包括一個(gè)或多個(gè)網(wǎng)絡(luò)交換機(jī)、路由器、集線器、調(diào)制解調(diào)器等。
      [0034]移動(dòng)設(shè)備160包括應(yīng)用處理器162和一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件164 (例如,無線網(wǎng)絡(luò)連接性元件(例如用于蜂窩電話的無線電網(wǎng)絡(luò)連接性元件、WiFi網(wǎng)絡(luò)連接性元件)、有線網(wǎng)絡(luò)連接性元件(例如一個(gè)或多個(gè)有線網(wǎng)絡(luò)接口控制器(NIC)))。移動(dòng)設(shè)備160經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件164,通過數(shù)據(jù)語境(例如PDP語境),與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150通信。廣域網(wǎng)(WAN) 140 (例如互聯(lián)網(wǎng))與網(wǎng)絡(luò)數(shù)據(jù)訪問元件150耦接。推送通知服務(wù)110和120以及拉取通知服務(wù)130與WAN140耦接。根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160的用戶訪問并使用推送通知服務(wù)110和120以及拉取通知服務(wù)130 (推送通知服務(wù)110和120以及拉取通知服務(wù)130提供用戶感興趣的項(xiàng)目)。例如,推送通知服務(wù)110可以為移動(dòng)設(shè)備160的用戶提供個(gè)人推送電子郵件帳戶,而推送通知服務(wù)120可以為移動(dòng)設(shè)備160的用戶提供工作推送電子郵件帳戶。又如,拉取通知服務(wù)130可以為移動(dòng)設(shè)備160的用戶提供組織拉取電子郵件帳戶(例如POP3電子郵件帳戶,webmail帳戶等)。
      [0035]在本發(fā)明的一個(gè)實(shí)施例中,應(yīng)用處理器162是移動(dòng)設(shè)備160的中央處理器。例如,應(yīng)用處理器162處理移動(dòng)設(shè)備160的一個(gè)或多個(gè)操作系統(tǒng)(圖1中為了不使對(duì)發(fā)明的理解模糊不清未示出操作系統(tǒng))以及運(yùn)行于移動(dòng)設(shè)備160上的任何應(yīng)用程序。圖1中未示出移動(dòng)設(shè)備的其他公知特征結(jié)構(gòu),以免使對(duì)本發(fā)明的理解模糊,所述公知特征結(jié)構(gòu)包括輸入/輸出設(shè)備、一個(gè)或多個(gè)存儲(chǔ)器、電源、顯示器等。
      [0036]根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160能夠進(jìn)入低功率模式,稱為“睡眠模式”。例如,如果移動(dòng)設(shè)備160未與恒定電源耦接(例如,未插入電源插座中),則移動(dòng)設(shè)備160可以周期性地進(jìn)入睡眠模式以節(jié)省設(shè)備的電池壽命。移動(dòng)設(shè)備160可以若干種不同方式進(jìn)入睡眠模式,包括在一段時(shí)間不活動(dòng)(例如I分鐘不活動(dòng))之后和/或直接由來自用戶的命令執(zhí)行(例如,用戶可以向移動(dòng)設(shè)備160發(fā)出命令以使移動(dòng)設(shè)備進(jìn)入睡眠模式)。應(yīng)當(dāng)理解,進(jìn)入睡眠模式的其他機(jī)制在本發(fā)明的范圍之內(nèi)。
      [0037]在睡眠模式期間,根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160暫時(shí)禁用應(yīng)用處理器162 (應(yīng)用處理器162在暫時(shí)禁用時(shí)可以幾乎不消耗電力)。應(yīng)當(dāng)理解,如果禁用應(yīng)用處理器162,也會(huì)禁用移動(dòng)設(shè)備160的操作系統(tǒng)和應(yīng)用程序。然而,根據(jù)本發(fā)明的一個(gè)實(shí)施例,至少一些網(wǎng)絡(luò)連接性元件164不被暫時(shí)禁用。換句話講,至少一些網(wǎng)絡(luò)連接性元件164可以繼續(xù)從網(wǎng)絡(luò)數(shù)據(jù)訪問元件150接收信息并使用電力。例如,如果移動(dòng)設(shè)備160具有接收電話呼叫和/或文本消息(例如短消息服務(wù)(SMS)消息)的能力,移動(dòng)設(shè)備160可以在睡眠模式期間保持喚醒無線電連接性元件,以便接收電話呼叫和/或文本消息。如果移動(dòng)設(shè)備160禁用了無線電連接性元件,例如,移動(dòng)設(shè)備160的用戶將不能接收電話呼叫和/或文本消息(例如,電話呼叫可能轉(zhuǎn)而被轉(zhuǎn)發(fā)到語音郵件,如果支持的話)。應(yīng)當(dāng)理解,為了處理那些所接收的電話呼叫和/或文本消息(例如為了讓用戶應(yīng)答來電),移動(dòng)設(shè)備160從睡眠模式中喚醒(例如,重新啟用應(yīng)用處理器162)。
      [0038]此外,根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160包括在睡眠模式期間從推送通知服務(wù)110-120接收感興趣項(xiàng)目的能力。例如,至少一些網(wǎng)絡(luò)連接性元件164具有在睡眠模式期間從推送通知服務(wù)110和120接收感興趣項(xiàng)目的能力(例如,電子郵件消息、日歷更新、天氣更新、股票更新等)。在本發(fā)明的一個(gè)實(shí)施例中,無線電網(wǎng)絡(luò)連接性元件在睡眠模式期間接收從推送通知服務(wù)110和120發(fā)送的感興趣項(xiàng)目。因此,在睡眠模式期間,如果推送通知服務(wù)110和120為移動(dòng)設(shè)備160的用戶提供推送電子郵件服務(wù),則移動(dòng)設(shè)備160可以從推送通知服務(wù)110和120接收電子郵件消息。根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160從睡眠模式喚醒以處理在睡眠模式期間接收的感興趣項(xiàng)目。
      [0039]盡管在本發(fā)明的一些實(shí)施例中,WiFi網(wǎng)絡(luò)連接性元件在睡眠模式期間被喚醒并工作(并能夠從推送通知服務(wù)I1和120接收感興趣的項(xiàng)目),但在本發(fā)明的替代實(shí)施例中,讓W(xué)iFi網(wǎng)絡(luò)連接性元件在睡眠模式期間睡眠。在一個(gè)實(shí)施例中,無線電網(wǎng)絡(luò)連接性元件可以使用比WiFi網(wǎng)絡(luò)連接性元件更少的電力。因此,在該實(shí)施例中,保持WiFi網(wǎng)絡(luò)連接性元件在睡眠模式期間喚醒,與保持無線電網(wǎng)絡(luò)連接性元件喚醒相比,要消耗更大量的電力。因此,在本發(fā)明的一些實(shí)施例中,移動(dòng)設(shè)備160可以在睡眠模式期間經(jīng)由W1-Fi網(wǎng)絡(luò)連接性元件從推送通知服務(wù)110和120接收感興趣的項(xiàng)目,而在本發(fā)明的其他實(shí)施例中,移動(dòng)設(shè)備160不在睡眠模式期間經(jīng)由WiFi網(wǎng)絡(luò)連接性元件接收感興趣的項(xiàng)目。
      [0040] 在本發(fā)明的一些實(shí)施例中,移動(dòng)設(shè)備160可以使用網(wǎng)絡(luò)連接性元件的組合以從推送通知服務(wù)I1和120接收感興趣的項(xiàng)目。例如,移動(dòng)設(shè)備160可以支持經(jīng)由無線電網(wǎng)絡(luò)連接性元件(例如通過蜂窩網(wǎng)絡(luò))和/或經(jīng)由WiFi網(wǎng)絡(luò)連接性元件(例如在家庭LAN連接時(shí))接收數(shù)據(jù)信息。移動(dòng)設(shè)備160的用戶可以配置移動(dòng)設(shè)備160,使得在有WiFi服務(wù)可用時(shí)(例如在家庭LAN和/或工作LAN連接時(shí))使用WiFi網(wǎng)絡(luò)連接性元件,并且在沒有WiFi服務(wù)可用時(shí),使用無線電網(wǎng)絡(luò)連接性元件。因此,在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)哪個(gè)網(wǎng)絡(luò)連接性元件在提供數(shù)據(jù)支持,可以使用無線電網(wǎng)絡(luò)連接性元件和/或WiFi網(wǎng)絡(luò)連接性元件從推送通知服務(wù)110和120接收感興趣的項(xiàng)目。此外,在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)在進(jìn)入睡眠模式之前哪個(gè)網(wǎng)絡(luò)連接性元件在提供數(shù)據(jù)支持,可以使用無線電網(wǎng)絡(luò)連接性元件和/或WiFi網(wǎng)絡(luò)連接性元件在睡眠模式期間從推送通知服務(wù)110和120接收感興趣的項(xiàng)目(例如,如果在LAN之內(nèi)且WiFi網(wǎng)絡(luò)連接性元件在移動(dòng)設(shè)備160被喚醒的同時(shí)正在從推送通知服務(wù)110和120接收感興趣的項(xiàng)目,則在睡眠模式期間,WiFi網(wǎng)絡(luò)連接性元件保持喚醒以接收感興趣的項(xiàng)目,并且移動(dòng)設(shè)備160使無線電網(wǎng)絡(luò)連接性元件睡眠)。
      [0041 ] 在本發(fā)明的一個(gè)實(shí)施例中,WiFi網(wǎng)絡(luò)連接性元件可使用比無線電網(wǎng)絡(luò)連接性元件更多的電力,不論在進(jìn)入睡眠模式之前哪個(gè)網(wǎng)絡(luò)連接性元件在提供數(shù)據(jù)支持,并且在睡眠模式期間,移動(dòng)設(shè)備160使WiFi網(wǎng)絡(luò)連接性元件睡眠(例如,暫時(shí)禁用WiFi網(wǎng)絡(luò)連接性元件)并使用無線電網(wǎng)絡(luò)連接性元件從推送通知服務(wù)接收感興趣的項(xiàng)目。例如,如果移動(dòng)設(shè)備160經(jīng)由LAN(例如用戶的家庭LAN)與推送通知服務(wù)110和120連接,并且用戶發(fā)出命令,使移動(dòng)設(shè)備160進(jìn)入睡眠模式,則移動(dòng)設(shè)備160自動(dòng)過渡到經(jīng)由蜂窩網(wǎng)絡(luò)(通過無線電連接性元件)與推送通知服務(wù)110和120連接并使WiFi連接性元件睡眠。
      [0042]在本發(fā)明的一些實(shí)施例中,周期性地刷新持久性通知服務(wù)連接(例如推送通知服務(wù)110和120),以便保持連接的持久性。例如,如果移動(dòng)設(shè)備未主動(dòng)使用該連接,則推送通知服務(wù)110和120可以使與移動(dòng)設(shè)備160的連接超時(shí)(從而停止針對(duì)該用戶的推送通知服務(wù))。因此,在本發(fā)明的一些實(shí)施例中,要求移動(dòng)設(shè)備160與推送通知服務(wù)110和120通信以便保持其持久連接。例如,在某個(gè)周期性間隔處,移動(dòng)設(shè)備160向推送通知服務(wù)110和120傳輸通知服務(wù)連接消息以刷新該連接。通知服務(wù)連接消息通知推送通知服務(wù)110和120所述移動(dòng)設(shè)備160仍然連接(并可能希望繼續(xù)從推送通知服務(wù)接收感興趣的項(xiàng)目)。應(yīng)當(dāng)理解,刷新推送通知連接通知推送通知服務(wù)的服務(wù)器所述移動(dòng)設(shè)備希望保持連接到該服務(wù)。此外,刷新推送通知連接通知沿著通往推送通知服務(wù)的服務(wù)器的路徑的每個(gè)網(wǎng)元以保持連接(否則,如網(wǎng)元可以清空與該連接相關(guān)聯(lián)的網(wǎng)絡(luò)資源)。通知服務(wù)連接消息可以是查驗(yàn)消息或其他保持活動(dòng)的消息。通知服務(wù)可以對(duì)通知服務(wù)連接消息做出響應(yīng)以通知該移動(dòng)設(shè)備160所述連接處于活動(dòng)狀態(tài)。因此,如果移動(dòng)設(shè)備160未從通知服務(wù)接收響應(yīng),可以要求移動(dòng)設(shè)備160與通知服務(wù)重新建立會(huì)話。應(yīng)當(dāng)理解,在本發(fā)明的一些實(shí)施例中,從通知服務(wù)接收感興趣的項(xiàng)目還會(huì)刷新持久性通知服務(wù)連接。
      [0043]傳輸通知服務(wù)連接消息的間隔對(duì)于各個(gè)通知服務(wù)而言可能不同。例如,如果30分鐘沒有通信,推送通知服務(wù)I1可以使得連接超時(shí),而如果15分鐘沒有通信,推送通知服務(wù)120可以使得連接超時(shí)。然而,這些超時(shí)間隔不是靜態(tài)的,并可以根據(jù)不同的網(wǎng)絡(luò)狀況而動(dòng)態(tài)地變化。此外,通知服務(wù)可不通知移動(dòng)設(shè)備已經(jīng)修改了超時(shí)間隔。因此,移動(dòng)設(shè)備160在試圖保持連接(無需重新建立連接)時(shí),可以在已知的超時(shí)間隔之內(nèi)傳輸通知服務(wù)連接消息。應(yīng)當(dāng)理解,需要喚醒移動(dòng)設(shè)備160以傳輸通知服務(wù)連接消息來刷新和保持通知服務(wù)連接。
      [0044]此外,在本發(fā)明的一些實(shí)施例中,要求移動(dòng)設(shè)備160周期性地刷新與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150的連接,以便保持網(wǎng)絡(luò)數(shù)據(jù)連接性(例如,運(yùn)營商網(wǎng)絡(luò)中的NAT路由器,防火墻或網(wǎng)絡(luò)中的其他網(wǎng)元)。例如,由于數(shù)據(jù)語境消耗網(wǎng)絡(luò)資源,如果沒有在主動(dòng)使用和/或沒有在一定量時(shí)間內(nèi)使用(例如去除數(shù)據(jù)語境,并重新分配該數(shù)據(jù)語境的網(wǎng)絡(luò)資源),一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150可以拆除數(shù)據(jù)語境。應(yīng)當(dāng)理解,如果拆除數(shù)據(jù)語境,移動(dòng)設(shè)備160就不與任何通知服務(wù)連接。當(dāng)然,還應(yīng)當(dāng)理解,除了一段時(shí)間不活動(dòng)之外,還可能因?yàn)槠渌虿鸪龜?shù)據(jù)語境(例如,如果移動(dòng)設(shè)備的位置在網(wǎng)絡(luò)范圍之外,如果移動(dòng)設(shè)備160被關(guān)閉等)。在本發(fā)明的其他實(shí)施例中,數(shù)據(jù)語境無須被移動(dòng)設(shè)備160刷新。通常,數(shù)據(jù)語境超時(shí)間隔少于通知服務(wù)超時(shí)間隔。如果數(shù)據(jù)語境有效,由移動(dòng)設(shè)備160向通知服務(wù)傳輸?shù)耐ㄖ?wù)連接消息會(huì)固有地刷新與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150的連接。
      [0045]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備建立通知服務(wù)連接并安排通知服務(wù)連接消息傳輸間隔的一種示例性流程。將參考圖1、圖3A和圖4的示例性實(shí)施例來描述圖2的操作。然而,應(yīng)當(dāng)理解,可以由參考圖1、圖3A和圖4論述的那些之外的本發(fā)明的實(shí)施例來執(zhí)行圖2的操作,參考圖1、圖3A和圖4而論述的實(shí)施例可執(zhí)行與參考圖2論述的那些不同的操作。
      [0046]在方框210,移動(dòng)設(shè)備160建立數(shù)據(jù)語境??梢酝ㄟ^在現(xiàn)有技術(shù)中已知的任意種方法建立數(shù)據(jù)語境。從方框210,流程前進(jìn)到方框220,在此,移動(dòng)設(shè)備160建立一個(gè)或多個(gè)通知服務(wù)連接。例如,參考圖1,移動(dòng)設(shè)備160與推送通知服務(wù)110和120以及拉取通知服務(wù)130建立連接。在本發(fā)明的一些實(shí)施例中,連接均是傳輸控制協(xié)議(TCP)連接。流程從方框220前進(jìn)到方框230。
      [0047]在方框230,移動(dòng)設(shè)備安排通知服務(wù)連接消息傳輸間隔并針對(duì)每個(gè)通知服務(wù)連接安排設(shè)備喚醒時(shí)間。例如,移動(dòng)設(shè)備160可以為推送通知服務(wù)110安排30分鐘的通知服務(wù)連接消息傳輸間隔,為推送通知服務(wù)120安排15分鐘的間隔,并為拉取通知服務(wù)130安排25分鐘的間隔。此外,移動(dòng)設(shè)備160可以安排與那些傳輸間隔一致的喚醒時(shí)間。流程從方框230前進(jìn)到方框240。
      [0048]在方框240,移動(dòng)設(shè)備160進(jìn)入睡眠模式。如前所述,移動(dòng)設(shè)備160可以通過多種不同方式進(jìn)入睡眠模式,包括在一段時(shí)間不活動(dòng)(例如30分鐘不活動(dòng))之后和/或直接由來自用戶的命令執(zhí)行(例如,用戶可向移動(dòng)設(shè)備160發(fā)出命令以使移動(dòng)設(shè)備進(jìn)入睡眠模式)。流程從方框240前進(jìn)到方框250。在方框250,使移動(dòng)設(shè)備的應(yīng)用處理器睡眠,并保持一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件喚醒,例如,以保持通知服務(wù)連接。流程從方框250前進(jìn)到方框260,在此根據(jù)通知服務(wù)連接管理器來喚醒應(yīng)用處理器以傳輸通知服務(wù)連接消息。
      [0049]圖3A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例由管理通知服務(wù)連接的示例性移動(dòng)設(shè)備使用的框架。例如,移動(dòng)設(shè)備160使用圖3A中所示的框架管理與推送通知服務(wù)110和120以及拉取通知服務(wù)130的連接。該框架包括一個(gè)或多個(gè)通知服務(wù)客戶端310。例如,參考圖1,總共可以有三個(gè)通知服務(wù)客戶端310(例如針對(duì)推送通知服務(wù)110的通知服務(wù)客戶端、針對(duì)推送通知服務(wù)120的通知服務(wù)客戶端和針對(duì)拉取通知服務(wù)130的通知服務(wù)客戶端)。每個(gè)通知服務(wù)客戶端310單個(gè)地與服務(wù)連接管理器320和網(wǎng)絡(luò)堆棧330耦接。例如,在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)通知服務(wù)客戶端都是獨(dú)立的過程,不會(huì)與其他通知服務(wù)客戶端共享存儲(chǔ)器和/或不會(huì)與其他通知服務(wù)客戶端通信。每個(gè)通知服務(wù)客戶端向通知服務(wù)連接管理器320注冊360。
      [0050]通知服務(wù)連接管理器320與一個(gè)或多個(gè)系統(tǒng)級(jí)計(jì)時(shí)器350、網(wǎng)絡(luò)堆棧330和喚醒I/o子系統(tǒng)340耦接。服務(wù)連接管理器320利用一個(gè)或多個(gè)系統(tǒng)級(jí)計(jì)時(shí)器350安排通知服務(wù)連接消息傳輸間隔并監(jiān)視那些計(jì)時(shí)器,如數(shù)字372所示。此外,服務(wù)連接管理器320利用I/O子系統(tǒng)340相對(duì)于通知服務(wù)連接消息傳輸間隔安排移動(dòng)設(shè)備的喚醒,如數(shù)字370所示(例如,可以在接近通知服務(wù)連接消息傳輸間隔末尾時(shí)安排喚醒),并將通知服務(wù)連接消息傳輸窗口與通知服務(wù)連接消息傳輸間隔相關(guān)聯(lián)。服務(wù)連接管理器320還在移動(dòng)設(shè)備的睡眠模式期間保持網(wǎng)絡(luò)堆棧330喚醒,如數(shù)字368所示。
      [0051]網(wǎng)絡(luò)堆棧330包括對(duì)網(wǎng)絡(luò)連接性元件(例如,無線電連接性元件和/或WiFi連接性元件)的支持。網(wǎng)絡(luò)堆棧330用于與通知服務(wù)(并與整個(gè)網(wǎng)絡(luò)中的其他實(shí)體)通信。網(wǎng)絡(luò)堆棧330為通知服務(wù)連接管理器320提供網(wǎng)絡(luò)的狀態(tài),如數(shù)字366所示。例如,通知服務(wù)連接管理器320將網(wǎng)絡(luò)狀況(例如,網(wǎng)絡(luò)擁塞、統(tǒng)計(jì)值等)通知給服務(wù)連接管理器320。此夕卜,網(wǎng)絡(luò)堆棧330從網(wǎng)絡(luò)服務(wù)接收一個(gè)或多個(gè)感興趣的項(xiàng)目并將它們傳輸?shù)竭m當(dāng)?shù)耐ㄖ?wù)客戶端310,如數(shù)字376所示。此外,網(wǎng)絡(luò)堆棧330通知通知服務(wù)客戶端320是否接收到來自通知服務(wù)之一的通信(例如,是否接收到對(duì)通知服務(wù)連接消息傳輸?shù)幕貜?fù))。
      [0052]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在經(jīng)過用于通知服務(wù)連接的時(shí)間之后,服務(wù)連接管理器320指示通知服務(wù)客戶端310傳輸通知服務(wù)連接消息,并且還通知所述通知服務(wù)客戶端310任何重新嘗試事件,如數(shù)字364所示(例如,重新嘗試事件可包括重新建立掉線的通知服務(wù)連接)。通知服務(wù)客戶端310利用網(wǎng)絡(luò)堆棧330來傳輸通知服務(wù)連接消息,如數(shù)字374所示。此外,通知服務(wù)客戶端310可以指示服務(wù)連接管理器320對(duì)通知服務(wù)連接消息傳輸間隔進(jìn)行校準(zhǔn),如數(shù)字362所示。參考圖6更詳細(xì)地論述對(duì)通知服務(wù)連接消息傳輸間隔的校準(zhǔn)。
      [0053]圖3B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖3A的通知服務(wù)連接管理器320的分解圖的框圖。通知服務(wù)連接管理器320包括通知服務(wù)連接消息傳輸間隔調(diào)度器模塊322、通知服務(wù)連接消息傳輸間隔優(yōu)化器模塊323、通知服務(wù)連接消息傳輸計(jì)時(shí)器監(jiān)視模塊324、通知服務(wù)連接消息喚醒調(diào)度器模塊325、通知服務(wù)連接消息發(fā)生器模塊326和睡眠模式管理器模塊327。
      [0054]根據(jù)本發(fā)明的一個(gè)實(shí)施例,間隔調(diào)度器模塊322安排通知服務(wù)連接消息傳輸間隔。此外,間隔調(diào)度器模塊將通知服務(wù)連接消息傳輸窗口與安排的通知服務(wù)連接消息傳輸間隔相關(guān)聯(lián)。間隔調(diào)度器模塊322與通知服務(wù)連接消息傳輸計(jì)時(shí)器監(jiān)視模塊324耦接。在本發(fā)明的一個(gè)實(shí)施例中,計(jì)時(shí)器監(jiān)視模塊監(jiān)視一個(gè)或多個(gè)系統(tǒng)級(jí)計(jì)時(shí)器350,包括通知服務(wù)連接消息傳輸計(jì)時(shí)器。間隔調(diào)度器模塊322還與通知服務(wù)連接消息喚醒調(diào)度器模塊耦接。根據(jù)本發(fā)明的一個(gè)實(shí)施例,喚醒調(diào)度器模塊322基于通知服務(wù)連接消息傳輸間隔安排移動(dòng)設(shè)備的喚醒。
      [0055]計(jì)時(shí)器監(jiān)視模塊324與通知服務(wù)連接消息發(fā)生器模塊326耦接。根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息發(fā)生器模塊326警示一個(gè)或多個(gè)通知服務(wù)客戶端310發(fā)出通知服務(wù)連接消息。間隔優(yōu)化器模塊323與間隔調(diào)度器模塊322耦接。根據(jù)本發(fā)明的一個(gè)實(shí)施例,間隔優(yōu)化器模塊優(yōu)化通知服務(wù)連接消息傳輸間隔,將參考圖6對(duì)其進(jìn)行更詳細(xì)的描述。在本發(fā)明的一個(gè)實(shí)施例中,睡眠模式管理器327在睡眠模式期間保持網(wǎng)絡(luò)堆棧330喚醒。
      [0056]圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理通知服務(wù)連接的流程圖。將參考圖3A和圖5的示例性實(shí)施例來描述圖4的操作。然而,應(yīng)當(dāng)理解,可以由參考圖3A和圖5論述的實(shí)施例之外的本發(fā)明的實(shí)施例來執(zhí)行圖4的操作,并且參考圖3A和圖5而論述的實(shí)施例可執(zhí)行與參考圖4論述的不同的操作。圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例移動(dòng)設(shè)備基于重疊通知服務(wù)連接消息傳輸窗口來同步通知服務(wù)連接消息的傳輸?shù)氖纠詧D表。
      [0057]根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備上的每個(gè)通知服務(wù)客戶端獨(dú)立地執(zhí)行圖4的操作。在方框410,通知服務(wù)客戶端(例如,推送通知服務(wù)客戶端或拉取通知服務(wù)客戶端)向通知服務(wù)連接管理器注冊。例如,參考圖3A和圖5,通知推送通知服務(wù)110、120和通知拉取通知服務(wù)130 (每個(gè)通知服務(wù)客戶端310)各自獨(dú)立地向通知服務(wù)連接管理器360注冊。從方框410,流程前進(jìn)到方框412。
      [0058]在方框412,移動(dòng)設(shè)備160安排通知服務(wù)連接消息傳輸間隔并針對(duì)每個(gè)通知服務(wù)安排相對(duì)于服務(wù)連接消息傳輸間隔的喚醒時(shí)間。然而,如本文稍后將要描述的,移動(dòng)設(shè)備針對(duì)特定通知服務(wù)連接的實(shí)際喚醒時(shí)間可以根據(jù)其他通知服務(wù)而不同。根據(jù)本發(fā)明的一個(gè)實(shí)施例,用于持久性通知服務(wù)(例如推送通知服務(wù))的初始服務(wù)連接消息傳輸間隔基于每個(gè)持久性通知服務(wù)提供的通知服務(wù)超時(shí)值。例如,參考圖5,推送通知服務(wù)110包括30分鐘的通知服務(wù)超時(shí)值(因此,如果在30分鐘時(shí)間段之內(nèi)未使用到推送通知服務(wù)110的連接,則推送通知服務(wù)110可以去除該連接),并且推送通知服務(wù)110包括15分鐘的通知服務(wù)超時(shí)值。為了簡化對(duì)本發(fā)明的理解,在圖5中,針對(duì)推送通知服務(wù)110和120的通知服務(wù)連接消息傳輸間隔與超時(shí)值一致。例如,對(duì)于推送通知服務(wù)110,通知服務(wù)連接消息傳輸間隔為30分鐘,對(duì)于推送通知服務(wù)120為15分鐘。然而,應(yīng)當(dāng)理解,通知服務(wù)連接消息傳輸間隔可以不和超時(shí)值一致(例如,間隔可以小于超時(shí)值)。
      [0059]還應(yīng)當(dāng)理解,在本發(fā)明的一些實(shí)施例中,通知服務(wù)連接消息傳輸間隔可以被優(yōu)化并可以隨著時(shí)間變化,將參考圖6對(duì)其進(jìn)行更詳細(xì)的描述。此外,為了簡單地理解本發(fā)明,在通知服務(wù)連接消息傳輸間隔的末尾安排每個(gè)通知服務(wù)連接的默認(rèn)喚醒時(shí)間。而且,在圖5的整個(gè)論述中,可以參考發(fā)送到持久性通知服務(wù)(例如,推送服務(wù)110和120)的通知服務(wù)連接消息,將通知服務(wù)連接消息的傳輸稱為“心跳”或簡單地稱為“跳動(dòng)”。
      [0060]重新參見圖4,移動(dòng)設(shè)備160還將通知服務(wù)連接消息傳輸窗口與消息傳輸間隔相關(guān)聯(lián),并設(shè)置與消息傳輸間隔相關(guān)聯(lián)的一個(gè)或多個(gè)系統(tǒng)計(jì)時(shí)器。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通知服務(wù)連接消息傳輸窗口是可以傳輸通知服務(wù)連接消息的消息傳輸間隔的一部分。例如,如果在窗口之內(nèi)的任何時(shí)間所述移動(dòng)設(shè)備是喚醒的,則移動(dòng)設(shè)備可以傳輸通知服務(wù)連接消息。在圖5中,通知服務(wù)連接消息傳輸窗口是通知服務(wù)連接消息傳輸窗口的大致三分之一。例如,推送通知服務(wù)110的通知服務(wù)連接消息傳輸窗口是安排的跳動(dòng)消息傳輸之前10分鐘(例如,在安排的跳動(dòng)之前的10分鐘),推送通知服務(wù)120的通知服務(wù)連接消息傳輸窗口是安排的跳動(dòng)之前5分鐘,并且拉取通知服務(wù)130的通知服務(wù)連接消息傳輸窗口是安排的拉取之前8分鐘。盡管圖5示出了開始于相同時(shí)間(例如在時(shí)間O)的通知推送通知服務(wù)110和120以及通知拉取通知服務(wù)130,但應(yīng)當(dāng)理解,這是出于例示的目的,并且這些通知服務(wù)可以起始于不同時(shí)間。參考圖5,推送通知服務(wù)110具有初始安排心跳和30分鐘處的喚醒時(shí)間,推送通知服務(wù)120具有初始安排心跳和15分鐘處的喚醒時(shí)間,并且拉取通知服務(wù)130具有初始安排拉取消息和25分鐘處的喚醒時(shí)間。
      [0061]參考圖4,流程從方框412前進(jìn)到方框414,在此所述移動(dòng)設(shè)備監(jiān)視服務(wù)連接消息計(jì)時(shí)器(例如,與每個(gè)服務(wù)連接相關(guān)聯(lián)的系統(tǒng)級(jí)計(jì)時(shí)器),并且流程前進(jìn)到方框416。例如,參考圖5,移動(dòng)設(shè)備監(jiān)視針對(duì)推送通知服務(wù)110和120以及拉取通知服務(wù)130的計(jì)時(shí)器。在圖5中,在時(shí)間5,移動(dòng)設(shè)備進(jìn)入睡眠模式510。因此,根據(jù)本發(fā)明的一個(gè)實(shí)施例,應(yīng)用處理器和應(yīng)用處理器的操作系統(tǒng)離線,但網(wǎng)絡(luò)連接性元件保持喚醒。
      [0062]在方框416,移動(dòng)設(shè)備確定該時(shí)間是否在通知服務(wù)連接消息傳輸窗口之內(nèi)。如果時(shí)間不在通知服務(wù)連接消息傳輸窗口之內(nèi),那么流程前進(jìn)到方框418,在此確定全局通知服務(wù)連接消息計(jì)時(shí)器是否過期。本文稍后將更詳細(xì)地論述全局通知服務(wù)連接消息計(jì)時(shí)器。如果時(shí)間在通知服務(wù)連接消息傳輸窗口之內(nèi),那么流程前進(jìn)到方框420,在此確定移動(dòng)設(shè)備是否喚醒。如果設(shè)備被喚醒,那么流程前進(jìn)到方框430,在此移動(dòng)設(shè)備傳輸通知服務(wù)連接消息。如果移動(dòng)設(shè)備未被喚醒(即,如果處于睡眠模式),那么流程前進(jìn)到方框422,在此確定是否已過了通知服務(wù)連接消息傳輸計(jì)時(shí)器。例如,參考圖5,在時(shí)間10開始,推送通知服務(wù)120處在窗口 540之內(nèi),并且移動(dòng)設(shè)備160未被喚醒(它處于睡眠模式)。如果未過計(jì)時(shí)器,那么流程返回到方框420。如果已過了計(jì)時(shí)器,那么流程前進(jìn)到方框424,在此喚醒移動(dòng)設(shè)備,并且流程前進(jìn)到方框430,在此移動(dòng)設(shè)備傳輸通知服務(wù)連接消息。
      [0063]參考圖5,在時(shí)間15處經(jīng)過與推送通知服務(wù)120相關(guān)聯(lián)的通知服務(wù)連接消息傳輸計(jì)時(shí)器。因此,在時(shí)間15處,喚醒移動(dòng)設(shè)備160 (由虛線喚醒560表示),并向推送通知服務(wù)120傳輸通知服務(wù)連接消息,以便刷新通知服務(wù)連接(由跳動(dòng)570表示)。應(yīng)當(dāng)理解,移動(dòng)設(shè)備160在喚醒時(shí)間560期間不向推送通知服務(wù)110或拉取通知服務(wù)130傳輸通知服務(wù)連接消息。例如,推送通知服務(wù)110具有30分鐘的跳動(dòng)間隔。因此,為了刷新與推送通知服務(wù)110的連接,可以在最多30分鐘內(nèi)傳輸跳動(dòng)(即,僅需要每30分鐘刷新一次連接)。如果每次向推送通知服務(wù)120傳輸跳動(dòng)(其跳動(dòng)間隔為15分鐘),則移動(dòng)設(shè)備110就向推送通知服務(wù)110傳輸跳動(dòng),實(shí)際上根據(jù)需要會(huì)傳輸兩倍數(shù)量的跳動(dòng)消息。因此,根據(jù)本發(fā)明的一個(gè)實(shí)施例,僅在針對(duì)特定通知服務(wù)的通知服務(wù)連接消息傳輸窗口期間喚醒時(shí),移動(dòng)設(shè)備才向該特定通知服務(wù)傳輸通知服務(wù)連接消息。由于喚醒560不和用于推送通知服務(wù)110或拉取通知服務(wù)130的通知服務(wù)連接消息傳輸窗口重疊,因此移動(dòng)設(shè)備不為那些通知服務(wù)傳輸通知服務(wù)連接消息以便節(jié)省帶寬。
      [0064]根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備在向特定通知服務(wù)傳輸通知服務(wù)連接消息時(shí)重置與特定通知服務(wù)相關(guān)聯(lián)的通知消息傳輸計(jì)時(shí)器。例如,移動(dòng)設(shè)備160在傳輸跳動(dòng)消息570時(shí)重置用于推送通知服務(wù)120的通知服務(wù)連接消息傳輸計(jì)時(shí)器。
      [0065]在時(shí)間16處,設(shè)備進(jìn)入睡眠模式512。換句話講,專門喚醒移動(dòng)設(shè)備160以刷新與通知推送通知服務(wù)120的通知服務(wù)連接,并且設(shè)備重新進(jìn)入睡眠模式以便節(jié)省電池資源。在時(shí)間25處,與拉取通知服務(wù)130相關(guān)聯(lián)的通知服務(wù)連接消息傳輸計(jì)時(shí)器過期(例如,該時(shí)間段在窗口 542的末端)。因此,在時(shí)間25處,喚醒移動(dòng)設(shè)備160 (由虛線喚醒562表示)并向拉取通知服務(wù)130傳輸通知服務(wù)連接消息以便檢查感興趣的項(xiàng)目(由檢查576表示)。此外,由于推送通知服務(wù)110的窗口 544與喚醒562的時(shí)間重疊(窗口 544開始于時(shí)間20處而結(jié)束于時(shí)間30處),推送通知服務(wù)120的窗口 546與喚醒562的時(shí)間重疊(窗口 546開始于時(shí)間25處而結(jié)束于時(shí)間30處),因此移動(dòng)設(shè)備160向推送通知服務(wù)110傳輸通知服務(wù)連接消息(由跳動(dòng)572表示),并向推送通知服務(wù)120 (由跳動(dòng)574表示)傳輸通知服務(wù)連接消息。因此,在喚醒562期間,移動(dòng)設(shè)備160向推送通知服務(wù)110和120以及拉取通知服務(wù)130的每個(gè)傳輸通知服務(wù)連接消息。
      [0066]由于根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160向推送通知服務(wù)110、推送通知服務(wù)120和拉取通知服務(wù)130傳輸通知服務(wù)連接消息,因此移動(dòng)設(shè)備160針對(duì)每個(gè)通知服務(wù)重置通知服務(wù)連接消息傳輸計(jì)時(shí)器,重新安排通知服務(wù)連接消息傳輸時(shí)間和喚醒時(shí)間。例如,并不是推送通知服務(wù)110在時(shí)間60處具有安排的通知服務(wù)連接消息傳輸時(shí)間,因?yàn)樵跁r(shí)間25處向推送通知服務(wù)110傳輸了通知服務(wù)連接消息,移動(dòng)設(shè)備160在時(shí)間55處安排通知服務(wù)連接消息傳輸。又如,并不是推送通知服務(wù)120在時(shí)間45具有安排的通知服務(wù)連接消息傳輸時(shí)間,因?yàn)樵跁r(shí)間25向推送通知服務(wù)120傳輸了通知服務(wù)連接消息,移動(dòng)設(shè)備160在時(shí)間40安排通知服務(wù)連接消息傳輸。在時(shí)間26處,移動(dòng)設(shè)備160進(jìn)入睡眠模式514。
      [0067]應(yīng)當(dāng)理解,在一個(gè)實(shí)施例中,通過基于重疊通知服務(wù)連接消息傳輸窗口來同步通知服務(wù)連接消息的傳輸,節(jié)省了電池資源。例如,在同一喚醒周期期間整合針對(duì)多個(gè)通知服務(wù)的通知服務(wù)連接消息的傳輸可節(jié)省電池資源。例如,喚醒移動(dòng)設(shè)備使用大量的電池資源。此外,與傳輸通知服務(wù)連接消息相比,在喚醒設(shè)備時(shí)使用更多的電池資源。因此,在同一喚醒周期期間向多個(gè)通知服務(wù)傳輸通知服務(wù)連接消息可節(jié)省電池資源(例如,對(duì)于每次通知服務(wù)連接消息傳輸,不獨(dú)立地從睡眠模式喚醒移動(dòng)設(shè)備)。因此,在本發(fā)明的一些實(shí)施例中,基于重疊通知服務(wù)連接消息傳輸窗口來同步通知服務(wù)連接消息的傳輸減少了所需的移動(dòng)設(shè)備喚醒次數(shù),這會(huì)減少功耗。應(yīng)當(dāng)理解,隨著通知服務(wù)客戶端數(shù)目增大,電池資源的節(jié)約增加。
      [0068]此外,盡管不必在其安排的傳輸時(shí)間執(zhí)行通知服務(wù)連接消息的傳輸,(例如可以在其安排的傳輸時(shí)間之前發(fā)送通知服務(wù)連接消息),但與安排的傳輸時(shí)間的偏離很小(例如通常,通知服務(wù)連接消息傳輸窗口大約是通知服務(wù)連接消息傳輸間隔的三分之一)。因此,本發(fā)明的實(shí)施例通過接近其安排的傳輸時(shí)間傳輸通知服務(wù)連接消息來節(jié)省帶寬。
      [0069]在時(shí)間40處,與推送通知服務(wù)120相關(guān)聯(lián)的通知服務(wù)連接消息傳輸計(jì)時(shí)器過期(例如該時(shí)間段在窗口 548的末端)。因此,在時(shí)間40處,喚醒移動(dòng)設(shè)備160 (由虛線喚醒564表示)并向推送通知服務(wù)120傳輸通知服務(wù)連接消息,以便刷新推送通知服務(wù)120連接。由于喚醒564不與用于推送通知服務(wù)110或拉取通知服務(wù)130的通知服務(wù)連接消息傳輸窗口重疊,因此移動(dòng)設(shè)備不為那些通知服務(wù)傳輸通知服務(wù)連接消息以便節(jié)省帶寬。在時(shí)間41處,移動(dòng)設(shè)備160進(jìn)入睡眠模式516。
      [0070]在時(shí)間47處,從獨(dú)立事件(由獨(dú)立喚醒566表示)將移動(dòng)設(shè)備160從睡眠模式516喚醒。獨(dú)立喚醒可能有很多原因,包括用戶交互(例如,用戶禁用睡眠模式),接收感興趣的項(xiàng)目(例如,從推送通知服務(wù)110接收電子郵件消息),接收電話呼叫和/或文本消息等。一旦喚醒,移動(dòng)設(shè)備就確定所述時(shí)間是否在任何通知服務(wù)連接消息傳輸窗口之內(nèi)。例如,時(shí)間47在用于推送通知服務(wù)110的窗口 552之內(nèi)(其開始于時(shí)間45處,并結(jié)束于時(shí)間55處)且在用于拉取通知服務(wù)130的窗口 550 (其開始于時(shí)間42處并結(jié)束于時(shí)間50處)之內(nèi)。利用喚醒移動(dòng)設(shè)備且在通知服務(wù)連接消息傳輸窗口之內(nèi)的事實(shí),移動(dòng)設(shè)備向推送通知服務(wù)110傳輸通知服務(wù)連接消息(由跳動(dòng)582表示)以刷新推送通知服務(wù)連接110,并向拉取通知服務(wù)130傳輸通知服務(wù)連接消息(由檢查580表示)以檢查感興趣的項(xiàng)目。此外,盡管為了簡單起見在圖5中未示出,但移動(dòng)設(shè)備160為推送通知服務(wù)110和拉取通知服務(wù)130重置通知服務(wù)連接消息傳輸計(jì)時(shí)器,并重新安排通知服務(wù)連接消息傳輸時(shí)間和喚醒。在時(shí)間49處,移動(dòng)設(shè)備進(jìn)入睡眠模式518。
      [0071]在時(shí)間55處,與推送通知服務(wù)120相關(guān)聯(lián)的通知服務(wù)連接消息傳輸計(jì)時(shí)器過期(例如,該時(shí)間段在窗口 554的末端)。因此,在時(shí)間55處,從睡眠模式518喚醒移動(dòng)設(shè)備160 (由虛線喚醒568表示),并向推送通知服務(wù)120傳輸通知服務(wù)連接消息以便刷新推送通知服務(wù)120連接(由跳動(dòng)584表示)。應(yīng)當(dāng)指出的是,盡管推送通知服務(wù)110的窗口 552一開始已經(jīng)與喚醒568重疊,但因?yàn)槭窃跁r(shí)間47處傳輸?shù)奶鴦?dòng)582,并且通知服務(wù)連接消息計(jì)時(shí)器被重置且通知服務(wù)連接消息傳輸時(shí)間被重新安排,所以移動(dòng)設(shè)備160不向推送通知服務(wù)110傳輸通知服務(wù)連接消息。
      [0072]參考圖4,如前所述,在方框418,確定全局通知服務(wù)連接消息計(jì)時(shí)器是否過期。根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備以周期性間隔(例如每天4次)在大致相同的時(shí)間(例如彼此相差一分鐘之內(nèi))向每個(gè)通知服務(wù)傳輸通知服務(wù)連接消息。如果全局通知服務(wù)連接消息計(jì)時(shí)器過期,那么流程前進(jìn)到方框426,在此確定移動(dòng)設(shè)備是否被喚醒。如果移動(dòng)設(shè)備被喚醒,那么流程前進(jìn)到方框430,在此,移動(dòng)設(shè)備向每個(gè)通知服務(wù)傳輸通知服務(wù)連接消息。如果移動(dòng)設(shè)備未被喚醒,那么流程前進(jìn)到方框428,在此移動(dòng)設(shè)備被喚醒,流程前進(jìn)到方框430,在此,移動(dòng)設(shè)備向每個(gè)通知服務(wù)傳輸通知服務(wù)連接消息。
      [0073]由于多個(gè)移動(dòng)設(shè)備可能正通過同一網(wǎng)絡(luò)訪問相同的通知服務(wù)(例如參考圖1,根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備160和一個(gè)或多個(gè)移動(dòng)設(shè)備170至少部分地與相同的一個(gè)或多個(gè)網(wǎng)絡(luò)訪問數(shù)據(jù)元150耦接),配置全局通知服務(wù)連接消息計(jì)時(shí)器,使得所有移動(dòng)設(shè)備不會(huì)在同一時(shí)間傳輸通知服務(wù)連接消息。根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)這些通知服務(wù)連接消息傳輸時(shí)間進(jìn)行密碼隨機(jī)化(從而散布于全天中)。例如,在給定時(shí)間間隔內(nèi)修改每個(gè)移動(dòng)設(shè)備的唯一標(biāo)識(shí)符(例如通用唯一標(biāo)識(shí)符(UUID)、介質(zhì)訪問控制(MAC)地址等),以確定這些全局通知服務(wù)連接消息傳輸時(shí)間。
      [0074]如前所述,在本發(fā)明的一些實(shí)施例中,可以對(duì)用于持久性通知服務(wù)(例如推送通知服務(wù))的通知服務(wù)連接消息傳輸間隔進(jìn)行優(yōu)化。換句話講,在本發(fā)明的一些實(shí)施例中,對(duì)消息傳輸間隔進(jìn)行優(yōu)化,以便為持久性通知服務(wù)傳輸最少量的通知服務(wù)連接消息而同時(shí)保持連接到持久性通知服務(wù)。圖6是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例來優(yōu)化通知服務(wù)連接消息間隔的示例性狀態(tài)圖。在方框610,確定初始通知服務(wù)連接消息傳輸間隔。例如,初始通知服務(wù)連接消息傳輸間隔可以基于特定通知服務(wù)的超時(shí)間隔。如果移動(dòng)設(shè)備確定連接是活動(dòng)的,將消息傳輸間隔增大N量612 (例如,5分鐘)。例如,如果從通知服務(wù)接收到回復(fù)消息,則可以確定連接是活動(dòng)的。
      [0075]如果移動(dòng)設(shè)備確定連接是不活動(dòng)的,將消息傳輸間隔減小Y量614 (例如,5分鐘),并進(jìn)入細(xì)化的通知服務(wù)連接消息傳輸間隔616。如果移動(dòng)設(shè)備確定連接是活動(dòng)的,那么將消息傳輸間隔增大M量,其中M小于N618 (例如,2分鐘)。如果移動(dòng)設(shè)備確定連接是不活動(dòng)的,那么將消息傳輸間隔減小X量,其中X小于Y620。
      [0076]在一些時(shí)間之后,連接消息傳輸間隔進(jìn)入穩(wěn)定的通知服務(wù)連接消息傳輸間隔622狀態(tài)。當(dāng)在這種狀態(tài)中時(shí),如果連接是活動(dòng)的,則間隔值保持在當(dāng)前值624。在本發(fā)明的一些實(shí)施例中,在處于狀態(tài)622中Z量時(shí)間之后(例如8小時(shí)之后),將連接消息傳輸間隔重置623到初始通知服務(wù)連接消息傳輸間隔610,其中重新開始間隔優(yōu)化過程。因此,如果通知服務(wù)連接消息傳輸間隔穩(wěn)定于較高頻率的消息傳輸間隔(例如,每5分鐘一個(gè)消息),那么在某段時(shí)間之后,優(yōu)化過程重新開始以試圖確定最佳傳輸間隔。然而,如果連接處于不活動(dòng)狀態(tài),則將間隔減小626 (例如,減小一半),并且間隔進(jìn)入后退通知服務(wù)連接消息傳輸間隔628。當(dāng)處在后退狀態(tài)中時(shí),如果連接處于不活動(dòng)狀態(tài),則將間隔減小630(例如,減小一半)。
      [0077]應(yīng)當(dāng)理解,如果通知服務(wù)連接處于不活動(dòng)狀態(tài),則需要重新建立該連接。根據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)喚醒間隔安排通知服務(wù)連接重試。例如,參考圖5,如果跳動(dòng)572未能在時(shí)間25處刷新與推送通知服務(wù)110的連接,在本發(fā)明的一個(gè)實(shí)施例中,在下一次喚醒時(shí),移動(dòng)設(shè)備將試圖重新建立通知服務(wù)連接。因此,在時(shí)間40的喚醒564期間,移動(dòng)設(shè)備可以嘗試重新建立與推送通知服務(wù)110的通知服務(wù)連接。
      [0078]基于代理的通知服務(wù)
      [0079]如上所述,通知服務(wù)為用戶提供以移動(dòng)客戶端的電池壽命為代價(jià)來采集最新信息的體驗(yàn)。此外,用戶還可能需要支付與協(xié)議開銷相關(guān)聯(lián)的數(shù)據(jù),如果用戶沒有不受限制的數(shù)據(jù)計(jì)劃,這可能并非小數(shù)目。移動(dòng)客戶端需要周期性地發(fā)送通知服務(wù)連接消息以保持?jǐn)?shù)據(jù)鏈路,無論是否有實(shí)際用戶數(shù)據(jù)活動(dòng)。因此,移動(dòng)客戶端需要從睡眠周期性地喚醒以發(fā)送通知服務(wù)連接消息;此外,來自服務(wù)器的響應(yīng)也將喚醒移動(dòng)設(shè)備,從而消耗更多的電池電力。在用戶選擇積極的推送間隔時(shí),或在用戶訂閱多個(gè)推送服務(wù)時(shí),電池功耗增加。
      [0080]例如,對(duì)于Microsoft Exchange服務(wù)器,典型的心跳間隔在8到28分鐘范圍中。即使用戶未接收到數(shù)據(jù),在8分鐘的間隔下,移動(dòng)設(shè)備每天需要喚醒180次以發(fā)送通知服務(wù)連接消息;并且它同樣大致需要每天另外喚醒180次以處理相應(yīng)的服務(wù)器響應(yīng),因?yàn)榉?wù)器響應(yīng)通常對(duì)于每服務(wù)器一間隔的配置會(huì)延遲。如果用戶訂閱多項(xiàng)推送服務(wù)或如果用戶選擇積極的推送間隔,情況會(huì)更壞。此外,對(duì)于按字節(jié)為數(shù)據(jù)服務(wù)付費(fèi)的用戶,推送通知服務(wù)連接消息還可能為用戶帶來成本。假設(shè)每個(gè)包平均200字節(jié)的有效載荷和8分鐘的間隔,開銷大約為2MB每月。這個(gè)數(shù)字隨著用戶訂閱的推送服務(wù)數(shù)量而線性增加。
      [0081]在一個(gè)實(shí)施例中,使用代理來減輕對(duì)移動(dòng)客戶端電池壽命的需求以及與通知相關(guān)聯(lián)的額外數(shù)據(jù)成本。在該實(shí)施例中,使用這一代理來管理針對(duì)移動(dòng)客戶端的通知服務(wù)。代理可以管理針對(duì)移動(dòng)客戶端的一個(gè)或多個(gè)服務(wù)和/或可以為一個(gè)或多個(gè)客戶端處理一個(gè)或多個(gè)通知服務(wù)。為了管理通知服務(wù)連接,代理會(huì)接收從移動(dòng)客戶端到移動(dòng)客戶端代理對(duì)一個(gè)或多個(gè)通知服務(wù)的請(qǐng)求,向相應(yīng)的通知服務(wù)器周期性地發(fā)送通知服務(wù)連接消息,轉(zhuǎn)發(fā)來自移動(dòng)客戶端的通知,處理來自移動(dòng)客戶端的更新,并處理移動(dòng)客戶端登出請(qǐng)求。
      [0082]在一個(gè)實(shí)施例中,代理是獨(dú)立的設(shè)備,例如個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器、移動(dòng)客戶端等。例如,在一個(gè)實(shí)施例中,代理是具有獨(dú)立電源以及任選地低成本數(shù)據(jù)連接的獨(dú)立設(shè)備。在另一個(gè)實(shí)施例中,代理是移動(dòng)客戶端的一部分。在該實(shí)施例中,移動(dòng)客戶端包括運(yùn)行第一操作系統(tǒng)的應(yīng)用處理器以及運(yùn)行一個(gè)或多個(gè)不同操作系統(tǒng)的一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件。此外,應(yīng)用處理器的功耗可能比網(wǎng)絡(luò)連接性元件的功耗更大。此外,一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件執(zhí)行那些網(wǎng)絡(luò)連接性元件的對(duì)應(yīng)操作系統(tǒng)中的代理。通過在網(wǎng)絡(luò)連接性元件中執(zhí)行代理,應(yīng)用處理器可進(jìn)入睡眠模式,并為移動(dòng)客戶端節(jié)省電池壽命。
      [0083]圖9A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例包括獨(dú)立代理的一種示例性計(jì)算環(huán)境900。該計(jì)算環(huán)境900類似于上面圖1的計(jì)算環(huán)境100,其中計(jì)算環(huán)境900包括移動(dòng)設(shè)備904和170,它們各自與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150耦接。如圖1中所示,一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150可以是本發(fā)明的不同實(shí)施例中各種網(wǎng)絡(luò)的一部分,包括蜂窩網(wǎng)絡(luò)(例如,GSM、EDGE、GPRS、CDMA、UMTS、TD-CDMA、LTE、或其他蜂窩網(wǎng)絡(luò))、LAN等。然而,與計(jì)算環(huán)境100不同,在計(jì)算環(huán)境900中,移動(dòng)設(shè)備904使用代理902來管理針對(duì)移動(dòng)設(shè)備904的一個(gè)或多個(gè)服務(wù)連接。在一個(gè)實(shí)施例中,代理902傳輸通知服務(wù)連接消息并接收響應(yīng),就像代理902是執(zhí)行這項(xiàng)功能的移動(dòng)客戶端904那樣。下文將進(jìn)一步描述代理902。
      [0084]移動(dòng)設(shè)備904包括如上文圖1中所述的應(yīng)用處理器162和一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件164。移動(dòng)設(shè)備160,經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件164和代理902,通過數(shù)據(jù)語境(例如PDP語境),與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150通信。此外,WAN140與網(wǎng)絡(luò)數(shù)據(jù)訪問元件150耦接。推送通知服務(wù)110和120以及拉取通知服務(wù)130與WAN140耦接。根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備902的用戶經(jīng)由代理904訪問并使用推送通知服務(wù)110和120以及拉取通知服務(wù)130 (推送通知服務(wù)110和120以及拉取通知服務(wù)130提供用戶感興趣的項(xiàng)目)。例如,推送通知服務(wù)110可以經(jīng)由代理904為移動(dòng)設(shè)備902的用戶提供個(gè)人推送電子郵件帳戶,而推送通知服務(wù)120可以為移動(dòng)設(shè)備160的用戶提供工作推送電子郵件帳戶。
      [0085]在本發(fā)明的一個(gè)實(shí)施例中,應(yīng)用處理器162是移動(dòng)設(shè)備902的中央處理器。在一個(gè)實(shí)施例中,應(yīng)用處理器162如圖1中所述處理移動(dòng)設(shè)備902的一個(gè)或多個(gè)操作系統(tǒng)。
      [0086]根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備902能夠進(jìn)入睡眠模式,如圖1針對(duì)移動(dòng)客戶端160所述。此外,利用代理902,移動(dòng)客戶端904可以進(jìn)入睡眠模式,而代理為移動(dòng)客戶端904管理一個(gè)或多個(gè)服務(wù)連接。在睡眠模式期間,根據(jù)本發(fā)明的一個(gè)實(shí)施例,移動(dòng)設(shè)備902暫時(shí)禁用應(yīng)用處理器162 (應(yīng)用處理器162可以在暫時(shí)禁用時(shí)幾乎不消耗電力)。
      [0087]如圖1中所述,在本發(fā)明的一些實(shí)施例中,周期性地刷新持久性通知服務(wù)連接(例如,推送通知服務(wù)110和120)以便保持連接的持久性。并非如圖1中所述的那樣由移動(dòng)客戶端周期性地刷新一個(gè)或多個(gè)持久性通知服務(wù)連接,代理902為移動(dòng)客戶端刷新該一個(gè)或多個(gè)持久性通知服務(wù)連接。例如,如果移動(dòng)設(shè)備904未主動(dòng)使用該連接,則推送通知服務(wù)110和120可以使與移動(dòng)設(shè)備904的連接超時(shí)(從而停止針對(duì)該用戶的推送通知服務(wù))。然而,在該實(shí)施例中,代理902主動(dòng)為移動(dòng)客戶端904使用這個(gè)連接。在一個(gè)實(shí)施例中,在某個(gè)周期間隔,代理902向推送通知服務(wù)110和120傳輸通知服務(wù)連接消息以為移動(dòng)客戶端904刷新該連接。在該時(shí)間期間,代理902為移動(dòng)客戶端904管理通知服務(wù)連接,該移動(dòng)客戶端904可以進(jìn)入睡眠模式,從而為移動(dòng)客戶端904節(jié)省電池電力。通知服務(wù)連接消息通知推送通知服務(wù)110和120所述代理902仍然連接(并可能希望繼續(xù)從推送通知服務(wù)接收感興趣的項(xiàng)目)。應(yīng)當(dāng)理解,由代理902刷新推送通知連接將會(huì)通知推送通知服務(wù)的服務(wù)器所述移動(dòng)設(shè)備希望保持連接到服務(wù)。此外,刷新推送通知連接通知沿著通往推送通知服務(wù)的服務(wù)器的路徑的每個(gè)網(wǎng)元以保持連接(否則,例如網(wǎng)元可以清空與該連接相關(guān)聯(lián)的網(wǎng)絡(luò)資源)。在一個(gè)實(shí)施例中,通知服務(wù)連接消息可以是查驗(yàn)消息、超文本傳輸協(xié)議(HTTP)請(qǐng)求或現(xiàn)有技術(shù)中已知的某種其他保持活動(dòng)消息。通知服務(wù)可以對(duì)通知服務(wù)連接消息做出響應(yīng)以通知代理902所述連接對(duì)于移動(dòng)設(shè)備902來說是活動(dòng)的。應(yīng)當(dāng)理解,在本發(fā)明的一些實(shí)施例中,從通知服務(wù)接收感興趣的項(xiàng)目還會(huì)刷新持久性通知服務(wù)連接。
      [0088]如上所述,傳輸通知服務(wù)連接消息的間隔對(duì)于各個(gè)通知服務(wù)而言可能不同。此外,在本發(fā)明的一些實(shí)施例中,要求移動(dòng)設(shè)備904周期性地刷新與一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150的連接以便保持網(wǎng)絡(luò)數(shù)據(jù)連接性(例如,運(yùn)營商網(wǎng)絡(luò)中的NAT路由器,防火墻或網(wǎng)絡(luò)中的其他網(wǎng)元)。在該實(shí)施例中,通過為移動(dòng)客戶端904管理一個(gè)或多個(gè)通知服務(wù)連接,代理902將刷新該一個(gè)或多個(gè)網(wǎng)絡(luò)數(shù)據(jù)訪問元件150連接。
      [0089]在一個(gè)實(shí)施例中,代理902管理通知服務(wù)和移動(dòng)客戶端更新。例如并且在一個(gè)實(shí)施例中,代理902從移動(dòng)客戶端904接收服務(wù)連接請(qǐng)求,將這些服務(wù)連接請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)提供者(例如,推送通知服務(wù)110和120等)。此外,代理902為移動(dòng)客戶端904管理一個(gè)或多個(gè)服務(wù)連接。例如并且在一個(gè)實(shí)施例中,代理902向推送通知服務(wù)110和120傳輸通知服務(wù)連接消息以為移動(dòng)客戶端904刷新該一個(gè)或多個(gè)連接。如上所述,該通知服務(wù)連接消息可以是查驗(yàn)消息、HTTP請(qǐng)求或現(xiàn)有技術(shù)中已知的某種其他保持活動(dòng)消息。
      [0090]如果代理902接收到通知消息(無論是響應(yīng)于通知服務(wù)連接消息還是由通知服務(wù)器之一被推送到代理等),代理902可以向移動(dòng)客戶端904的應(yīng)用處理器162轉(zhuǎn)發(fā)通知消息,或者可以保持通知消息,以便將該通知消息與其他通知消息捆綁在一起并在稍后時(shí)間發(fā)送捆綁的消息。此外,代理902管理來自移動(dòng)客戶端904的更新,諸如登入/登出請(qǐng)求、地址變更等。在一個(gè)實(shí)施例中,代理902管理從移動(dòng)客戶端904的應(yīng)用處理器162接收的更新。在下面的圖10-13中進(jìn)一步描述了代理功能。
      [0091]如上所述,代理可以是獨(dú)立的設(shè)備,諸如代理902,或者被并入到移動(dòng)客戶端中。圖9B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例包括并入到移動(dòng)客戶端954中的代理952的示例性計(jì)算環(huán)境950。在圖9B中,將代理952作為移動(dòng)客戶端954的一部分并入。在一個(gè)實(shí)施例中,代理952是一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件956的一部分。在該實(shí)施例中,代理952在一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件956的操作系統(tǒng)下運(yùn)行,這將允許應(yīng)用處理器進(jìn)入低功率或“睡眠模式”以便節(jié)省移動(dòng)客戶端954的功耗。例如,在一個(gè)實(shí)施例中,代理902在用于操作3G蜂窩網(wǎng)絡(luò)連接的3G蜂窩網(wǎng)絡(luò)連接性元件的操作系統(tǒng)下運(yùn)行。在該實(shí)例中,此網(wǎng)絡(luò)連接性元件的操作系統(tǒng)可以是軟件、固件、硬件等。
      [0092]在一個(gè)實(shí)施例中,代理可能是一個(gè)或多個(gè)網(wǎng)絡(luò)連接性元件956的基帶處理器的操作環(huán)境的一部分,這將允許移動(dòng)客戶端954避免喚醒應(yīng)用處理器162并節(jié)省電池。在該實(shí)施例中,代理952接管與一個(gè)或多個(gè)通知服務(wù)相關(guān)聯(lián)的大多數(shù)協(xié)議開銷,在有數(shù)據(jù)可用時(shí)通知移動(dòng)客戶端954的應(yīng)用處理器162。
      [0093]在一個(gè)實(shí)施例中,代理952與上述圖9A中所述的代理902執(zhí)行類似的功能。例如并且在一個(gè)實(shí)施例中,代理952從應(yīng)用處理器162接收服務(wù)連接請(qǐng)求,將這些服務(wù)連接請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)提供者(例如,推送通知服務(wù)110和120等)。此外,代理952為移動(dòng)客戶端954管理一個(gè)或多個(gè)服務(wù)連接。例如,在一個(gè)實(shí)施例中,代理952向推送通知服務(wù)110和120傳輸通知服務(wù)連接消息以為移動(dòng)客戶端954刷新該一個(gè)或多個(gè)連接。如上所述,該通知服務(wù)連接消息可以是查驗(yàn)消息、HTTP請(qǐng)求或現(xiàn)有技術(shù)中已知的某種其他保持活動(dòng)消息。
      [0094]如果代理952接收到通知消息(無論是響應(yīng)于通知服務(wù)連接消息還是由通知服務(wù)器之一被推送到代理等),代理952可以向移動(dòng)客戶端954的應(yīng)用處理器162轉(zhuǎn)發(fā)通知消息,或者可以保持通知消息,以便將該通知消息與其他通知消息捆綁在一起并在稍后時(shí)間發(fā)送捆綁的消息。此外,代理952管理來自移動(dòng)客戶端954的更新,例如登入/登出請(qǐng)求、地址變更等。在一個(gè)實(shí)施例中,代理952管理從移動(dòng)客戶端954的應(yīng)用處理器162所接收的更新。在下面的圖10-13中進(jìn)一步描述了代理功能。
      [0095]圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例代理所述客戶端和服務(wù)器之間的一個(gè)或多個(gè)服務(wù)連接的代理的框圖。在圖10中,客戶端1002與代理1004通信,并且代理1004與服務(wù)器1006通信。在一個(gè)實(shí)施例中,客戶端1002可以是如上所述的移動(dòng)客戶端904或954。在另一個(gè)實(shí)施例中,代理1004可以是如上所述的代理902或952。在另一個(gè)實(shí)施例中,服務(wù)器是如上所述的推送通知服務(wù)110或120之一。
      [0096]在圖10中,客戶端1002向代理1004傳輸?shù)侨胝?qǐng)求(1008A)。在一個(gè)實(shí)施例中,客戶端1002在客戶端1002的用戶打開推送服務(wù)時(shí)或在客戶端被啟動(dòng)(例如設(shè)備加電)時(shí)發(fā)送登入請(qǐng)求。在一個(gè)實(shí)施例中,登入請(qǐng)求包括可用于建立代理的信息(例如,客戶端標(biāo)識(shí)、客戶端IP地址、服務(wù)器IP地址、事務(wù)標(biāo)識(shí)符、服務(wù)質(zhì)量(QoS)參數(shù)、最大化電池等)。在一個(gè)實(shí)施例中,客戶端標(biāo)識(shí)是唯一地標(biāo)識(shí)客戶端的標(biāo)識(shí)(例如,國際移動(dòng)設(shè)備身份(IMEI)、MAC地址等)。在一個(gè)實(shí)施例中,客戶端IP地址是客戶端1002的IP地址,并且代理使用這一 IP地址向客戶端發(fā)送數(shù)據(jù)。服務(wù)器IP地址是服務(wù)器用于相應(yīng)通知服務(wù)的IP地址。在一個(gè)實(shí)施例中,登入請(qǐng)求包括用于通知服務(wù)的一個(gè)或多個(gè)請(qǐng)求。在該實(shí)施例中,登入請(qǐng)求會(huì)多于一個(gè)服務(wù)器IP地址。
      [0097]此外,登入請(qǐng)求還可以包括QoS參數(shù),例如延遲。在該實(shí)施例中,延遲是表示用戶可以容忍哪種延遲的參數(shù)。此外,登入請(qǐng)求可附加包括表示用戶是否希望最大化電池壽命的參數(shù)。
      [0098]響應(yīng)于接收登入請(qǐng)求,代理返回事務(wù)標(biāo)識(shí)符并向客戶端1002發(fā)送登入響應(yīng)(1008B) ο在一個(gè)實(shí)施例中,登入響應(yīng)包括客戶端標(biāo)識(shí)、客戶端IP地址和事務(wù)標(biāo)識(shí)符。在一個(gè)實(shí)施例中,事務(wù)標(biāo)識(shí)符是標(biāo)識(shí)代理與客戶端的會(huì)話的標(biāo)識(shí)符。
      [0099]利用來自登入請(qǐng)求的信息,代理1004向服務(wù)器1006發(fā)送通知服務(wù)連接消息以便為客戶端1002 (1010A-F)刷新一個(gè)或多個(gè)連接。例如,代理1004周期性地向服務(wù)器1006發(fā)出通知服務(wù)連接消息(1010A,1010C和1010E)。在一個(gè)實(shí)施例中,通知服務(wù)連接消息是查驗(yàn)消息、HTTP請(qǐng)求或現(xiàn)有技術(shù)中已知的某種其他保持活動(dòng)消息。作為響應(yīng),服務(wù)器1006可利用不包括有效載荷中的數(shù)據(jù)(1010B和1010D)的響應(yīng)做出響應(yīng)或利用有效載荷中的數(shù)據(jù)(1010F)做出響應(yīng)。在一個(gè)實(shí)施例中,沒有數(shù)據(jù)的響應(yīng)表示對(duì)于客戶端1002沒有通知消息。如果沒有數(shù)據(jù),代理1004不會(huì)通知客戶端,并且可能不會(huì)將客戶端1002從睡眠模式喚醒,由此節(jié)省電池電力。
      [0100]在一個(gè)實(shí)施例中,具有數(shù)據(jù)的響應(yīng)是包括針對(duì)客戶端1002的一個(gè)或多個(gè)通知消息的響應(yīng)。在一個(gè)實(shí)施例中,響應(yīng)于接收具有數(shù)據(jù)的響應(yīng),代理1004將數(shù)據(jù)發(fā)送到客戶端1002(1012)。在該實(shí)施例中,代理1004向客戶端1002發(fā)送一個(gè)或多個(gè)通知消息。此外,如果客戶端1002處于睡眠模式,收到一個(gè)或多個(gè)通知消息會(huì)將客戶端1002從睡眠模式喚醒,使得客戶端1002可處理一個(gè)或多個(gè)通知消息。
      [0101]在一個(gè)實(shí)施例中,代理1004可在從服務(wù)器1006收到具有數(shù)據(jù)的響應(yīng)時(shí),向客戶端1002轉(zhuǎn)發(fā)一個(gè)或多個(gè)通知消息。在可供選擇的實(shí)施例中,代理1004可將一個(gè)或多個(gè)通知消息與其他通知消息捆綁在一起并向客戶端1002發(fā)送捆綁的通知消息。在該實(shí)施例中,捆綁通知消息可以節(jié)省客戶端的電池壽命,因?yàn)闇p少了向客戶端1002轉(zhuǎn)發(fā)通知消息的次數(shù)。
      [0102]在一個(gè)實(shí)施例中,代理1004在收到或捆綁通知消息時(shí)是否轉(zhuǎn)發(fā)通知消息受到客戶端1002在上述登入請(qǐng)求(1008A)中發(fā)送的參數(shù)的控制。例如,在一個(gè)實(shí)施例中,代理1004會(huì)使用電池壽命參數(shù)來確定是否為客戶端捆綁通知消息。在可供選擇的實(shí)施例中,可以從客戶端,基于一天中的時(shí)間、服務(wù)的及時(shí)性等更新是否捆綁。
      [0103]此外,客戶端1002可以發(fā)送更新請(qǐng)求(1014A)。在一個(gè)實(shí)施例中,由于客戶端1002的IP地址變更,更新請(qǐng)求包括更新客戶端IP地址的請(qǐng)求。在該實(shí)施例中,更新請(qǐng)求包括客戶端標(biāo)識(shí)、新的客戶端IP地址和事務(wù)標(biāo)識(shí)符。如果網(wǎng)絡(luò)由于客戶端不活動(dòng)而去活數(shù)據(jù)語境,客戶端IP地址可能會(huì)變更,或者如果客戶端已經(jīng)改變了網(wǎng)絡(luò)(例如蜂窩到W1-Fi,反之亦然),則客戶端重新建立了數(shù)據(jù)語境。如果客戶端已停止工作一段時(shí)間,客戶端1002還可以向代理發(fā)送更新請(qǐng)求,使得代理可向客戶端推送可用數(shù)據(jù)。在該實(shí)施例中,這一新的IP地址被代理1004保存并替換客戶端的舊IP地址。
      [0104]在另一個(gè)實(shí)施例中,客戶端1002發(fā)送更新請(qǐng)求以更改一些或全部參數(shù)(QoS參數(shù)、電池參數(shù)等)。在一個(gè)實(shí)施例中,用戶可能希望使電池的節(jié)省最大化并將通知轉(zhuǎn)發(fā)從在收到時(shí)轉(zhuǎn)發(fā)通知消息改變成捆綁所述通知消息。在可供選擇的實(shí)施例中,用戶可能希望將通知轉(zhuǎn)發(fā)改變?yōu)樵谑盏綍r(shí)轉(zhuǎn)發(fā)通知消息。在另一個(gè)實(shí)施例中,更新是出于其他原因(一天中的時(shí)間、移動(dòng)客戶端的位置等)。
      [0105]在一個(gè)實(shí)施例中,如果用戶關(guān)閉推送服務(wù)或在設(shè)備斷電時(shí),客戶端1002可以向代理發(fā)送登出請(qǐng)求(1016A)。在一個(gè)實(shí)施例中,登出請(qǐng)求是包括表示要停止代理服務(wù)的信息的包。在一個(gè)實(shí)施例中,登出請(qǐng)求包括客戶端標(biāo)識(shí)和事務(wù)標(biāo)識(shí)符。代理可以停止與服務(wù)器通信,或者它可以繼續(xù)通信并緩存數(shù)據(jù)供以后使用。在收到登出請(qǐng)求時(shí),代理1004向客戶端1002發(fā)送登出響應(yīng)(1016B)。
      [0106]圖11是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例由代理為客戶端管理通知服務(wù)連接的流程圖。在一個(gè)實(shí)施例中,代理902或952執(zhí)行過程1100以管理通知服務(wù)連接。在圖11中,過程1100以在方框1110中建立代理而開始。在一個(gè)實(shí)施例中,過程1100通過接收登入請(qǐng)求并對(duì)如上文圖10中所述的該登入請(qǐng)求做出響應(yīng)而建立代理。
      [0107]在方框1120,過程1100管理一個(gè)或多個(gè)服務(wù)連接。在一個(gè)實(shí)施例中,過程1100通過周期性地向相應(yīng)服務(wù)器發(fā)送通知服務(wù)連接消息并處理對(duì)那些通知服務(wù)連接消息的響應(yīng)而管理服務(wù)連接。此外,過程1100向客戶端轉(zhuǎn)發(fā)通知。在下面的圖12中進(jìn)一步描述了對(duì)一個(gè)或多個(gè)服務(wù)連接的管理。
      [0108]過程1100在方框1130管理客戶端。在一個(gè)實(shí)施例中,過程1100通過接收登入請(qǐng)求和/或登出請(qǐng)求并對(duì)其做出響應(yīng)而管理客戶端。在下面的圖13中進(jìn)一步描述了對(duì)客戶端的管理。
      [0109]圖12是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理代理和服務(wù)器之間的通知服務(wù)連接的流程圖。在一個(gè)實(shí)施例中,代理902或952執(zhí)行過程1200以管理代理和服務(wù)器之間的通知服務(wù)連接。在圖12中,過程1200通過在方框1210確定過程1200是否應(yīng)向服務(wù)器發(fā)送通知服務(wù)連接消息而開始。在一個(gè)實(shí)施例中,過程1200基于動(dòng)態(tài)調(diào)節(jié)的間隔等周期性發(fā)送通知服務(wù)連接消息。如果過程1200要發(fā)送通知服務(wù)連接消息,則過程1200在方框1220發(fā)送通知服務(wù)連接消息。在一個(gè)實(shí)施例中,過程1200向服務(wù)器發(fā)送適當(dāng)?shù)南ⅲ绮轵?yàn)消息,HTTP請(qǐng)求或現(xiàn)有技術(shù)中已知的某種其他保持活動(dòng)消息。繼續(xù)執(zhí)行方框1230。如果過程1200在方框1210確定不發(fā)送通知服務(wù)連接消息,則繼續(xù)執(zhí)行下方的方框1230。
      [0110]在方框1230,過程1200確定過程1200是否從服務(wù)器接收到響應(yīng)。在一個(gè)實(shí)施例中,所接收的響應(yīng)用于過程1200正在代理的客戶端。如果過程接收到服務(wù)器響應(yīng),在方框1240,過程1200確定所接收的服務(wù)響應(yīng)是否包括針對(duì)客戶端的通知數(shù)據(jù),過程1200在方框1270確定是否向客戶端發(fā)送通知數(shù)據(jù)或捆綁供以后發(fā)送。在一個(gè)實(shí)施例中,過程1200可以向客戶端選擇性地轉(zhuǎn)發(fā)通知。例如,過程1200可以捆綁通知以減少喚醒客戶端的次數(shù),以便減少電池消耗。又如,移動(dòng)設(shè)備沒有數(shù)據(jù)服務(wù)(例如由于漫游),并且過程1200會(huì)代表客戶端接收通知,并利用另一種傳輸機(jī)制(例如短消息服務(wù)(SMS))選擇性地通知移動(dòng)設(shè)備。又如,過程1200可以基于通知數(shù)據(jù)的內(nèi)容選擇性地轉(zhuǎn)發(fā)通知(例如在收到(例如股票通知等)時(shí)轉(zhuǎn)發(fā)時(shí)間敏感通知并捆綁非時(shí)間敏感通知(例如應(yīng)用更新等))。如果要發(fā)送通知數(shù)據(jù),例如,代理服務(wù)在收到時(shí)轉(zhuǎn)發(fā)通知數(shù)據(jù),或者如果捆綁足夠的通知數(shù)據(jù),過程1200在方框1250向客戶端轉(zhuǎn)發(fā)通知數(shù)據(jù)。在一個(gè)實(shí)施例中,過程1200在收到時(shí)向客戶端轉(zhuǎn)發(fā)通知數(shù)據(jù)或捆綁通知數(shù)據(jù)與其他通知,如上文在圖10中所述。繼續(xù)執(zhí)行下面的方框1260。如果不發(fā)送通知,則過程1200緩存通知數(shù)據(jù),以與其他通知數(shù)據(jù)捆綁,并繼續(xù)執(zhí)行下面的方框1260。
      [0111]如果過程1200接收到不包括通知數(shù)據(jù)的響應(yīng),在方框1260,過程1200安排要發(fā)送的下一個(gè)通知服務(wù)連接消息。在一個(gè)實(shí)施例中,過程1200基于周期性周期、動(dòng)態(tài)調(diào)節(jié)的周期等安排下一個(gè)通知。如上所述繼續(xù)執(zhí)行方框1210。
      [0112]圖13是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例管理客戶端交互的流程圖。在一個(gè)實(shí)施例中,代理902或952執(zhí)行過程1300以管理客戶端。在圖13中,過程1300在方框1310通過從客戶端接收包而開始。在一個(gè)實(shí)施例中,所接收的包可以是登入請(qǐng)求、登出請(qǐng)求、更新請(qǐng)求等。
      [0113]在方框1320,過程1300確定所接收的包是否是更新包。如上所述,更新包是來自客戶端請(qǐng)求對(duì)代理服務(wù)進(jìn)行更新的包。例如,在一個(gè)實(shí)施例中,更新請(qǐng)求包可請(qǐng)求更新與代理服務(wù)相關(guān)聯(lián)的客戶端IP地址或其他參數(shù)(例如Q0S參數(shù)、電池使用參數(shù)等)。如果所接收的包是更新請(qǐng)求包,在方框1320,過程1300利用更新請(qǐng)求包中包括的信息更新客戶端信息。例如,在一個(gè)實(shí)施例中,如果更新請(qǐng)求包包括更新客戶端IP地址的請(qǐng)求,過程1300更新客戶端IP地址信息,如上文在圖10中所述。作為另一個(gè)實(shí)例和另一個(gè)實(shí)施例,如果更新請(qǐng)求包包括更新某個(gè)其他代理設(shè)置的請(qǐng)求(例如QoS參數(shù)、電池設(shè)置等),則過程1300更新這些設(shè)置,如上文在圖10中所述。在方框1340,過程1300向客戶端發(fā)送更新響應(yīng)。在一個(gè)實(shí)施例中,包括確認(rèn)所請(qǐng)求更新的信息。
      [0114]如果所接收的包不是更新包,則過程1300在方框1350確定所接收的包是登入包還是登出包。在一個(gè)實(shí)施例中,登入請(qǐng)求是包括可用于建立代理的信息(例如客戶端標(biāo)識(shí)、客戶端IP地址、服務(wù)器IP地址、QoS參數(shù)、最大化電池等)的包。在一個(gè)實(shí)施例中,登出請(qǐng)求是包括表示要停止代理服務(wù)的信息的包,如上文在圖10中所述。
      [0115]在方框1360,過程1300處理所接收的登入/登出請(qǐng)求。在一個(gè)實(shí)施例中,如果所接收的包是登入請(qǐng)求,則過程1300利用登入請(qǐng)求中包括的信息為客戶端建立代理。在一個(gè)實(shí)施例中,如果所接收的包是登出請(qǐng)求,則過程1300利用登出請(qǐng)求中包括的信息停止代理服務(wù)。在另一個(gè)實(shí)施例中,登出請(qǐng)求包括使代理服務(wù)通過發(fā)送保持活動(dòng)消息來繼續(xù)執(zhí)行代理功能性并緩存所接收響應(yīng)的請(qǐng)求。例如,在一個(gè)實(shí)施例中,客戶端對(duì)數(shù)據(jù)特征進(jìn)行斷電或關(guān)閉(例如以在漫游時(shí)降低成本),并且客戶端發(fā)出登出請(qǐng)求,客戶端可以請(qǐng)求過程1300繼續(xù)接收推送消息并緩存它們。此外,在該實(shí)施例中,過程1300可能具有向客戶端發(fā)送SMS消息的邏輯,以通知用戶用于由客戶端指定的服務(wù)的特定消息。
      [0116]過程在方框1370向客戶端發(fā)送相應(yīng)的登入/登出響應(yīng)。在一個(gè)實(shí)施例中,如上文在圖10中所述,過程發(fā)送相應(yīng)的請(qǐng)求。繼續(xù)執(zhí)行上面的方框1310。
      [0117]圖7是示出可用于本發(fā)明的一些實(shí)施例的一種示例性計(jì)算機(jī)系統(tǒng)的框圖。例如,計(jì)算機(jī)系統(tǒng)700的示例性構(gòu)造可以包括在移動(dòng)設(shè)備(例如移動(dòng)設(shè)備160,904或954)中。應(yīng)當(dāng)理解,盡管圖7示出了計(jì)算機(jī)系統(tǒng)的各種部件,但它并不旨在表示使這些部件互連的任何特定構(gòu)造或方式,因?yàn)榇祟惣?xì)節(jié)與本發(fā)明并無密切關(guān)系。應(yīng)當(dāng)理解,具有更少部件或更多部件的其他計(jì)算機(jī)系統(tǒng)也可以用于本發(fā)明。
      [0118]如圖7中所示,計(jì)算機(jī)系統(tǒng)700的形式為數(shù)據(jù)處理系統(tǒng),包括與處理系統(tǒng)720、電源725、存儲(chǔ)器730和非易失性存儲(chǔ)器740 (例如硬盤驅(qū)動(dòng)器、閃存存儲(chǔ)器、相變存儲(chǔ)器(PCM)等)耦接的一個(gè)或多個(gè)總線750。如本領(lǐng)域所熟知的,一個(gè)或多個(gè)總線750可通過各種網(wǎng)橋、控制器、和/或適配器彼此連接。處理系統(tǒng)720可從存儲(chǔ)器730和/或非易失性存儲(chǔ)器740檢索一個(gè)或多個(gè)指令,并且執(zhí)行指令來執(zhí)行如上所述的操作??偩€750將以上部件互連在一起,還將那些部件互連到可選的塢站760、顯示控制器和顯示設(shè)備770、輸入/輸出設(shè)備780 (例如NIC(網(wǎng)絡(luò)接口卡)、光標(biāo)控制器(例如鼠標(biāo)、觸摸屏、觸摸板等)、鍵盤等)以及可選的一個(gè)或多個(gè)無線收發(fā)器790 (例如藍(lán)牙、WiF1、紅外線等)。
      [0119]圖8是示出可用于本發(fā)明的一些實(shí)施例的一種示例性數(shù)據(jù)處理系統(tǒng)的框圖。例如,數(shù)據(jù)處理系統(tǒng)800可以是手持式計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、移動(dòng)電話、便攜式游戲系統(tǒng)、便攜式媒體播放器或可以包括移動(dòng)電話、媒體播放器和/或游戲系統(tǒng)的手持式計(jì)算機(jī)。又如,數(shù)據(jù)處理系統(tǒng)800可以是網(wǎng)絡(luò)計(jì)算機(jī)或另一設(shè)備內(nèi)的嵌入式處理設(shè)備。
      [0120]根據(jù)本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)處理系統(tǒng)800的示例性構(gòu)造可以包括在移動(dòng)設(shè)備160中。數(shù)據(jù)處理系統(tǒng)800包括處理系統(tǒng)820,該處理系統(tǒng)可包括集成電路上的一個(gè)或多個(gè)微處理器和/或一個(gè)系統(tǒng)。處理系統(tǒng)820與存儲(chǔ)器810、電源825 (包括一個(gè)或多個(gè)電池)、音頻輸入/輸出840、顯不控制器和顯不設(shè)備860、可選的輸入/輸出850、一個(gè)或多個(gè)輸入設(shè)備870和一個(gè)或多個(gè)無線收發(fā)器830耦接。應(yīng)當(dāng)理解,在本發(fā)明的某些實(shí)施例中,圖8中未示出的額外部件也可以是數(shù)據(jù)處理系統(tǒng)800的一部分,在本發(fā)明的某些實(shí)施例中,也可以使用比圖8所示更少的部件。此外,應(yīng)當(dāng)理解,如本領(lǐng)域所熟知的,可以使用圖8中未示出的一個(gè)或多個(gè)總線互連各種部件。
      [0121]存儲(chǔ)器810可以存儲(chǔ)數(shù)據(jù)和/或程序,供數(shù)據(jù)處理系統(tǒng)800執(zhí)行。音頻輸入/輸出840可包括麥克風(fēng)和/或揚(yáng)聲器,以便例如通過揚(yáng)聲器和麥克風(fēng)來播放音樂和/或提供電話功能性。顯示控制器和顯示設(shè)備860可包括圖形用戶界面(⑶I)。可使用無線(例如RF)收發(fā)器830(例如WiFi收發(fā)器、紅外收發(fā)器、藍(lán)牙收發(fā)器、無線蜂窩電話收發(fā)器等)來與其他數(shù)據(jù)處理系統(tǒng)通信。一個(gè)或多個(gè)輸入設(shè)備870允許用戶向系統(tǒng)提供輸入。這些輸入設(shè)備可以是小鍵盤、鍵盤、觸摸面板、多觸摸面板等??蛇x的其他輸入/輸出850可以是用于塢站的連接器。
      [0122]盡管附圖中的流程圖示出了由本發(fā)明的某些實(shí)施例執(zhí)行操作的特定順序,但應(yīng)當(dāng)理解,這種順序是示例性的(例如可供選擇的實(shí)施例可以按照不同順序執(zhí)行操作,組合特定操作,重疊特定操作等)。
      [0123]盡管已經(jīng)參照幾個(gè)實(shí)施例描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,本發(fā)明不限于所述實(shí)施例,而是可以利用所附權(quán)利要求實(shí)質(zhì)和范圍之內(nèi)的修改和改變來實(shí)踐。因此要將描述視為例示性而非限制性的。
      【權(quán)利要求】
      1.一種具有可執(zhí)行指令的非暫態(tài)機(jī)器可讀介質(zhì),所述可執(zhí)行指令使得一個(gè)或多個(gè)處理單元執(zhí)行一種代理移動(dòng)客戶端和通知服務(wù)的通知服務(wù)器之間的通知服務(wù)的方法,所述方法包括: 從所述移動(dòng)客戶端接收針對(duì)所述通知服務(wù)的代理設(shè)置請(qǐng)求; 為所述移動(dòng)客戶端建立與所述通知服務(wù)器的通知連接; 保持與所述通知服務(wù)器的通知連接而不喚醒所述移動(dòng)客戶端的應(yīng)用處理器; 從所述通知服務(wù)接收通知;以及 向所述移動(dòng)客戶端轉(zhuǎn)發(fā)所述通知。
      2.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),其中保持所述通知連接包括: 向所述通知服務(wù)器發(fā)送通知服務(wù)連接消息;以及 接收針對(duì)所述通知服務(wù)器的響應(yīng)。
      3.根據(jù)權(quán)利要求2所述的非暫態(tài)機(jī)器可讀介質(zhì),其中所述通知服務(wù)連接消息選自查驗(yàn)消息和超文本傳輸協(xié)議請(qǐng)求。
      4.根據(jù)權(quán)利要求2所述的非暫態(tài)機(jī)器可讀介質(zhì),其中所述響應(yīng)包括針對(duì)所述移動(dòng)客戶端的通知。
      5.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),其中所述通知是推送通知。
      6.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),其中所述建立通知連接包括: 向所述移動(dòng)客戶端發(fā)送對(duì)所述代理設(shè)置請(qǐng)求的響應(yīng)。
      7.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),其中向所述移動(dòng)客戶端轉(zhuǎn)發(fā)所述通知包括: 將所述通知與另一個(gè)通知捆綁;以及 向所述移動(dòng)客戶端轉(zhuǎn)發(fā)所捆綁的通知。
      8.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),還包括: 從所述移動(dòng)客戶端接收更新請(qǐng)求;以及 利用所述更新請(qǐng)求更新移動(dòng)客戶端。
      9.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),其中所述更新請(qǐng)求包括所述移動(dòng)客戶端的地址變更。
      10.根據(jù)權(quán)利要求1所述的非暫態(tài)機(jī)器可讀介質(zhì),其中所述移動(dòng)客戶端包括在第一操作系統(tǒng)中執(zhí)行以執(zhí)行通信功能的第一處理器和在第二操作系統(tǒng)中執(zhí)行的第二處理器,所述第二處理器為中央處理器,其中所述方法由所述第一處理器執(zhí)行。
      11.一種代理通知服務(wù)的系統(tǒng),所述系統(tǒng)包括: 移動(dòng)客戶端,所述移動(dòng)客戶端從所述通知服務(wù)接收通知; 通知服務(wù)器,所述通知服務(wù)器針對(duì)所述通知服務(wù)向所述移動(dòng)客戶端發(fā)送所述通知; 推送代理,所述推送代理為所述移動(dòng)客戶端代理通知請(qǐng)求,其中所述推送代理從所述移動(dòng)客戶端接收針對(duì)所述通知服務(wù)的代理設(shè)置請(qǐng)求,為所述移動(dòng)客戶端建立與所述通知服務(wù)器的通知連接,保持與所述通知服務(wù)器的通知連接而不喚醒所述移動(dòng)客戶端的應(yīng)用處理器,從所述通知服務(wù)接收通知,以及向所述移動(dòng)客戶端轉(zhuǎn)發(fā)所述通知。
      12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中為了保持所述通知連接,所述推送代理還向所述通知服務(wù)器發(fā)送通知服務(wù)連接消息并接收針對(duì)所述通知服務(wù)器的響應(yīng)。
      13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述通知服務(wù)連接消息選自查驗(yàn)消息和超文本傳輸協(xié)議請(qǐng)求。
      14.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述響應(yīng)包括針對(duì)所述移動(dòng)客戶端的通知。
      15.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述通知是推送通知。
      16.一種從通知服務(wù)接收通知的設(shè)備,所述設(shè)備包括: 應(yīng)用處理器,所述應(yīng)用處理器在第一操作系統(tǒng)中執(zhí)行并執(zhí)行命令功能;以及 網(wǎng)絡(luò)連接性元件,所述網(wǎng)絡(luò)連接性元件在第二操作系統(tǒng)中執(zhí)行并執(zhí)行通信功能,所述網(wǎng)絡(luò)連接性元件包括推送代理,其中所述推送代理被配置為從所述應(yīng)用處理器接收針對(duì)所述通知服務(wù)的代理設(shè)置請(qǐng)求,為所述設(shè)備建立與通知服務(wù)器的通知連接,保持與所述通知服務(wù)器的所述通知連接而不喚醒所述應(yīng)用處理器,從所述通知服務(wù)接收通知,以及向所述應(yīng)用處理器轉(zhuǎn)發(fā)所述通知。
      17.根據(jù)權(quán)利要求16所述的設(shè)備,其中為了保持所述通知連接,所述推送代理還被配置為向所述通知服務(wù)器發(fā)送通知服務(wù)連接消息并接收針對(duì)所述通知服務(wù)器的響應(yīng)。
      18.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述響應(yīng)包括針對(duì)所述設(shè)備的通知。
      19.根據(jù)權(quán)利要求16所述的設(shè)備,其中為了建立通知連接,所述推送代理還被配置為向所述應(yīng)用處理器發(fā)送對(duì)所述代理設(shè)置請(qǐng)求的響應(yīng)。
      20.根據(jù)權(quán)利要求16所述的設(shè)備,其中為了向所述移動(dòng)客戶端轉(zhuǎn)發(fā)所述通知,所述推送代理還被配置為將所述通知與另一個(gè)通知進(jìn)行捆綁,并向所述應(yīng)用處理器轉(zhuǎn)發(fā)所捆綁的通知。
      【文檔編號(hào)】H04L29/08GK104054322SQ201380005898
      【公開日】2014年9月17日 申請(qǐng)日期:2013年1月15日 優(yōu)先權(quán)日:2012年1月20日
      【發(fā)明者】李莉 申請(qǐng)人:蘋果公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1