新四季網

跨裝置通知的製作方法

2023-04-26 01:00:51 2


本申請是2014年6月24日提交的標題為「Cross-Device Notifications(跨裝置通知)」的美國專利申請第62/016,594序列號的非臨時申請,出於各種目的,其公開內容通過引用的方式全部併入本文。



背景技術:

本公開大體上涉及計算裝置,諸如移動裝置和臺式裝置,並且更具體地涉及在這種裝置上顯示通知。用戶越來越多地獲取和使用多個計算裝置。例如,用戶可以使用智慧型手機、平板和膝上型計算機。



技術實現要素:

所公開的主題涉及跨裝置通知。

在一些創新的實施方式中,所公開的主題可以體現在方法中。該方法包括:接收在與用戶帳戶相關聯的第一裝置處檢測到的事件的第一指示;基於該事件的第一指示確定事件的一個或者多個特性;檢測所確定的特性是否與至少一個選擇準則匹配;從與用戶帳戶相關聯的一個或者多個裝置自動識別第二裝置;以及如果所確定的特性與至少一個選擇準則匹配,那麼將事件的第一指示提供至與用戶帳戶相關聯的第二裝置,其中,將所提供的事件的第一指示顯示在第二裝置處以允許從第二裝置管理在第一裝置處的事件。

在一些創新的實施方式中,所公開的主題可以體現在機器可讀介質中。該機器可讀介質包括指令,在該指令由處理器執行時使得該處理器執行包括以下步驟的操作:檢測在與用戶帳戶相關聯的第一裝置處的事件;向伺服器提供事件的第一指示,其中,當所檢測到的事件的特性與至少一個選擇準則匹配時,伺服器將事件的第一指示提供至與用戶帳戶相關聯的第二裝置;接收包括針對在第一裝置處檢測到的事件將執行的動作的第二指示,在與在第二裝置處所顯示的事件的第一指示進行交互時生成第二指示;以及基於該動作管理在第一裝置處管理事件。

在一些創新的實施方式中,所公開的主題可以體現在系統中。該系統包括:存儲器,該存儲器包括指令;以及處理器,該處理器被配置為執行該指令以進行如下操作:接收在與用戶帳戶相關聯的第一裝置處檢測到的事件的第一指示;基於該事件的第一指示確定事件的一個或者多個特性;檢測所確定的特性是否與至少一個選擇準則匹配;自動識別與用戶帳戶相關聯的一個或者多個裝置;以及如果所確定的特性與至少一個選擇準則匹配,那麼將事件的第一指示提供至與用戶帳戶相關聯的一個或者多個裝置,其中,在一個或者多個裝置處實時地同時顯示所提供的事件的第一指示,以允許從該一個或者多個第二裝置中的任何一個管理在第一裝置處的事件。

要明白,對本領域內的技術人員而言,本主題技術的其它配置從下面的詳細描述中將變得顯而易見,其中,通過圖示的方式示出並且描述了本主題技術的各種配置。如將意識到的,本主題技術能夠具有其它的和不同的配置,並且能夠在各個其它方面中修改其多個細節,而所有這些均未脫離本主題技術的範圍。因此,附圖和詳細描述在本質上應被視為說明性的,而非限制性的。

附圖說明

在隨附權利要求書中闡述了本主題技術的新穎特徵。然而,為了進行說明,在附圖中闡述了本主題技術的多種配置。

圖1是適用於實踐本技術的一些實施方式的示例裝置和網絡環境的圖。

圖2圖示了在客戶端計算裝置處的示例用戶界面,包括顯示的事件的指示。

圖3A至圖3F圖示了基於在另一計算裝置處發生的事件將通知顯示在計算裝置處的示例情形。

圖4A圖示了所顯示的通知的示例。

圖4B和圖4C圖示了不同的示例通知界面。

圖5圖示了在圖1中圖示的一些部件之間的示例消息流。

具體實施方式

下面闡述的詳細描述旨在對本主題技術的各種配置進行描述,而非旨在表示僅可以在其中實踐本主題技術的配置。隨附附圖被併入本文,並且構成本詳細描述的一部分。本主題技術不限於本文闡述的具體細節,並且可以在沒有這些具體細節的情況下實踐本主題技術。

用戶通常可以使用多個計算裝置。這些裝置包括智慧型手機、平板計算機、臺式計算機、智能手錶和任何其它計算裝置。事件可以在用戶遠離計算裝置(例如,智慧型手機)時在該計算裝置處發生。在這種情況下,用戶可能會錯過該事件,並且可能稍後在其接近用戶計算裝置時才知道發生了該事件。例如,當用戶在商業位置處並且正在與臺式計算機進行交互時,可能在家中的用戶的智慧型手機處接收到電話呼叫。在這種情形中,用戶可能不知道智慧型手機正在響鈴或者當前正接收到呼叫。因此,用戶可能會錯過例如可能需要用戶立即注意的時間敏感的電話呼叫。此外,智慧型手機可能會一直可被聽見地響鈴或者振動,從而為位於手機附近的其他人帶來不便。在另一示例中,智慧型手機可以位於用戶的提包或者口袋中,而用戶可能正在與另一裝置進行交互並且將主要注意力放在該另一裝置上。當在用戶的口袋或者提包中的智慧型手機處接收到通知(例如,電話呼叫或者消息)時,用戶可能需要將關注點從其它裝置轉移開以拿出智慧型手機並且查看消息或者通知。因此,可能會中斷用戶對特定任務的注意。在另一示例情形中,可能在用戶遠離智慧型手機時在用戶的智慧型手機處接收到消息傳送服務的消息(例如,短消息)。在這種情形中,用戶可能不知道已經接收到消息,並且,在用戶在物理上出現在智慧型手機附近並且能夠使用智慧型手機之前,可能無法對該消息做出響應。在再一示例情形中,用戶可能頻繁地在不同的位置之間移動,並且用戶可能正在使用在該位置處對該用戶而言可供使用的任何裝置。再者,用戶可能會錯過已經發送至不同裝置中的特定裝置的消息,這是因為用戶不在該特定裝置的附近並且無法使用該特定裝置,而是正在使用不同的裝置。在上述提及的示例情形中,降低了用戶體驗質量。

在一些實施方式中,可以在伺服器處接收在與用戶帳戶相關聯的第一裝置處檢測到的事件的第一指示。在一個示例中,當用戶可以使用用戶證書註冊或者登錄至裝置時,可以將第一裝置與用戶帳戶相關聯,該用戶證書可以包括用戶名和密碼。在另一示例中,當用戶註冊或者登錄至在第一裝置處實例化的應用時,可以將第一裝置與用戶帳戶相關聯。在再一示例中,可以對第一裝置進行預註冊或者將第一裝置與用戶帳戶相關聯。在第一裝置處檢測到的事件可以包括但不限於以下中的一個或者多個:在第一裝置處接收到語音呼叫請求、在第一裝置處接收到消息傳送服務的消息或者相對於第一裝置的預定電量的電池電量變化。

可以基於事件的第一指示確定事件的一個或者多個特性。事件的特性可以包括,但不限於,接收到事件的時間、事件的類別、事件的優先級、或者與事件的發起相關聯的用戶帳戶。在一些實施方式中,所確定的事件的一個或者多個特性可以包括接收到通知的客戶端計算裝置的位置和型號或者裝置類型(例如,平板、蜂窩電話、智慧型手機等)。事件的特性還可以包括事件的類別或者類型(例如,短消息、電話呼叫、視頻呼叫等)。可以檢測所確定的特性是否與至少一個選擇準則匹配。例如,當所確定的特性包括在第一裝置處從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。在另一示例中,當所確定的特性包括在第一裝置處的來自與用戶帳戶相關聯的用戶聯繫人的被錯過的呼叫時,該選擇準則可以被匹配上。在再一示例中,當所確定的特性包括第一裝置的低電池電量警告時,該選擇準則可以被匹配上。在一些實施方式中,如果所確定的特性與該至少一個選擇準則不匹配,那麼可以不將事件的第一指示廣播至與用戶帳戶相關聯的第二裝置以用於顯示。按照這種方式,所公開的實施方式可以選擇性地提供事件的通知。

