用于基于消息優先級來管理消息傳遞的系統和方法
【專利摘要】所公開的技術涵蓋消息收發系統和方法。一種示例消息收發系統可以包括消息收發服務器、多個預定條件和通信接口。所述消息收發服務器可以接收指向第一計算設備的一個或多個消息,并且可以向消息的每一個分配優先級級別。該多個預定條件可以確定何時向第一計算設備傳送一個或多個消息,并且當指向第一計算設備的至少一個消息被分配高優先級時,可以看作滿足了第一預定條件。如果滿足預定條件的至少一個,則通信接口可以向第一計算設備傳送一個或多個消息。消息收發服務器可以重復地評估預定條件,并且可以保存一個或多個消息,直到滿足預定條件中的至少一個。
【專利說明】用于基于消息優先級來管理消息傳遞的系統和方法
[0001]相關申請的交叉引用
[0002]本申請要求在2012年6月25日提交的美國臨時專利申請價).61/664,023在35V’ 5丄5 119(6)下的優先權和權益,其通過引用被整體并入在此,就像在下面完全被給出那樣。
【技術領域】
[0003]所公開的技術的各個方面涉及推送通知,并且更具體地涉及基于設備行為來管理推送消息傳遞。
【背景技術】
[0004]推送通知服務廣泛用于向包括移動設備的各種計算設備發送消息。例如,可以從電子郵件服務器向用戶的移動設備發送推送通知,以向用戶通知新的電子郵件消息的接收。推送服務可以通過將移動設備解除連續查看來自遠程服務器的新的電子郵件或其他新消息的需要來減少移動設備所需的工作。
[0005]推送消息收發的下側是移動設備必須蘇醒,即,被加電,以便接收新消息。通過自發地傳遞消息,消息收發服務器可以重復地喚醒設備,因此消耗其電池電力。
【發明內容】
[0006]所公開的技術的各種實現方式管理向計算設備的消息傳遞,以盡可能快地發現在保存電池電力和傳遞消息之間的平衡。
[0007]根據所公開的技術的一種示例消息收發系統可以包括消息收發服務器、包括多個預定條件的存儲介質和通信接口。所述消息收發服務器可以被配置為接收多個消息,將一個或多個消息識別為指向第一計算設備,并且向所述一個或多個消息的每一個分配優先級級別。所述多個預定條件可以確定何時向所述第一計算設備傳送所述一個或多個消息。當在所述消息收發服務器處的至少一個消息指向所述第一計算設備并且被分配高優先級時,看作滿足了第一預定條件。所述通信接口可以被配置為如果滿足所述預定條件中的至少一個,則向所述第一計算設備傳送所述一個或多個消息。所述消息收發服務器可以重復地評估所述預定條件,并且可以保存所述一個或多個消息,直到滿足所述預定條件中的至少一個。
[0008]所公開的技術的另一種實現方式是在永久計算機可讀介質中包含的一種計算機程序產品,所述計算機程序產品包括適于實施一種方法的算法。所述方法可以包括:在與多個計算設備進行通信的消息收發服務器處接收指向移動設備的多個消息。可以向所述多個消息的每一個分配優先級級別。如果所述多個消息的至少一個被分配高優先級,或如果滿足至少一個其他預定條件,則可以向所述移動設備傳送所述多個消息。否則,可以在所述消息收發服務器處保存所述多個消息,直到接收到指向所述移動設備并且被分配高優先級的新消息,或者直到滿足至少一個其他預定條件。
[0009]本公開技術的另一種實現方式是一種計算機實現的方法。所述方法可以包括:在消息收發服務器處接收指向多個計算設備的多個消息,所述多個消息包括用于傳送到第一計算設備的一個或多個消息。所述一個或多個消息的每一個可以被分類為高優先級或低優先級。所述一個或多個消息的傳遞可以被延遲,直到滿足預定條件集合中的至少一個。所述預定條件可以包括第一預定條件,即,至少一個接收的消息被分類為高優先級。用計算機處理器可以檢測到滿足所述預定條件中的至少一個。響應于滿足所述預定條件中的至少一個的所述檢測,可以向所述第一計算設備傳送所述一個或多個消息。
[0010]在結合附圖閱讀下面的說明后,消息收發系統和方法的這些和其他目的、特征和消息將變得更顯而易見。
【專利附圖】
【附圖說明】
[0011]圖1是根據本公開技術的一種實現方式的說明性消息收發系統的框圖。
[0012]圖2是根據本公開技術的一種實現方式的用于管理消息傳遞的方法的流程圖。
[0013]圖3是根據本公開技術的一種實現方式的消息收發服務器的架構的圖。
【具體實施方式】
[0014]為了促進所公開的技術的原理和特征的理解,下面解釋說明性實現方式。所公開的技術的各個實現方式是消息收發系統和方法,用于將要向移動設備傳遞的數據批處理,以便將移動設備的電池使用期限與快速消息傳遞平衡。具體地說,在用于在諸如智能電話或平板計算機的移動設備上的消息收發的上下文中描述消息收發系統的實現方式。然而,所公開的技術的實現方式不限于該上下文。而是,實現方式可以管理用于與僅傳統的“移動”設備相反的各種類型的計算設備的消息傳遞,該各種類型的計算設備受益于改善的電力管理。
[0015]以下描述為構成所公開的技術的各個元素的組件意欲是說明性和非限制性的。將執行與在此所述的組件相同或類似功能的許多適當的組件意欲被涵蓋在消息收發系統和方法的范圍內。在此未描述的這樣的其他組件可以包括但是不限于例如在所公開的技術的開發后開發的組件。
[0016]許多移動設備當前使用推送消息收發來接收數據。推送消息是向移動設備傳送的數據,而未提示,或移動設備未首先不得不查看消息。消息可以從例如遠離移動設備的應用服務器指向移動設備。在一些情況下,可以從應用服務器向消息收發服務器傳送消息,消息收發服務器可以管理多個移動設備從多個源接收推送消息的消息傳遞。
[0017]在傳統消息收發系統中,在消息收發服務器處接收到消息時,從消息收發服務器向接收者移動設備傳送推送消息。這通常沒有有意的延遲地發生。結果,移動設備有效地接收它們的消息,而不必提示消息收發服務器確定消息是否在等待。傳統消息收發系統的缺點是傳送消息要求接通移動設備的無線電,這可以消耗電池。
[0018]所公開的技術認識到消息不必總是立即被傳遞。所公開的技術的消息收發系統可以在消息收發服務器處保存所接收的消息,直到滿足一個或多個預定條件。所述預定條件可以是基于與計算設備的狀態和所接收的消息的優先化相關的各種因素。
[0019]現在參見其中相似的附圖標號貫穿視圖表示相似的部分的附圖,將詳細描述消息收發系統和方法的各種實現方式。
[0020]圖1是根據所公開的技術的說明性消息收發系統100的框圖。消息收發系統100可以整體或部分地被包含在與一個或多個應用服務器101進行通信的消息收發服務器300中。消息收發服務器300可以是或包括諸如在圖3中所示的那個的計算機系統。
[0021]消息收發服務器300可以從應用服務器101接收消息,并且可以通過推送消息向諸如移動設備或臺式或膝上型計算機的各個計算設備104傳送所接收的消息。將明白,存在可以在電池上運行并且可以因此受益于所公開的技術的多類移動設備104。例如,計算設備104可以包括但是不限于便攜式計算機、平板計算機、因特網平板計算機、個人數據助理、超移動個人計算機和智能手機。
[0022]應用服務器101可以是支持在計算設備104上安裝或運行的應用的服務器。有時,應用服務器101可以傳送用在計算設備104上的其對應的應用中的數據消息。將明白,消息不必是電子郵件或文本消息,而是可以替代地是作為來自遠程設備的傳送被傳遞到移動設備的各種類型的數據。例如,而不是限制地,應用服務器101可以與天氣應用相關聯,并且可以向計算設備104傳送天氣更新。又如,應用服務器可以與電子郵件應用相關聯,并且可以向計算設備104傳送電子郵件消息。可以通過消息收發服務器300傳遞來自應用服務器101的消息,消息收發服務器300可以根據所公開的技術管理傳遞,如下進一步所述。
[0023]消息收發服務器300可以以各種方式與計算設備104進行通信。例如,消息收發服務器300可以通過11-打信道或另一個因特網連接108與計算設備110進行通信,并且可以利用網絡106來用于與計算設備104的通信。又如,消息收發服務器300可以通過諸如蜂窩服務提供商或支持移動設備的其他網絡提供商的服務提供商114向計算設備104進行通信。服務提供商114可以通過用于與移動設備104進行通信的蜂窩無線電信道112來提供蜂窩服務。在該情況下,消息收發服務器300可以通過服務提供商114來向移動設備104傳送或發送消息。
[0024]消息收發服務器300可以與屬于多個用戶的多個計算設備104進行通信。而且,消息收發服務器300可以接收用于各個計算設備104的多個消息。消息收發服務器300可以將所接收的消息分類,并且將每一個消息與其意欲的接收者計算設備104相關聯。不是在接收時立即向接收者計算設備104傳遞所有消息,而是消息收發服務器300可以批處理用于每一個計算設備104的消息。然而,在優先級消息的情況下,消息收發服務器300可以建立例外,并且立即或沒有有意的延遲地向接收者計算設備104傳遞這些消息。
[0025]消息收發服務器104可以向對于計算設備104接收的每一個消息分配優先級。優先化的規則可以基于各種因素,并且可以在所有的計算設備104上是固定的或者對于每一個單獨或一組計算設備104是定制的。例如,而不是限制地,可以將電子郵件或通過I?的語音消息分類為高優先級,而可以將天氣警告和應用更新分類為低優先級。
[0026]在一些實現方式中,計算設備104的過去或當前使用模式可以至少部分地確定如何將消息分類。例如,如果在計算設備104上頻繁或最近使用特定應用,則消息收發服務器300可以將那個應用看作用于計算設備104的優選應用,并且可以自動地和動態地確定與那個特定應用相關的消息被給出高優先級。類似地,用于很少使用或在預定時間段內還沒有被使用的應用的消息可以被分配低優先級,即使它們先前具有高優先級狀態。在一些示例實現方式中,可以默認地將一個或多個特定應用看作優選的,并且與那些應用相關聯的消息可以默認地被給出高優先級。其他應用的消息可以默認地被給出低優先級。
[0027]消息收發服務器300可以保存消息,即,不將它們傳送到它們意欲的接收者計算設備104,直到對于接收者計算設備104滿足一個或多個預定條件。在一種示例實現方式中,消息收發服務器300可以訪問與計算設備104相關的狀態信息。計算設備104可以向消息收發服務器300發送關于其當前狀態的信息。計算設備104可以或者在消息收發服務器300的提示下或者自主地發送該信息。例如,而不是限制地,計算設備104可以向消息收發服務器300發送關于其當前的電池電平的信息、計算設備104是否被完全充電或被插入外部電源內、無線電是否當前在活動、當前位置、在使用計算設備104的網絡的類型(例如,
、它是否被解鎖或當前在使用、或它是否剛剛變為在使用中。
[0028]關于計算設備的狀態的一些信息可能對于特定計算設備104不唯一,并且消息收發服務器300可以從其他源或者通過保留關于計算設備104的過去的數據來訪問那個類型的信息。例如,而不是限制地,消息收發服務器300也可以具有關于當前日期、日時和所涉及的計算設備104以及在該計算設備104的本地區域中的其他計算設備104的過去使用模式的信息。
[0029]用于計算設備104的預定條件可以至少部分地基于關于計算設備104或關于要傳遞到計算設備104的所接收的消息的優先化的上面的信息或其他信息的方面。例如,而不是限制地,如果下面部分的至少一個成立,則可以看作滿足預定條件:計算設備的無線電狀態是活動的;預定數目的消息已經被接收并且正在被保存用于計算設備104 ;自從向計算設備104傳送最后一批消息起,還沒有過去基于計算設備104所連接到的網絡類型的預定時間段;已經剛剛接收到至少一個高優先級消息;或者,某個其他預定數目的高優先級消息已經被接收并且被保存用于計算設備104。
[0030]當對于計算設備104滿足預定條件時,服務器可以清空對于那個計算設備104收集的消息,并且將它們全部傳送到計算設備104。結果,可以保存消息以節省計算設備104的電池使用期限,而不是以未能迅速地傳遞已經被看作高優先級的重要消息為代價。另夕卜,因為與僅單個高優先級消息相反當接收到一批消息時計算設備104消耗很少的另外的電池電力,所以消息收發服務器300可以清除所有收集的消息連同提示傳送的高優先級消肩、0
[0031]在一些計算設備104中,無線電停留基于該計算設備104在操作的網絡的類型的預定時間段。例如,與作比較,當計算設備104連接到蜂窩網絡時,該時間段可以不同。因此,通過將消息繼續傳送基于與網絡類型相關聯的無線電使用時間的時間段,僅最小地影響電池電力,因為無線電保持被使用而與是否發送消息無關。結果,具有與網絡類型相關的預定條件可以在當電池電力不被顯著地影響時的時間激勵快速消息傳遞。
[0032]圖2圖示了根據所公開的技術的方法200的流程圖。如圖所示,在210處,消息收發服務器300接收到用于計算設備104的一個或多個消息,并且消息收發服務器確定該消息是低優先級的。在220處,這些低優先級消息可以被保存,即,還沒有被傳送到計算設備104,并且消息收發服務器300可以從計算設備104接收一個或多個狀態更新。如果還沒有接收到用于計算設備104的高優先級消息,并且如果在230處未滿足用于計算設備其他預定條件,則消息收發服務器300可以在220處繼續其保存模式。如果在230處確定已經接收到新的高優先級消息,或者現在滿足某個其他預定條件(例如,計算設備的無線電現在活動),則消息收發服務器300可以在240處向計算設備104傳送用于計算設備104的全部保存的消息。
[0033]將明白,在圖2中所示的各個步驟僅是說明性的,并且可以去除步驟,可以使用其他步驟,或者可以修改步驟的順序。也將明白,可以在貫穿方法200的各個點處接收來自計算設備104的狀態更新,特別是如果被計算設備104自主地提供。
[0034]消息收發系統100和方法的各種實現方式可以被包含在由計算機處理器執行的永久計算機可讀介質中。圖3是在符合所公開的技術的實現方式中的消息收發服務器300的示例架構的圖。如所示,消息收發服務器300可以包括總線310、處理器320、主存儲器330、只讀存儲器¢01) 340、存儲設備350、一個或多個輸入設備360、一個或多個輸出設備370和通信接口 380。總線310可以包括一個或多個導體,其允許在消息收發服務器300的組件之間的通信。
[0035]處理器320可以是解釋和執行諸如用于提供所公開的技術的方面的指令的指令的一個或多個傳統處理器或微處理器。主存儲器330可以包括隨機存取存儲器(狀1)或另一個動態存儲設備,其存儲信息和由處理器320執行的指令。1?01 340可以包括傳統設備或另一種類型的靜態存儲設備,其存儲由處理器320使用的靜態信息或指令。存儲設備350可以包括磁或光記錄介質和其對應的驅動器。
[0036]輸入設備360可以包括允許操作員向消息收發服務器300輸入信息的一個或多個機構,諸如鍵盤、鼠標、筆、語音識別或生物測量機構。輸出設備370可以包括向操作員輸出信息的一個或多個機構,包括顯示器、打印機或揚聲器。通信接口 380可以包括使得消息收發服務器300能夠與遠程設備或系統進行通信的任何收發器類機構,諸如消息所傳遞到的移動設備或其他計算設備104。例如,通信接口 380可以包括用于通過網絡進行通信的機構。
[0037]如上所述,消息收發服務器300可以管理向多個計算設備104的消息傳遞。消息收發服務器300可以響應于處理器320執行在諸如主存儲器330的計算機可讀介質中包含的軟件指令而執行用于那個目的的任務。該軟件指令可以從諸如存儲設備350的另一個計算機可讀介質、或經由通信接口 380從另一個設備被讀取到主存儲器330內。替代地或補充地,可以取代軟件指令或與軟件指令組合地使用硬連線電路,以實現符合所公開的技術的處理。因此,所公開的技術不限于硬件電路和軟件的任何特定組合。
[0038]雖然已經在說明性示例中公開了消息收發系統100和方法,但是對于本領域內的技術人員將顯而易見的是,在不偏離在所附的權利要求中給出的系統、方法和它們的等同物的精神和范圍的情況下,可以進行許多修改、添加和刪除。
【權利要求】
1.一種消息收發系統,包括: 消息收發服務器,所述消息收發服務器被配置為接收多個消息,將一個或多個消息識別為指向第一計算設備,并且向所述一個或多個消息中的每一個分配優先級級別; 存儲介質,所述存儲介質包括多個預定條件,所述多個預定條件用于確定何時向所述第一計算設備傳送所述一個或多個消息,其中,當在所述消息收發服務器處的至少一個消息指向所述第一計算設備并且被分配高優先級時,滿足第一預定條件;以及 通信接口,所述通信接口被配置為如果滿足所述多個預定條件中的至少一個,則向所述第一計算設備傳送所述一個或多個消息; 其中,所述消息收發服務器重復地評估所述多個預定條件,并且保存所述一個或多個消息,直到滿足所述多個預定條件中的至少一個。
2.根據權利要求1所述的消息收發系統,其中,用于分配優先級級別的一個或多個規則對于指向所述第一計算設備的消息和指向第二計算設備的消息是不同的。
3.根據權利要求1所述的消息收發系統,其中,用于向所述一個或多個消息分配優先級級別的一個或多個規則是基于對所述第一計算設備的過去的使用。
4.根據權利要求3所述的消息收發系統,其中,所述消息收發服務器基于其與在所述第一計算設備處頻繁地或近期被使用的應用的關聯而向第一消息分配高優先級。
5.根據權利要求4所述的消息收發系統,其中,所述消息收發服務器基于其與在所述第一計算設備處未頻繁地或未近期被使用的應用的關聯而向第二消息分配低優先級。
6.根據權利要求1所述的消息收發系統,其中,當在所述消息收發服務器處保存指向所述第一計算設備的至少預定數目的消息時,滿足第二預定條件。
7.根據權利要求1所述的消息收發系統,其中,當所述第一計算設備的無線電狀態是活動時,滿足第二預定條件。
8.根據權利要求1所述的消息收發系統,所述消息收發服務器進一步被配置為從所述第一計算設備接收所述第一計算設備的當前狀態,并且其中,第二預定條件是基于所述第一計算設備的當前狀態。
9.根據權利要求1所述的消息收發系統,所述消息收發服務器進一步被配置為響應于向指向所述第一計算設備并且在所述消息收發服務器處當前保存的至少一個消息分配高優先級,向所述第一計算設備傳送所保存的指向所述第一計算設備的全部消息。
10.一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲由一個或多個處理器能夠執行的用來執行一種方法的指令,所述方法包括: 在與多個計算設備進行通信的消息收發服務器處接收指向移動設備的多個消息; 向所述多個消息的每一個分配優先級級別; 如果所述多個消息的至少一個被分配高優先級,或如果滿足至少一個其他預定條件,則向所述移動設備傳送所述多個消息;以及 在所述消息收發服務器處保存所述多個消息,直到在所述消息收發服務器處接收到指向所述移動設備并且被分配高優先級的新消息,或者直到滿足至少一個其他預定條件。
11.根據權利要求10所述的計算機程序產品,所述方法進一步包括:響應于向所述新消息分配高優先級,向所述移動設備傳送所述新消息和所述多個消息。
12.根據權利要求10所述的計算機程序產品,所述方法進一步包括: 檢測所述移動設備的無線電狀態;以及 作為所述第一計算設備具有活動的無線電狀態的結果,確定滿足至少一個其他預定條件。
13.根據權利要求10所述的計算機程序產品,所述方法進一步包括:在向所述移動設備傳送所述多個消息和所述新消息后,繼續向所述移動設備傳送傳入的消息達到預定時段。
14.根據權利要求13所述的計算機程序產品,其中,所述預定時段是通過與所述移動設備相關聯的當前網絡類型確定的。
15.—種計算機實現的方法,包括: 在消息收發服務器處接收指向多個計算設備的多個消息,所述多個消息包括用于傳送到第一計算設備的一個或多個消息; 將所述一個或多個消息中的每一個分類為高優先級或低優先級; 將所述一個或多個消息的傳遞延遲,直到滿足預定條件集合中的至少一個,其中,所述預定條件包括至少一個接收到的消息被分類為高優先級的第一預定條件; 用計算機處理器檢測滿足所述預定條件中的至少一個;以及 響應于檢測到滿足所述預定條件中的至少一個,向所述第一計算設備傳送所述一個或多個消息。
16.根據權利要求15所述的計算機實現的方法,進一步包括:檢測所述第一計算設備的無線電狀態,其中,當所述第一計算設備處于活動的無線電狀態中時,滿足所述預定條件中的至少一個。
17.根據權利要求15所述的計算機實現的方法,進一步包括: 檢測所述第一計算設備的網絡類型;以及 在向所述第一計算設備傳送所述一個或多個消息后,繼續向所述第一計算設備傳送傳入的消息達到預定時間段,其中,所述預定時間段是基于所述網絡類型。
18.根據權利要求15所述的計算機實現的方法,其中,用于將所述一個或多個消息分類為高優先級或低優先級的規則基于所述第一計算設備的使用歷史而變化。
19.根據權利要求18所述的計算機實現的方法,其中,與在所述第一計算設備上的優選的應用相關聯的第一消息被自動分配高優先級。
20.根據權利要求19所述的計算機實現的方法,其中,優選的應用狀態取決于所述計算設備的所述使用歷史。
【文檔編號】G06F15/16GK104412250SQ201380033852
【公開日】2015年3月11日 申請日期:2013年6月25日 優先權日:2012年6月25日
【發明者】弗朗西斯科·內列里, 弗雷德·昆塔納 申請人:谷歌公司