所描述的實(shí)施例大體上涉及客戶端設(shè)備的發(fā)現(xiàn)和耦合協(xié)議的互操作性,并且更具體地涉及促進(jìn)客戶端設(shè)備在與第一屏幕設(shè)備建立視頻會(huì)話時(shí)的互操作性。
背景技術(shù):
存在用于經(jīng)由第二設(shè)備(例如,膝上型計(jì)算機(jī))上的應(yīng)用來(lái)發(fā)現(xiàn)和/或啟動(dòng)第一設(shè)備(例如,電視機(jī))上的應(yīng)用的多個(gè)協(xié)議(例如,基于簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議的發(fā)現(xiàn)和啟動(dòng)(“dial”)、基于組播域名系統(tǒng)的castv2api(“cast”)等)。cast是作為android(安卓()和/或google(谷歌()設(shè)備的一些通信的基礎(chǔ)的未發(fā)布協(xié)議。例如,實(shí)現(xiàn)協(xié)議規(guī)范的應(yīng)用的用戶可以致使通過(guò)膝上型計(jì)算機(jī)上的瀏覽器顯示的內(nèi)容還可以經(jīng)由電視機(jī)上的應(yīng)用來(lái)顯示。通過(guò)使用這些協(xié)議來(lái)顯示內(nèi)容存在若干問(wèn)題,包括:設(shè)備重復(fù)和協(xié)議互操作性問(wèn)題。
設(shè)備重復(fù)是這樣的問(wèn)題:被發(fā)現(xiàn)的設(shè)備作為可用顯示設(shè)備被多次列出在進(jìn)行發(fā)現(xiàn)的設(shè)備上。在一些實(shí)例中,設(shè)備支持用于與進(jìn)行發(fā)現(xiàn)的設(shè)備建立視頻會(huì)話的多種協(xié)議。在這些情況下,可以經(jīng)由通過(guò)其發(fā)現(xiàn)設(shè)備的每個(gè)路徑來(lái)將該設(shè)備呈現(xiàn)給用戶,并且該設(shè)備可能具有不同的名稱。例如,在膝上型計(jì)算機(jī)上的應(yīng)用可以使用dial發(fā)現(xiàn)來(lái)發(fā)現(xiàn)電視機(jī),并且然后使用dial啟動(dòng)在該電視機(jī)上的應(yīng)用。但是電視機(jī)還可以支持另一發(fā)現(xiàn)協(xié)議(例如,cast)和/或可能先前已經(jīng)將其與該膝上型計(jì)算機(jī)手動(dòng)配對(duì)。例如,當(dāng)用戶將電視機(jī)提供的密碼錄入該膝上型計(jì)算機(jī)時(shí),發(fā)生手動(dòng)配對(duì),或者反之亦然,該手動(dòng)配對(duì)引起該膝上型計(jì)算機(jī)經(jīng)由(bluetooth(藍(lán)牙)連接無(wú)線耦合至電視機(jī)。在該示例中,在沒(méi)有附加步驟的情況下,將三次向用戶示出該電視機(jī),并且可能使用不同的名稱。該情景令人困惑,影響用戶體驗(yàn),并且可能導(dǎo)致對(duì)次優(yōu)協(xié)議的選擇。
協(xié)議互操作性是另一個(gè)問(wèn)題,該問(wèn)題尤其發(fā)生在設(shè)備試圖加入兩個(gè)其它設(shè)備之間的現(xiàn)有會(huì)話的情況下。該問(wèn)題的基礎(chǔ)原因在于:無(wú)法通過(guò)使用另一協(xié)議來(lái)加入使用特定協(xié)議開(kāi)始的會(huì)話,并且在一些設(shè)備上,發(fā)現(xiàn)模塊獨(dú)立地發(fā)揮作用。試圖通過(guò)使用不同的協(xié)議來(lái)加入現(xiàn)有會(huì)話能夠失敗或者可能會(huì)致使破壞當(dāng)前會(huì)話并創(chuàng)建新會(huì)話。例如,電視機(jī)可能支持dial和cast協(xié)議兩者,設(shè)備a可能僅支持dial,并且設(shè)備b可能支持dial和cast兩者。設(shè)備a使用dial協(xié)議來(lái)與電視機(jī)創(chuàng)建會(huì)話,并且在稍后的時(shí)間設(shè)備b試圖使用cast來(lái)加入該會(huì)話—導(dǎo)致該會(huì)話中斷。該中斷是由于與電視機(jī)的會(huì)話無(wú)法在同一時(shí)間以dial和cast兩者進(jìn)行操作而導(dǎo)致的。
技術(shù)實(shí)現(xiàn)要素:
在各個(gè)實(shí)施例中,控制服務(wù)器促進(jìn)在第二屏幕設(shè)備(例如,膝上型計(jì)算機(jī))上操作的第二屏幕應(yīng)用與在第一屏幕設(shè)備(例如,電視機(jī))上操作的第一屏幕應(yīng)用的互操作性。該控制服務(wù)器維持配對(duì)信息,該配對(duì)信息描述第一屏幕應(yīng)用先前是否已經(jīng)與一個(gè)或者多個(gè)第二屏幕設(shè)備手動(dòng)配對(duì)。該控制服務(wù)器還維持信息,該信息指示第一屏幕應(yīng)用是否參與與一個(gè)或者多個(gè)第二屏幕設(shè)備的視頻顯示會(huì)話,并且如果是,則在該視頻會(huì)話中使用什么耦合協(xié)議。
在第二屏幕設(shè)備上操作的第二屏幕應(yīng)用通過(guò)使用從每個(gè)設(shè)備接收到的發(fā)現(xiàn)信息和從控制服務(wù)器接收到的配對(duì)信息來(lái)生成可用于連接的設(shè)備的去重列表。該設(shè)備的去重列表可以包括:例如,第一屏幕設(shè)備、第二屏幕設(shè)備、或者其某個(gè)組合。該第二屏幕應(yīng)用經(jīng)由用戶界面來(lái)將設(shè)備的去重列表呈現(xiàn)給第二屏幕設(shè)備的用戶。
在一些實(shí)施例中,用戶經(jīng)由該用戶界面來(lái)選擇利用其來(lái)參與視頻顯示會(huì)話的列出的第一屏幕設(shè)備,。該第二屏幕應(yīng)用針對(duì)選擇的設(shè)備的第一屏幕應(yīng)用來(lái)從控制服務(wù)器獲得應(yīng)用信息。該應(yīng)用狀態(tài)信息指示第一屏幕應(yīng)用是否處于與某個(gè)其它第二屏幕設(shè)備的現(xiàn)有視頻顯示會(huì)話中。該第二屏幕應(yīng)用基于指示的應(yīng)用狀態(tài)和可用于第二屏幕設(shè)備的耦合協(xié)議以及第一屏幕應(yīng)用的一個(gè)或者多個(gè)耦合協(xié)議來(lái)確定耦合方案(methodology)。
在該應(yīng)用狀態(tài)指示第一屏幕應(yīng)用處于與某個(gè)其它第二屏幕設(shè)備的現(xiàn)有視頻顯示會(huì)話中并且該會(huì)話正使用特定耦合協(xié)議的實(shí)施例中,該第二屏幕應(yīng)用確定第二屏幕設(shè)備是否也支持該特定耦合協(xié)議。如果支持,則第二屏幕設(shè)備經(jīng)由該特定耦合協(xié)議來(lái)耦合至現(xiàn)有會(huì)話。否則,第二屏幕設(shè)備經(jīng)由控制服務(wù)器來(lái)間接地耦合至現(xiàn)有會(huì)話,其中,第二屏幕設(shè)備和控制服務(wù)器通過(guò)使用第二屏幕設(shè)備支持的耦合協(xié)議來(lái)進(jìn)行通信,并且客戶端設(shè)備和第一屏幕設(shè)備經(jīng)由在現(xiàn)有會(huì)話中使用的特定耦合協(xié)議來(lái)進(jìn)行耦合。
附圖說(shuō)明
圖1是圖示了用于促進(jìn)與第一屏幕設(shè)備的客戶端設(shè)備互操作性的環(huán)境的實(shí)施例的框圖。
圖2是根據(jù)實(shí)施例的,用于發(fā)現(xiàn)第一屏幕設(shè)備和對(duì)該第一屏幕設(shè)備進(jìn)行去重的方法的交互圖。
圖3是根據(jù)實(shí)施例的,用于在第一屏幕應(yīng)用與一個(gè)或者多個(gè)第二屏幕應(yīng)用之間建立會(huì)話的方法的交互圖。
圖4是圖示了根據(jù)一個(gè)實(shí)施例的,圖1的第二屏幕應(yīng)用的詳細(xì)視圖的框圖。
圖5是圖示了根據(jù)一個(gè)實(shí)施例的,作為設(shè)備發(fā)現(xiàn)的一部分的執(zhí)行設(shè)備去重的過(guò)程的流程圖。
圖6是圖示了根據(jù)一個(gè)實(shí)施例的,用于在第一屏幕應(yīng)用與第二屏幕應(yīng)用之間建立會(huì)話的過(guò)程的流程圖。
圖7是圖示了用于實(shí)現(xiàn)在圖1中示出的實(shí)體的示例計(jì)算機(jī)的框圖。
具體實(shí)施方式
附圖和以下描述僅通過(guò)說(shuō)明的方式來(lái)描述某些實(shí)施例。本領(lǐng)域的技術(shù)人員將通過(guò)以下描述容易地認(rèn)識(shí)到,在不脫離本文描述的原理的情況下,可以采用本文說(shuō)明的結(jié)構(gòu)和方法的替代實(shí)施例?,F(xiàn)在將詳細(xì)參照若干實(shí)施例,在附圖中圖示了該若干實(shí)施例的示例。注意,在可行的情況下,類(lèi)似的或者相似的附圖標(biāo)記可以在附圖中使用并且可以指示類(lèi)似的或者相似的功能。
圖1是圖示了用于促進(jìn)客戶端設(shè)備100、105與第一屏幕設(shè)備120的互操作性的環(huán)境的實(shí)施例的框圖。該環(huán)境包括客戶端設(shè)備100和客戶端設(shè)備105,該客戶端設(shè)備100和客戶端設(shè)備105均通過(guò)網(wǎng)絡(luò)110耦合至第一屏幕設(shè)備120和控制服務(wù)器130。此處,僅圖示了兩個(gè)客戶端設(shè)備、一個(gè)屏幕設(shè)備和一個(gè)控制服務(wù)器,但是可以存在這些實(shí)體中的每一個(gè)的多個(gè)實(shí)例。例如,可以存在與一個(gè)或者多個(gè)控制服務(wù)器130通信的數(shù)千或者數(shù)百萬(wàn)個(gè)客戶端設(shè)備100、105和第一屏幕設(shè)備120。
網(wǎng)絡(luò)110提供客戶端設(shè)備100、105、第一屏幕設(shè)備120與控制服務(wù)器130之間的通信基礎(chǔ)架構(gòu)。網(wǎng)絡(luò)110通常是互聯(lián)網(wǎng),但是也可以是任何網(wǎng)絡(luò),包括但不限于:局域網(wǎng)(lan)、城域網(wǎng)(man)、廣域網(wǎng)(wan)、移動(dòng)有線或者無(wú)線網(wǎng)、私有網(wǎng)絡(luò)、或者虛擬私有網(wǎng)絡(luò)、或者其某個(gè)組合。例如,客戶端設(shè)備100、105和第一屏幕設(shè)備120可以通過(guò)使用例如wifi耦合來(lái)彼此通信,并且通過(guò)使用互聯(lián)網(wǎng)耦合來(lái)與控制服務(wù)器130通信。
第一屏幕設(shè)備120和客戶端設(shè)備100、105是執(zhí)行計(jì)算機(jī)程序模塊(——例如web瀏覽器或者其它客戶端應(yīng)用)——的計(jì)算設(shè)備,該計(jì)算機(jī)程序模塊存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上并且允許用戶查看和消費(fèi)媒體內(nèi)容。第一屏幕設(shè)備120和客戶端設(shè)備100是計(jì)算設(shè)備,諸如,具有操作系統(tǒng)(——諸如,
第一屏幕設(shè)備120和客戶端設(shè)備100、105通過(guò)使用一個(gè)或者多個(gè)耦合協(xié)議來(lái)耦合至彼此以建立會(huì)話。耦合協(xié)議是用于發(fā)現(xiàn)其它本地設(shè)備(例如,客戶端設(shè)備100、105和/或第一屏幕設(shè)備120)和/或耦合至發(fā)現(xiàn)的本地設(shè)備以參與(例如,創(chuàng)建和/或加入)會(huì)話的機(jī)制。耦合協(xié)議可以包括:例如,dial、cast、手動(dòng)配對(duì)、airplay、smartglass、miracast、用于發(fā)現(xiàn)和啟動(dòng)應(yīng)用(通常在家庭網(wǎng)絡(luò)上)的一些其它機(jī)制、或者其某個(gè)組合。第一屏幕設(shè)備120和客戶端設(shè)備100、105可與特定類(lèi)型的耦合協(xié)議一起操作,并且在一些情況下,可與第一屏幕設(shè)備120和客戶端設(shè)備100、105一起操作的耦合協(xié)議的類(lèi)型可以不同。例如,第一屏幕設(shè)備120可與dial和cast一起操作,客戶端設(shè)備100可與cast一起操作,并且客戶端設(shè)備105可利用dial來(lái)操作。
第一屏幕設(shè)備120包括可以通過(guò)耦合的客戶端設(shè)備來(lái)控制的第一屏幕應(yīng)用140。例如,在與第一屏幕應(yīng)用140的會(huì)話中操作客戶端設(shè)備100的用戶可以通過(guò)使用客戶端設(shè)備100來(lái)致使第一屏幕應(yīng)用140也呈現(xiàn)在客戶端設(shè)備100上呈現(xiàn)的內(nèi)容。第一屏幕應(yīng)用140生成將其標(biāo)識(shí)為第一屏幕設(shè)備120的應(yīng)用的應(yīng)用標(biāo)識(shí)符。第一屏幕應(yīng)用140可以生成該應(yīng)標(biāo)識(shí)符以作為將第一屏幕應(yīng)用140安裝在第一屏幕設(shè)備120上的一部分。例如,可以通過(guò)使用隨機(jī)數(shù)字生成器、設(shè)備標(biāo)識(shí)符散列、創(chuàng)建無(wú)歧義地標(biāo)識(shí)第一屏幕應(yīng)用140的標(biāo)識(shí)符的某個(gè)其它方法等來(lái)生成應(yīng)用標(biāo)識(shí)符。響應(yīng)于接收到發(fā)現(xiàn)請(qǐng)求,第一屏幕應(yīng)用140將該應(yīng)用標(biāo)識(shí)符和可用連接協(xié)議提供至進(jìn)行請(qǐng)求的客戶端設(shè)備。
此外,在設(shè)置與客戶端設(shè)備的會(huì)話時(shí),第一屏幕設(shè)備應(yīng)用140向控制服務(wù)器130登記描述該會(huì)話的其應(yīng)用狀態(tài)信息(例如,標(biāo)識(shí)會(huì)話、在該會(huì)話中使用的耦合協(xié)議等)??蛻舳嗽O(shè)備100、105稍后可以向控制服務(wù)器130請(qǐng)求第一屏幕應(yīng)用140的應(yīng)用狀態(tài),并且使用該信息來(lái)確定參與與第一屏幕應(yīng)用140的會(huì)話的優(yōu)選方法。因此,去除了使用不可與該會(huì)話一起操作的連接協(xié)議來(lái)加入現(xiàn)有會(huì)話的風(fēng)險(xiǎn)。
客戶端設(shè)備100包括第二屏幕應(yīng)用150,該第二屏幕應(yīng)用150具有與第二屏幕應(yīng)用160類(lèi)似的功能。第二屏幕應(yīng)用150發(fā)現(xiàn)可用于經(jīng)由例如wifi、bluetooth等來(lái)耦合至客戶端設(shè)備100的設(shè)備。作為發(fā)現(xiàn)過(guò)程的一部分,第二屏幕應(yīng)用150從控制服務(wù)器130獲得描述發(fā)現(xiàn)的設(shè)備的任何先前手動(dòng)配對(duì)的信息。手動(dòng)配對(duì)是由用戶手動(dòng)執(zhí)行的第二屏幕應(yīng)用150與發(fā)現(xiàn)的設(shè)備之間的耦合。例如,用戶可以將兩個(gè)設(shè)備置于發(fā)現(xiàn)模式,并且然后將由所述設(shè)備中的一個(gè)提供的密碼錄入至另一設(shè)備,這致使所述設(shè)備被配對(duì)。第二屏幕應(yīng)用150維持發(fā)現(xiàn)的設(shè)備的設(shè)備列表。第二屏幕應(yīng)用150利用有關(guān)發(fā)現(xiàn)的設(shè)備的信息(例如,應(yīng)用標(biāo)識(shí)符、耦合協(xié)議等)來(lái)更新該設(shè)備列表。第二屏幕應(yīng)用150還利用來(lái)自控制服務(wù)器130的描述發(fā)現(xiàn)的設(shè)備的任何先前手動(dòng)配對(duì)的信息來(lái)更新該設(shè)備列表。通常,還可以將第一屏幕應(yīng)用140與多個(gè)耦合協(xié)議和/或手動(dòng)配對(duì)相關(guān)聯(lián)(即,可通過(guò)多個(gè)耦合協(xié)議和/或手動(dòng)配對(duì)來(lái)發(fā)現(xiàn))。更新的設(shè)備列表示出了這些耦合協(xié)議和手動(dòng)配對(duì)中的每一個(gè)的條目—針對(duì)相同的第一屏幕應(yīng)用140在更新的設(shè)備列表中產(chǎn)生多個(gè)條目。第二屏幕應(yīng)用150例如通過(guò)按應(yīng)用標(biāo)識(shí)符來(lái)收集設(shè)備列表中的條目并且然后在用于與第二屏幕應(yīng)用150對(duì)接的會(huì)話界面中針對(duì)每個(gè)應(yīng)用標(biāo)識(shí)符創(chuàng)建單個(gè)設(shè)備條目,來(lái)對(duì)更新的設(shè)備列表執(zhí)行去重。在一些實(shí)施例中,用戶能夠選擇該條目以請(qǐng)求客戶端設(shè)備100與第一屏幕應(yīng)用140建立會(huì)話和/或加入與第一屏幕應(yīng)用140的現(xiàn)有會(huì)話。
會(huì)話界面是用戶用來(lái)與第二屏幕應(yīng)用150對(duì)接的圖形用戶界面。例如,用戶可以通過(guò)使用會(huì)話界面來(lái)指令第二屏幕應(yīng)用150發(fā)現(xiàn)其它設(shè)備、耦合至特定第一屏幕設(shè)備120等。第二屏幕應(yīng)用150呈現(xiàn)(例如,經(jīng)由會(huì)話界面呈現(xiàn))在那些設(shè)備上操作的發(fā)現(xiàn)的設(shè)備和/或應(yīng)用的列表()。使用通過(guò)對(duì)設(shè)備列表進(jìn)行去重所創(chuàng)建的條目來(lái)生成發(fā)現(xiàn)的設(shè)備的列表。因此,在列表中的每個(gè)條目與在特定設(shè)備上操作的特定應(yīng)用相對(duì)應(yīng)。
第二屏幕應(yīng)用150從用戶接收指示期望參與與第一屏幕設(shè)備120的會(huì)話的選擇,該第一屏幕設(shè)備120與該選擇相關(guān)聯(lián)。例如,用戶可以在發(fā)現(xiàn)的設(shè)備的列表中選擇與第一屏幕設(shè)備120上操作的第一屏幕應(yīng)用140相對(duì)應(yīng)的條目。第二屏幕應(yīng)用150向控制服務(wù)器130進(jìn)行查詢以確定該設(shè)備是否已經(jīng)處于現(xiàn)有會(huì)話中,并且如果是,則確定與現(xiàn)有會(huì)話相關(guān)聯(lián)的耦合協(xié)議是什么。第二屏幕應(yīng)用150基于第一屏幕設(shè)備120是否處于現(xiàn)有會(huì)話中和可用于客戶端設(shè)備100和第一屏幕設(shè)備120的耦合協(xié)議來(lái)確定用于將客戶端設(shè)備100耦合至第一屏幕設(shè)備120的耦合方案。一種連接方案可以是:例如經(jīng)由控制服務(wù)器130向第一屏幕應(yīng)用140的直接耦合或者向第一屏幕應(yīng)用140的間接耦合。然后,第二屏幕應(yīng)用150基于確定的耦合方案來(lái)耦合至第一屏幕應(yīng)用140。一旦耦合至第一屏幕應(yīng)用140,第二屏幕應(yīng)用150的用戶就能夠?qū)τ傻谝黄聊粦?yīng)用150呈現(xiàn)的內(nèi)容進(jìn)行一些控制。例如,用戶可以致使第一屏幕應(yīng)用140也呈現(xiàn)由第二屏幕應(yīng)用150呈現(xiàn)的視頻。
控制服務(wù)器130維持與第一屏幕應(yīng)用和客戶端設(shè)備有關(guān)的信息。所維持的信息包括:例如,配對(duì)信息和應(yīng)用狀態(tài)。配對(duì)信息描述與第一屏幕應(yīng)用140手動(dòng)配對(duì)的任何設(shè)備(例如,客戶端設(shè)備100、105)。當(dāng)用戶手動(dòng)建立第二屏幕應(yīng)用與第一屏幕應(yīng)用140之間的耦合時(shí),發(fā)生手動(dòng)配對(duì)??刂品?wù)器130可以從例如,第二屏幕應(yīng)用150、160和/或第一屏幕應(yīng)用140接收配對(duì)信息,并且控制服務(wù)器130然后利用接收到的配對(duì)信息來(lái)更新數(shù)據(jù)庫(kù)。應(yīng)用狀態(tài)描述第一屏幕應(yīng)用140是否處于現(xiàn)有會(huì)話中,并且如果是,則描述在現(xiàn)有會(huì)話中使用什么耦合協(xié)議??刂品?wù)器130從第一屏幕應(yīng)用140接收應(yīng)用狀態(tài)信息,并且然后控制服務(wù)器130利用接收到的信息來(lái)更新數(shù)據(jù)庫(kù)。響應(yīng)于從第二屏幕應(yīng)用(例如,第二屏幕應(yīng)用150)接收到請(qǐng)求,控制服務(wù)器130向第二屏幕應(yīng)用150、160提供配對(duì)信息、應(yīng)用狀態(tài)信息、或者兩者。
在一些實(shí)施例中,控制服務(wù)器130將第二屏幕應(yīng)用150間接地耦合至第一屏幕應(yīng)用140以參與會(huì)話。如上面提到的,第一屏幕設(shè)備120與有限的一組耦合協(xié)議具有互操作性。在客戶端設(shè)備100不可與對(duì)于第一屏幕設(shè)備120奏效的相同耦合協(xié)議中的至少一個(gè)耦合協(xié)議一起操作的情況下,客戶端設(shè)備100可以通過(guò)控制服務(wù)器130來(lái)間接地耦合至第一屏幕設(shè)備120。在該實(shí)例中,客戶端設(shè)備100通過(guò)使用可用于客戶端設(shè)備100和控制服務(wù)器130兩者的耦合協(xié)議來(lái)與控制服務(wù)器130通信,并且控制服務(wù)器130通過(guò)使用可用于第一屏幕應(yīng)用140和控制服務(wù)器130兩者的不同耦合協(xié)議來(lái)與第一屏幕應(yīng)用140通信。實(shí)際上,控制服務(wù)器130將來(lái)自客戶端設(shè)備110的通信轉(zhuǎn)換為控制服務(wù)器130可接受的格式,并且反之亦然。因此,不可和在第一屏幕設(shè)備120與另一客戶端設(shè)備(例如,客戶端設(shè)備105)之間的現(xiàn)有會(huì)話中使用的特定耦合協(xié)議一起操作的客戶端設(shè)備100能夠經(jīng)由控制服務(wù)器130使用該特定耦合協(xié)議來(lái)間接地加入該會(huì)話。按照這種方式來(lái)加入現(xiàn)有會(huì)話允許客戶端設(shè)備100能夠在不中斷該會(huì)話的情況下加入該會(huì)話。例如,試圖通過(guò)使用與當(dāng)前正在會(huì)話中使用的耦合協(xié)議不同的耦合協(xié)議來(lái)加入會(huì)話可能致使當(dāng)前會(huì)話失敗、通過(guò)使用不同的耦合協(xié)議來(lái)重新開(kāi)始等。
圖2是更詳細(xì)地示出了發(fā)現(xiàn)過(guò)程的交互圖,具體地,圖2是用于發(fā)現(xiàn)第一屏幕設(shè)備和對(duì)該第一屏幕設(shè)備進(jìn)行去重的方法的一個(gè)實(shí)施例的交互圖。在各個(gè)實(shí)施例中,該方法可以包括與結(jié)合圖2所描述的那些步驟不同的步驟和/或附加步驟。此外,在一些實(shí)施例中,可以按照與結(jié)合圖2描述的順序不同的順序來(lái)執(zhí)行步驟。
在第一屏幕設(shè)備120上運(yùn)行的第一屏幕應(yīng)用140生成對(duì)于第一屏幕應(yīng)用140唯一的應(yīng)用標(biāo)識(shí)符(205)。第一屏幕應(yīng)用140使該應(yīng)用標(biāo)識(shí)符可被其它進(jìn)行請(qǐng)求的應(yīng)用發(fā)現(xiàn)(210)。
第二屏幕應(yīng)用150向第一屏幕應(yīng)用140發(fā)送發(fā)現(xiàn)請(qǐng)求(215)。第二屏幕應(yīng)用150可以經(jīng)由例如局域網(wǎng)來(lái)將該發(fā)現(xiàn)請(qǐng)求向外發(fā)送至在該網(wǎng)絡(luò)上的設(shè)備。響應(yīng)于接收到發(fā)現(xiàn)請(qǐng)求,第一屏幕應(yīng)用140向第二屏幕應(yīng)用150提供發(fā)現(xiàn)信息(220)。發(fā)現(xiàn)信息是描述客戶端設(shè)備(例如,100、105)可以耦合至第一屏幕應(yīng)用140的方式的信息。發(fā)現(xiàn)信息包括:例如,應(yīng)用標(biāo)識(shí)符和可以用于與第一屏幕應(yīng)用140建立會(huì)話的耦合協(xié)議列表等。
第二屏幕應(yīng)用150通過(guò)使用接收到的發(fā)現(xiàn)信息來(lái)更新設(shè)備列表。該設(shè)備列表是第二屏幕應(yīng)用150已經(jīng)發(fā)現(xiàn)的設(shè)備的列表。第二屏幕應(yīng)用150針對(duì)與發(fā)現(xiàn)信息相關(guān)聯(lián)的每個(gè)耦合協(xié)議向設(shè)備列表添加條目。因此,針對(duì)單個(gè)應(yīng)用標(biāo)識(shí)符,可能存在多個(gè)條目。例如,如果發(fā)現(xiàn)信息包括應(yīng)用標(biāo)識(shí)符x以及耦合協(xié)議dial和cast,則該設(shè)備列表將包括針對(duì)第一屏幕應(yīng)用140的兩個(gè)條目(例如,[應(yīng)用標(biāo)識(shí)符x:dial;應(yīng)用標(biāo)識(shí)符x:cast])。
第二屏幕應(yīng)用150向控制服務(wù)器130請(qǐng)求第一屏幕應(yīng)用140的配對(duì)信息(230)。對(duì)配對(duì)信息的請(qǐng)求包括第一屏幕應(yīng)用140的應(yīng)用標(biāo)識(shí)符。配對(duì)信息是描述第一屏幕應(yīng)用140可能已經(jīng)與其手動(dòng)配對(duì)的任何設(shè)備(例如,客戶端設(shè)備105)。對(duì)配對(duì)信息的請(qǐng)求包括該應(yīng)用標(biāo)識(shí)符??刂品?wù)器130通過(guò)使用該應(yīng)用標(biāo)識(shí)符來(lái)檢索配對(duì)信息(235)。例如,控制服務(wù)器130可以訪問(wèn)存儲(chǔ)各個(gè)第一屏幕應(yīng)用的手動(dòng)配對(duì)列表的數(shù)據(jù)庫(kù),并且可以通過(guò)使用與感興趣的第一屏幕應(yīng)用相關(guān)聯(lián)的應(yīng)用標(biāo)識(shí)符來(lái)檢索先前已經(jīng)與第一屏幕應(yīng)用配對(duì)的特定客戶端設(shè)備列表。控制服務(wù)器130將該配對(duì)信息提供至第二屏幕應(yīng)用150(240)。
第二屏幕應(yīng)用150通過(guò)使用該配對(duì)信息來(lái)更新設(shè)備列表(245)。第二屏幕應(yīng)用150針對(duì)在該配對(duì)信息中列出的每個(gè)先前手動(dòng)配對(duì)向該設(shè)備列表添加條目。因此,針對(duì)單個(gè)應(yīng)用標(biāo)識(shí)符,可能存在多個(gè)條目。因此,針對(duì)與特定耦合協(xié)議和/或手動(dòng)配對(duì)相對(duì)應(yīng)的單個(gè)應(yīng)用標(biāo)識(shí)符,設(shè)備列表可能包括多個(gè)條目。
第二屏幕應(yīng)用150對(duì)設(shè)備列表中的項(xiàng)目執(zhí)行去重(250)。第二屏幕應(yīng)用150通過(guò)應(yīng)用標(biāo)識(shí)符來(lái)收集設(shè)備列表中的條目,并且然后在會(huì)話界面中創(chuàng)建映射至與該應(yīng)用標(biāo)識(shí)符相關(guān)聯(lián)的耦合協(xié)議和/或手動(dòng)配對(duì)的單個(gè)設(shè)備條目。會(huì)話界面是圖形用戶界面,通過(guò)該圖形用戶界面客戶端設(shè)備可以發(fā)現(xiàn)與在其它設(shè)備(例如,第一屏幕設(shè)備130)上操作的應(yīng)用的會(huì)話和/或與該應(yīng)用建立會(huì)話。
第二屏幕應(yīng)用150呈現(xiàn)包括該設(shè)備條目的會(huì)話界面(255)。該會(huì)話界面呈現(xiàn)已經(jīng)被發(fā)現(xiàn)并且可用于與之建立會(huì)話的每個(gè)設(shè)備(例如,第一屏幕設(shè)備130)的單個(gè)設(shè)備條目。例如,如果已經(jīng)發(fā)現(xiàn)三個(gè)不同的電視機(jī)并且可與該三個(gè)不同的電視機(jī)建立會(huì)話,則會(huì)僅存在三個(gè)設(shè)備條目,每個(gè)電視機(jī)一個(gè)條目。在一些實(shí)施例中,選擇設(shè)備條目致使該會(huì)話界面呈現(xiàn)不同的選項(xiàng)以供第二屏幕應(yīng)用150耦合至第一屏幕應(yīng)用140。例如,選擇第一屏幕應(yīng)用140的條目可以致使該會(huì)話界面呈現(xiàn)可用于耦合至第一屏幕應(yīng)用140的協(xié)議列表。
現(xiàn)在轉(zhuǎn)向?qū)υ谠O(shè)備之間建立會(huì)話的討論,圖3是用于在第一屏幕應(yīng)用與一個(gè)或者多個(gè)第二屏幕應(yīng)用之間建立會(huì)話的方法的一個(gè)實(shí)施例的交互圖。在各個(gè)實(shí)施例中,該方法可以包括與結(jié)合圖3描述的那些步驟不同的步驟和/或附加步驟。此外,在一些實(shí)施例中,可以按照與結(jié)合圖3描述的順序不同的順序來(lái)執(zhí)行該步驟。
在第二屏幕設(shè)備105上的第二屏幕應(yīng)用160呈現(xiàn)在第二屏幕設(shè)備105本地的發(fā)現(xiàn)的設(shè)備(305)。例如,第二屏幕應(yīng)用160可以呈現(xiàn)示出每個(gè)發(fā)現(xiàn)的設(shè)備的單個(gè)設(shè)備條目的會(huì)話界面??梢酝ㄟ^(guò)使用上面參照?qǐng)D2描述的過(guò)程來(lái)生成設(shè)備條目列表。第二屏幕應(yīng)用160接收對(duì)與第一屏幕應(yīng)用140相關(guān)聯(lián)的設(shè)備條目的選擇(310)。例如,用戶可以選擇第一屏幕設(shè)備120的設(shè)備條目,并且第一屏幕應(yīng)用140是在第一屏幕設(shè)備120上操作的應(yīng)用。
第二屏幕應(yīng)用160向控制服務(wù)器130請(qǐng)求與第一屏幕應(yīng)用140相關(guān)聯(lián)的應(yīng)用狀態(tài)信息(315)。對(duì)應(yīng)用狀態(tài)信息的請(qǐng)求包括與第一屏幕應(yīng)用140相關(guān)聯(lián)的應(yīng)用標(biāo)識(shí)符??刂品?wù)器130通過(guò)使用該應(yīng)用標(biāo)識(shí)符來(lái)從數(shù)據(jù)庫(kù)檢索應(yīng)用狀態(tài)信息。數(shù)據(jù)庫(kù)維持應(yīng)用狀態(tài)信息,該應(yīng)用狀態(tài)信息描述第一屏幕應(yīng)用是否處于現(xiàn)有會(huì)話中,并且如果是,則描述在現(xiàn)有會(huì)話中使用什么耦合協(xié)議??刂品?wù)器130將第一屏幕應(yīng)用140的應(yīng)用狀態(tài)提供至第二屏幕應(yīng)用160(320)。
第二屏幕應(yīng)用160通過(guò)使用接收到的應(yīng)用狀態(tài)信息來(lái)確定是否存在與某個(gè)其它客戶端設(shè)備的現(xiàn)有會(huì)話(325)。如果不存在現(xiàn)有會(huì)話,則第二屏幕應(yīng)用160與第一屏幕應(yīng)用140建立會(huì)話(330)。
在一些實(shí)例中,可以存在第一屏幕設(shè)備120所支持的多個(gè)耦合協(xié)議,客戶端設(shè)備105也支持該多個(gè)耦合協(xié)議。在一些實(shí)施例中,第二屏幕應(yīng)用160包括經(jīng)排名耦合協(xié)議表。在一些實(shí)施例中,由第二屏幕應(yīng)用160的管理員來(lái)對(duì)耦合協(xié)議進(jìn)行排名。該管理員可以按照任何順序來(lái)對(duì)耦合協(xié)議進(jìn)行排名。在一些實(shí)施例中,可以按照耦合協(xié)議提供給用戶的對(duì)會(huì)話的控制量來(lái)對(duì)耦合協(xié)議進(jìn)行排名。例如,該表可將cast排名得高于dial,因?yàn)閏ast提供比dial更大的量調(diào)節(jié)控制。在一些實(shí)施例中,第二屏幕應(yīng)用160選擇該表中可用于客戶端設(shè)備105和第一屏幕設(shè)備120兩者的排名最高的優(yōu)選耦合協(xié)議castcast。在其它實(shí)施例中,第二屏幕應(yīng)用160可以提示用戶選擇用于建立會(huì)話的耦合協(xié)議。
建立會(huì)話的步驟通常是耦合協(xié)議特定的,然而,不管選擇是什么耦合協(xié)議,第一屏幕應(yīng)用140都向控制服務(wù)器130提供指示第一屏幕應(yīng)用140處于與第二屏幕應(yīng)用160的會(huì)話中并且通過(guò)使用特定耦合協(xié)議來(lái)開(kāi)始該會(huì)話的應(yīng)用狀態(tài)信息(335)。然后,控制服務(wù)器130利用接收到的應(yīng)用狀態(tài)信息來(lái)更新與第一屏幕應(yīng)用120相關(guān)聯(lián)的應(yīng)用狀態(tài)信息(340)。例如,控制服務(wù)器130可以利用接收到的應(yīng)用狀態(tài)信息來(lái)更新與第一屏幕應(yīng)用140的應(yīng)用標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù)庫(kù)條目。
在一些實(shí)施例中,第二屏幕應(yīng)用160通過(guò)使用來(lái)自控制服務(wù)器130的應(yīng)用狀態(tài)信息來(lái)確定存在與某個(gè)其它客戶端設(shè)備(例如,第二屏幕應(yīng)用150)經(jīng)由耦合協(xié)議的現(xiàn)有會(huì)話345。第二屏幕設(shè)備160確定該耦合協(xié)議是否還可用于客戶端設(shè)備105(即,客戶端設(shè)備100支持該耦合協(xié)議)(350)。在支持該耦合協(xié)議的實(shí)施例中,第二屏幕應(yīng)用150通過(guò)使用該耦合協(xié)議來(lái)將第二屏幕應(yīng)用150耦合至第一屏幕應(yīng)用140。因?yàn)榕c第一屏幕應(yīng)用140的耦合使用在現(xiàn)有會(huì)話345中使用的相同協(xié)議,所以,第二屏幕應(yīng)用150能夠在不中斷現(xiàn)有會(huì)話345(例如,致使失敗、致使會(huì)話重新開(kāi)始等)的情況下耦合至現(xiàn)有會(huì)話345(355)。
在耦合協(xié)議不可用(即,客戶端設(shè)備100不支持該耦合協(xié)議)的一些實(shí)施例中,第二屏幕應(yīng)用150經(jīng)由控制服務(wù)器130來(lái)耦合至該會(huì)話。與控制服務(wù)器130的耦合是經(jīng)由客戶端設(shè)備100所支持的某個(gè)其它協(xié)議來(lái)實(shí)現(xiàn)的(360)。然后,控制服務(wù)器130通過(guò)使用在現(xiàn)有會(huì)話345中使用的耦合協(xié)議來(lái)耦合至第一屏幕應(yīng)用。因?yàn)榭刂品?wù)器130通過(guò)使用用于該會(huì)話的耦合協(xié)議來(lái)耦合至現(xiàn)有會(huì)話345,所以控制服務(wù)器130能夠經(jīng)由控制服務(wù)器130來(lái)將第二屏幕應(yīng)用150在沒(méi)有中斷的情況下有效地加入現(xiàn)有會(huì)話。
在一些實(shí)例(在圖3中未示出)中,在第一屏幕應(yīng)用140與另一客戶端設(shè)備之間不存在現(xiàn)有會(huì)話,并且可用于客戶端設(shè)備105的耦合協(xié)議與可用于第一屏幕設(shè)備120的耦合協(xié)議不同。因此,客戶端設(shè)備無(wú)法直接耦合至與第一屏幕應(yīng)用140的會(huì)話以及與第一屏幕應(yīng)用140建立該會(huì)話。在一些實(shí)施例中,客戶端設(shè)備105通過(guò)控制服務(wù)器130來(lái)間接地耦合至第一屏幕應(yīng)用140。例如,客戶端設(shè)備105通過(guò)使用可用于客戶端設(shè)備105和控制服務(wù)器130的耦合協(xié)議來(lái)與控制服務(wù)器130通信,控制服務(wù)器130將從客戶端設(shè)備105接收到的信息轉(zhuǎn)換為與第一屏幕設(shè)備所支持的耦合協(xié)議兼容的格式,并且通過(guò)使用該耦合協(xié)議來(lái)與第一屏幕應(yīng)用通信。
現(xiàn)在轉(zhuǎn)向?qū)Φ诙聊粦?yīng)用150的結(jié)構(gòu)的討論,圖4是圖示了根據(jù)一個(gè)實(shí)施例的在第二屏幕應(yīng)用150內(nèi)的模塊的詳細(xì)視圖的框圖。第二屏幕應(yīng)用150的一些實(shí)施例具有與此處描述的那些模塊不同的模塊。類(lèi)似地,可以按照與此處描述的方式不同的方式來(lái)在模塊間分布功能。第二屏幕應(yīng)用150由包括以下的模塊組成:設(shè)備數(shù)據(jù)庫(kù)410、發(fā)現(xiàn)模塊420、去重模塊430、接口模塊440、和耦合模塊450。此外,雖然下面的討論在第二屏幕應(yīng)用150的場(chǎng)境(context)中,但是下面的討論也同樣適用于第二屏幕應(yīng)用160。
設(shè)備數(shù)據(jù)庫(kù)410將與第一屏幕應(yīng)用140的發(fā)現(xiàn)和會(huì)話參與有關(guān)的信息存儲(chǔ)在第一屏幕設(shè)備120上。與發(fā)現(xiàn)和會(huì)話參與有關(guān)的信息包括設(shè)備列表。設(shè)備列表是與已經(jīng)發(fā)現(xiàn)的設(shè)備(例如,客戶端設(shè)備和/或第一屏幕設(shè)備120)相關(guān)聯(lián)的信息列表。與設(shè)備列表中的各個(gè)設(shè)備相關(guān)聯(lián)的信息可以包括:例如,在設(shè)備上運(yùn)行的特定應(yīng)用的應(yīng)用標(biāo)識(shí)符、與設(shè)備兼容的耦合協(xié)議、配對(duì)信息、或者其某個(gè)組合。
發(fā)現(xiàn)模塊420對(duì)第二屏幕應(yīng)用150執(zhí)行發(fā)現(xiàn)操作。發(fā)現(xiàn)模塊420向本地設(shè)備發(fā)送(例如,經(jīng)由wifi、bluetooth等)發(fā)現(xiàn)請(qǐng)求以識(shí)別可在本地發(fā)現(xiàn)的設(shè)備(例如,第一屏幕設(shè)備120和/或其它客戶端設(shè)備)。發(fā)現(xiàn)模塊420從任何發(fā)現(xiàn)的第一屏幕設(shè)備120接收發(fā)現(xiàn)信息。該發(fā)現(xiàn)信息包括發(fā)現(xiàn)的第一屏幕應(yīng)用140的應(yīng)用標(biāo)識(shí)符和可以用于與第一屏幕應(yīng)用140建立會(huì)話的耦合協(xié)議兩者。
發(fā)現(xiàn)模塊420利用接收到的發(fā)現(xiàn)信息來(lái)更新設(shè)備列表。發(fā)現(xiàn)模塊420針對(duì)與該發(fā)現(xiàn)信息相關(guān)聯(lián)的每個(gè)耦合協(xié)議向設(shè)備列表添加條目。因此,針對(duì)單個(gè)應(yīng)用標(biāo)識(shí)符可能存在多個(gè)條目(例如,[應(yīng)用標(biāo)識(shí)符x:dial;應(yīng)用標(biāo)識(shí)符x:cast…])。
發(fā)現(xiàn)模塊420從控制服務(wù)器130獲得與發(fā)現(xiàn)的第一屏幕設(shè)備120相關(guān)聯(lián)的配對(duì)信息。該配對(duì)信息是描述第一屏幕應(yīng)用140可能已經(jīng)與其手動(dòng)配對(duì)的任何客戶端設(shè)備。發(fā)現(xiàn)模塊420利用從控制服務(wù)器130接收到的配對(duì)信息來(lái)更新設(shè)備列表。發(fā)現(xiàn)模塊420針對(duì)在配對(duì)信息中識(shí)別到的每個(gè)手動(dòng)配對(duì)向設(shè)備列表添加條目。因此,針對(duì)單個(gè)應(yīng)用標(biāo)識(shí)符的耦合協(xié)議和/或手動(dòng)配對(duì)兩者可能存在多個(gè)條目(例如,[應(yīng)用標(biāo)識(shí)符x:dial;應(yīng)用標(biāo)識(shí)符x:cast;應(yīng)用標(biāo)識(shí)符x:與客戶端設(shè)備1的手動(dòng)配對(duì);應(yīng)用標(biāo)識(shí)符x:與客戶端設(shè)備2的手動(dòng)配對(duì);…])。
此外,在一些實(shí)施例中,發(fā)現(xiàn)模塊420可以生成對(duì)于客戶端設(shè)備100唯一的標(biāo)識(shí)符。響應(yīng)于從某個(gè)其它客戶端設(shè)備(例如,客戶端設(shè)備105)接收到發(fā)現(xiàn)請(qǐng)求,發(fā)現(xiàn)模塊420向進(jìn)行請(qǐng)求的客戶端設(shè)備提供該標(biāo)識(shí)符和可用于耦合至客戶端設(shè)備100的耦合協(xié)議列表。
去重模塊430通過(guò)使用更新的設(shè)備列表來(lái)執(zhí)行設(shè)備去重。去重模塊430通過(guò)應(yīng)用標(biāo)識(shí)符來(lái)收集更新的設(shè)備列表中的條目,并且然后為會(huì)話界面創(chuàng)建被映射至與該應(yīng)用標(biāo)識(shí)符相關(guān)聯(lián)的耦合協(xié)議和/或手動(dòng)配對(duì)的單個(gè)設(shè)備條目。
接口模塊440通過(guò)使用一個(gè)或者多個(gè)設(shè)備條目來(lái)生成會(huì)話界面。該會(huì)話界面是圖形用戶界面,通過(guò)該圖形用戶界面客戶端設(shè)備100可以發(fā)現(xiàn)與在其它設(shè)備(例如,第一屏幕設(shè)備130)上操作的應(yīng)用的會(huì)話和/或與該應(yīng)用建立會(huì)話。該會(huì)話界面向客戶端設(shè)備100的用戶呈現(xiàn)該設(shè)備條目中的一個(gè)或者多個(gè)設(shè)備條目。每個(gè)設(shè)備條目與單個(gè)第一屏幕設(shè)備120相關(guān)聯(lián)。在一些實(shí)施例中,替選地,可以將設(shè)備條目與某個(gè)其它客戶端設(shè)備(例如,客戶端設(shè)備105)相關(guān)聯(lián)。
響應(yīng)于接收到對(duì)特定設(shè)備(例如,第一屏幕設(shè)備120)的設(shè)備條目的選擇,耦合模塊350獲得與選擇的設(shè)備相關(guān)聯(lián)的應(yīng)用的應(yīng)用狀態(tài)。例如,耦合模塊350可以從控制服務(wù)器130獲得在選擇的第一屏幕設(shè)備120上運(yùn)行的第一屏幕應(yīng)用140的應(yīng)用狀態(tài)信息。該應(yīng)用狀態(tài)信息是描述以下的信息:第一屏幕應(yīng)用是否處于現(xiàn)有會(huì)話中,并且如果是,則描述在現(xiàn)有會(huì)話中使用什么耦合協(xié)議。
耦合模塊450通過(guò)使用接收到的應(yīng)用狀態(tài)信息和可用于客戶端設(shè)備100的耦合協(xié)議來(lái)確定耦合方案。例如,如果應(yīng)用狀態(tài)信息指示不存在現(xiàn)有會(huì)話,則耦合模塊450可以通過(guò)使用優(yōu)選協(xié)議來(lái)與第一屏幕應(yīng)用140建立會(huì)話。在一些實(shí)施例中,優(yōu)選協(xié)議是由客戶端設(shè)備100的用戶選擇的耦合協(xié)議。在替選實(shí)施例中,耦合模塊450基于可用于第一屏幕設(shè)備120和客戶端設(shè)備100兩者的耦合協(xié)議來(lái)選擇向客戶端設(shè)備100的用戶提供最多控制的優(yōu)選耦合協(xié)議。例如,假設(shè)dial和cast是可用耦合協(xié)議,則耦合模塊450可以選擇cast作為耦合協(xié)議,因?yàn)閏ast相比dial耦合協(xié)議會(huì)提供附加量調(diào)節(jié)控制。此外,在不存在現(xiàn)有會(huì)話并且可用于客戶端設(shè)備105的耦合協(xié)議與可用于第一屏幕設(shè)備120的耦合協(xié)議不同的實(shí)施例中,耦合模塊450通過(guò)控制服務(wù)器130來(lái)間接地耦合至第一屏幕應(yīng)用140。
在應(yīng)用狀態(tài)信息指示第一屏幕設(shè)備120通過(guò)使用特定耦合協(xié)議處于與另一客戶端設(shè)備(例如,客戶端設(shè)備105)的現(xiàn)有會(huì)話中的實(shí)施例中,耦合模塊450確定該特定耦合協(xié)議是否還可用于客戶端設(shè)備100(即,客戶端設(shè)備100支持該耦合協(xié)議)。如果支持該耦合協(xié)議,則耦合模塊450通過(guò)使用該特定耦合協(xié)議來(lái)耦合至第一屏幕應(yīng)用140。如果該特定耦合協(xié)議不可用(即,客戶端設(shè)備100不支持該特定耦合協(xié)議),則該耦合協(xié)議經(jīng)由控制服務(wù)器130來(lái)耦合至?xí)?。在這種情況下,由于客戶端設(shè)備100通過(guò)使用客戶端設(shè)備100所支持的協(xié)議來(lái)耦合至控制服務(wù)器130并且控制服務(wù)器130然后通過(guò)使用該特定耦合協(xié)議來(lái)耦合至該會(huì)話,所以從這種意義上,與該會(huì)話的耦合是間接的。在任一情況下,客戶端設(shè)備100都經(jīng)由在現(xiàn)有會(huì)話中使用的特定耦合協(xié)議來(lái)加入該現(xiàn)有會(huì)話。因此,客戶端設(shè)備100能夠在不中斷現(xiàn)有會(huì)話的情況下有效地加入現(xiàn)有會(huì)話,如果試圖通過(guò)使用與在現(xiàn)有會(huì)話中使用的耦合協(xié)議不同的耦合協(xié)議來(lái)耦合至現(xiàn)有會(huì)話,則該中斷可能會(huì)發(fā)生。
圖5是圖示了根據(jù)一個(gè)實(shí)施例的、作為設(shè)備發(fā)現(xiàn)的一部分的執(zhí)行設(shè)備去重的過(guò)程的流程圖。在一個(gè)實(shí)施例中,由客戶端設(shè)備100來(lái)執(zhí)行圖5的過(guò)程。在其它實(shí)施例中,其它實(shí)體可以執(zhí)行該過(guò)程的步驟中的一些或者所有步驟。同樣,實(shí)施例可以包括不同的步驟和/或附加步驟,或者按照不同的順序來(lái)執(zhí)行該步驟。
客戶端設(shè)備100發(fā)現(xiàn)在第一屏幕設(shè)備120上操作的第一屏幕應(yīng)用140和用于耦合至第一屏幕設(shè)備120的可用耦合協(xié)議(510)。例如,客戶端設(shè)備100可以經(jīng)由例如,bluetooth、wifi等來(lái)向外發(fā)送一個(gè)或者多個(gè)發(fā)現(xiàn)請(qǐng)求。發(fā)現(xiàn)的第一屏幕設(shè)備120向客戶端設(shè)備100提供包括應(yīng)用標(biāo)識(shí)符和第一屏幕設(shè)備120所支持的可用耦合協(xié)議的發(fā)現(xiàn)信息。
客戶端設(shè)備通過(guò)使用與第一屏幕設(shè)備120相關(guān)聯(lián)的信息(例如,發(fā)現(xiàn)信息中的一些或者所有信息)和可用耦合協(xié)議來(lái)更新設(shè)備列表(520)??蛻舳嗽O(shè)備100針對(duì)每個(gè)耦合協(xié)議向該設(shè)備列表添加條目,使得每個(gè)條目還與該應(yīng)用標(biāo)識(shí)符相關(guān)聯(lián)。因此,針對(duì)單個(gè)應(yīng)用標(biāo)識(shí)符可能存在多個(gè)條目(例如,[應(yīng)用標(biāo)識(shí)符x:dial;應(yīng)用標(biāo)識(shí)符x:cast]。
客戶端設(shè)備100針對(duì)第一屏幕設(shè)備120從控制服務(wù)器130獲得配對(duì)信息(530)。例如,客戶端設(shè)備100可以向控制服務(wù)器130請(qǐng)求與第一屏幕應(yīng)用140和/或第一屏幕設(shè)備120相關(guān)聯(lián)的配對(duì)信息。從控制服務(wù)器130接收到的配對(duì)信息描述第一屏幕應(yīng)用140可能已經(jīng)與其手動(dòng)配對(duì)的任何設(shè)備(例如,客戶端設(shè)備105)??蛻舳嗽O(shè)備100通過(guò)使用配對(duì)信息來(lái)更新該設(shè)備列表(540)。因?yàn)榭蛻舳嗽O(shè)備100針對(duì)與手動(dòng)配對(duì)相關(guān)聯(lián)的每個(gè)應(yīng)用標(biāo)識(shí)符向設(shè)備列表添加條目,所以,針對(duì)單個(gè)應(yīng)用標(biāo)識(shí)符可能存在多個(gè)條目。例如,設(shè)備列表可以包含針對(duì)與相同的應(yīng)用標(biāo)識(shí)符相關(guān)聯(lián)的耦合協(xié)議和手動(dòng)配對(duì)兩者的條目(例如,[應(yīng)用標(biāo)識(shí)符x:dial;應(yīng)用標(biāo)識(shí)符x:cast;應(yīng)用標(biāo)識(shí)符x:與設(shè)備1的手動(dòng)配對(duì);應(yīng)用標(biāo)識(shí)符x:與設(shè)備2的手動(dòng)配對(duì);…])。
客戶端設(shè)備100通過(guò)使用更新的設(shè)備列表來(lái)執(zhí)行設(shè)備去重(540)。客戶端設(shè)備100通過(guò)應(yīng)用標(biāo)識(shí)符來(lái)收集設(shè)備列表中的條目,并且然后在會(huì)話界面中創(chuàng)建被映射至與該應(yīng)用標(biāo)識(shí)符相關(guān)聯(lián)的耦合協(xié)議的單個(gè)設(shè)備條目。客戶端設(shè)備100將包括第一屏幕設(shè)備120的單個(gè)設(shè)備條目連同先前已經(jīng)發(fā)現(xiàn)的任何其它設(shè)備條目的會(huì)話界面呈現(xiàn)給用戶。因此,由該會(huì)話界面呈現(xiàn)的設(shè)備條目列表是設(shè)備的去重列表,在該列表中每個(gè)條目與不同的設(shè)備相對(duì)應(yīng)。
圖6是圖示了根據(jù)一個(gè)實(shí)施例的、用于在第一屏幕應(yīng)用與第二屏幕應(yīng)用之間建立會(huì)話的過(guò)程的流程圖。在一個(gè)實(shí)施例中,由客戶端設(shè)備100來(lái)執(zhí)行圖6的過(guò)程。在其它實(shí)施例中,其它實(shí)體可以執(zhí)行該過(guò)程的步驟中的一些或者所有步驟。同樣,實(shí)施例可以包括不同的步驟和/或附加步驟,或者按照不同的順序來(lái)執(zhí)行該步驟。
客戶端設(shè)備100向客戶端設(shè)備100的用戶呈現(xiàn)在用戶界面中的設(shè)備的去重列表??梢酝ㄟ^(guò)使用例如上面參照?qǐng)D5描述的過(guò)程來(lái)生成該去重列表。
客戶端設(shè)備100接收對(duì)利用其參與會(huì)話的列出的設(shè)備的選擇(620)。在一些實(shí)施例中,該會(huì)話可以是例如視頻顯示會(huì)話。在該場(chǎng)境中,參與可以指代加入與選擇的設(shè)備的現(xiàn)有會(huì)話或者與選擇的設(shè)備建立會(huì)話。
客戶端設(shè)備100從控制服務(wù)器130獲得在選擇的設(shè)備上的第一屏幕應(yīng)用140的應(yīng)用狀態(tài)(630)??蛻舳嗽O(shè)備基于該應(yīng)用狀態(tài)和可用于客戶端設(shè)備100和第一屏幕設(shè)備100兩者的耦合協(xié)議來(lái)確定耦合方案(640)。在應(yīng)用狀態(tài)指示不存在現(xiàn)有會(huì)話的實(shí)施例中,客戶端設(shè)備100通過(guò)使用可用于客戶端應(yīng)用100和第一屏幕應(yīng)用120兩者的優(yōu)選耦合協(xié)議(例如,向客戶端設(shè)備100的用戶提供最多控制的優(yōu)選耦合協(xié)議)來(lái)耦合至第一屏幕應(yīng)用140(650)。在應(yīng)用狀態(tài)指示第一屏幕應(yīng)用140處于與客戶端設(shè)備105的現(xiàn)有會(huì)話中并且該會(huì)話正使用特定耦合協(xié)議的實(shí)施例中,客戶端設(shè)備100然后確定客戶端設(shè)備100是否也支持該特定耦合協(xié)議。如果支持,則客戶端設(shè)備100經(jīng)由該特定耦合協(xié)議來(lái)耦合至現(xiàn)有會(huì)話(650)。否則,客戶端設(shè)備100經(jīng)由控制服務(wù)器130來(lái)間接地耦合至現(xiàn)有會(huì)話,其中,客戶端設(shè)備100和控制服務(wù)器130通過(guò)使用客戶端設(shè)備100所支持的耦合協(xié)議來(lái)進(jìn)行通信,并且控制服務(wù)器130和第一屏幕應(yīng)用140經(jīng)由在現(xiàn)有會(huì)話中正使用的特定耦合協(xié)議來(lái)進(jìn)行耦合。
現(xiàn)在轉(zhuǎn)向?qū)蛻舳嗽O(shè)備100、105、第一屏幕設(shè)備120、和/或控制服務(wù)器130的實(shí)施方式的討論,圖7是圖示了用于實(shí)現(xiàn)在圖1中示出的實(shí)體的示例計(jì)算機(jī)700的框圖。計(jì)算機(jī)700包括耦合至芯片集704的至少一個(gè)處理器702。芯片集704包括存儲(chǔ)器控制器集線器720和輸入/輸出(i/o)控制器集線器722。存儲(chǔ)器706和圖形適配器712耦合至存儲(chǔ)器控制器集線器720,并且顯示器718耦合至圖形適配器712。存儲(chǔ)設(shè)備708、輸入設(shè)備714、和網(wǎng)絡(luò)適配器716耦合至i/o控制器集線器722。計(jì)算機(jī)700的其它實(shí)施例具有不同的架構(gòu)。
存儲(chǔ)設(shè)備708是非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),諸如硬盤(pán)驅(qū)動(dòng)器、光盤(pán)只讀存儲(chǔ)器(cd-rom)、dvd、或者固態(tài)存儲(chǔ)器設(shè)備。存儲(chǔ)器706保持由處理器702使用的指令和數(shù)據(jù)。輸入界面714是觸摸屏界面、鼠標(biāo)、軌跡球、或者其它類(lèi)型的指示設(shè)備、鍵盤(pán)、或者其某個(gè)組合,并且用于向計(jì)算機(jī)700輸入數(shù)據(jù)。在一些實(shí)施例中,可以將計(jì)算機(jī)700配置為經(jīng)由來(lái)自用戶的手勢(shì)來(lái)從輸入界面714接收輸入(例如,命令)。圖形適配器712在顯示器718上顯示圖像和其它信息。網(wǎng)絡(luò)適配器716將計(jì)算機(jī)700耦合至一個(gè)或者多個(gè)計(jì)算機(jī)網(wǎng)絡(luò)。
計(jì)算機(jī)700適用于執(zhí)行用于提供本文描述的功能的計(jì)算機(jī)程序模塊。如本文使用的,術(shù)語(yǔ)“模塊”指代用于提供指定功能的計(jì)算機(jī)程序邏輯。因此,可以在硬件、固件、和/或軟件中實(shí)現(xiàn)模塊。在一個(gè)實(shí)施例中,將程序模塊存儲(chǔ)在存儲(chǔ)設(shè)備708上,加載到存儲(chǔ)器706中,并且由處理器702來(lái)執(zhí)行。
由圖1的實(shí)體使用的計(jì)算機(jī)700的類(lèi)型可以根據(jù)實(shí)施例和實(shí)體所要求的處理能力而變化。在一些實(shí)施例中,客戶端設(shè)備100可以與一起工作的一個(gè)或者多個(gè)服務(wù)器進(jìn)行交互以提供本文描述的功能。例如,控制服務(wù)器130可以包括諸如服務(wù)器群中的多個(gè)計(jì)算機(jī)700,該多個(gè)計(jì)算機(jī)700通過(guò)網(wǎng)絡(luò)來(lái)彼此通信以提供本文描述的功能。計(jì)算機(jī)700可以不具有上面描述的組件,諸如,圖形適配器712、和顯示器718。
其它考慮
上述描述中的一些部分在算法過(guò)程或者操作方面描述了實(shí)施例。這些算法描述和表示通常是由數(shù)據(jù)處理領(lǐng)域的技術(shù)人員用來(lái)有效地將他們的工作實(shí)質(zhì)傳達(dá)給本領(lǐng)域的其他技術(shù)人員。雖然從功能上、計(jì)算上、或者邏輯上描述了這些操作,但是這些操作被理解為由計(jì)算機(jī)程序?qū)崿F(xiàn),該計(jì)算機(jī)程序包括用于由處理器或者等效電子電路執(zhí)行的指令、微代碼等。此外,還已經(jīng)證明將功能操作的這些布置稱為模塊有時(shí)是便利的,而不會(huì)丟失一般性??梢詫⒚枋龅牟僮骱退鼈兿嚓P(guān)聯(lián)的模塊以軟件、固件、硬件、或者其任何組合實(shí)施。
如本文使用的,對(duì)“一個(gè)實(shí)施例”或者“實(shí)施例”的提及指代結(jié)合該實(shí)施例描述的特定元素、介質(zhì)特征、結(jié)構(gòu)、或者特性包括在至少一個(gè)實(shí)施例中。在本說(shuō)明的各處的短語(yǔ)“在一個(gè)實(shí)施例中”的出現(xiàn)不一定都指代相同的實(shí)施例。
可以通過(guò)使用表達(dá)“耦合(coupled)”和“連接(connected)”以及它們的生詞來(lái)描述一些實(shí)施例。應(yīng)該理解,這些術(shù)語(yǔ)不意圖作為彼此的同義詞。例如,可以通過(guò)使用術(shù)語(yǔ)“連接”來(lái)描述一些實(shí)施例以指示兩個(gè)或者更多個(gè)元素彼此直接地物理接觸或者電接觸。在另一示例中,可以通過(guò)使用術(shù)語(yǔ)“耦合”來(lái)描述一些實(shí)施例以指示兩個(gè)或者更多個(gè)元素直接地物理接觸或者電接觸。然而,術(shù)語(yǔ)“耦合”還可以意指兩個(gè)或者更多個(gè)元素彼此不直接接觸,但是仍然彼此協(xié)作或者交互。實(shí)施例不限于該場(chǎng)境。
如本文使用的,術(shù)語(yǔ)“包括”、“包含”、“具有”或者其任何其它變型旨在涵蓋非排他性包含。例如,包括元素列表的過(guò)程、方法、物品、或者裝置不一定僅限于那些元素,而是可以包括未明確列出的或者這樣的過(guò)程、方法、物品、或者裝置固有的其它元素。進(jìn)一步地,除非明確相反陳述,否則“或者”指代包容性的或者,并且不指代排他性的或者。例如,以下情況中的任何一個(gè)情況滿足條件a或者b:a為真(或者存在)并且b為假(或者不存在)、a為假(或者不存在)并且b為真(或者存在)、以及a和b二者均為真(或者存在)。
另外,采用對(duì)“一個(gè)”或者“一”的使用以描述本文中的實(shí)施例的元素和組件。這樣做只是為了方便起見(jiàn),并且給出本公開(kāi)的一般意義。該描述應(yīng)該被理解為包括一個(gè)或者至少一個(gè),并且單數(shù)也包括復(fù)數(shù),除非其明顯地表達(dá)相反含義。
在閱讀本公開(kāi)后,本領(lǐng)域的技術(shù)人員會(huì)理解用于促進(jìn)客戶端設(shè)備與第一屏幕設(shè)備的互操作性的系統(tǒng)和過(guò)程的附加替選結(jié)構(gòu)和功能設(shè)計(jì)。因此,雖然已經(jīng)圖示并且描述了特定實(shí)施例和應(yīng)用,但是要明白,描述的主題不限于本文公開(kāi)的確切構(gòu)造和組件,并且可以對(duì)本文公開(kāi)的布置、操作和方法細(xì)節(jié)以及裝置進(jìn)行對(duì)本領(lǐng)域的技術(shù)人員而言是顯而易見(jiàn)的各種修改、變化和變型。