可以自動從與用戶帳戶相關聯的一個或者多個裝置中識別第二裝置(和任何附加裝置)。例如,第二裝置可以是用戶可能已經使用用戶證書註冊或者登錄至其的裝置,該用戶證書可以包括用於登錄至第一裝置的用戶名和密碼。將基於所確定的特性將事件的第一指示提供至與用戶帳戶相關聯的第二裝置。可以將所提供的事件的第一指示實時地或者幾乎實時地顯示在第二裝置(和附加裝置)處以允許從第二裝置管理在第一裝置處的事件。作為非限制性示例,可以將事件的指示顯示為在第二裝置處的瀏覽器或者任何其它網絡內容查看系統中的通知。如果用戶在物理上接近第二裝置,那麼用戶可以與該通知進行交互以及時地管理在第一裝置處的事件(例如,應答呼叫、取消呼叫、回復文本、關閉裝置等)。

按照這種方式,在遠離用戶的第一裝置處發生事件時用戶可以能夠立刻在可能位於用戶附近的第二裝置處查看該事件的指示。此外,用戶可以與在第二裝置處顯示的通知進行交互以管理在第一裝置處發生的事件。這改進了用戶體驗。要了解,所公開的實施方式不限於當用戶在物理上遠離用戶的裝置時的情形。當用戶的主要注意力被放在計算機或者與發生事件的裝置不同的任何裝置上時,所公開的實施方式也是有用的。例如,當在手機處發生事件時,用戶的手機可能在用戶的口袋中,或者手機可以具有被禁用的手機響鈴器。在這種情形中,當用戶坐在其計算機屏幕(例如,膝上型計算機屏幕或者臺式計算機屏幕)前面時,用戶可以在計算機屏幕上看到在電話處正發生的事件的通知。這允許用戶更快地決定如何處理由用戶手機處的事件導致的中斷,而不是將他們的注意力轉移至電話(例如,通過將電話從口袋或者提包中拿出等)。該示例是說明性的並且不旨在限制所公開的實施方式。

本主題技術的一些方面包括將有關用戶帳戶的信息存儲在伺服器處。用戶可以選擇防止存儲這種信息。還可以為用戶提供如下選項:控制程序或者特徵是否採集或者共享用戶信息(例如,關於用戶的帳戶、用戶的偏好等的信息)。由此,用戶可以對伺服器如何採集和使用關於用戶的信息具有控制。

圖1是圖示了根據本主題技術的一些實施方式的用於跨裝置通知的示例架構的圖。伺服器180包括處理器112、存儲器120、存儲裝置126、總線124、輸入/輸出模塊128、輸入裝置116、輸出裝置114和通信模塊118。存儲器120包括事件確定器132和客戶端裝置標識符134。伺服器180還可以附加地包括輸出裝置(例如,觸控螢幕顯示器、非觸控螢幕顯示器)、用於接收用戶輸入的輸入裝置(例如,鍵盤、觸控螢幕、或者滑鼠)。在一些實施方式中,伺服器180包括一個或者多個模塊,該一個或者多個模塊用於促進經由在客戶端計算裝置190上執行的瀏覽器或者專用應用與數據進行的用戶交互,或者用於處理該數據,該數據存儲在包括圖1的部件的其他部件中以及與圖1的部件進行交互的其它部件中。可以將伺服器180實施為具有單個處理器、多處理器的單個機器、或者包括具有多個處理器的多個機器的伺服器群。通信模塊118可以允許伺服器180通過網絡150向雲消息傳送伺服器110、緩存伺服器196和客戶端計算裝置190和192發送和接收數據。雖然圖1圖示了兩個客戶端計算裝置,但是要了解,系統不限於這些客戶端計算裝置,並且可以並行地並且實時地,例如與任何數量的計算裝置進行操作和通信。

在一些實施方式中,伺服器180可以與雲消息傳送伺服器110相關聯,並且可以通過網絡150來向雲消息傳送服務110發送和接收數據。雲消息傳送伺服器110然後可以向客戶端計算裝置190和192轉發從伺服器180接收到的數據。客戶端計算裝置190和192可以經由雲消息傳送服務110來向伺服器180發送數據和從伺服器180接收數據,或者可以直接向伺服器180發送數據和從伺服器180接收數據。該示例是說明性的,並且不旨在限制所公開的實施方式。在一些實施方式中,可以將由雲消息傳送伺服器110提供的功能包括在伺服器180中,並且不需要提供單獨的雲消息傳送伺服器110。下面進一步根據一些實施方式對雲消息傳送伺服器110的操作進行了討論。

在一些實施方式中,緩存伺服器196可以存儲或者緩存數據,該數據包括但不限於視頻、音頻、文本、圖像、或者其任何組合。可以提供存儲在緩存伺服器196處的數據以便在網頁、通知或者任何其它網絡內容區域中顯示。在一些實施方式中,存儲在緩存伺服器196處的一些數據可以具有生存的預定義時間或者到期時間,在該時間之後,可以從緩存伺服器196中刪除或者清除數據。

在一些實施方式中,伺服器180可以與包括社交數據的社交數據伺服器194相關聯,並且可以通過網絡150來向社交數據伺服器194發送和接收數據。在一些實施方式中,社交數據伺服器194可以存儲(多個)社交內容項(例如,發布的與社交網絡服務相關聯的(多個)內容項)。社交數據伺服器194還可以存儲與用戶帳戶相關聯的數據和與用戶帳戶相關聯的內容項。例如,社交數據伺服器194可以包括指示已經通過與用戶相關聯的用戶帳戶查看、共享、評論、贊成或者不贊成的內容項的數據。社交數據伺服器194可以存儲指示與社交網絡服務相關聯的用戶帳戶之間的社會關係的社會關係數據結構。社交數據伺服器194還可以存儲針對由用戶消費的並且被存儲在多媒體伺服器196處的多媒體內容所做出的用戶評論(或者注釋)。

在一些實施方式中,雲消息傳送伺服器110、緩存伺服器196、社交數據伺服器194和伺服器180可以經由網絡150來彼此通信以及與客戶端計算裝置190和192進行通信。網絡150可以包括網際網路、內聯網、區域網、廣域網、有線網絡、無線網絡、或者虛擬專用網絡(VPN)。雖然僅圖示了一個雲消息傳送伺服器110、緩存伺服器196、社交數據伺服器194和伺服器180,但是可以結合任何數量的雲消息傳送伺服器110、緩存伺服器196、社交數據伺服器194和伺服器180、以及客戶端計算裝置來實施本主題技術。在一些非限制性實施方式中,單個計算裝置可以實施雲消息傳送伺服器110、緩存伺服器196、社交數據伺服器194和伺服器180的功能。

客戶端計算裝置190或者192可以是膝上型計算機、臺式計算機、移動手機、個人數據助理(PDA)、平板計算機、上網本、具有嵌入有或者耦合有一個或者多個處理器的電視機、物理機器、或者虛擬機器。客戶端計算裝置190或者192可以各自包括鍵盤、滑鼠、顯示器、或者觸控螢幕中的一個或者多個。客戶端計算裝置190或者192可以將瀏覽器實例化,該瀏覽器被配置為顯示網頁以及在計算裝置處發生的事件的通知和指示。要了解,還可以將根據實施方式提供的通知和其它內容顯示在瀏覽器的外部。

