隨著最近的發(fā)展,由在一個空間中的一個或多個人使用的設(shè)備的數(shù)量顯著增加。此外,可以在這些設(shè)備上使用的應(yīng)用的數(shù)量也顯著增加。例如,在單個家庭中,除了計算機(jī)、膝上型電腦、照相機(jī)以及很多其它設(shè)備以外,還可以有在不同的操作系統(tǒng)上運(yùn)行很多不同的應(yīng)用的多個高級移動或手持式計算設(shè)備(例如,智能電話、平板電腦等)。
隨著計算機(jī)和計算機(jī)系統(tǒng)的出現(xiàn),用戶擔(dān)負(fù)得起用于管理各種類型的文檔、各種類型的數(shù)據(jù)、日歷信息、聯(lián)系信息等的有用技術(shù)。用戶能夠創(chuàng)建并共享有用的演示、圖表、圖像等。
這些計算平臺可以具有不同的操作系統(tǒng)。例如,移動計算設(shè)備可以包括在移動處理器上運(yùn)行的移動操作系統(tǒng)(“OS”)。例如,一些智能電話運(yùn)行Google的Android操作系統(tǒng)。Android運(yùn)行被特別開發(fā)以在Android操作系統(tǒng)上運(yùn)行的應(yīng)用。此外,這些設(shè)備被配備有用于應(yīng)用的一組不同的通信接口。
附圖說明
在以下具體實施方式中并參考附圖描述了示例,在附圖中:
圖1示出了根據(jù)本公開內(nèi)容的實施方式的示例性顯示單元的示意圖;
圖2A和圖2B示出了根據(jù)實施方式的顯示單元的顯示屏的示例性接口;
圖3示出了根據(jù)實施方式的用于顯示多個實例的示例性系統(tǒng);并且
圖4和圖5示出了根據(jù)實施方式的示例性過程流程圖。
具體實施方式
本公開內(nèi)容的各種方面涉及多個設(shè)備的單個顯示系統(tǒng)。更具體地并且如以下更詳細(xì)描述的,本公開內(nèi)容的各個方面涉及一種方式,通過該方式,在相同或不同的操作系統(tǒng)中操作的多個設(shè)備可以在一個屏幕上顯示,同時允許與設(shè)備的遠(yuǎn)程交互。
在本文中所述的本公開內(nèi)容的方面公開允許用戶顯示來自多個設(shè)備的內(nèi)容。除了其它事情以外,這種方法允許通過一個屏幕與多個設(shè)備的遠(yuǎn)程交互。用戶可以使用觸摸手勢來在同一顯示器上控制所有設(shè)備。此外,在本文中所描述的本公開內(nèi)容的方面允許操作系統(tǒng)的多個實例在統(tǒng)一視圖中同時被顯示,其中每個實例可以彼此交互。除了其它事情以外,這種方法還可以提供使用單個屏幕的靈活性,單個屏幕并不被限制為只顯示彼此兼容的設(shè)備或應(yīng)用。
在根據(jù)本公開內(nèi)容的一個示例中,提供了用于管理多個實例的方法。該方法包括在顯示單元與多個設(shè)備之間建立連接,其中多個實例在多個設(shè)備上運(yùn)行;以及在顯示單元的顯示屏上同時顯示多個實例。
在根據(jù)本公開內(nèi)容的另一個示例中,提供了一種系統(tǒng)。該系統(tǒng)包括:用于管理顯示單元的操作引擎、用于建立在顯示單元與運(yùn)行多個實例的多個設(shè)備之間的連接的網(wǎng)絡(luò)引擎、用于在顯示單元上創(chuàng)建窗口以顯示多個實例的窗口引擎、用于允許在顯示單元上顯示的多個實例的遠(yuǎn)程操作的遠(yuǎn)程操作引擎、以及用于管理在顯示單元上顯示的多個實例之間的交互的交互引擎。
在根據(jù)本公開內(nèi)容的另外示例中,提供了非暫態(tài)計算機(jī)可讀介質(zhì)。非暫態(tài)計算機(jī)可讀介質(zhì)包括指令,所述指令在被執(zhí)行時使設(shè)備(ⅰ)在顯示單元與多個設(shè)備之間建立連接,其中多個實例在多個設(shè)備上運(yùn)行;以及(Ⅱ)在顯示單元的顯示屏上同時顯示多個實例。
圖1是連接到多個設(shè)備160-190的示例性顯示單元100的示意圖。應(yīng)顯而易見的是,本說明不應(yīng)被解釋為由圖1所示的這個特定的說明性架構(gòu)限制,并且顯示單元100代表一般化說明,并且可以添加其它元件或可以用很多方式去除、修改或重新布置所示元件。
顯示單元100包括但可以不限于處理器110(例如,中央處理單元、微處理器、微控制器、或另一種適合的可編程設(shè)備)、顯示屏120、存儲器單元130、輸入接口140、以及通信接口150。顯示單元100的這些部件或任何附加部件中的每個部件操作地耦合到總線105。總線105可以是包括存儲器總線或存儲器控制器的幾種類型的總線結(jié)構(gòu)中的任何一種、外圍總線、以及使用各種總線架構(gòu)中的任何一種的本地總線。在其它示例中,顯示單元100包括用于執(zhí)行本文中所述的類似功能的附加、更少或不同的部件。
處理器110包括控制單元112,并且可以使用任何適合類型的處理系統(tǒng)來實施,其中至少一個處理器執(zhí)行存儲在存儲器130中的計算機(jī)可讀指令。處理器110可以是例如中央處理單元(CPU)、基于半導(dǎo)體的微處理器、專用集成電路(ASIC)、被配置為檢索并執(zhí)行指令的現(xiàn)場可編程門陣列(FPGA)、適合于在計算機(jī)可讀存儲介質(zhì)(例如,存儲器130)上存儲的檢索和執(zhí)行指令的其它電子電路、或其組合。在一個實施方式中,附加的CPU可以被插入顯示單元120中以按比例縮放該單元以支持更多的實例。例如,處理器110可以支持一個本地實例并且多達(dá)3個遠(yuǎn)程實例。3個附加的模塊可以連接到顯示單元120,這將允許提供對3個本地實例和多達(dá)9個遠(yuǎn)程實例的支持。
機(jī)器可讀介質(zhì)130可以是存儲機(jī)器可讀指令、代碼、數(shù)據(jù)和/或其它信息的非暫態(tài)計算機(jī)可讀介質(zhì)。指令在被處理器110(例如,經(jīng)由處理器的一個處理元件或多個處理元件)執(zhí)行時可以使處理器110執(zhí)行本文中所述的過程。
此外,計算機(jī)可讀介質(zhì)130可以參與向處理器110提供指令用于執(zhí)行。機(jī)器可讀介質(zhì)130可以是非易失性存儲器、易失性存儲器和/或一個或多個存儲設(shè)備中的一種或多種。非易失性存儲器的示例包括但不限于電可擦除可編程只讀存儲器(EEPROM)和只讀存儲器(ROM)。易失性存儲器的示例包括但不限于靜態(tài)隨機(jī)存取存儲器(SRAM)和動態(tài)隨機(jī)存取存儲器(DRAM)。存儲設(shè)備的示例包括但不限于硬盤驅(qū)動器、光盤驅(qū)動器、數(shù)字多功能盤驅(qū)動器、光學(xué)設(shè)備、以及閃速存儲器設(shè)備。如以上更詳細(xì)討論的,處理器110可以與可以包括暫態(tài)和/或永久性儲存器的組合的機(jī)器可讀介質(zhì)130進(jìn)行通信。機(jī)器可讀介質(zhì)130可以包括程序存儲器,其包括所有程序和軟件,例如操作系統(tǒng)、用戶檢測軟件部件和任何其它應(yīng)用軟件程序。機(jī)器可讀介質(zhì)130還可以包括數(shù)據(jù)存儲器,數(shù)據(jù)存儲器可以包括多播組信息、各種表格設(shè)置、以及ASIC的任何元件所需的任何其它數(shù)據(jù)。
處理器110包括控制單元115并且可以使用任何適合類型的處理系統(tǒng)來實施,其中至少一個處理器執(zhí)行存儲在存儲器130中的計算機(jī)可讀指令。
通信接口150使顯示單元100能夠與多個網(wǎng)絡(luò)和通信鏈路進(jìn)行通信。在一些示例中,顯示單元100的通信接口可以包括接口、藍(lán)牙接口、3G接口、4G接口、近場通信(NFC)接口、和/或允許計算設(shè)備經(jīng)由一個或多個網(wǎng)絡(luò)進(jìn)行通信的任何其它適合的接口。網(wǎng)絡(luò)可以包括任何適合類型或配置的網(wǎng)絡(luò)以允許顯示單元100與任何外部系統(tǒng)或設(shè)備(例如,設(shè)備160-190)進(jìn)行通信。
輸入接口140可以處理來自與顯示單元100通信的各種外部系統(tǒng)、設(shè)備(例如,設(shè)備160-190)和網(wǎng)絡(luò)的信息。例如,輸入接口140包括應(yīng)用程序接口145。在其它示例中,輸入接口140可以包括附加的接口。更具體地,應(yīng)用程序接口145從設(shè)備160-190接收內(nèi)容或數(shù)據(jù)(例如,視頻、圖像、數(shù)據(jù)分組、圖形等)。
顯示屏120可以是透明液晶顯示器(LCD)、有機(jī)發(fā)光二極管(OLED)顯示器、等離子體顯示器、或任何其它適合的顯示器。顯示屏120在顯示屏120上所示的窗口上顯示來自被傳送到顯示單元100的一個或多個應(yīng)用的內(nèi)容。在一個實施方式中,顯示屏120包括各種顯示特性,例如分辨率、顯示像素密度、顯示定向和/或顯示高寬比。顯示屏120可以具有不同的尺寸,并且可以支持各種類型的顯示分辨率,其中顯示分辨率是以可以在顯示屏120上顯示的每個尺寸的不同像素的數(shù)量。例如,顯示屏120可以支持1920×1080的高顯示分辨率或任何其它適合的顯示分辨率。當(dāng)顯示屏支持1920×1080顯示分辨率時,1920是跨顯示器120的高度的像素的總數(shù)量,并且1080是跨顯示器120的高度的像素的總數(shù)量。
如以上所討論的,顯示單元100可以經(jīng)由HDMI、Wi-Fi、藍(lán)牙、通過局部網(wǎng)絡(luò)或通過互聯(lián)網(wǎng)云連接到設(shè)備160-190。設(shè)備160-190可以是計算設(shè)備,其包括具有鍵盤/電池部分和顯示屏部分的各種計算設(shè)備的其中之一。計算設(shè)備可以包括但不限于各種臺式電腦、平板電腦、智能電話、手表和其它類似的設(shè)備中的任何一種。這些設(shè)備可以作為固定計算設(shè)備(例如,個人計算機(jī)(即臺式電腦)、服務(wù)器計算機(jī)、膝上型計算機(jī)(具有永久附著的顯示屏)、全合一設(shè)備、以及擁有可比較的特性的其它類似的設(shè)備)來進(jìn)行操作。在其它實施方式中,這些設(shè)備可以是手持式設(shè)備,例如平板電腦和智能電話。
在一個實施方式中,設(shè)備160-190中的至少一個設(shè)備可以運(yùn)行移動應(yīng)用,移動應(yīng)用包括被開發(fā)和設(shè)計成在移動設(shè)備、敞篷車(convertible)、計算機(jī)和其它計算設(shè)備上運(yùn)行的各種軟件應(yīng)用的其中之一。移動應(yīng)用頻繁地用于給用戶提供與在個人計算機(jī)上被訪問的服務(wù)類似的服務(wù),并通常可通過應(yīng)用分配平臺得到。例如,移動應(yīng)用可以包括社交媒體平臺,例如Twitter、YouTube、Brightcove、Facebook和Tumblr以及即時消息傳送。社交媒體平臺可以包括支持在用戶之間的電子社交交互并且還提供電子內(nèi)容的共享的服務(wù)或論壇。例如,電子內(nèi)容可以采用被張貼到社交媒體服務(wù)并隨后由社交媒體服務(wù)的一個或多個用戶觀看并評論的視頻的形式。
在一個實施方式中,設(shè)備可以運(yùn)行使用設(shè)備的功率運(yùn)行的操作系統(tǒng)的實例。例如,設(shè)備160可以是臺式計算機(jī),其包括處理器、存儲器和儲存器。設(shè)備160可以利用臺式電腦的資源(例如,處理器、存儲器)在Windows操作系統(tǒng)上運(yùn)行字文檔程序的實例。這樣的實例可以被稱為遠(yuǎn)程實例。遠(yuǎn)程實例需要與顯示單元100連接的能力,以便于發(fā)起設(shè)備之間的交互,遠(yuǎn)程實例從所述設(shè)備傳送到顯示單元100。例如,實例可以在設(shè)備160上運(yùn)行。可以建立與設(shè)備160和顯示單元100的連接,以便于在顯示單元100上顯示來自設(shè)備160的實例。
為了實現(xiàn)設(shè)備與顯示單元100之間的這個連接,顯示單元100可以與設(shè)備160配對。在一個實施方式中,設(shè)備160可以與顯示單元100配對。這樣的配對被執(zhí)行一次,這安裝應(yīng)用并授權(quán)設(shè)備160。從此以后,除了在設(shè)備160與顯示單元100之間的數(shù)據(jù)的同步以外,所安裝的應(yīng)用還提供連接。
為了實現(xiàn)設(shè)備160與顯示單元100的配對,可以經(jīng)由任何連接機(jī)制(例如Wi-Fi、網(wǎng)絡(luò)、藍(lán)牙)或使用近場通信(NFC)來連接設(shè)備160和顯示單元100。例如,可以在顯示單元100上實施接收器,并且當(dāng)設(shè)備160在NFC范圍內(nèi)移動時,顯示單元100可以自動檢測設(shè)備160并與設(shè)備160配對,設(shè)備160發(fā)起來自設(shè)備160的實例在顯示屏120上的顯示。在另一實施方式中,顯示單元100可以具有藍(lán)牙低能量信標(biāo),其可以用于自動識別藍(lán)牙區(qū)內(nèi)的設(shè)備(例如,設(shè)備160)。在那一點(diǎn)上,顯示單元100可以將消息發(fā)送到設(shè)備160以自動與其配對。在另外的實施方式中,顯示單元100可以具有QR代碼,并且設(shè)備160可以用于采集QR代碼的圖像以發(fā)起配對。在另一個實施方式中,與顯示單元100有關(guān)的公共或私人網(wǎng)絡(luò)服務(wù)器(例如,互聯(lián)網(wǎng)的URL)可以用于注冊設(shè)備160,這將發(fā)起TCP或套接字(socket)連接。
在另一個實施方式中,在與顯示單元100配對之后,設(shè)備160可以開始在顯示單元100上流式傳送設(shè)備160的實例。這可以被稱為鏡像。此外,在顯示單元100上顯示的經(jīng)鏡像的遠(yuǎn)程實例可以遠(yuǎn)程地被操作。更具體地,如果設(shè)備160的用戶選擇開始設(shè)備160上的新應(yīng)用,則用戶可以通過提供輸入(例如觸摸顯示屏120并操作設(shè)備160的遠(yuǎn)程實例)來直接與顯示單元進(jìn)行交互。這個交互導(dǎo)致使用顯示單元作為多個用戶之間的合作平臺的選擇。
在另一個實施方式中,設(shè)備可以使用顯示單元100的功率來運(yùn)行操作系統(tǒng)的實例。例如,設(shè)備170可以是平板電腦并可利用顯示單元100的資源(例如處理器、存儲器)而非平板電腦的資源來在Android操作系統(tǒng)上運(yùn)行實例。此外,設(shè)備180可以是不具有處理器或儲存器的手表。設(shè)備180可以利用顯示單元100的資源來運(yùn)行。手表的虛擬表示可以顯示在顯示單元100的顯示屏上,并且被認(rèn)為是所示的本地實例的手表的這個實例可以由顯示單元100的資源提供動力。
圖2A和2B示出了圖1的顯示單元100的顯示屏120的示例。如圖2A中所示,多個本地和遠(yuǎn)程實例顯示在顯示單元100的顯示屏120上,并且這些實例可以同時從多個設(shè)備(例如設(shè)備160-190)傳送。例如,設(shè)備170可以將一個本地實例220和一個遠(yuǎn)程實例210流式傳送到顯示單元100。同時,設(shè)備180可以將一個本地實例230和一個遠(yuǎn)程實例240流式傳送到顯示單元100。附加地,來自設(shè)備170的實例可以運(yùn)行Android,并且來自設(shè)備180的實例可以運(yùn)行Windows PC。所有這些實例可以同時顯示在顯示單元100上。應(yīng)顯而易見的,當(dāng)前說明不應(yīng)被解釋為由圖2A和2B中所示的這個特定的說明性架構(gòu)限制,并且顯示屏120表示一般化說明,并且可以添加其它元件或可以用很多方式去除、修改或重新布置所示元件。例如,兩個遠(yuǎn)程實例和兩個本地實例被示為示例,并且在另一個實施方式中可以示出更多或更少數(shù)量的遠(yuǎn)程或本地實例。
在一個實施方式中,來自多個設(shè)備的多個操作系統(tǒng)的所投射的實例210-240能夠通過在顯示單元100上執(zhí)行的命令彼此交互。這由安裝在每個實例的操作系統(tǒng)中的軟件實現(xiàn)。更具體地,在一個實施方式中,用戶可以將文件212從設(shè)備170的遠(yuǎn)程實例210拖到設(shè)備180的遠(yuǎn)程實例240。當(dāng)用戶將文件212拖到遠(yuǎn)程實例210的窗口之外時,發(fā)起應(yīng)用212的傳輸。文件212被上傳到公共位置。在一個示例中,公共位置可以是本地儲存器。在另一個示例中,公共位置可以是云。消息被發(fā)送到設(shè)備170和180,設(shè)備170和180為在完成傳輸時傳輸?shù)膮⑴c者。在那一點(diǎn)上,作為目的地/目標(biāo)設(shè)備的設(shè)備180可以開始從公共位置下載文件212。圖2B示出了顯示屏120,顯示屏120示出了從遠(yuǎn)程實例210移動到遠(yuǎn)程實例240的文件212。
圖3示出了經(jīng)由系統(tǒng)350來管理來自多個設(shè)備的多個實例的顯示單元300的示例。圖3中所示的系統(tǒng)350包括用于實施本文中所述的功能的各種引擎。系統(tǒng)300可以包括至少一個操作引擎310、網(wǎng)絡(luò)引擎320、窗口引擎330、引擎335和應(yīng)用引擎345。盡管各種引擎310-345在圖3中被示為單獨(dú)的引擎,但在其它實施方式中,引擎310-345中的所有引擎或子集的功能可以被實施為單個引擎。
系統(tǒng)300的引擎中的每個引擎可以是硬件和編程的任何適合的組合以實施相應(yīng)的引擎的功能。硬件和編程的這樣的組合可以用多種不同的方式實施。例如,引擎的編程可以是存儲在非暫態(tài)機(jī)器可讀存儲介質(zhì)上存儲的處理器可執(zhí)行指令,并且引擎的硬件可以包括處理資源以執(zhí)行那些指令。在這樣的示例中,機(jī)器可讀存儲介質(zhì)可以存儲指令,指令在由處理資源執(zhí)行時實施系統(tǒng)200。存儲指令的機(jī)器可讀存儲介質(zhì)可以集成在包括處理資源的計算設(shè)備中以執(zhí)行指令,或者機(jī)器可讀存儲介質(zhì)可以是單獨(dú)的,但計算設(shè)備和處理資源是可訪問的。處理資源可以包括被包括在單個計算設(shè)備中或跨多個計算設(shè)備分布的一個處理器或多個處理器。在其它示例中,可以采用電子電路的形式實施引擎中的任一個引擎的功能。
操作引擎310操縱操作系統(tǒng),例如Android以及任何其它適合的操作系統(tǒng)。操作系統(tǒng)可以是多用戶、多處理、多任務(wù)、多線程和實時的。在一個實施方式中,操作系統(tǒng)在存儲器(例如,如圖1中所示的存儲器130)中進(jìn)行存儲,執(zhí)行與顯示單元300的使用和操作有關(guān)的各種任務(wù)。這樣的任務(wù)可以包括:顯示單元300的各種硬件部件的安裝和協(xié)調(diào);與來自顯示器中的各種設(shè)備的實例有關(guān)的操作;識別來自用戶的輸入,例如在顯示屏上的觸摸;記錄存儲器(例如,如圖1中所示的存儲器130)上的文件和目錄;以及管理總線上的流量(例如,如圖1中所示)。
網(wǎng)絡(luò)引擎220包括用于建立并維持設(shè)備連接的各種部件,例如用于實施通信協(xié)議(包括TCP/IP、HTTP、和)的計算機(jī)可讀指令。網(wǎng)絡(luò)引擎220支持顯示單元300與提供實例以顯示在顯示單元300上的各種設(shè)備之間的配對過程。
此外,系統(tǒng)可以包括各種部件,例如窗口引擎230。在一個示例中,窗口引擎230可以是在新實例從設(shè)備傳送到顯示單元300時幫助在顯示器(例如,如圖1所示的顯示屏120)上顯示的窗口的創(chuàng)建和管理的操作引擎210的子集。
遠(yuǎn)程操作引擎335可以管理在顯示單元300上顯示的實例的操作。例如,遠(yuǎn)程操作引擎335從用戶接收命令以在顯示在顯示單元300上的實例中的一個實例上執(zhí)行動作。用戶通過觸摸顯示單元300的顯示屏上的實例窗口來傳送命令。例如,顯示單元300可以顯示來自移動設(shè)備的移動操作系統(tǒng)的遠(yuǎn)程實例。用戶可以觸摸在顯示屏上的實例窗口上顯示的應(yīng)用的圖像以在移動設(shè)備上開始那個應(yīng)用。遠(yuǎn)程操作引擎335將從用戶接收的命令傳送到移動設(shè)備,并且移動設(shè)備可以開始所請求的應(yīng)用。已更新的實例可以被提供到顯示單元300,并且顯示單元300可以在顯示屏上顯示可用于用戶進(jìn)行操作的應(yīng)用的實例。
交互引擎340可以管理在顯示單元300的顯示屏上顯示的多個實例之間的交互。例如,當(dāng)用戶將文件從一個實例移動到另一實例時,交互引擎340可以與設(shè)備一起工作來啟動傳輸過程。
現(xiàn)在轉(zhuǎn)到系統(tǒng)100的操作,圖4描繪了根據(jù)示例性實施方式的過程流程圖400。應(yīng)顯而易見的,在圖4中所描繪的過程表示一般化說明,并且可以添加其它過程或可以用很多方式去除、修改或重新布置所示過程。此外,應(yīng)理解,過程可以表示存儲在存儲器上的可執(zhí)行指令,其可以使處理設(shè)備例如作出響應(yīng)、執(zhí)行動作、改變狀態(tài)和/或做決定。因此,所述過程可以被實施為由與計算設(shè)備400相關(guān)聯(lián)的存儲器提供的可執(zhí)行指令和/或操作。
所示過程400在方框405開始,其中在顯示單元與多個設(shè)備之間建立連接。不同操作系統(tǒng)的多個實例在這些設(shè)備上運(yùn)行。在方框410,實例同時顯示在顯示單元的顯示屏上。
現(xiàn)在轉(zhuǎn)到系統(tǒng)100的操作,圖5描繪了根據(jù)示例性實施方式的過程流程圖500。應(yīng)顯而易見的,在圖5中所描繪的過程表示一般化說明,并且可以添加其它過程或可以用很多方式去除、修改或重新布置所示過程。此外,應(yīng)理解,過程可以表示存儲在存儲器上的可執(zhí)行指令,其可以使處理設(shè)備例如作出響應(yīng)、執(zhí)行動作、改變狀態(tài)和/或做決定。因此,所述過程可以被實施為由與計算設(shè)備500相關(guān)聯(lián)的存儲器提供的可執(zhí)行指令和/或操作。
所示過程500在方框505開始,其中從用戶接收命令。命令與在連接到顯示單元的設(shè)備中的一個設(shè)備(例如,如圖1中所示的顯示單元100)上運(yùn)行的多個實例中的一個實例相關(guān)聯(lián)。在方框510,命令被傳遞到設(shè)備,并且設(shè)備執(zhí)行命令。
雖然已經(jīng)參考前述示例示出和描述了本公開內(nèi)容,但應(yīng)理解的是,可以做出其它形式、細(xì)節(jié)和實施方式而不偏離所附權(quán)利要求中限定的本公開內(nèi)容的精神和范圍。