專利名稱:通過用戶標(biāo)識(shí)符重新建立推送通知信道的制作方法
技術(shù)領(lǐng)域:
本申請涉及重新建立推送通知信道,特別是通過用戶標(biāo)識(shí)符重新建立推送通知信道。
背景技術(shù):
現(xiàn)有的推送通知框架通過代理服務(wù)將通知從應(yīng)用服務(wù)遞送到客戶端設(shè)備。代理服務(wù)維護(hù)用于將通知遞送給在客戶端設(shè)備上執(zhí)行的應(yīng)用的信道,并存儲(chǔ)描述所述信道的會(huì)話信息。如果客戶端設(shè)備或代理服務(wù)重啟或故障,應(yīng)用就重新開始并嘗試重新建立到代理服務(wù)以及到應(yīng)用服務(wù)的連接。盡管某些現(xiàn)有系統(tǒng)允許應(yīng)用在沒有用戶介入的情況下創(chuàng)建通知信道,但會(huì)話信息被綁定到所述代理服務(wù)和/或客戶端設(shè)備。在重啟或故障后,客戶端設(shè)備仍然必須重新建立到代理服務(wù)和到應(yīng)用服務(wù)的連接。
發(fā)明內(nèi)容
本公開的實(shí)施例將會(huì)話信息與用戶相關(guān)聯(lián)。代理服務(wù)從推送環(huán)境中的用戶計(jì)算設(shè)備處接收建立用于從應(yīng)用服務(wù)接收通知的至少一個(gè)推送通知信道的請求。該請求包括用戶標(biāo)識(shí)符。代理服務(wù)基于所述用戶標(biāo)識(shí)符獲得會(huì)話信息并基于所獲得的會(huì)話信息建立推送通知信道。代理服務(wù)通過所建立的推送通信信道將通知從應(yīng)用服務(wù)遞送到用戶計(jì)算設(shè)備。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
圖I是說明將通知從應(yīng)用服務(wù)遞送到用戶計(jì)算設(shè)備的代理服務(wù)的示例性框圖。圖2是說明存儲(chǔ)有關(guān)推送環(huán)境并對應(yīng)于用戶標(biāo)識(shí)符的會(huì)話信息的存儲(chǔ)器區(qū)域的示例性框圖。圖3是說明創(chuàng)建對應(yīng)于用戶標(biāo)識(shí)符的會(huì)話信息并持久保存所述信息的代理服務(wù)的操作的示例性流程圖。圖4是說明使用對應(yīng)于用戶標(biāo)識(shí)符的會(huì)話信息重新建立推送通知信道的代理服務(wù)的操作的示例性流程圖。圖5是說明在用戶計(jì)算設(shè)備、代理服務(wù)和云服務(wù)之間的用以重新組合(rehydrate)推送環(huán)境中的會(huì)話的通信的示例性順序圖。圖6是說明基于從會(huì)話標(biāo)識(shí)符確定的用戶標(biāo)識(shí)符來將通知遞送給用戶計(jì)算設(shè)備的代理服務(wù)的操作的示例性流程圖。在全部附圖中,相應(yīng)的附圖標(biāo)記指示相應(yīng)的部分。
具體實(shí)施例方式參考附圖,本發(fā)明的各實(shí)施例能夠在故障的情況下基于用戶標(biāo)識(shí)符118來重新創(chuàng)建推送通知信道108。在一些實(shí)施例中,描述推送通知信道108的會(huì)話信息202與用戶標(biāo)識(shí)符118相關(guān)聯(lián)并被存儲(chǔ)在與代理服務(wù)102或其它網(wǎng)關(guān)分開的存儲(chǔ)器區(qū)域中。代理服務(wù)102從應(yīng)用服務(wù)104接收用于遞送給用戶計(jì)算設(shè)備106的通知。本發(fā)明的各方面進(jìn)一步允許用戶計(jì)算設(shè)備106在經(jīng)歷通知會(huì)話故障之后重新連接到與代理服務(wù)102相關(guān)聯(lián)的任意服務(wù)器,并且呈現(xiàn)用戶標(biāo)識(shí)符118以允許該服務(wù)器使用存儲(chǔ)在云服務(wù)312中的信息來重新建立通知會(huì)話。接著參考圖1,一個(gè)示例性框圖說明了在推送環(huán)境中將通知從應(yīng)用服務(wù)104遞送給用戶計(jì)算設(shè)備106的代理服務(wù)102。在如圖I所示的示例性推送環(huán)境中,應(yīng)用服務(wù)104中的一個(gè)或多個(gè)生成要被推送給在用戶計(jì)算設(shè)備106上執(zhí)行的應(yīng)用107的通知。所述通知被異步地推送,并且所述通知流是單向的,因?yàn)橥ㄖ粡膽?yīng)用服務(wù)104發(fā)送到應(yīng)用107以供消費(fèi)。示例性應(yīng)用服務(wù)104包括諸如社交網(wǎng)站、新聞網(wǎng)站和金融網(wǎng)站之類的網(wǎng)站。可考慮其 它應(yīng)用服務(wù)104,包括電子郵件和其它消息收發(fā)服務(wù)。示例性的通知包括對在線社交簡檔的更新、天氣和交通狀況、包裹遞送通知、文本消息、電子郵件消息、語音消息、圖像和視頻。代理服務(wù)102表示執(zhí)行指令(例如,應(yīng)用程序、操作系統(tǒng)功能或兩者)以實(shí)現(xiàn)與代理服務(wù)102相關(guān)聯(lián)的操作和功能的任意一個(gè)或多個(gè)計(jì)算設(shè)備。代理服務(wù)102可以包括諸如服務(wù)器、云計(jì)算布置、個(gè)人計(jì)算機(jī)之類的任意計(jì)算設(shè)備。另外,代理服務(wù)102可以表示一組處理單元或其他計(jì)算設(shè)備。代理服務(wù)102具有至少一個(gè)處理器110和第一存儲(chǔ)器區(qū)域112。處理器110包括任何數(shù)量的處理單元,并且被編程為執(zhí)行用于實(shí)現(xiàn)本發(fā)明的各方面的計(jì)算機(jī)可執(zhí)行指令。指令可由處理器110或由在代理服務(wù)102內(nèi)執(zhí)行的多個(gè)處理器執(zhí)行,或者由代理服務(wù)102外部的處理器來執(zhí)行。在一些實(shí)施例中,處理器110被編程為執(zhí)行諸如各附圖(例如圖3和圖4)中示出的那些指令。代理服務(wù)102還具有一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),諸如第一存儲(chǔ)器區(qū)域112。第一存儲(chǔ)器區(qū)域112包括與代理服務(wù)102相關(guān)聯(lián)或可以由代理服務(wù)102訪問的任意數(shù)量的介質(zhì)。第一存儲(chǔ)器區(qū)域112可以在代理服務(wù)102的內(nèi)部(如圖I所示)、在代理服務(wù)102的外部(未示出)、或內(nèi)部和外部兩者(未示出)。第一存儲(chǔ)器區(qū)域112存儲(chǔ)一個(gè)或多個(gè)隊(duì)列114或其它消息緩沖區(qū)以及其它數(shù)據(jù)。在一些實(shí)施例中,隊(duì)列114中的每一個(gè)與在用戶計(jì)算設(shè)備106上執(zhí)行的應(yīng)用107之一相關(guān)聯(lián)。存儲(chǔ)器區(qū)域還存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行組件。示例性的組件包括通信接口組件124、配置組件126、查找組件128以及重新組合(rehydration)組件130。各組件的操作在下文中參考圖3和圖4來討論。推送環(huán)境還包括第二存儲(chǔ)器區(qū)域116。第二存儲(chǔ)器區(qū)域116表示,例如,云服務(wù)312或與所述代理服務(wù)102分開的或遠(yuǎn)離代理服務(wù)102來提供存儲(chǔ)功能的其它服務(wù)。代理服務(wù)102通過網(wǎng)絡(luò)可以訪問第二存儲(chǔ)器區(qū)域116。在圖I的示例中,第二存儲(chǔ)器區(qū)域116包括多個(gè)用戶標(biāo)識(shí)符118,例如用戶標(biāo)識(shí)符#I到用戶標(biāo)識(shí)符#M。用戶標(biāo)識(shí)符118中的每一個(gè)對應(yīng)于或映射到至少一個(gè)會(huì)話標(biāo)識(shí)符120以及與該用戶標(biāo)識(shí)符118相關(guān)聯(lián)的用戶的用戶計(jì)算設(shè)備組122。會(huì)話標(biāo)識(shí)符120對應(yīng)于或鏈接到會(huì)話信息202 (例如,如在圖2中)。該用戶計(jì)算設(shè)備組122表示執(zhí)行應(yīng)用107的用戶計(jì)算設(shè)備106,所述應(yīng)用107被訂閱為從應(yīng)用服務(wù)104接收通知。在一些實(shí)施例中,用戶計(jì)算設(shè)備組122被考慮為在第二存儲(chǔ)器區(qū)域116中維護(hù)的會(huì)話信息202的一部分。例如,在用戶計(jì)算設(shè)備組122中的每個(gè)設(shè)備由設(shè)備標(biāo)識(shí)符206來標(biāo)識(shí)。在第二存儲(chǔ)器區(qū)域116中存儲(chǔ)的示例性的會(huì)話信息202包括訂閱信息、用戶計(jì)算設(shè)備信息(例如設(shè)備標(biāo)識(shí)符206)、狀態(tài)、用戶計(jì)算設(shè)備106的網(wǎng)際協(xié)議(IP)地址以及例如應(yīng)用標(biāo)識(shí)符(ID)等有關(guān)應(yīng)用107的信息。在一些實(shí)施例中,特定應(yīng)用107在多個(gè)平臺(tái)(例如移動(dòng)設(shè)備、膝上型計(jì)算機(jī)、游戲控制臺(tái)等)上具有相同的應(yīng)用標(biāo)識(shí)符。用戶計(jì)算設(shè)備106包括,例如,用戶計(jì)算設(shè)備#1到用戶計(jì)算設(shè)備#N。每個(gè)用戶計(jì)算設(shè)備106包括任意計(jì)算設(shè)備,例如移動(dòng)計(jì)算設(shè)備或任意其它便攜式設(shè)備。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備106包括移動(dòng)電話、平板電腦、膝上型計(jì)算機(jī)、上網(wǎng)本、游戲控制臺(tái)和/或便攜式媒體播放器。用戶計(jì)算設(shè)備106還可包括較不便攜的設(shè)備,諸如臺(tái)式個(gè)人計(jì)算機(jī)、自助服務(wù)終端和桌面設(shè)備。用戶計(jì)算設(shè)備106執(zhí)行應(yīng)用107中的一個(gè)或多個(gè)。應(yīng)用107在被用戶計(jì)算設(shè)備106執(zhí)行時(shí)用于執(zhí)行用戶計(jì)算設(shè)備106上的功能。示例性應(yīng)用107包括郵件應(yīng)用程序、web瀏覽器、日歷應(yīng)用程序、地址簿應(yīng)用程序、消息收發(fā)應(yīng)用程序、媒體應(yīng)用、基于位置的服務(wù)、搜索程序等。應(yīng)用107可與對應(yīng)的應(yīng)用或服務(wù)通信,諸如可經(jīng)由網(wǎng)絡(luò)訪問的web服務(wù)。例如,應(yīng)用107可表示與在云中執(zhí)行的服務(wù)器側(cè)服務(wù)相對應(yīng)的所下載的客戶機(jī)側(cè)應(yīng)用。在操作中,代理服務(wù)102從應(yīng)用服務(wù)104接收通知,并將所接收的通知存儲(chǔ)在隊(duì)列114中。基于(例如從第二存儲(chǔ)器區(qū)域116中獲得的或在第一存儲(chǔ)器區(qū)域112中緩存的)會(huì)話信息202來將通知存儲(chǔ)在隊(duì)列114中?;跁?huì)話信息202,由代理服務(wù)102通過推送通知信道108將通知從隊(duì)列114發(fā)送到對應(yīng)的應(yīng)用107。推送通知信道108是在代理服務(wù)102和應(yīng)用107之間建立的通信信道。接著參考圖2,示例性的框圖說明了第二存儲(chǔ)器區(qū)域116,該第二存儲(chǔ)器區(qū)域116存儲(chǔ)了與推送環(huán)境相關(guān)的并對應(yīng)于所述用戶標(biāo)識(shí)符118之一的會(huì)話信息202。存儲(chǔ)在第二存儲(chǔ)器區(qū)域116中的數(shù)據(jù)可以以諸如關(guān)系型數(shù)據(jù)庫、文本文件和超文本鏈接之類的任意形式或格式被組織和/或被存儲(chǔ)。每個(gè)用戶標(biāo)識(shí)符118對應(yīng)于會(huì)話標(biāo)識(shí)符120中的一個(gè)或多個(gè),例如會(huì)話標(biāo)識(shí)符#1到會(huì)話標(biāo)識(shí)符#Y。每個(gè)會(huì)話標(biāo)識(shí)符120具有對應(yīng)的會(huì)話信息202。會(huì)話信息202包括一個(gè)或多個(gè)訂閱的描述。由訂閱標(biāo)識(shí)符204所表示的訂閱(例如通過應(yīng)用標(biāo)識(shí)符)標(biāo)識(shí)了被訂閱為從特定應(yīng)用服務(wù)104接收通知的應(yīng)用107。會(huì)話信息還包括對應(yīng)于與會(huì)話相關(guān)聯(lián)的特定用戶計(jì)算設(shè)備106的設(shè)備標(biāo)識(shí)符206。接著參考圖3,示例性流程圖說明了創(chuàng)建對應(yīng)于用戶標(biāo)識(shí)符118的會(huì)話信息202 并持久保存所述信息的代理服務(wù)102的操作。每個(gè)會(huì)話與用戶計(jì)算設(shè)備106之一以及在該用戶計(jì)算設(shè)備106和代理服務(wù)102之間的連接相對應(yīng)。在用戶計(jì)算設(shè)備106上執(zhí)行的應(yīng)用107期望從應(yīng)用服務(wù)104接收通知。作為響應(yīng),用戶計(jì)算設(shè)備106 (例如在其上執(zhí)行的客戶端堆棧)建立或定義與設(shè)備標(biāo)識(shí)符206以及用戶標(biāo)識(shí)符118相關(guān)聯(lián)的會(huì)話。用戶計(jì)算設(shè)備106將設(shè)備標(biāo)識(shí)符206以及用戶標(biāo)識(shí)符118提供給代理服務(wù)102。在一些實(shí)施例中,作出請求的應(yīng)用的應(yīng)用標(biāo)識(shí)符也被發(fā)送給代理服務(wù)102。
如果代理服務(wù)102接收在302處創(chuàng)建推送通知信道108之一(例如創(chuàng)建訂閱)的請求,則代理服務(wù)102創(chuàng)建與由用戶計(jì)算設(shè)備106所提供的設(shè)備標(biāo)識(shí)符206以及用戶標(biāo)識(shí)符118相關(guān)聯(lián)的會(huì)話標(biāo)識(shí)符120。隨后,代理服務(wù)102在304處定義與會(huì)話標(biāo)識(shí)符120相關(guān)聯(lián)的會(huì)話信息以包括,例如訂閱標(biāo)識(shí)符204以及設(shè)備標(biāo)識(shí)符206。訂閱標(biāo)識(shí)符204表示所請求的訂閱。如果已經(jīng)存在對應(yīng)于設(shè)備標(biāo)識(shí)符206和用戶標(biāo)識(shí)符118的會(huì)話標(biāo)識(shí)符120,則代理服務(wù)102更新與會(huì)話標(biāo)識(shí)符120相關(guān)聯(lián)的會(huì)話信息202以包括訂閱標(biāo)識(shí)符204。另外,代理服務(wù)102將相同的訂閱標(biāo)識(shí)符204添加到與用戶標(biāo)識(shí)符118相關(guān)聯(lián)的任意其它會(huì)話標(biāo)識(shí)符120。例如,用戶標(biāo)識(shí)符118可以具有與其相關(guān)聯(lián)的三個(gè)會(huì)話標(biāo)識(shí)符120 :—個(gè)用于移動(dòng)設(shè)備、一個(gè)用于膝上型計(jì)算機(jī)以及一個(gè)用于游戲控制臺(tái)。代理服務(wù)102在306向作出請求的用戶計(jì)算設(shè)備106提供訂閱標(biāo)識(shí)符204。代理服務(wù)102在310處通過將鏈接到用戶標(biāo)識(shí)符118的會(huì)話信息202存儲(chǔ)在例如云服務(wù)312中 來持久保存會(huì)話信息202。在一些實(shí)施例中,所提供的訂閱標(biāo)識(shí)符204采用了包含了代理服務(wù)102的域名服務(wù)、用戶標(biāo)識(shí)符118以及應(yīng)用標(biāo)識(shí)符的統(tǒng)一資源位置(URL)的形式。所述URL的格式可以包括,例如,http://<proxyservice (代理服務(wù))>/<useridentifier (用戶標(biāo)識(shí)符)Xapplicationidentifier (應(yīng)用標(biāo)識(shí)符)>。作出請求的應(yīng)用107隨后將該URL提供給對應(yīng)的應(yīng)用服務(wù)104。對應(yīng)的應(yīng)用服務(wù)104使用該URL來推送通知給代理服務(wù)102以便遞送給預(yù)期的用戶計(jì)算設(shè)備106。例如,如下所述,代理服務(wù)102從該URL中提取用戶標(biāo)識(shí)符118,查找與所提取的用戶標(biāo)識(shí)符118相關(guān)聯(lián)的會(huì)話,并且對于每個(gè)活動(dòng)的會(huì)話將通知進(jìn)行排隊(duì)以供遞送。在一些實(shí)施例中,圖3所述的操作可以由在圖I中所述的計(jì)算機(jī)可執(zhí)行組件中的一個(gè)或多個(gè)來實(shí)現(xiàn)。例如,當(dāng)由處理器Iio執(zhí)行時(shí),通信接口組件124使得處理器110從用戶計(jì)算設(shè)備106接收創(chuàng)建包括推送通知信道108 (例如訂閱)的會(huì)話的請求。所述請求包括,例如,用戶標(biāo)識(shí)符118以及應(yīng)用標(biāo)識(shí)符。在一些實(shí)施例中,通信接口組件124包括網(wǎng)絡(luò)接口卡和/或用于操作網(wǎng)絡(luò)接口卡的計(jì)算機(jī)可執(zhí)行指令(例如驅(qū)動(dòng)程序)。當(dāng)由處理器110執(zhí)行時(shí),配置組件126使得處理器110定義建立從代理服務(wù)102 到用戶計(jì)算設(shè)備106的推送通知信道108的會(huì)話信息202,并將會(huì)話信息202存儲(chǔ)到云服務(wù)312中。會(huì)話信息202包括與用戶標(biāo)識(shí)符和應(yīng)用標(biāo)識(shí)符相對應(yīng)的訂閱標(biāo)識(shí)符和會(huì)話標(biāo)識(shí)符。通信接口組件124將訂閱標(biāo)識(shí)符204發(fā)送給用戶計(jì)算設(shè)備106。在從代理服務(wù)102接收訂閱標(biāo)識(shí)符204之后,用戶計(jì)算設(shè)備106 (例如在用戶計(jì)算設(shè)備106上執(zhí)行的應(yīng)用107)將訂閱標(biāo)識(shí)符204注冊到應(yīng)用服務(wù)104,應(yīng)用107期望從應(yīng)用服務(wù)104訂閱通知。在這樣的示例中,應(yīng)用服務(wù)104被配置為通過訂閱標(biāo)識(shí)符204將通知推送到應(yīng)用107。接著參考圖4,示例性流程圖說明了使用對應(yīng)于用戶標(biāo)識(shí)符118的會(huì)話信息202來重新建立推送通知信道108的代理服務(wù)102的操作。例如,代理服務(wù)102和/或用戶計(jì)算設(shè)備106可以經(jīng)歷重啟、崩潰或其它故障?;蛘呋蛄硗?,承載有推送通知信道108的會(huì)話可以發(fā)生故障。如果用戶計(jì)算設(shè)備106所連接的與代理服務(wù)102相關(guān)聯(lián)的服務(wù)器發(fā)生故障,用戶計(jì)算設(shè)備可以經(jīng)由圖4所述的操作來尋求與代理服務(wù)102相關(guān)聯(lián)的另一服務(wù)器以進(jìn)行連接。如果用戶計(jì)算設(shè)備106被重啟,則用戶計(jì)算設(shè)備106 (重啟之后)嘗試通過圖4所示的操作來重新連接到代理服務(wù)102。代理服務(wù)102在402處可以從用戶計(jì)算設(shè)備106接收建立用于接收來自應(yīng)用服務(wù)104的通知的至少一個(gè)推送通知信道108的請求。所述請求包括與用戶計(jì)算設(shè)備106的用戶相關(guān)聯(lián)的用戶標(biāo)識(shí)符118以及用戶計(jì)算設(shè)備106的設(shè)備標(biāo)識(shí)符206。如果代理服務(wù)102在402接收到請求,則代理服務(wù)102在404處獲得與所述用戶標(biāo)識(shí)符118和設(shè)備標(biāo)識(shí)符206相關(guān)聯(lián)的會(huì)話信息202。例如,代理服務(wù)102向云服務(wù)312提供來自所接收的請求的用戶標(biāo)識(shí)符118和設(shè)備標(biāo)識(shí)符206,并且作為其響應(yīng),從云服務(wù)312接收相關(guān)聯(lián)的會(huì)話信息202。會(huì)話信息202包括與由用戶標(biāo)識(shí)符118所標(biāo)識(shí)的用戶計(jì)算設(shè)備106相關(guān)聯(lián)的應(yīng)用107的訂閱標(biāo)識(shí)符。在一些實(shí)施例中,代理服務(wù)102基于所述用戶標(biāo)識(shí)符118和設(shè)備標(biāo)識(shí)符206獲得會(huì)話標(biāo)識(shí)符120,并且從云服務(wù)312獲得會(huì)話信息。在這樣的實(shí)施例中,代理服務(wù)102可以、首先與云服務(wù)312通信以獲得會(huì)話標(biāo)識(shí)符120 (例如如果云服務(wù)存儲(chǔ)了在用戶標(biāo)識(shí)符118、設(shè)備標(biāo)識(shí)符206以及會(huì)話標(biāo)識(shí)符120之間的映射),并且隨后與云服務(wù)312 (或另一云服務(wù))進(jìn)行通信以基于會(huì)話標(biāo)識(shí)符120獲得會(huì)話信息202。在代理服務(wù)102緩存在用戶標(biāo)識(shí)符118、設(shè)備標(biāo)識(shí)符206以及會(huì)話標(biāo)識(shí)符120之間的映射的實(shí)施例中,代理服務(wù)102通過訪問所述緩存來獲得會(huì)話標(biāo)識(shí)符120,隨后與云服務(wù)312進(jìn)行通信以基于所述會(huì)話標(biāo)識(shí)符120獲得會(huì)話信息202。代理服務(wù)102行進(jìn)到406處使用從云服務(wù)312獲得的會(huì)話信息202來重新建立包含推送通知信道的會(huì)話。在重新建立推送通知信道之后,代理服務(wù)102能夠通過建立的推送通知信道108將從應(yīng)用服務(wù)104接收到的通知遞送給用戶計(jì)算設(shè)備106。通知中的每一個(gè)包括,例如,標(biāo)識(shí)應(yīng)該將通知遞送到的應(yīng)用107的全局唯一標(biāo)識(shí)符(⑶ID)。在一些實(shí)施例中,⑶ID包括用戶標(biāo)識(shí)符118。在用戶具有兩個(gè)設(shè)備并且其中之一重啟的示例中,重啟的設(shè)備將重新連接請求發(fā)送給代理服務(wù)102,所述請求包括重啟的設(shè)備的設(shè)備標(biāo)識(shí)符206以及該用戶的用戶標(biāo)識(shí)符118。如果由與已經(jīng)緩存了有關(guān)該用戶的會(huì)話信息202的代理服務(wù)102相關(guān)聯(lián)的服務(wù)器來處理該重新連接請求,則該服務(wù)器(例如使用設(shè)備標(biāo)識(shí)符206)獲得相關(guān)會(huì)話的訂閱標(biāo)識(shí)符204,并重新建立與重啟設(shè)備相關(guān)聯(lián)的訂閱。如果由與沒有緩存有關(guān)該用戶的會(huì)話信息202的代理服務(wù)102相關(guān)聯(lián)的服務(wù)器來處理該重新連接請求,則該服務(wù)器使用用戶標(biāo)識(shí)符118和設(shè)備標(biāo)識(shí)符206從云服務(wù)312獲得相關(guān)的會(huì)話信息202。服務(wù)器進(jìn)而重新建立與重啟的設(shè)備相關(guān)聯(lián)的訂閱。在這種方式中,僅重新組合與重啟的設(shè)備相關(guān)聯(lián)的訂閱,而與該用戶的其它用戶計(jì)算設(shè)備106相關(guān)聯(lián)的會(huì)話仍然不受影響。在一些實(shí)施例中,用戶計(jì)算設(shè)備106建立多個(gè)推送通知信道108(例如,在用戶計(jì)算設(shè)備106上執(zhí)行的多個(gè)應(yīng)用107訂閱以接收通知)。如果在特定用戶計(jì)算設(shè)備106故障之前在該用戶計(jì)算設(shè)備106上的應(yīng)用107是活動(dòng)的并且在該用戶計(jì)算設(shè)備106從故障恢復(fù)之后變得非活動(dòng),則該用戶計(jì)算設(shè)備106可向代理服務(wù)102提供這種通知。例如,在用戶計(jì)算設(shè)備106上的客戶端堆棧在從故障恢復(fù)之后向代理服務(wù)102標(biāo)識(shí)了第一組應(yīng)用107。第一組應(yīng)用107表示在用戶計(jì)算設(shè)備106上當(dāng)前是活動(dòng)的應(yīng)用107。代理服務(wù)102將第一組應(yīng)用107與和會(huì)話信息202相關(guān)聯(lián)的第二組應(yīng)用107進(jìn)行比較來標(biāo)識(shí)一個(gè)或多個(gè)非活動(dòng)的應(yīng)用。第二組應(yīng)用107表示先前在用戶計(jì)算設(shè)備106上執(zhí)行的應(yīng)用107。代理服務(wù)102阻止到所標(biāo)識(shí)的非活動(dòng)的應(yīng)用的通知遞送。在另一實(shí)施例中,如果通知的預(yù)期接收應(yīng)用107是非活動(dòng)的,則代理服務(wù)102從用戶計(jì)算設(shè)備106接收出錯(cuò)響應(yīng)。代理服務(wù)102阻止到非活動(dòng)的應(yīng)用107的將來的通知遞送。例如,與用戶計(jì)算設(shè)備106相關(guān)聯(lián)的會(huì)話信息202被更新以反映與非活動(dòng)的應(yīng)用107相關(guān)聯(lián)的訂閱被阻止。如果用戶隨后安裝或重新激活應(yīng)用107,則應(yīng)用107將包括應(yīng)用107的應(yīng)用標(biāo)識(shí)符的訂閱請求發(fā)送給代理服務(wù)102。作為響應(yīng),代理服務(wù)更新會(huì)話信息202以(例如通過應(yīng)用標(biāo)識(shí)符)不再阻止與用戶計(jì)算設(shè)備106相關(guān)聯(lián)的先前被阻止的訂閱。在一些實(shí)施例中,代理服務(wù)102將不再阻止現(xiàn)有訂閱的消息返回給用戶計(jì)算設(shè)備106。在一些實(shí)施例中,圖3所示的操作可以由在圖I中 所示的計(jì)算機(jī)可執(zhí)行組件中的一個(gè)或多個(gè)來實(shí)現(xiàn)。例如,通信接口組件124從用戶計(jì)算設(shè)備106接收重新建立已故障的推送通知信道108的請求。當(dāng)由處理器110執(zhí)行時(shí),查找組件128使得處理器110基于用戶標(biāo)識(shí)符118從云服務(wù)312獲得會(huì)話信息202。當(dāng)由處理器110執(zhí)行時(shí),重新組合組件130使得處理器110基于由查找服務(wù)組件使用用戶標(biāo)識(shí)符118所獲得的會(huì)話信息202來重新建立包含推送通知信道108的會(huì)話。而且,由通信接口組件124接收的請求可以標(biāo)識(shí)與用戶計(jì)算設(shè)備106相關(guān)聯(lián)的一組活動(dòng)應(yīng)用。當(dāng)由處理器110執(zhí)行時(shí),重新組合組件130僅針對該組活動(dòng)應(yīng)用中所標(biāo)識(shí)的活動(dòng)應(yīng)用來重新建立推送通知信道108。接著參考圖5,示例性順序圖說明了在用戶計(jì)算設(shè)備106、代理服務(wù)102和云服務(wù)312之間的用以重新組合推送環(huán)境中的會(huì)話的通信。在圖5的示例中,用戶計(jì)算設(shè)備106嘗試通過經(jīng)由Reconnect O (重新連接)函數(shù)調(diào)用將請求發(fā)送給代理服務(wù)102來重新建立推送通知信道108。該函數(shù)調(diào)用是由代理服務(wù)102所提供的應(yīng)用程序編程接口(API)的一部分。在一些實(shí)施例中,Reconnect O函數(shù)調(diào)用的自變量包括用戶標(biāo)識(shí)符118。代理服務(wù)102通過將用戶標(biāo)識(shí)符118作為LookupSessionO (查找會(huì)話)函數(shù)調(diào)用中的自變量發(fā)送給云服務(wù)312來獲得與該請求相關(guān)聯(lián)的會(huì)話信息202。響應(yīng)于LookupSession O函數(shù)調(diào)用,云服務(wù)312確定會(huì)話信息202并將其提供給代理服務(wù)102。代理服務(wù)102通過RehydrateSession O(重新組合會(huì)話)或另一函數(shù)調(diào)用來重新組合會(huì)話。重新組合會(huì)話使得會(huì)話狀態(tài)被復(fù)制到代理服務(wù)102和/或被重新填充入與會(huì)話管理器相關(guān)聯(lián)的存儲(chǔ)器中以重新建立推送通知信道108,其中所述會(huì)話管理器與代理服務(wù)102相關(guān)聯(lián)。在重新組合會(huì)話之后,代理服務(wù)102通過例如UpdateState (Connected)(更新狀態(tài)(已連接))函數(shù)調(diào)用來向云服務(wù)312告知會(huì)話狀態(tài)。其它示例性會(huì)話狀態(tài)包括斷開和非活動(dòng)。代理服務(wù)102還通過ReconnectResponse O (重新連接響應(yīng))函數(shù)調(diào)用來向用戶計(jì)算設(shè)備106告知該重新組合。在一些實(shí)施例中,圖5所示的代理服務(wù)102包括會(huì)話管理器和查找服務(wù)。在這樣的實(shí)施例中,會(huì)話管理器執(zhí)行來自圖I中的配置組件126和重新組合組件130,而查找服務(wù)執(zhí)行查找組件128。接著參考圖6,示例性流程圖說明了基于從會(huì)話標(biāo)識(shí)符120確定的用戶標(biāo)識(shí)符118來將通知遞送給用戶計(jì)算設(shè)備106的代理服務(wù)102的操作。在圖6的示例中,建立推送通知信道108。如果代理服務(wù)102在602處從應(yīng)用服務(wù)104之一接收要遞送給用戶計(jì)算設(shè)備106中的至少一個(gè)的通知,代理服務(wù)102則在604處確定與該通知相關(guān)聯(lián)的會(huì)話標(biāo)識(shí)符120。在一些實(shí)施例中,所接收的通知包括用戶標(biāo)識(shí)符118(例如是GUID的一部分或在通知的首部中的別處)。代理服務(wù)102基于用戶標(biāo)識(shí)符118確定會(huì)話標(biāo)識(shí)符120。例如,代理服務(wù)102可以與云服務(wù)312或第二存儲(chǔ)器區(qū)域116通信以獲得會(huì)話標(biāo)識(shí)符120。使用會(huì)話標(biāo)識(shí)符120,代理服務(wù)102可以在606處獲得與通知相關(guān)聯(lián)的會(huì)話信息202。例如,代理服務(wù)102可以與云服務(wù)312或第二存儲(chǔ)器區(qū)域116通信以獲得會(huì)話信息202。使用會(huì)話標(biāo)識(shí)符120和/或其它會(huì)話信息202,代理服務(wù)102在608將通知存儲(chǔ)在適合的隊(duì)列114中以供最終遞送給預(yù)定的用戶計(jì)算設(shè)備106。代理服務(wù)102使用所獲得的會(huì)話信息202來確定如何遞送所接收的通知。而且,在610,代理服務(wù)102標(biāo)識(shí)要接收通知的用戶計(jì)算設(shè)備106。而且,代理服務(wù)102可以與云服務(wù)312或第二存儲(chǔ)器區(qū)域116通信以確定與用戶標(biāo)識(shí)符118 (或會(huì)話標(biāo)識(shí)符120)相關(guān)聯(lián)的用戶計(jì)算設(shè)備組122。
代理服務(wù)102在612處通過由會(huì)話信息202所描述的推送通知信道108將通知從隊(duì)列114遞送到所標(biāo)識(shí)的用戶計(jì)算設(shè)備組122。補(bǔ)充示例圖I中的各元件的功能中的至少一部分可以由圖I中的其他元件或圖I中未示出的實(shí)體(例如,處理器、web服務(wù)、服務(wù)器、應(yīng)用程序、計(jì)算設(shè)備等)執(zhí)行。在一些實(shí)施例中,圖3和圖4所示的操作可以以在計(jì)算機(jī)可讀介質(zhì)上編碼的軟件指令、以被編程或設(shè)計(jì)為執(zhí)行這些操作的硬件或這兩者來實(shí)現(xiàn)。例如,本發(fā)明的各方面可被實(shí)現(xiàn)為片上系統(tǒng)。雖然本發(fā)明的各方面沒有跟蹤個(gè)人可標(biāo)識(shí)的信息,但參考了從用戶監(jiān)視和/或收集的數(shù)據(jù)來描述了各實(shí)施例。在這樣的實(shí)施例中,向用戶提供收集數(shù)據(jù)的通知(例如,經(jīng)由對話框或偏好設(shè)置)并且給予用戶對監(jiān)視和/或收集給出同意或拒絕的機(jī)會(huì)。該同意可以采用選擇加入同意或選擇退出同意的形式。示例件操作環(huán)境示例性計(jì)算機(jī)可讀介質(zhì)包括閃存驅(qū)動(dòng)器、數(shù)字多功能盤(DVD)、緊致盤(⑶)、軟盤以及磁帶盒。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)將傳播的數(shù)據(jù)信號(hào)排除在外。通信介質(zhì)一般以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。盡管結(jié)合示例性計(jì)算系統(tǒng)環(huán)境進(jìn)行了描述,但本發(fā)明的各實(shí)施例可用于眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置。適用于本發(fā)明各方面的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于,移動(dòng)計(jì)算設(shè)備、個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、游戲控制臺(tái)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、移動(dòng)電話、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算環(huán)境
坐坐寸寸O可以在由一個(gè)或多個(gè)計(jì)算機(jī)或其它設(shè)備執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的一般上下文中來描述本發(fā)明的各實(shí)施例。計(jì)算機(jī)可執(zhí)行指令可以被組織成一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行組件或模塊。一般而言,程序模塊包括但不限于,執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件,以及數(shù)據(jù)結(jié)構(gòu)??梢岳萌魏螖?shù)量的這樣的組件或模塊及其組織來實(shí)現(xiàn)本發(fā)明的各方面。例如,本發(fā)明的各方面不僅限于附圖中所示出并且在此處所描述的特定計(jì)算機(jī)可執(zhí)行指令或特定組件或模塊。本發(fā)明的其它實(shí)施例可以包括具有比此處所示出和描述的功能更多或更少功能的不同的計(jì)算機(jī)可執(zhí)行指令或組件。本發(fā)明的各方面在被配置成執(zhí)行此處所描述的指令時(shí)將通用計(jì)算機(jī)變換成專用計(jì)算設(shè)備。在此所說明和描述的實(shí)施例以及并未在此特別描述但在本發(fā)明的各方面的范圍之內(nèi)的實(shí)施例構(gòu)成了用于將推送環(huán)境內(nèi)的會(huì)話信息202與用戶相關(guān)聯(lián)的示例性手段,以及用于供代理服務(wù)102使用對應(yīng)于用戶標(biāo)識(shí)符118的會(huì)話信息202重新建立推送通知信道108的示例性手段,所述會(huì)話信息202與代理服務(wù)102分開存儲(chǔ)。此處所示出和描述的本發(fā)明的各實(shí)施例中的操作的執(zhí)行或?qū)崿F(xiàn)的順序不是必需的,除非另外指定。即,除非另外指定,否則操作可以按任何順序執(zhí)行,且本發(fā)明的各實(shí)施例可以包括比此處所公開的操作更多或更少的操作。例如,構(gòu)想了在一個(gè)操作之前、同時(shí)或之后執(zhí)行另一個(gè)操作是在本發(fā)明的各方面的范圍之內(nèi)的。當(dāng)介紹本發(fā)明的各方面的元素或其實(shí)施例時(shí),冠詞“一”、“一個(gè)”、“該”、“所述”旨
在表示有元素中的一個(gè)或多個(gè)。術(shù)語“包括”、“包含”以及“具有”旨在是包含性的,并意味著除所列出的元素以外還可以有額外的元素。已經(jīng)詳細(xì)地描述了本發(fā)明的各方面,顯然,在不偏離所附權(quán)利要求書所定義的本發(fā)明的各方面的范圍的情況下,可以進(jìn)行各種修改和變化。在不偏離本發(fā)明的各方面的范圍的情況下,可以對上面的構(gòu)造、產(chǎn)品以及方法做出各種更改,上面的描述中所包含的和各 個(gè)附圖中所示出的所有主題應(yīng)該解釋為說明性的,而不是限制性的。
權(quán)利要求
1.一種系統(tǒng),包括 與代理服務(wù)相關(guān)聯(lián)的第一存儲(chǔ)器區(qū)域,所述第一存儲(chǔ)器區(qū)域存儲(chǔ)一個(gè)或多個(gè)隊(duì)列; 可由所述代理服務(wù)訪問的第二存儲(chǔ)器區(qū)域,所述第二存儲(chǔ)器區(qū)域存儲(chǔ)了在會(huì)話標(biāo)識(shí)符和用戶標(biāo)識(shí)符之間的映射,所述第二存儲(chǔ)器區(qū)域還存儲(chǔ)了在所述用戶標(biāo)識(shí)符和用戶計(jì)算設(shè)備組之間的映射,其中所述代理服務(wù)通過推送通知信道與用戶計(jì)算設(shè)備通信。
處理器,被配置成 由所述代理服務(wù)從推送環(huán)境中的應(yīng)用服務(wù)接收要遞送給所述多個(gè)用戶計(jì)算設(shè)備中的至少一個(gè)的通知,其中所述通知具有與其相關(guān)聯(lián)的用戶標(biāo)識(shí)符; 從所述第二存儲(chǔ)器區(qū)域獲得對應(yīng)于所述用戶標(biāo)識(shí)符的會(huì)話標(biāo)識(shí)符; 基于所述會(huì)話標(biāo)識(shí)符將所接收的通知存儲(chǔ)在所述第一存儲(chǔ)器區(qū)域中的隊(duì)列中的至少一個(gè)中; 從所述第二存儲(chǔ)器區(qū)域確定與所述用戶標(biāo)識(shí)符相關(guān)聯(lián)的用戶計(jì)算設(shè)備組;以及 由所述代理服務(wù)通過所述推送通知信道將所述通知從所述第一存儲(chǔ)器區(qū)域中的隊(duì)列發(fā)送給所確定的用戶計(jì)算設(shè)備組中的每個(gè)用戶計(jì)算設(shè)備。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述用戶標(biāo)識(shí)符被包括在所述通知的首部中,并且其中所述通知包括全局唯一標(biāo)識(shí)符(GUID),所述GUID包括所述用戶標(biāo)識(shí)符以及應(yīng)用標(biāo)識(shí)符。
3.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述用戶計(jì)算設(shè)備組包括以下的一個(gè)或多個(gè)移動(dòng)計(jì)算設(shè)備、平板計(jì)算設(shè)備、游戲控制臺(tái)以及媒體播放器。
4.如權(quán)利要求I所述的系統(tǒng),還包括 用于將所述推送環(huán)境中的會(huì)話信息與用戶相關(guān)聯(lián)的裝置;以及 用于供所述代理服務(wù)使用對應(yīng)于所述用戶標(biāo)識(shí)符的會(huì)話信息來重新建立所述推送通知信道的裝置,所述會(huì)話信息與所述代理服務(wù)分開存儲(chǔ)。
5.一種方法,包括 由代理服務(wù)從推送環(huán)境中的用戶計(jì)算設(shè)備接收建立用于從應(yīng)用服務(wù)接收通知的至少一個(gè)推送通知信道的請求,所述請求包括與所述用戶相關(guān)聯(lián)的用戶標(biāo)識(shí)符以及與所述用戶計(jì)算設(shè)備相關(guān)聯(lián)的設(shè)備標(biāo)識(shí)符; 基于所述用戶標(biāo)識(shí)符和所述設(shè)備標(biāo)識(shí)符獲得會(huì)話信息;以及 通過所述代理服務(wù)基于所獲得的會(huì)話信息建立所述推送通知信道,其中所述代理服務(wù)通過所建立的推送通知信道將通知從所述應(yīng)用服務(wù)遞送到所述用戶計(jì)算設(shè)備。
6.如權(quán)利要求5所述的方法,其特征在于,接收所述請求包括接收重新建立由于所述代理服務(wù)和/或所述用戶計(jì)算設(shè)備故障或重啟而出故障的至少一個(gè)推送通知信道的請求,并且還包括基于所述用戶標(biāo)識(shí)符和所述設(shè)備標(biāo)識(shí)符來標(biāo)識(shí)會(huì)話標(biāo)識(shí)符,并且其中獲得所述會(huì)話信息包括基于所述會(huì)話標(biāo)識(shí)符獲得所述會(huì)話信息。
7.如權(quán)利要求5所述的方法,其特征在于,接收所述請求包括接收包括所述用戶標(biāo)識(shí)符和應(yīng)用標(biāo)識(shí)符的請求,其中云服務(wù)存儲(chǔ)了在所述用戶標(biāo)識(shí)符、所述設(shè)備標(biāo)識(shí)符和所述會(huì)話標(biāo)識(shí)符之間的映射,并且其中獲得所述會(huì)話信息包括從所述云服務(wù)獲得所述會(huì)話信息。
8.如權(quán)利要求5所述的方法,其特征在于,還包括 由所述代理服務(wù)從所述用戶計(jì)算設(shè)備接收在所述用戶計(jì)算設(shè)備上執(zhí)行的第一組應(yīng)用; 將所述第一組應(yīng)用與和所述會(huì)話信息相關(guān)聯(lián)的第二組應(yīng)用相比較以標(biāo)識(shí)一個(gè)或多個(gè)非活動(dòng)應(yīng)用;以及 由所述代理服務(wù)阻止旨在到所述非活動(dòng)應(yīng)用的通知遞送。
9.如權(quán)利要求5所述的方法,其特征在于,獲得所述會(huì)話信息包括獲得與在所述用戶計(jì)算設(shè)備上執(zhí)行的并被訂閱以從所述應(yīng)用服務(wù)接收所述通知的應(yīng)用相對應(yīng)的至少一個(gè)應(yīng)用標(biāo)識(shí)符。
10.如權(quán)利要求5所述的方法,其特征在于,一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有計(jì)算機(jī)可執(zhí)行組件,所述組件與推送環(huán)境中的代理服務(wù)相關(guān)聯(lián),所述組件包括 通信接口組件,當(dāng)由至少一個(gè)處理器執(zhí)行時(shí)使得所述至少一個(gè)處理器從用戶計(jì)算設(shè)備接收創(chuàng)建包括至少一個(gè)推送通知信道的會(huì)話的請求,所述請求包括用戶標(biāo)識(shí)符和應(yīng)用標(biāo)識(shí)符; 配置組件,當(dāng)由至少一個(gè)處理器執(zhí)行時(shí)使得所述至少一個(gè)處理器定義包括與所述用戶標(biāo)識(shí)符和所述應(yīng)用標(biāo)識(shí)符相對應(yīng)的訂閱標(biāo)識(shí)符和會(huì)話標(biāo)識(shí)符的會(huì)話信息,建立從所述代理服務(wù)到所述用戶計(jì)算設(shè)備的推送通知信道,并將所述會(huì)話信息存儲(chǔ)到云服務(wù)中,其中所述通信接口組件將所述訂閱標(biāo)識(shí)符發(fā)送給所述用戶計(jì)算設(shè)備,并且其中所述用戶計(jì)算設(shè)備將所述訂閱標(biāo)識(shí)符注冊到應(yīng)用服務(wù),所述應(yīng)用服務(wù)被配置為通過所述訂閱標(biāo)識(shí)符將通知發(fā)送給所述用戶計(jì)算設(shè)備, 其中由所述配置組件建立的所述推送通知信道隨后出現(xiàn)故障,并且其中所述通信接口組件從所述用戶計(jì)算設(shè)備接收重新建立故障的推送通知信道的請求,所述請求包括所述用戶標(biāo)識(shí)符和設(shè)備標(biāo)識(shí)符; 查找組件,當(dāng)由至少一個(gè)處理器執(zhí)行時(shí)使得所述至少一個(gè)處理器基于由所述通信接口組件接收到的所述用戶標(biāo)識(shí)符和所述設(shè)備標(biāo)識(shí)符從所述云服務(wù)獲得所述會(huì)話信息;以及 重新組合組件,當(dāng)由至少一個(gè)處理器執(zhí)行時(shí)使得所述至少一個(gè)處理器基于由所述查找組件使用所述用戶標(biāo)識(shí)符和所述設(shè)備標(biāo)識(shí)符所獲得的所述會(huì)話信息來重新建立所述推送通知信道。
全文摘要
本申請涉及通過用戶標(biāo)識(shí)符重新建立推送通知信道。各實(shí)施例允許通過與用戶標(biāo)識(shí)符相關(guān)聯(lián)的會(huì)話信息來恢復(fù)推送通知信道。代理服務(wù)創(chuàng)建描述用戶的推送通知信道(例如訂閱)的會(huì)話信息,并將會(huì)話信息與用戶標(biāo)識(shí)符相關(guān)聯(lián)。會(huì)話信息被存儲(chǔ)在云服務(wù)或與代理服務(wù)分開的其它存儲(chǔ)區(qū)域中。在用戶計(jì)算設(shè)備或代理服務(wù)故障之后,通過用戶標(biāo)識(shí)符獲得會(huì)話信息并且用會(huì)話信息來重新創(chuàng)建推送通知信道。在一些實(shí)施例中,代理服務(wù)允許將相同的通知遞送給與用戶標(biāo)識(shí)符相關(guān)聯(lián)的多個(gè)計(jì)算設(shè)備。
文檔編號(hào)H04L29/08GK102664909SQ201210020280
公開日2012年9月12日 申請日期2012年1月29日 優(yōu)先權(quán)日2011年1月28日
發(fā)明者R·庫雷希 申請人:微軟公司