在一些實施方式中,客戶端計算裝置190和192可以包括在硬體存儲器中實施並且可通過使用一個或者多個處理器來執行的軟體。該軟體可以允許客戶端裝置與伺服器180進行通信。例如,軟體可以允許從伺服器180接收數據(例如,消息和通知)並且將數據傳輸至伺服器180和在圖1中圖示的其它部件。可以將軟體預安裝在客戶端裝置190和192處,或者可以由用戶來安裝軟體。當客戶端計算裝置190和192執行軟體更新時,可以將軟體自動安裝在客戶端計算裝置190和192處。軟體可以在任何時間將客戶端計算裝置190和192配置和重新配置為發射機(或者源)或者接收機(或者宿)。軟體可以配置客戶端計算裝置190和192自動檢測事件(例如,傳入的電話呼叫、接收到的消息、低電池電量等),並且向伺服器180提供檢測到的事件的指示。可以經由移動應用市場或者商店進行下載來獲得軟體。在一些實施方式中,可以經由允許計算裝置190或者192向伺服器180註冊的軟體來從用戶接收用戶帳戶標識符(例如,電子郵件地址)或者任何其它標識符。

在一些實施方式中,當在計算裝置190或者192處接收到有效的用戶帳戶標識符和密碼(或者已經對用戶進行了認證)時,可以將裝置與用戶帳戶相關聯。例如,如果用戶擁有或者具有對客戶端計算裝置190和192兩者的訪問權,那麼用戶可以提供在安裝在計算裝置190和192中的任何一個處的軟體處的標識符和密碼,以將兩個裝置都與用戶帳戶相關聯。還可以經由軟體來接收註冊到伺服器180的指示。按照這種方式,可以註冊計算裝置180以便與伺服器180進行通信。

在一些實施方式中,客戶端計算裝置向伺服器180的註冊過程可以具有異步故障點。換句話說,客戶端計算裝置可以基於客戶端計算裝置190、192或者伺服器180的連接狀態來自動重試(或者避免重試)以連接並且註冊到伺服器180。按照這種方式,客戶端計算裝置190、192和伺服器180可以嘗試保持在連接狀態。在一些實施方式中,可以在客戶端計算裝置190和192處提供用戶界面以允許用戶檢查連接狀態和與服務(或者服務健康狀況)相關聯的其它參數。要了解,在一些實施方式中,可以對計算裝置190和192進行預註冊或者預配置以便與伺服器180進行通信,並且可以不需要對計算裝置190和192進行另外的註冊或者配置。

如上面討論的,伺服器180的存儲器120可以包括事件確定器132和客戶端裝置標識符134。

在一些實施方式中,事件確定器132接收在與用戶帳戶相關聯的第一裝置(以下稱為客戶端裝置190)處檢測到的事件的第一指示,並且基於該事件的第一指示確定事件的一個或者多個特性。在一些實施方式中,事件確定器132可以生成對於特定類型的事件的通知。例如,當在事件確定器132處接收到事件的第一指示時,事件確定器132可以檢查事件是否是特定類型的事件(例如,來自聯繫人的電話呼叫、未接來電、文本消息)。特定類型的事件可以是優先級事件或者時間敏感事件。如果確定該事件是特定類型的事件,那麼事件確定器132可以指示客戶端裝置標識符134識別並且轉發事件的通知以便在第二裝置(以下稱為客戶端裝置192)處進行顯示。否則,在一些實施方式中,如果確定該事件不是特定類型的事件,那麼事件確定器132可以不指示客戶端裝置標識符134為在第二裝置(以下稱為客戶端裝置192)處進行顯示來識別並且轉發事件的通知。按照這種方式,事件確定器132可以基於事件的特性來選擇某個事件以在客戶端計算裝置處進行通知。因此,通知的預期查看者可以僅僅被可能對該查看者有用的通知打斷。在一些實施方式中,所公開的實施方式可以選擇性地轉發在第一計算裝置(例如,客戶端計算裝置190)處是唯一的、唯一源的或者獨特的通知。按照這種方式,用戶不需要接收中繼至第二計算裝置(例如,客戶端計算裝置192)的重複通知並且不會有可能因重複通知而感到不甚其擾。在一些實施方式中,可以將包括特定類型的事件的事件類別存儲在資料庫192中。

如上面討論的,在一些實施方式中,事件的特性可以包括,但不限於,接收到事件的時間、事件的類別、事件的優先級、或者與事件的發起相關聯的用戶帳戶。在一些實施方式中,確定的事件的一個或者多個特性可以包括接收到通知的客戶端計算裝置的位置和型號或者裝置類型(例如,平板、蜂窩電話、智慧型手機等)。事件的特性還可以包括事件的類別或者類型(例如,短消息、電話呼叫、視頻呼叫等)。在一些實施方式中,事件確定器132可以檢查確定的特性是否與至少一個選擇準則匹配。例如,當確定的特性包括在第一裝置處從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。在另一示例中,當確定的特性包括在第一裝置處的來自與用戶帳戶相關聯的用戶聯繫人的被錯過的呼叫時,該選擇準則可以被匹配上。在再一示例中,當確定的特性包括第一裝置的低電池電量警告時,該選擇準則可以被匹配上。

客戶端裝置標識符134自動識別在與用戶帳戶相關聯的一個或者多個裝置中的第二裝置,並且基於確定的特性將事件的第一指示提供至與用戶帳戶相關聯的客戶端裝置192。例如,客戶端裝置標識符134可以查閱連接至網絡150的資料庫192以確定哪些裝置已經與用戶帳戶相關聯。當例如,在向伺服器180進行註冊期間伺服器接收到用戶帳戶信息時,可以由伺服器180來執行裝置與用戶帳戶的這種關聯。可以將所提供的事件的第一指示顯示在客戶端裝置192處以允許從客戶端裝置192來管理在客戶端裝置190處的事件。在一些實施方式中,如果確定的特徵不與至少一個選擇準則匹配,那麼客戶端裝置標識符134可以不為了進行顯示而將事件的第一指示廣播至與用戶帳戶相關聯的第二裝置。按照這種方式,所公開的實施方式可以選擇性地提供事件的通知。

圖2圖示了在客戶端計算裝置192(例如,臺式計算機或者膝上型計算機)處的示例用戶界面200,該示例用戶界面200包括可以在計算裝置190處檢測到的顯示的事件的指示(例如,通知),在該示例中,該計算裝置190可以是智慧型手機。顯示的事件指示或者通知202指示計算裝置190的電池電量為「低」並且處於滿電池電量的「10%」。通知204指示已經從用戶A接收到文本消息。還顯示了該文本消息的內容(例如,「Hey-want to go get some lunch?(嘿-想去吃午飯嗎?)」)。通知206指示錯過了來自用戶A的電話呼叫。如上面討論的,在一些實施方式中,當相應事件在客戶端計算裝置190處發生時,可以將通知202至206實時地或者幾乎實時地同時顯示在客戶端計算裝置192和與用戶帳戶相關聯的任何其它客戶端計算裝置處。因此,要了解,還可以將通知同時顯示在不同於與用戶帳戶相關聯的客戶端計算裝置192的裝置處。這允許用戶方便地在可以與用戶的帳戶相關聯的任何客戶端計算裝置上查看通知,並且用戶不需要為查看通知或者與通知進行交互而綁定至特定裝置附近。

按照這種方式,所公開的實施方式可以提供統一的通知、消息傳送和內容流。此外,通知還可以包括音頻、視頻或者其任何組合。可以經由語音、觸摸、觸控筆或者任何其它機制來執行與通知的交互。

返回圖2,可以將稍後接收到的事件的指示顯示在更早接收到的事件的指示上方。例如,通知204可以指示在與通知206相關聯的事件之後已經發生的事件。該示例是說明性的,並且不旨在限制所公開的實施方式。還可以將通知202至206與圖像或者其它內容相關聯以提供與通知相關聯的用戶帳戶的視覺指示、通知的類別或者通知的任何其它特性。例如,與通知206相關聯的圖像208是與用戶A的用戶帳戶相關聯的圖像。

