跨越多個(gè)設(shè)備共享的自動(dòng)無縫上下文的制作方法
【專利說明】跨越多個(gè)設(shè)備共享的自動(dòng)無縫上下文
[0001]優(yōu)先權(quán)要求
[0002]本申請(qǐng)要求2012年11月16日提交的美國專利申請(qǐng)序列N0.13/679,261的優(yōu)先權(quán),其全部內(nèi)容通過引用并入在此。
技術(shù)領(lǐng)域
[0003]本發(fā)明的實(shí)施例涉及在移動(dòng)和固定位置的計(jì)算系統(tǒng)和設(shè)備的操作。一些實(shí)施例涉及在多個(gè)系統(tǒng)和設(shè)備之間的上下文共享。
【背景技術(shù)】
[0004]許多人每天與多于一臺(tái)的計(jì)算設(shè)備交互。這些設(shè)備的一些是靜止的或定位在固定位置,包括臺(tái)式計(jì)算機(jī)、工作站、個(gè)人數(shù)據(jù)服務(wù)器和電視機(jī)。這些設(shè)備的一些是移動(dòng)的,包括蜂窩電話、平板電腦、超級(jí)本、膝上型計(jì)算機(jī),以及音樂播放器。
[0005]當(dāng)用戶遠(yuǎn)離靜止計(jì)算設(shè)備但想繼續(xù)使用應(yīng)用程序時(shí),用戶通常鎖定或關(guān)閉靜止設(shè)備并且在移動(dòng)設(shè)備上重新啟動(dòng)相關(guān)的應(yīng)用程序。類似地,當(dāng)用戶到達(dá)靜止計(jì)算設(shè)備但想繼續(xù)使用來自移動(dòng)設(shè)備的應(yīng)用程序時(shí),用戶通常鎖定或關(guān)閉移動(dòng)設(shè)備的應(yīng)用程序并且在靜止設(shè)備上重新開始類似的應(yīng)用程序。例如,考慮這樣場(chǎng)景,用戶可能正在家用臺(tái)式計(jì)算機(jī)上閱讀網(wǎng)頁文章,但在他或她可以讀完該文章之前離開前往辦公室。如果用戶希望在他或她的具有上網(wǎng)瀏覽能力的移動(dòng)智能手機(jī)上繼續(xù)閱讀文章,則用戶將手動(dòng)輸入網(wǎng)頁文章地址,并且一定會(huì)在該文章內(nèi)找到他或她的位置。
[0006]雖然應(yīng)用程序上下文信息的手動(dòng)傳遞是可能的,但該手動(dòng)傳遞可能是耗時(shí)的,并且需要通過用戶的額外的步驟和配置。另外,盡管用戶可以感知何時(shí)他或她將要離開靜止計(jì)算設(shè)備,應(yīng)用程序上下文信息的傳遞可能不會(huì)響應(yīng)于用戶的位置的改變自動(dòng)發(fā)生。
【附圖說明】
[0007]圖1示出根據(jù)一些實(shí)施例的通過W1-Fi網(wǎng)絡(luò)執(zhí)行的設(shè)備發(fā)現(xiàn)的示例。
[0008]圖2示出根據(jù)一些實(shí)施例的在用于在用戶計(jì)算設(shè)備上執(zhí)行的中間件層中實(shí)現(xiàn)的示例性功能模塊。
[0009]圖3示出根據(jù)一些實(shí)施例的用于設(shè)備注冊(cè)、近距離檢測(cè)以及上下文傳遞的示例性數(shù)據(jù)流。
[0010]圖4示出根據(jù)一些實(shí)施例的用于設(shè)備注冊(cè)的示例性數(shù)據(jù)流。
[0011]圖5示出根據(jù)一些實(shí)施例的用于檢測(cè)和傳遞上下文的示例性操作流程。
[0012]圖6示出根據(jù)一些實(shí)施例的用于執(zhí)行無線應(yīng)用程序上下文傳遞的示例性方法。
[0013]圖7示出示例性移動(dòng)設(shè)備,在其上可部署本公開中所描述的配置和技術(shù)。
[0014]圖8示出可被用作用于本公開所描述的計(jì)算設(shè)備的計(jì)算平臺(tái)的示例性計(jì)算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0015]以下描述和附圖充分示出具體實(shí)施例,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。其他實(shí)施例可結(jié)合結(jié)構(gòu)、邏輯、電氣、過程和其他變化。一些實(shí)施例的部分和特征可以被包括在這些其他實(shí)施例的那些中或者用其取代。在權(quán)利要求中所提出的實(shí)施例涵蓋那些權(quán)利要求的所有可用等效物。
[0016]本文描述的各種技術(shù)和結(jié)構(gòu)提供用于跨越多個(gè)計(jì)算設(shè)備的自動(dòng)應(yīng)用程序上下文共享,考慮設(shè)備能力和用戶偏好。應(yīng)用程序上下文可以包括關(guān)于在計(jì)算設(shè)備上執(zhí)行的活動(dòng)和應(yīng)用程序的概括的或詳細(xì)的信息,諸如正被編輯的文件內(nèi)的定位或位置、正被訪問的網(wǎng)頁的統(tǒng)一資源定位符(URL),或者直到已經(jīng)被觀看的視頻流或下載視頻的時(shí)間。
[0017]根據(jù)現(xiàn)有技術(shù),當(dāng)用戶正在編輯靜止或固定位置的計(jì)算設(shè)備上的文檔時(shí),如果用戶在離開靜止或固定位置設(shè)備之后想要繼續(xù)編輯在移動(dòng)設(shè)備上的文檔,則用戶必須手動(dòng)地傳遞文件并且啟動(dòng)在移動(dòng)設(shè)備上的兼容的應(yīng)用程序。同樣,如果用戶觀看靜止計(jì)算機(jī)或電視上的在線的視頻流的一部分,則用戶必須使用移動(dòng)設(shè)備手動(dòng)定位視頻,并且手動(dòng)搜索視頻內(nèi)的相同位置。
[0018]在本文描述的實(shí)施例的一些中,應(yīng)用程序上下文信息傳遞可以檢測(cè)用戶何時(shí)物理地移動(dòng)移動(dòng)設(shè)備以遠(yuǎn)離靜止或固定位置的計(jì)算設(shè)備(或反之亦然),以確定用于在靜止設(shè)備和移動(dòng)設(shè)備之間傳遞應(yīng)用程序上下文信息的適當(dāng)時(shí)間。這些技術(shù)可以用于自動(dòng)化應(yīng)用程序上下文信息的傳遞,從而無需人工干預(yù)或指導(dǎo)使用戶能夠繼續(xù)使用應(yīng)用程序。
[0019]因此,本文所描述的技術(shù)和配置使用無線通信協(xié)議允許一個(gè)計(jì)算設(shè)備移動(dòng)遠(yuǎn)離另一計(jì)算設(shè)備的自動(dòng)檢測(cè),以及無線通信協(xié)議的自動(dòng)選擇和使用(包括使用相同的協(xié)議傳遞),以確保應(yīng)用程序上下文信息傳遞。合適的無線通信協(xié)議可以包括,例如,藍(lán)牙或Wi_Fi(例如,IEEE802.11標(biāo)準(zhǔn))協(xié)議。在一些示例中,當(dāng)兩個(gè)設(shè)備經(jīng)由無線協(xié)議被連接時(shí),如果任一設(shè)備移動(dòng)超出無線協(xié)議的范圍,則該設(shè)備不再能夠使用該無線協(xié)議傳遞信息。在本文描述的實(shí)施例的一些中,設(shè)備可使用第一協(xié)議檢測(cè)一個(gè)計(jì)算設(shè)備何時(shí)遠(yuǎn)離另一個(gè),并使用具有更長的通信范圍的第二協(xié)議來傳遞信息。例如,當(dāng)設(shè)備移動(dòng)超出藍(lán)牙協(xié)議的通信范圍時(shí),該設(shè)備可以使用較長范圍的W1-Fi協(xié)議完成應(yīng)用程序上下文信息傳遞。這種技術(shù)可以用來自動(dòng)化無線通信協(xié)議的選擇,從而當(dāng)設(shè)備在另一無線協(xié)議的范圍內(nèi)時(shí)保證應(yīng)用程序上下文信息的傳遞。
[0020]圖1提供計(jì)算環(huán)境內(nèi)的設(shè)備發(fā)現(xiàn)操作100的示例性圖示。為了檢測(cè)近距離并且完成應(yīng)用程序上下文傳遞,主體設(shè)備必須感知彼此。在一些實(shí)施例中,設(shè)備發(fā)現(xiàn)和設(shè)備連接的一個(gè)或多個(gè)形式可在計(jì)算環(huán)境內(nèi)使用。例如,根據(jù)對(duì)等網(wǎng)絡(luò)(P2P)網(wǎng)絡(luò)連接的使用,設(shè)備可以通過使用標(biāo)準(zhǔn)網(wǎng)絡(luò)掃描程序被發(fā)現(xiàn)。P2P設(shè)備發(fā)現(xiàn)可包括以藍(lán)牙“設(shè)備發(fā)現(xiàn)”或W1-Fi “P2P查找”模式執(zhí)行操作。
[0021]跟隨設(shè)備發(fā)現(xiàn),設(shè)備可以執(zhí)行服務(wù)發(fā)現(xiàn),以確認(rèn)發(fā)現(xiàn)的設(shè)備是否能夠進(jìn)行應(yīng)用程序上下文傳遞。在一些無線配置中,主體設(shè)備可能不感知的其他附近設(shè)備的存在。如果設(shè)備不感知其他附近設(shè)備,則中間件,其被包括在多個(gè)設(shè)備之一上,可以發(fā)送廣告上下文傳遞特征的多播消息。如果另一設(shè)備接收該多播消息,則在接收設(shè)備上的中間件可通過確認(rèn)其存在并且在設(shè)備之間建立連接響應(yīng)。
[0022]發(fā)生在聯(lián)網(wǎng)環(huán)境中的設(shè)備發(fā)現(xiàn)操作100可以包括靜止或固定位置的計(jì)算設(shè)備的使用,諸如臺(tái)式計(jì)算機(jī)102、W1-Fi接入點(diǎn)104,以及一個(gè)或多個(gè)移動(dòng)設(shè)備106。移動(dòng)設(shè)備106可以包括移動(dòng)電話108、筆記本計(jì)算機(jī)110,或任何其他自供電的便攜式計(jì)算設(shè)備。以識(shí)別附近移動(dòng)設(shè)備,臺(tái)式計(jì)算機(jī)102發(fā)送多播請(qǐng)求112到接入點(diǎn)104,并且接入點(diǎn)104轉(zhuǎn)播該多播請(qǐng)求112到移動(dòng)設(shè)備106。移動(dòng)設(shè)備106可以提供多播響應(yīng)114到接入點(diǎn)104,并且接入點(diǎn)104可以將該多播響應(yīng)114轉(zhuǎn)發(fā)到臺(tái)式計(jì)算機(jī)102。在接收到多播響應(yīng)114時(shí),臺(tái)式計(jì)算機(jī)102可用移動(dòng)設(shè)備106形成建立的連接116。
[0023]在另一示例中,設(shè)備發(fā)現(xiàn)操作100可直接在兩個(gè)設(shè)備之間被執(zhí)行。例如,設(shè)備發(fā)現(xiàn)可以通過無線網(wǎng)絡(luò)協(xié)議通過P2P、分散或直接連接操作執(zhí)行,諸如W1-Fi或藍(lán)牙。參照?qǐng)D1,P2P設(shè)備發(fā)現(xiàn)可用從計(jì)算設(shè)備102傳輸?shù)揭苿?dòng)設(shè)備106的P2P請(qǐng)求118進(jìn)行。如果移動(dòng)設(shè)備106使用兼容P2P協(xié)議,則移動(dòng)設(shè)備106可提供P2P響應(yīng)120。一旦P2P響應(yīng)120已經(jīng)接收到,該臺(tái)式計(jì)算機(jī)102可用各個(gè)移動(dòng)設(shè)備106形成直接連接116。在其他示例中,P2P設(shè)備發(fā)現(xiàn)可以由移動(dòng)設(shè)備發(fā)起到靜止或固定位置的計(jì)算設(shè)備。
[0024]盡管術(shù)語“靜止”或“固定位置”在本公開中被采用以將這種計(jì)算設(shè)備與“移動(dòng)”設(shè)備進(jìn)行對(duì)比,但是實(shí)施例不限于涉及不動(dòng)設(shè)備的上下文。例如,膝上型計(jì)算機(jī)、筆記本、超級(jí)本、平板電腦,或其他能夠移動(dòng)的或便攜式計(jì)算設(shè)備可以操作作為靜止或固定位置的計(jì)算設(shè)備,其當(dāng)前(或主要)用于特定部位或位置。進(jìn)一步地,與設(shè)備發(fā)現(xiàn)操作100—起使用的靜止或固定位置設(shè)備不限于臺(tái)式計(jì)算機(jī)102的使用,但可包括任何類型的能夠移動(dòng)的或便攜式計(jì)算設(shè)備。
[0025]圖2提供在中間件層202上實(shí)施的用于在用戶計(jì)算設(shè)備上執(zhí)行的功能模塊200的示例性圖示。中間件層202可以被實(shí)現(xiàn)為提供相應(yīng)的服務(wù)的一個(gè)或多個(gè)軟件應(yīng)用程序,以促進(jìn)自動(dòng)上下文共享操作。在一些實(shí)施例中,靜止和移動(dòng)計(jì)算設(shè)備可以包括中間件層202。中間件層可以包括組件,以檢測(cè)設(shè)備的接近(接近度檢測(cè)組件204)、聚合應(yīng)用程序上下文信息(上下文聚合組件206)、選擇適當(dāng)?shù)纳舷挛膫鬟f介質(zhì)(上下文傳遞介質(zhì)選擇組件208)、傳遞或接收應(yīng)用程序上下文信息(上下文TX/RX組件210),在本地應(yīng)用程序中反映應(yīng)用程序上下文(上下文反映組件212)信息,并管理本地安全和電源設(shè)置(安全模塊組件214)。
[0026]這種組件可以在設(shè)備上安裝、執(zhí)行或部署的中間件中被實(shí)現(xiàn),但基于軟件服務(wù)的中間件是許多潛在類型的應(yīng)用程序上下文傳遞實(shí)現(xiàn)之一。雖然本公開描述在中間件層軟件服務(wù)中的各種實(shí)施例,其他實(shí)施例可以在一種或多種其他類型的應(yīng)用程序上下文傳遞實(shí)現(xiàn)中被實(shí)現(xiàn),包括硬件、固件、軟件等。另外,應(yīng)當(dāng)理解,該中間件層202的各種組件可以被進(jìn)一步組合或分離。
[0027]中間件層202可以包括接近度檢測(cè)組件204。接近度檢測(cè)組件204可以檢測(cè)兩個(gè)設(shè)備的當(dāng)前接近度(兩個(gè)設(shè)備是否彼此接近),并且可以檢測(cè)兩個(gè)設(shè)備是否移向彼此或遠(yuǎn)離彼此。接近度檢測(cè)組件204可以連續(xù)地檢測(cè)這些設(shè)備的接近度的變化。在一個(gè)示例中,當(dāng)中間件層202檢測(cè)到用戶正在遠(yuǎn)離他或她的臺(tái)式計(jì)算機(jī)(從靜止設(shè)備的附近移除)時(shí),接近度檢測(cè)組件204通知上下文聚合組件206。
[0028]中間件層202可以包括上下文聚合組件206。上下文聚合組件206可聚合一個(gè)或多個(gè)應(yīng)用程序的上下文,例如,在YouTube的視頻流的播放期間記錄時(shí)間。當(dāng)接近度檢測(cè)組件204確定用戶正從他或她的臺(tái)式計(jì)算機(jī)遠(yuǎn)離時(shí),接近度檢測(cè)組件204通知上下文聚合組件206,并且上下文聚合組件206自動(dòng)聚合對(duì)于所有主動(dòng)應(yīng)用程序的應(yīng)用程序上下文信息。
[0029]中間件層202可以包括上下文傳遞介質(zhì)選擇組件208。用于在設(shè)備之間傳遞上下文的通信介質(zhì)可以基于介質(zhì)是否已經(jīng)連接以及對(duì)于傳遞將需要多少時(shí)間來決定。如果有大量的上下文數(shù)據(jù)或可用的通信介質(zhì)是緩慢的,則該中間件可使用另一種可用的高速通信介質(zhì)傳遞上下文數(shù)據(jù)。例如,如果在傳遞的時(shí)候該設(shè)備使用藍(lán)牙被連接,則中間件可以確定通過藍(lán)牙的上下文傳遞將不會(huì)在設(shè)備超出彼此范圍之前被完成。如果中間件確定通過藍(lán)牙的上下文傳遞可能無法完成,則在兩個(gè)設(shè)備中的中間件可以建立W1-Fi連接來傳遞數(shù)據(jù)。上下文傳遞介質(zhì)選擇組件206可以選擇哪個(gè)通信介質(zhì)要用于傳遞上下文信息,例如,當(dāng)在設(shè)備在彼此的范圍內(nèi)時(shí)藍(lán)牙傳遞可能無法完成時(shí)選擇以使用W1-Fi介質(zhì)。中間件層202可以包括上下文TX/RX組件210,其可以執(zhí)行上下文信息的傳遞或接收。
[0030]在一些實(shí)施例中,中間件層20