在一些實施方式中,為了在從不同於與客戶端計算裝置190和192相關聯的用戶帳戶的另一用戶帳戶發起事件時顯示圖像(例如,圖像208),發生事件的客戶端計算裝置(例如,客戶端計算裝置190)可以確定是否在客戶端計算裝置190處可獲得與該另一用戶帳戶相關聯的圖像。當在客戶端計算裝置190處可獲得該圖像時,客戶端計算裝置190生成對圖像的引用。該引用可以是散列值或者消息摘要。作為非限制性和說明性示例,可以通過使用加密散列或者安全散列算法(SHA)(例如,SHA-256)來生成散列值。基於生成的引用,客戶端計算裝置190可以確定是否在遠程緩存伺服器196處也可獲得該圖像。當確定在緩存伺服器196處不可獲得該圖像時,客戶端計算裝置190可以將圖像上傳至緩存伺服器196。

當確定在高速緩存伺服器196處將可獲得該圖像時,客戶端計算裝置190可以將生成的引用包括在提供至伺服器180的事件的第一指示中。當在來自伺服器180的通知中接受到引用並且如果在客戶端計算裝置192處已經不可獲得該引用的圖像時,那麼客戶端計算裝置192可以基於該引用從緩存伺服器196檢索圖像。在一些實施方式中,客戶端計算裝置190可以使用應用編程接口(API)來將圖像上傳至緩存伺服器196。圖像可以是任何圖像格式或者編碼(例如,JPG,PNG等)。在一些實施方式中,當將圖像上傳至緩存伺服器196時,緩存伺服器196生成引用值並且將該引用值返回至客戶端計算裝置190。然後包括客戶端計算裝置192的任何客戶端計算裝置可以使用該引用值來檢索圖像以便顯示。

在一些實施方式中,客戶端計算裝置190和192可以使用「檢查圖像」功能來確定在緩存伺服器196處是否可獲得圖像。在一些實施方式中,客戶端計算裝置190和192可以使用圖像檢索功能來提供圖像的散列值並且反過來從緩存伺服器196接收圖像。按照這種方式,不需要每次在客戶端計算裝置190處發生事件時將圖像從客戶端計算裝置190傳輸至伺服器180(和客戶端計算裝置192)。相反,可以通過客戶端計算裝置190、192和伺服器180來提供在緩存伺服器196處對圖像進行尋址的引用。可以基於該引用從緩存伺服器196檢索圖像。由此,可以節省對傳輸圖像可能一直需要的附加網絡帶寬的使用。

在一些實施方式中,為了控制對在緩存伺服器196中的圖像(和其它內容)的訪問,客戶端計算裝置190和192可以利用對圖像唯一地生成的密鑰來對各個圖像進行加密。在一些實施方式中,可以由客戶端計算裝置190和192(或者伺服器180)通過安全消息傳送系統將生成的密鑰傳輸至可以向相應用戶顯示包括圖像的指示(例如,消息或者通知)的一個或者多個其它裝置。在一些實施方式中,由於伺服器180在圖像遞送之後可能不會保留加密密鑰,因此在緩存伺服器196中的圖像可以在不變時保持加密狀態,並且,可能不擁有有效加密密鑰的未授權用戶或者系統操作者不能讀取該圖像。在一些實施方式中,可以通過圖像本身的散列生成唯一圖像加密密匙。這使得僅將給定圖像(例如,用戶的簡檔圖片)在緩存伺服器196中存儲一次便可以在引用該給定圖像的所有其它通知之間共享該給定圖像。然而,可能具有圖像加密密匙的客戶端計算裝置190和192可以對圖像進行解碼以便向用戶顯示。

在密碼學中,可以為結合私密密鑰計算有關加密散列函數的消息認證碼(MAC)來構造密鑰散列消息認證碼(HMAC)。鹽值可以是被用作對密碼或者密碼短語進行散列的函數的附加輸入的隨機數據。

Image_index=HMAC(index_salt,image) (1)

lmage_key=HMAC(key_salt,image) (2)

Cached_image=Encode(image_key,image) (3)

參照上面的示例函數(1),可以將Image_index計算為HMAC(index_salt,image),其中,「image」是圖像數據,index_salt是鹽值。參照函數(2),可以將Image_index計算為HMAC(index_salt,image),其中,「image」是圖像數據,並且「key_salt」是鹽值。可以在各個指示(例如,通知消息)中將image_index和image_key從伺服器180傳輸至授權的客戶端裝置(例如,客戶端計算裝置190和192),從而使授權的客戶端裝置能夠檢索對應的緩存的圖像並且對其進行解碼。可以通過將image_index用作訪問密鑰來存儲緩存的圖像並且從緩存伺服器196檢索緩存的圖像。

在一些實施方式中,在利用事件的第一指示將各個緩存的圖像傳輸至第二裝置(例如,客戶端計算裝置192)之前,可以利用在第一裝置(例如,客戶端計算裝置190)上生成的唯一密鑰來對各個緩存的圖像進行加密。在一些實施方式中,可以將各個緩存的圖像與在客戶端計算裝置190上生成並且傳輸至客戶端計算裝置192的基於內容的密鑰相關聯。基於內容的密鑰(例如,圖像的散列)的益處是可以僅需要將各個(編碼的)圖像在緩存伺服器196處存儲一次,因為可能不需要唯一密鑰來對圖像進行解碼。在一些實施方式中,可以將生存時間(TTL)值與事件的指示包括在一起,其中,TTL值指示第一指示(或者任何其它指示或者通知消息)的到期時間。在一些實施方式中,可以將TTL值實施為附接至或者嵌入在事件的指示中的計數器或者時間戳。一旦已經逝去了規定的事件計數或者時間跨度,就可以丟棄事件的指示。按照這種方式,通過使用TTL值,可以通過移除在其到期時間之前不能被遞送的排隊的事件指示來優化所公開的實施方式。

圖3A圖示了客戶端計算裝置190是智慧型手機並且客戶端計算裝置192是膝上型計算機的示例。在圖3A中,未顯示與客戶端計算裝置190相關聯的通知。圖3B圖示了在客戶端計算裝置190處接收到來自用戶B的呼叫的情形。當接收到呼叫時,將通知310顯示在客戶端計算裝置192處。該通知可以包括呼叫者或者用戶B的圖像。在通知是對於在客戶端計算裝置190處的來電事件的來電通知的示例中,可以在呼叫傳入時實時地將通知顯示在客戶端計算裝置192處,無論客戶端計算裝置190是正在響鈴、振動還是處於靜音模式。通知還可以顯示與發起呼叫的號碼相關聯的呼叫者標識符(或者姓名)和對通知的描述(例如,「您的電話正在響鈴」)。

圖3C和圖3D圖示了計算裝置190繼續處於呼叫傳入狀態並且用戶在客戶端計算裝置192處可以選擇在正接收到或者正傳入呼叫時的任何時間應答呼叫的情形。另外,可以顯示允許用戶在計算裝置192處取消或者應答呼叫的呼叫忽略按鈕和應答按鈕。

按照這種方式,使用臺式計算機或者膝上型計算機的用戶可以實時查看傳入的呼叫的通知並且與其進行交互。可以將通知顯示在在客戶端計算裝置192上執行的瀏覽器中。當用戶在客戶端計算裝置192處應答呼叫時,客戶端計算裝置190可以停止響鈴或者振動,並且用戶可以與呼叫者進行對話(通過使用與客戶端計算裝置192相關聯的麥克風和揚聲器)。所公開的實施方式不受地理距離的限制。例如,可以在用戶物理上出現在用戶的紐約的辦公桌處時,位於北京的用戶手機接收來電。然後用戶可以實時地應答對在北京的電話的呼叫,而同時在用戶在紐約。該示例是說明性的並且不旨在限制所公開的實施方式。

在一些實施方式中,當用戶應答呼叫時,可以經由消息傳送服務來顯示的用戶的狀態指示符可以改變,以指示用戶正在與,例如,用戶B進行語音通話。用戶可以選擇可以顯示在通知上以終止呼叫的「掛斷」或者結束呼叫的用戶元素。如果用戶選擇不應答呼叫,那麼如在圖3E中示出的,「您的電話正在響鈴」的通知可以在來電終止並且保持未應答之後自動變為「您錯過了呼叫通知」。可以將通知的任何改變或者通知的取消立即傳播至與用戶的帳戶相關聯的所有裝置。按照這種方式,與用戶的帳戶相關聯的所有計算裝置可以保持同步。

在一些實施方式中,可以經由伺服器180來將與呼叫相關聯的語音數據從客戶端計算裝置190中繼至客戶端計算裝置192。在其它實施方式中,語音數據可以繞過客戶端計算裝置190,並且可以經由伺服器180從呼叫發起裝置直接中繼至客戶端計算裝置192。可以使用任何其它形式的數據中繼或者傳輸。呼叫者不需要知道或者關注用戶是否正在使用客戶端計算裝置190或者192。按照這種方式,從呼叫者和被呼叫者的角度來說,所公開的實施例提供了無縫實時體驗。如果用戶沒有應答呼叫或者取消了呼叫,那麼可以將未接來電通知(例如,通知206)顯示在客戶端計算裝置192處。此外,要了解,可以與客戶端計算裝置190和192一起,在可以與用戶帳戶相關聯的其它裝置處,同時並且實時(或者幾乎實時)地顯示通知202至206,該用戶帳戶也與客戶端計算裝置190和192相關聯。

在通知是在客戶端計算裝置190處接收到的消息傳送服務的消息(例如,短消息傳送服務的消息或者SMS)的示例中,可以在接收到消息時立即將通知顯示在客戶端計算裝置192處。客戶端計算裝置190可以處於啟用響鈴、振動或者靜音模式。通知還可以顯示與發起消息的號碼或者帳戶相關聯的呼叫者標識符(或者姓名)(例如,圖像208)。按照這種方式,使用臺式計算機或者膝上型計算機的用戶可以實時或者幾乎實時地查看消息的通知(例如,通知204)。可以將通知顯示在在客戶端計算裝置192上執行的瀏覽器中。而且,如在圖4A中示出的,可以將通知402顯示在瀏覽器的外部和客戶端計算裝置192的桌面區域上。圖3F圖示了將通知顯示在客戶端計算裝置192的桌面區域上的另一情形。桌面區域可以是獨立於在客戶端計算裝置192處執行的其它顯示的應用的區域。

圖4B圖示了包括通知414和406的通知界面420。通知406是指示當前天氣狀況的通知。可以將天氣狀況與客戶端裝置190或者客戶端裝置192的地理位置相關聯。該地理位置可以是不同的(例如,房屋中的不同房間、不同城市、國家或者大陸等)。用戶可以經由回復元素410或者「I’m busy(我很忙)」元素412響應用戶A的消息傳送服務的消息(例如,「Hey-want to go get some lunch?」),來與在客戶端計算裝置192處的通知進行交互。作為非限制性示例,選擇元素412可以向消息的發送方提供用戶當前很忙或者無法做出響應的預配置響應。用戶可以通過選擇關閉或者取消與相應通知相關聯的元素414來取消任何通知。在一些實施方式中,當用戶取消通知時,也可以同時取消可以顯示在與用戶的帳戶相關聯的其它計算裝置處的其它通知的實例。當用戶選擇回復元素412時,可以在客戶端計算裝置192處將界面416實例化。在一些實施方式中,除了最新消息之外,用戶界面416還可以顯示從消息的發送方接收到的一個或者多個先前消息。這向客戶端計算裝置192的用戶提供了可以供用戶用來適當地響應最近消息的場境。

在一些實施方式中,客戶端計算裝置192的用戶可以使用用戶界面416來發送和查看任何數量的消息並且可以在任何時間關閉或者終止界面416。界面418是與界面416類似的另一界面,界面418允許用戶在客戶端計算裝置192處發送和接收消息。圖4C圖示了其它通知界面424。參照圖4C,通知還可以包括指示客戶端計算裝置190(例如,智慧型手機)的位置的通知。

要了解,所公開的實施方式不限於短消息傳送服務的消息,並且可以使用任何其它形式的消息傳送系統、方法或者框架。在一些實施方式中,可以將在客戶端計算裝置192處從客戶端計算裝置190接收到的通知與到期時間或者生存時間(TTL)值相關聯。例如,如果生存時間值為1個小時,那麼可以在客戶端計算裝置192處接收到並且顯示消息後的1個小時之後,隱藏消息以不進行顯示或者刪除消息。該示例是說明性的,並且不旨在限制所公開的實施方式。

在一些實施方式中,當在客戶端計算裝置190處接收到消息時,可以將界面416(或者418)自動實例化以便在客戶端計算裝置192處進行顯示。在其它實施方式中,可以在客戶端計算裝置192處進行用戶交互(或者進行發送消息的指示)時來將界面416(或者418)自動實例化以便在客戶端計算裝置192處進行顯示。在一些實施方式中,客戶端計算裝置192可以自動管理若干消息傳送界面,從而使得客戶端計算裝置192可以將在預定時間段內不活動的那些消息傳送界面自動最小化。按照這種方式,用戶不需要經歷多個消息傳送界面的擁擠。在一些實施方式中,可以基於計算裝置192的視覺界面或者樣式主題來自動確定包括任何圖標的界面416或者418的視覺樣式,或者可以由伺服器180來進行確定或者甚至由計算裝置192的用戶來設置該視覺樣式。

在一些實施方式中,可以經由界面416向用戶顯示經由界面416提供的消息在一些情況下可能會產生第三方消息傳送費用的指示。在一些實施方式中,可以將界面416與基於雲的通信服務相關聯,可經由在客戶端計算裝置192處執行的服務的客戶端軟體來訪問該基於雲的通信服務。基於雲的通信服務可以允許兩個或者更多個用戶之間的視頻、音頻和文本通信,包括多個用戶之間的視頻、語音和文本會議。在一些實施方式中,經由客戶端計算裝置處的雲消息傳送服務的界面發送或者接收到的通信可以具有與界面416或者418不同的顯示視覺樣式。

在通知與客戶端計算裝置190的電池電量相關聯的示例中,可以實時或者幾乎實時地將通知顯示在客戶端計算裝置192處。例如,當客戶端計算裝置190(或者如同客戶端計算裝置192一樣與相同用戶帳戶相關聯的任何其它裝置)的電池電量下降到低於預定閾值(例如,滿電池電量的10%)時,客戶端計算裝置190可以檢測該事件並且向伺服器180傳輸該事件的指示。伺服器180然後可以轉發該指示以便在客戶端計算裝置192處進行顯示。在客戶端計算裝置192處的用戶然後可以與通知進行交互並且提供管理該事件的動作。例如,用戶可以通過經由顯示的通知提供輸入來指示將關閉客戶端計算裝置190或者對客戶端計算裝置190進行斷電。在經由伺服器180在客戶端計算裝置190處接收到動作時,可以自動對客戶端計算裝置進行斷電或者關閉客戶端計算裝置。在一些實施方式中,用戶還可以指示:應該消除或者取消顯示在客戶端計算裝置190處的一個或者多個通知。

圖5圖示了客戶端計算裝置190至194、伺服器180與雲消息傳送伺服器110之間的消息傳送流程。可以將客戶端計算裝置190至194與相同的用戶帳戶相關聯。客戶端計算裝置190可以是智慧型手機、平板或者任何移動裝置,並且客戶端計算裝置192和194可以是臺式計算機或者膝上型計算機。

在階段502中,事件可以發生並且客戶端計算裝置190可以檢測到該事件。在階段504中,客戶端計算裝置190可以將事件的指示(或者通知)發送至伺服器180。伺服器180然後可以確定與相同用戶帳戶相關聯的其它計算裝置。特別地,除了客戶端計算裝置190之外,伺服器180可以確定客戶端計算裝置192和194與相同的用戶帳戶相關聯。還可以將客戶端計算裝置192和194確定為事件通知的接收機或者「宿」並且與源或者發射機客戶端計算裝置190分開。

在階段506中,伺服器180然後可以將通知廣播或者同時提供至在客戶端計算裝置192和194處的軟體客戶端(例如,瀏覽器)。在階段508中,可以通過雲消息傳送伺服器110來將從伺服器180廣播的通知中繼至在客戶端計算裝置192和194處的軟體客戶端。在階段510中,可以同時並且實時地將通知顯示在客戶端計算裝置192和194處。在階段512中,可以經由在客戶端計算裝置192處顯示的通知來接收包括動作的交互。在階段514中,可以將包括動作的指示提供至伺服器180。在階段516中,伺服器180可以經由雲消息傳送伺服器110來將動作廣播至所有客戶端計算裝置190、192和194。在階段518中,雲消息傳送伺服器110可以將動作提供或者轉發至初始確定的源客戶端計算裝置190以及接收機客戶端計算裝置192和194。

在一些實施方式中,可以在圖1中圖示的一個或者多個部件之間交換一個或者多個服務消息。在一些實施方式中,可以通過客戶端計算裝置190或者192來將註冊消息提供至伺服器180。當用戶經由在客戶端計算裝置190或者192處的授權界面提供具有密碼的用戶名或者電子郵件地址並且確認向由伺服器180提供的通知和消息傳送服務註冊的意圖時,可以提供該註冊消息。在一些實施方式中,當在客戶端計算裝置190或者192處的用戶經由用戶界面指示用戶想要中止來自伺服器180的服務時,客戶端計算裝置190或者192可以提供註銷消息。

在一些實施方式中,客戶端計算裝置190或者192可以請求將ping消息從伺服器180發送回提出請求的客戶端計算裝置190或者192以測試與伺服器180的連接。在一些實施方式中,響應於來自客戶端計算裝置190或者192的請求,伺服器180可以發送與特定用戶帳戶相關聯的客戶端計算裝置的列表。該列表還可以指示在列表中識別到的客戶端是源還是宿。如上所述,可以在客戶端處生成通知,該通知然後可以由伺服器180廣播至作為與特定用戶帳戶相關聯的接收機或者宿的其它客戶端計算裝置。當用戶與通知進行交互並且指示將採取動作以管理來自任何一個計算裝置的事件時,可以將動作消息從客戶端計算裝置190或者192傳輸至伺服器180。

在一些實施方式中,動作消息可以包括動作的標識符。在一些實施方式中,當伺服器180將動作消息傳輸至在其中事件已經發生並且將在其中對該事件進行管理的客戶端計算裝置時,該客戶端計算裝置可以基於動作標識符來自動確定將採取的動作並且處理該動作。例如,可以在客戶端計算裝置處取消呼叫。在一些實施方式中,伺服器180和其它部件可以獨立於消息屬性來處理消息。換句話說,例如,伺服器180可以將消息屬性視為是不透明的。按照這種方式,可以通過更新可以安裝在客戶端計算裝置190和192處的客戶端軟體來方便地部署附加特徵(例如,通知和動作),並且可以不需要在伺服器180處的改變。在一些實施方式中,可以通過傳輸控制協議或者TCP來傳輸上面討論的服務消息和任何其它消息和通知(或者事件的指示)。TCP是與網際網路協議(IP)族相關聯的協議。TCP通常,並且例如,可以在包括但不限於web瀏覽器和web伺服器的端系統之間操作。TCP可以允許通過軟體程序來將字節流從一個計算機遞送至另一計算機。TCP被提供為示例並且不旨在限制所公開的實施方式。可以使用任何其它協議,包括超文本傳輸協議(也稱為HTTP)或者安全HTTP。

在一些實施方式中,可以通過使用例如,JavaScript對象表示(JSON)格式,在圖1中圖示的部件之間傳輸上面討論的服務消息和任何其它消息和通知。使用諸如JSON等格式允許對在部件處的消息進行有效編碼和解析,並且,因為JSON的人類可讀格式,所以方便調試。此外,當第三方服務可以與圖1中圖示的部件進行交互時,第三方服務還可以使用JSON來提供適當格式化的通知、服務消息和內容,並且還或許能夠解析以JSON格式接收到的動作和響應。要了解,對JSON格式的使用純粹是說明性的,並且不旨在限制所公開的實施方式。圖1的部件和與這些部件相關聯的任何其它服務和系統也可以使用其它格式。

所公開的主題涉及跨裝置通知。一些實施方式包括:接收在與用戶帳戶相關聯的第一裝置處檢測到的事件的第一指示;基於該事件的第一指示確定事件的一個或者多個特性;檢測確定的特性是否與至少一個選擇準則匹配;根據與用戶帳戶相關聯的一個或者多個裝置自動識別第二裝置;以及如果確定的特性與至少一個選擇準則匹配,那麼將事件的第一指示提供至與用戶帳戶相關聯的第二裝置,其中,將所提供的事件的第一指示顯示在第二裝置處以允許從第二裝置管理在第一裝置處的事件。一些實施方式包括:接收包括針對在第一裝置處接收到的事件將執行的動作的第二指示,在與在第二裝置處顯示的事件的第一指示進行交互時生成該第二指示;以及將動作傳輸至第一裝置,其中,可以基於動作在第一裝置處管理事件。

一些實施方式包括:接收與事件的第一指示相關聯的第一內容;以及將接收到的第一內容提供至與用戶帳戶相關聯的第二裝置以便與事件的第一指示一起進行顯示。一些實施方式包括:當內容包括對遠程緩存中的圖像的引用時,將該引用提供至第二裝置,其中,當在第二裝置處不可獲得圖像時,第二裝置基於引用從緩存檢索圖像以便進行顯示。一些實施方式包括:接收響應於在第二裝置處顯示的事件的第一指示的第二內容;以及將接收到的第二內容提供至第一裝置以便進程顯示。在一些實施方式中,將事件的第一指示顯示在第二裝置的web瀏覽器處,其中,第一裝置是移動計算裝置,並且第二裝置可以是臺式計算裝置。在一些實施方式中,事件可以包括以下中的一個或者多個:在第一裝置處接收到語音呼叫請求、在第一裝置處接收到消息傳送服務的消息或者電池電量相對於第一裝置處的預定電量發生改變。在一些實施方式中,事件的一個或者多個特性包括:可以接收事件的時間、事件的類型、事件的優先級、或者與事件的發起相關聯的用戶帳戶。在一些實施方式中,第一裝置可以處於第一地理位置,並且第二裝置可以處於第二地理位置。

在一些實施方式中,如果確定的特性不與至少一個選擇準則匹配,那麼不基於確定的特性將事件的第一指示為進行顯示而提供至與用戶帳戶相關聯的第二裝置。在一些實施方式中,當確定的特性包括低電量警告時,該選擇準則可以被匹配上。在一些實施方式中,當確定的特性包括從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。在一些實施方式中,當確定的特性包括來自與用戶帳戶相關聯的用戶聯繫人的被錯過的呼叫時,該選擇準則可以被匹配上。在一些實施方式中,當確定的特性包括從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。

一些實施方式包括:在與用戶帳戶相關聯的第一裝置處檢測到事件;向伺服器提供事件的第一指示,其中,當檢測到的事件的特性與至少一個選擇準則匹配時,伺服器將事件的第一指示提供至與用戶帳戶相關聯的第二裝置;接收包括針對在第一裝置處檢測到的事件將執行的動作的第二指示,在與在第二裝置處顯示的事件的第一指示進行交互時生成該第二指示;以及基於動作管理在第一裝置處的事件。一些實施方式包括:接收與事件的第一指示相關聯的第一內容;以及將接收到的第一內容提供至伺服器,其中,伺服器將內容提供至與用戶帳戶相關聯的第二裝置以便與事件的第一指示一起進行顯示。

一些實施方式包括:當從另一用戶帳戶發起事件時,確定在第一裝置處是否可獲得與該另一用戶帳戶相關聯的圖像,當在第一裝置處可獲得該圖像時,生成對圖像的引用;基於所生成的引用,確定在遠程緩存處是否可獲得該圖像,當在遠程緩存處不可獲得該圖像時,將圖像上傳至遠程緩存,當確定在遠程緩存處可獲得該圖像時,將生成的引用包括在提供至伺服器的事件的第一指示中,其中,第二裝置基於引用從遠程緩存檢索圖像。

在一些實施方式中,在將各個緩存的圖像與事件的第一指示一起傳輸至第二裝置之前,利用在第一裝置上生成的唯一密鑰對各個緩存的圖像進行加密。在一些實施方式中,利用基於內容的密鑰對各個緩存的圖像進行加密。可以在第一裝置上生成該基於內容的密鑰並且將其傳輸至第二裝置。在一些實施方式中,可以對生存時間(TTL)值與事件的第一指示一起進行指示,其中,TTL值指示第一指示的到期時間。

在一些實施方式中,當在第二裝置處不可獲得圖像時,第二裝置基於引用從遠程緩存檢索圖像。該引用可以是基於圖像的散列值。一些實施方式包括:接收響應於在第二裝置處顯示的事件的第一指示的第二內容;以及將接收到的第二內容顯示在第一裝置處。事件可以包括以下中的一個或者多個:在第一裝置處接收到語音呼叫請求、在第一裝置處接收到消息傳送服務的消息或者電池電量相對於第一裝置處的預定電量發生改變。事件的特性可以包括:接收到事件的時間、事件的類別、事件的優先級、或者與事件的發起相關聯的用戶帳戶。第一裝置可以處於第一地理位置,並且第二裝置可以處於第二地理位置。在一些實施方式中,當確定的特性包括從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。當確定的特性包括來自與用戶帳戶相關聯的用戶聯繫人的被錯過的呼叫時,該選擇準則可以被匹配上。當確定的特性包括從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。這些示例不旨在限制所公開的實施方式。在一些實施方式中,如果確定的特性不與至少一個選擇準則匹配,那麼不基於確定的特性將事件的第一指示為進行顯示而廣播至與用戶帳戶相關聯的第二裝置。

一些實施方式可以接收在第一裝置處檢測到的事件的第一指示;基於該事件的第一指示確定事件的一個或者多個特性;檢測確定的特性是否與至少一個選擇準則匹配;自動識別與用戶帳戶相關聯的一個或者多個裝置;以及如果確定的特性與至少一個選擇準則匹配,那麼將事件的第一指示廣播至與用戶帳戶相關聯的一個或者多個裝置。可以在一個或者多個裝置處實時地同時顯示所提供的事件的第一指示以允許從一個或者多個第二裝置中的任何一個管理在第一裝置處的事件。一些實施方式可以接收包括針對在第一裝置處接收到的事件將執行的動作的第二指示,在與在一個或者多個裝置中的任何一個裝置處顯示的事件的第一指示進行交互時生成該第二指示;以及將動作傳輸至第一裝置,其中,可以基於動作在第一裝置處管理事件。

一些實施方式可以,當動作取消針對在第一裝置處接收到的事件的通知時,將動作廣播至第一裝置和與用戶帳戶相關聯的一個或者多個其它裝置,其中,在第一裝置和該一個或者多個其它裝置處取消通知。第一裝置可以處於第一地理位置,並且第二裝置可以處於第二地理位置。在一些實施方式中,當確定的特性包括從與用戶帳戶相關聯的用戶聯繫人接收到消息傳送服務的消息時,該選擇準則可以被匹配上。當確定的特性包括來自與用戶帳戶相關聯的用戶聯繫人的被錯過的呼叫時,該選擇準則可以被匹配上。

在一些實施方式中,如果確定的特性不與至少一個選擇準則匹配,那麼不基於確定的特性將事件的第一指示為進行顯示而廣播至與用戶帳戶相關聯的第二裝置。一些實施方式可以確定在與用戶帳戶相關聯的第一裝置處檢測到的事件的第一指示是否與一個或者多個先前接收到的指示重複。當確定事件的第一指示不與一個或者多個先前接收到的指示重複時,將事件的第一指示廣播至第二裝置和與用戶帳戶相關聯的一個或者多個其它裝置,並且當確定事件的第一指示與該一個或者多個先前接收到的指示重複時,一些實施方式可以禁止將事件的第一指示傳播至第二裝置和與用戶帳戶相關聯的該一個或者多個其它裝置。

參照圖1,在某些方面中,可以通過使用硬體或者軟體和硬體的組合來在專用伺服器中實施伺服器180,或者將伺服器180集成到另一實體中,或者將伺服器180分布在多個實體中。

伺服器180包括總線124或者用於通信信息的其它通信機制、和與總線124耦合以處理信息的處理器112。處理器112可以是通用微處理器、微控制器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、可編程邏輯器件(PLD)、控制器、狀態機、門控邏輯、離散硬體部件、或者可以執行信息的計算或者其它操縱的任何其它合適的實體。

除了硬體之外,伺服器180還可以包括為討論中的電腦程式創建執行環境的代碼——例如構成處理器固件的代碼、協議棧、資料庫管理系統、作業系統、或者其一個或者多個的組合,上述這些被存儲在存儲器120中。存儲器120可以包括隨機存取存儲器(RAM)、閃速存儲器、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、可擦除PROM(EPROM)、寄存器、硬碟、可移動盤、CD-ROM、DVD、或者任何其它合適的存儲裝置,它們都耦合至總線124以存儲待由處理器112執行的信息和指令。處理器112和存儲器120可以由專用邏輯電路系統來補充或者併入專用邏輯電路系統中。

可以將指令存儲在存儲器120中並且可以在一個或者多個電腦程式產品中實施指令,該電腦程式產品即為編碼在計算機可讀介質上、由伺服器180執行或者控制伺服器180的操作的電腦程式指令的一個或者多個模塊,並且,根據本領域的技術人員熟知的任何方法,電腦程式指令包括但不限於:諸如面向數據的語言(例如,SQL、dBase)的計算機語言、系統語言(例如,C、Objective-C、C++、Assembly)、架構語言(例如,Java、.NET)、和應用語言(例如,PHP、Ruby、Perl、Python)。還可以按照計算機語言來實施指令,計算機語言諸如為陣列語言、面向方面的語言、彙編語言、編輯語言、命令行接口語言、編譯語言、並發語言、波形括號語言、數據流語言、數據結構語言、說明性語言、機密語言、擴展語言、第四代語言、功能語言、交互模式語言、解釋語言、迭代語言、基於列表的語言、小語言、基於邏輯的語言、機器語言、宏語言、元程式語言、多範式語言、數字分析、非英語語言、面向對象的基於類的語言、面向對象的基於原型的語言、離邊規則語言、程序語言、反射語言、基於規則的語言、腳本語言、基於棧的語言、同步語言、語法處理語言、視覺語言、wirth語言、可嵌入式語言、和基於xml的語言。存儲器120還可以用於在執行待由處理器112執行的指令期間存儲臨時變量或者其它中間信息。

如本文討論的電腦程式不一定與文件系統中的文件對應。可以將程序存儲在保存其它程序或者數據(例如,存儲在標記語言文檔中的一個或者多個腳本)的文件的一部分中、在專用於討論中的程序的單個文件中、或者在多個協調文件中(例如,存儲一個或者多個模塊、子程序、或者代碼的部分的文件)。可以將電腦程式部署為在一個計算機或者多個計算機上執行,該計算機位於一個網站處或者分布在多個網站處並且通過通信網絡相互連接。可以由執行一個或者多個電腦程式的一個或者多個可編程處理器來執行本說明書中描述的過程和邏輯流以通過對輸入數據進行操作並且生成輸出來執行功能。

伺服器180進一步包括耦合至總線124用於存儲信息和指令的數據存儲裝置126,諸如磁碟或者光碟。還可以經由輸入/輸出模塊128來將伺服器180耦合至各種裝置。輸入/輸出模塊128可以是任何輸入/輸出模塊。示例輸入/輸出模塊128包括諸如USB埠的數據埠。將輸入/輸出模塊128配置為連接至通信模塊118。示例通信模塊118(例如,通信模塊118和238)包括網絡接口卡,諸如乙太網卡和數據機。在某些方面中,將輸入/輸出模塊128配置為連接至多個裝置,諸如輸入裝置116和/或輸出裝置114。示例輸入裝置114包括通過其用戶可以向伺服器180提供輸入的鍵盤和指向裝置,例如,滑鼠或者軌跡球。也可以將其它種類的輸入裝置114也用於提供與用戶的交互,諸如觸覺輸入裝置、視覺輸入裝置、音頻輸入裝置、或者大腦-計算機接口裝置。例如,提供給用戶的反饋可以是任何形式的感覺反饋,例如,視覺反饋、聽覺反饋、或者觸覺反饋;並且可以按照任何形式來接收來自用戶的輸入,包括聲音輸入、語音輸入、觸覺輸入、或者腦波輸入。示例輸出裝置116包括用於向用戶顯示信息的顯示裝置,諸如LED(發光二極體)、CRT(陰極射線管)、或者LCD(液晶顯示器)屏幕。

根據本公開的一個方面,可以通過使用伺服器180來響應於處理器112執行包含在存儲器120中的一個或者多個指令的一個或者多個序列而實施伺服器180。可以從諸如數據存儲裝置126的另一機器可讀介質來將這種指令讀入存儲器120。包含在主存儲器120中的指令序列的執行使處理器112執行本文描述的進程塊。還可以採用在多處理布置中的一個或者多個處理器以執行包含在存儲器120中的指令序列。在替代方面中,硬連線電路可以代替軟體指令被使用或者與軟體指令結合被使用,以實施本公開的各個方面。因此,本公開的方面不限於任何特定的硬體電路系統和軟體的組合。

可以在計算系統中實施在本說明書中描述的主題的各個方面,該計算系統包括例如作為數據處理器的後端部件、或者包括例如應用伺服器的中間件部件、或者包括例如具有圖形用戶界面或者web瀏覽器的客戶端計算機的前端部件——通過該客戶端計算機用戶可以與本說明書中描述的主題的實施方式進行交互、或者一個或者多個這種後端部件、中間件部件、或者前端部件的任何組合。可以通過任何形式或者介質的例如通信網絡的數字數據通信來將系統的部件相互連接。通信網絡(例如,網絡150)可以包括,例如,個域網(PAN)、區域網(LAN)、校園區域網(CAN)、城域網(MAN)、廣域網(WAN)、寬帶網絡(BBN)、網際網路等中的任何一個或者多個。進一步地,通信網絡可以包括,但不限於,例如,下面的網絡拓撲結構中的任何一個或者多個,其包括:總線網絡、星形網絡、環形網絡、網狀網絡、星型總線網絡、樹形或者層級網絡等。通信模塊可以是,例如,數據機或者乙太網卡。

伺服器180可以是,例如,但不限於,臺式計算機、膝上型計算機、或者平板計算機。還可以將伺服器180嵌入在另一裝置中,例如,但不限於,行動電話、個人數字助理(PDA)、移動音頻播放器、全球定位系統(GPS)接收器、視頻遊戲控制臺、和/或電視機頂盒。

如本文使用的術語「機器可讀存儲介質」或者「計算機可讀介質」是指參與向處理器112提供指令或者數據以便執行的任何一種或者多種介質。這種介質可以採取許多形式,包括,但不限於,非易失性介質和易失性介質。非易失性介質包括,例如,光碟、磁碟、或者閃速存儲器,諸如數據存儲裝置126。易失性介質包括動態存儲器,諸如存儲器120。傳輸介質包括同軸電纜、銅線、和光纖,其包括包含總線124的線。機器可讀介質的常見形式包括,例如,軟盤、柔性盤、硬碟、磁帶、任何其它磁介質、CD-ROM、DVD、任何其它光學介質、穿孔卡、紙帶、具有孔圖案的任何其它物理介質、RAM、PROM、EPROM、FLASH EPROM、任何其它存儲器晶片或者膠捲盒、或者計算機可以從其進行讀取的任何其它介質。機器可讀存儲介質可以是機器可讀存儲裝置、機器可讀存儲基板、存儲器裝置、影響機器可讀傳播信號的物質合成物、或者它們中的一個或者多個的組合。

如本文使用的,短語「在前述的一系列項中的至少一個」,連同用於分離項中的任何一個的術語「和」或者「或者」,將列表作為一個整體進行修改,而不是對列表的各個構件(即,各個項)進行修改。短語「至少一個」不要求選擇至少一個項;相反,該短語是指任何一個項中的至少一個、和/或項的任何組合中的至少一個、和/或各個項中的至少一個。通過示例的方式,短語「A、B、和C中的至少一個」或者「A、B或者C中的至少一個」分別指僅A、僅B、或者僅C;A、B、和C的任何組合;和/或每一個A、B、和C中的至少一個。

此外,在本說明書或者權利要求書中使用的術語「包括」、「具有」等的意義上,這種術語旨在以類似於在權利要求中被用作過渡詞時作為「包括」被解釋的術語「包括」的方式為包括性的。

除非特別聲明,否則以單數形式對元素的引用不旨在表示「一個且僅一個」,而是「一個或者多個」。本領域的技術人員已知的或者即將知曉的、貫穿本公開所描述的各種配置的元素的所有結構和功能等效物明確地以引用的方式併入本文,並且旨在由本主題技術包含。此外,本文公開的任何內容不旨在貢獻給公眾,無論這種公開是否明確記載在上述說明書中。

雖然本說明書包含許多細節,但是這些細節不應被解釋為限制所要求保護的範圍,而是作為對本主題的特定實施方式的描述。還可以從單個方面按照組合的方式實施在本說明書中以單獨的方面為場境描述的某些特徵。相反,還可以從多個方面單獨地或者按照任何合適的子組合來實施以單個方面為場境描述的各種特徵。此外,雖然可以將上面的特徵描述為按照某些組合起作用並且甚至最初也是如此要求的,但是在一些情況下,可以將來自要求保護的組合的一個或者多個特徵從組合中刪除,並且可以使要求保護的組合指向子組合或者子組合的各種變型。

類似地,雖然按照特定的順序在附圖中對操作進行了描繪,但是這不應被理解為要求按照示出的特定順序或者按照依次的順序來執行這種操作,或者執行所有圖示的操作以獲得期望的結果。在某些情況下,多任務處理和並行處理可以是有優勢的。此外,在上面描述的方面中的各種系統部件的分離不應該被理解為在所有方面中都要求這種分離,並且應該明白,通常可以將描述的程序部件和系統一起集成在單個軟體產品中或者封裝到多個軟體產品中。

已經根據特定方面對本說明書的主題進行了描述,但是可以實施其它方面,並且這些方面在以下權利要求書的範圍內。例如,可以按照不同的順序來執行權利要求書中闡述的動作,並且仍然獲得期望的結果。作為一個示例,為了獲得期望的結果,在附圖中描繪的過程不一定要求示出的特定順序、或者依次的順序。在某些實施方式中,多任務處理和並行處理可以是有優勢的。其它變型在以下權利要求書的範圍之內。

這些和其它實施方式在以下權利要求書的範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