諸如膝上型計算機、臺式計算機等之類的計算設備可被本地地投射到較大的顯示器(諸如投影儀、液晶顯示器(LCD)等)以允許在源計算設備上生成的內容能夠在例如演示、會議等期間被更多人觀看。這一類型的投射觀看在更多數量的領域中都是有用的,諸如工程、市場營銷、商業、教育等。線纜(諸如視頻圖像陣列(VGA)線纜)可被用于提供源計算設備和投射設備之間的有線連接。然而,將計算設備和投射設備以這種方式連接可能是低效且耗時的。最近,無線連接已被用于將源計算設備鏈接到投射設備以簡化連接過程。雖然這種類型的連接與有線連接相比可在更短的時間里建立,但是以這種方式無線連接設備來實現投射仍然具有若干項缺陷。例如,與從源計算設備發送到投射設備并顯示在投射設備上的內容的交互只能夠經由源計算設備來操縱。這類與源計算設備交互來操縱內容可能是耗時的并且易受到頻繁的打斷。例如,用戶可能不得不在演示期間在各設備間走動以改變幻燈片、強調字段等,這些可能會干擾演示。
概述
本文中描述了一種用于提供各計算設備之間的協作式通信的方法。該方法包括:在接收方計算設備處,在交互式顯示器上顯示第一圖形用戶界面(GUI)和第二GUI,所述第一GUI與在發送方計算設備上執行的遠程執行的發送方應用程序相關聯,所述第二GUI與在接收方計算設備上執行的本地執行的接收方應用程序相關聯,所述發送方計算設備具有與所述接收方計算設備的本地對等無線連接,從所述交互式顯示器接收指示與所述第一GUI和所述第二GUI的用戶交互的用戶輸入,基于所述用戶輸入將內容請求從所述接收方應用程序發送給所述發送方應用程序,從所述發送方應用程序接收所請求的內容,以及基于從所述發送方應用程序傳輸給所述接收方應用程序的內容來更新所述第二GUI。
提供本概述以便以簡化的形式介紹以下在詳細描述中進一步描述的一些概念。本概述并不旨在標識所要求保護主題的關鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。而且,所要求保護的主題不限于解決該公開的任一部分中所注的任何或全部缺點的實現方式。
附圖簡述
圖1是示例計算系統的示意性描述;
圖2是示例接收方設備的圖示;
圖3-5解說了一種用于在發送方計算設備和接收方計算設備之間提供協作式交互的方法的一個示例的流程圖;以及
圖6-10是顯示在接收方計算設備上的圖形用戶界面(GUI)的圖示。
詳細描述
本文描述了一種實現在經由本地對等無線連接鏈接的兩個計算設備之間的交互以提供各設備之間的圖形投射能力以及在接收遠程執行的圖形數據的設備上進行圖形內容操縱和管理的系統和方法。計算設備被稱為發送方計算設備和接收方計算設備。接收方計算設備被配置成顯示本地執行的圖形用戶界面(GUI)以及由發送方計算設備執行并且被無線傳送給接收方計算設備的遠程執行的GUI。接收方計算設備可進一步被配置成通過本地對等無線連接在接收方計算設備所顯示的遠程執行的GUI和本地執行的GUI之間傳輸內容。例如,在一個示例中,內容可在本地和遠程執行的GUI之間剪切和復制或剪切和粘貼。以此方式,接收方計算設備可不僅用作投射設備,還可提供對應于在接收方計算設備上顯示的無論是遠程還是本地執行的圖形的交互式輸入。作為結果,接收方計算設備的功能被擴展成提供更多數量的程序工具,這些程序工具使得用戶能夠快速和直觀地在接收方計算設備所顯示的兩個分開執行的GUI之間移動內容。將會理解,具有上述功能的計算設備可被用于會議或其它協作式設置中以實現在多個源之間的直觀和無縫的內容流動而無需過度的用戶輸入、有線連接等。因此,可改善對于計算設備中的內容管理的用戶體驗。
圖1解說了包括發送方計算設備12和接收方計算設備14的計算系統10。將會理解,發送方計算設備可以是一種合適的計算設備,包括但不限于,臺式計算設備、膝上型計算機、便攜式電子設備、平板計算設備、媒體播放器、移動電話等。接收方計算設備可以是一種例如具有較大顯示器的計算設備。具體來說,在一個示例中,接收方計算設備可以是一種具有應用程序處理能力的大尺寸(例如,大于40英寸)屏幕顯示器,該顯示器可例如被安裝在教室、會議室、或辦公室的墻上以用于群交互。然而,已設想了眾多不同類型的計算設備。接收方計算設備的一個示例性實施例在本文中結合圖2來更詳細地描述。
如所示出的,發送方計算設備12包括處理器16和存儲器18。同樣地,接收方計算設備14包括處理器20和存儲器22。存儲器18和存儲器22包括存儲于其上的代碼,該代碼可由相關聯的處理器執行以實施本文中描述的方法、技術、例程、以及其它功能。
發送方計算設備12還包括顯示器24(例如液晶顯示器(LCD)、有源矩陣有機發光(AMOLED)、陰極射線管(CRT)等)、輸入設備26(例如,鼠標、鍵盤、觸摸板、跟蹤板、觸敏顯示器、以上的組合等等)、以及無線通信設備28(例如,藍牙設備、Wi-Fi設備、近場通信設備、紅外通信、無線調制解調器、以上的組合等)。將會理解,Wi-Fi設備可被配置成支持Wi-Fi直接連接,Wi-Fi直接連接允許計算設備在需要時在沒有無線接入點的情況下通信。因此,在一些示例中,Wi-Fi設備可被稱為Wi-Fi直接設備。
發送方計算設備12還可包括支持與發送方計算設備的有線連接的連接端口60。以此方式,發送方計算設備12可在需要時經由有線連接發送/接收電子數據。已設想了眾多合適的連接端口或連接端口的組合。例如,連接端口60可以是通用串行總線(USB)端口、以太網端口、火線、視頻圖形陣列(VGA)、以上的組合等等。發送方計算設備12還可包括被配置成投射和/或接收音頻信號的音頻設備70。因此,音頻設備70可包括揚聲器、話筒等中的一個或多個。將會理解,在一些示例中,顯示器24、輸入設備26、無線通信設備28、連接端口60、和/或音頻設備70與處理器16和存儲器18以及彼此進行電子通信。
另外,在一個示例中,發送方計算設備12和接收方計算設備14可共處一處。例如,計算設備(12和14)可位于同一房間、樓宇、建筑等中。發送方計算設備和接收方計算設備之間的距離可經由被用于提供無線連接的無線通信設備的特性來確定。將會理解,可能期望的是計算設備放置在彼此附近以允許用戶能夠在需要時通過無線局域網(WLAN)與雙方計算設備交互。然而,在其它示例中,發送方和接收方計算設備可能被放置在遠程位置并經由更寬的網絡(諸如廣域網(WAN)連接。
接收方計算設備14包括含有傳感器32(例如,觸摸傳感器)的交互式顯示器30(例如,交互式觸敏顯示器)、輸入設備34(例如,鼠標、鍵盤、跟蹤板、觸摸板以上的組合等等)、以及無線通信設備36(例如,藍牙設備、Wi-Fi設備、近場通信設備、無線調制解調器、以上的組合等)。在一個示例中,交互式顯示器30可具有比顯示器24更大的觀看面積。以此方式,交互式顯示器30在需要時可容易地被大量的人觀看。因此,接收方計算設備14可在需要時被用于會議、演示、講座等。此外,在一些示例中,傳感器32可以是電容式傳感器(例如,電容式觸摸傳感器),該傳感器被配置成檢測因用戶實行的觸摸或指示筆輸入導致的電氣變化。可替代地采用其它觸摸感測技術,諸如使用受抑全內反射或像素內相機技術的光觸摸感測。
在一個示例中,指示筆輸入可以是墨水輸入。然而,其它類型的觸摸傳感器已被設想,諸如光觸摸傳感器、電阻式觸摸傳感器等。接收方計算設備14還可包括支持有線連接的連接端口62。以此方式,接收方計算設備14可在需要時經由有線連接發送/接收電子數據。已設想了眾多合適的連接端口或連接端口的組合。例如,連接端口62可以是通用串行總線(USB)端口、以太網端口、火線、視頻圖形陣列(VGA)、或以上的組合。接收方計算設備14還可包括被配置成投射和/或接收音頻信號的音頻設備72。因此,音頻設備72可包括揚聲器、話筒等中的一個或多個。將會理解,在一些示例中,交互式顯示器30、輸入設備34、無線通信設備36、和/或音頻設備72與處理器20和存儲器22以及彼此進行電子通信。
無線通信設備(28和36)被配置成允許計算設備(12和14)經由本地對等連接(例如,本地雙向對等無線連接)無線地連接。因此,發送方計算設備12和接收方計算設備14可經由本地對等無線連接38無線通信。本地對等無線連接38可包括藍牙連接、Wi-Fi連接(例如,Wi-Fi直接連接)等。藍牙連接可被用于廣播、發現、以及建立各設備間的連接,這要求相對少量的數據傳輸,而Wi-Fi連接可被用于在各設備間傳輸大的文件。在一個示例中,計算設備可僅經由本地對等無線連接電子地連接,并且可不共享任何可通過其在各設備間傳輸數據的其它網絡連接。此外,在一個示例中,計算設備可經由無線連接(即本地對等無線)在本地網(例如局域網(LAN))上電子地連接,并且它們可都連接到同一無線接入點。再又一些其它示例中,計算設備可同時通過有線和無線連接連接。因此,將會理解,發送方計算設備12和接收方計算設備14可在需要時經由有線連接64鏈接。有線連接64可包括被配置成連接到發送方計算設備12的連接端口60和接收方計算設備14的連接端口62的一個或多個電纜、線纜等。此外,在又一示例中,局域網可不被用于連接各計算設備,并且在發送方計算設備12和接收方計算設備14之間的通信路徑上可不存在任何中間設備(例如,計算設備、服務器等)。因此,發送方計算設備12可與接收方計算設備14經由本地對等無線連接、使用自組織點對點連接來直接無線通信。
將會理解,計算系統10可進一步包括多個發送方計算設備40和接收方計算設備42。多個發送方計算設備40和接收方計算設備42可分別包括與發送方計算設備12和接收方計算設備14類似的組件。然而,將會理解,設備中的具體組件的類型、大小等可能每個設備都不同。另外,多個發送方計算設備40可經由本地對等無線連接38與多個接收方計算設備42無線通信。
發送方應用程序50可存儲在發送方計算設備12的存儲器18中。發送方應用程序50可被配置成提供與接收方計算設備14的交互式無線連接,如本文中更詳細描述的。同樣,接收方應用程序52可存儲在接收方計算設備14的存儲器22中。接收方應用程序52可被配置成提供與發送方計算設備14的交互式無線連接,如本文中更詳細描述的。因此,發送方應用程序50和接收方應用程序52可一起工作以提供各計算設備之間的對等無線連接(例如,本地雙向對等無線連接)。然而,在其它示例中,替代的程序元件可被用于實現這一功能。發送方計算設備12還可被配置成本地地執行另一應用程序66。將會理解,應用程序66可被稱為第二應用程序。應用程序66可以是電子表格應用程序、文字處理應用程序、繪畫應用程序、web瀏覽器應用程序、電子郵件應用程序等。將會理解,在一個示例中,對應于應用程序66的圖形可被呈現在對應于發送方應用程序50的GUI內。然而,已設想了其它圖形配置。同樣,接收方計算設備12也可被配置成本地地執行應用程序68。應用程序68可以是圖形編輯應用程序、白板應用程序、電子表格應用程序、文字處理應用程序、視頻編輯應用程序、繪畫應用程序等。在一個示例中,應用程序66可不同于應用程序68。另外,將會理解,在一個示例中,對應于應用程序68的圖形可被呈現在對應于接收方應用程序52的GUI內。
以上提到的應用程序可被存儲在非易失性存儲器中并且經由各個計算設備中的對應的處理器和易失性存儲器來執行。此外,應用程序可在由存儲器中存儲的操作系統所提供的臺式環境的上下文中執行。然而,在其它示例中,應用程序可以另一種程序框架來提供。
圖2示出了示例接收方計算設備200。接收方計算設備200可類似于圖1中示出的接收方計算設備14。因此,接收方計算設備200可包括圖1中示出的接收方計算設備14中的存儲器和處理器以及其它組件。具體來說,接收方計算設備可以是根據本公開的示例的大尺寸多點觸控計算設備200。例如,接收方計算設備200可具有大于1米的對角線尺寸。在其它特別大尺寸示例中,該對角線尺寸可以為55英寸或更大。在另一示例中,接收方計算設備可具有比其無線連接到的發送方計算設備更大的顯示器。接收方計算設備200可被配置成感測多個觸摸輸入源,諸如由用戶的手指202或由用戶操縱的指示筆204所施加的觸摸輸入。將會理解,在同時或重疊的時間間隔實施的多個輸入(例如,觸摸和/或墨水輸入)可經由接收方計算設備200被感測。因此,接收方計算設備200可包括如之前所討論的觸摸傳感器,諸如電容式觸摸傳感器。另外,將會理解,墨水輸入指示與觸摸屏的指示筆交互。類似地,觸摸輸入指示經由例如用戶的一根或多根手指與觸摸屏的觸摸交互。
接收方計算設備200可被連接到圖像源S,諸如外部計算機或機載處理器。圖像源S可接收來自接收方計算設備200的多點觸摸輸入、處理該多點觸摸輸入、并作為響應產生合適的圖形輸出206。接收方計算設備200可包括觸敏顯示器208(例如,電容式觸敏顯示器)以實現觸摸輸入和墨水輸入兩者的多點觸摸感測功能。
現在轉至圖3,解說了一種用于在接收方計算設備和發送方計算設備之間提供協作式交互的方法300。方法300可使用以上所描述的系統和設備的硬件和軟件組件來實現。具體來說,該方法可經由接收方計算設備14來實現。然而,在替代實施例中,方法300可使用合適的硬件和軟件組件來實現。
在302,該方法包括建立與發送方計算設備的本地對等無線連接。在一個示例中,發送方計算設備可發起建立本地對等連接。在又一示例中,本地對等無線連接包括Wi-Fi連接(例如,Wi-Fi直接連接)和藍牙連接中的至少一者,并且可同時包括以上所描述的這兩種連接。
接著,在304,該方法包括本地地執行與在發送方計算設備上執行的發送方應用程序相關聯的第一GUI。在306,該方法包括將第一GUI的實例經由本地對等無線連接發送給接收方計算設備。
接著,在308,該方法包括在與接收方計算設備相關聯的交互式顯示器上顯示第一GUI,并且在310,該方法包括本地地執行與在接收方計算設備上執行的接收方應用程序相關聯的第二GUI。
在312,該方法包括在交互式顯示器(例如,交互式觸摸屏)上顯示第二GUI。在一個示例中,第一GUI和第二GUI被同時顯示在交互式顯示器上。此外,在另一示例中,第一GUI被呈現在第二GUI的一個窗口內。
在314,該方法包括將第一用戶輸入從交互式顯示器傳輸到接收方計算設備。在一個示例中,第一用戶輸入可包括觸摸輸入(例如,多點觸摸)以及墨水輸入中的一者或多者。觸摸輸入可指示與交互式顯示器的一個或多個觸摸交互,而墨水輸入可指示與交互式觸摸屏的指示筆交互。此外,在又一示例中,第一用戶輸入可以是墨水輸入、虛擬鍵盤輸入、剪切和粘貼輸入、以及復制和粘貼輸入中的一個。然而,在其它示例中,第一用戶輸入可經由另一合適的輸入設備來生成,諸如經由鍵盤、鼠標、觸摸板、跟蹤板等。接著,在316,該方法包括接收來自交互式顯示器的指示與第一GUI和第二GUI的用戶交互的第一用戶輸入。
現在轉至圖4,在318,該方法包括響應于第一用戶輸入,將內容從發送方應用程序傳輸到接收方應用程序。將內容從發送方應用程序傳輸到接收方應用程序包括步驟320-326中的每一步,或者替代地,包括步驟320-326中的一部分。
該方法包括在步驟320,基于第一用戶輸入將內容請求發送給發送方應用程序,并且在322,在發送方應用程序處接收內容請求。在一個示例中,內容請求是響應于用戶輸入而發送的。在這樣的示例中,用戶輸入可包括觸摸輸入以及墨水輸入中的一者或多者。在又一示例中,內容請求可與剪切和粘貼功能以及復制和粘貼功能中的至少一個相關聯。
在324,該方法包括將所請求的內容從發送方應用程序發送給接收方應用程序。在一個示例中,所請求的內容可包括圖形數據和/或字母數字數據。在這樣的示例中,圖形數據可包括第一GUI的屏幕截圖或者該界面內的其它內容的其它截圖。此外,在又一示例中,所請求的內容可以是第一GUI的屏幕截圖、字母數字數據、圖形數據、以及單元格字段數據中的至少一者。
接著,在326,該方法包括在接收方應用程序處從發送方應用程序接收所請求的內容。以此方式,接收方計算設備可請求來自在發送方計算設備上遠程執行的應用程序的資源。
在328,該方法包括基于從發送方應用程序傳輸到接收方應用程序的內容來更新第二GUI。因此,將會理解,第二GUI可基于第一用戶輸入來更新。以此方式,來自交互式顯示器的輸入可被發送給發送方計算設備以供遠程處理,并且隨后經由接收方計算設備基于遠程處理的數據來顯示第二GUI。以此方式,接收方計算設備的功能被擴展。在一個示例中,更新第二GUI包括基于所請求的內容調整第二GUI的圖形配置。
接著,在330,該方法包括將第二用戶輸入從交互式顯示器(例如,交互式觸摸屏)傳輸到接收方計算設備。在一個示例中,第二用戶輸入可以是觸摸輸入和/或第二墨水輸入。
在332,該方法包括接收來自交互式顯示器的指示與第二GUI和第一GUI的用戶交互的第二用戶輸入。
現在轉至圖5,在334,該方法包括響應于第二用戶輸入,將內容從接收方計算設備上的接收方應用程序傳輸到發送方計算設備上的發送方應用程序。將內容從接收方應用程序傳輸到發送方應用程序包括步驟336-340中的每一步,或者替代地,包括步驟336-340中的一部分。在336,該方法包括基于第二用戶輸入將內容從接收方計算設備發送給發送方應用程序。在338,該方法包括在發送方計算設備上的發送方應用程序處接收來自接收方應用程序的內容。在340,該方法包括基于從接收方計算設備上的接收方應用程序傳輸到發送方計算設備上的發送方應用程序的內容來更新第一GUI。接著,在342,該方法包括將第一GUI的經更新的狀態從發送方計算設備上的發送方應用程序發送給接收方計算設備上的接收方應用程序。在344,該方法包括在接收方應用程序處接收第一GUI的經更新的狀態。
在346,該方法包括在接收方計算設備上的交互式顯示器上顯示第一GUI的經更新的狀態。在348,該方法包括建立與第二發送方計算設備的本地對等無線連接。本地對等無線連接可以是Wi-Fi連接和藍牙連接中的一者或多者。接著,在350,該方法包括本地地執行與在第二發送方計算設備上執行的第二發送方應用程序相關聯的第三GUI。在352,該方法包括將第三GUI的實例發送給接收方計算設備。接著,在354,該方法包括在接收方計算設備上的交互式顯示器上顯示第三GUI。在一個示例中,第一、第二、以及第三GUI可以被同時呈現在接收方計算設備的交互式顯示器上。以此方式,多個發送方計算設備可本地顯示在單個接收方計算設備上執行的內容以實現用戶間的聯合交互,從而使得接收方計算設備能夠提供更豐富的交互式環境。
圖6-10示出可經由圖1所示的接收方計算設備14執行和顯示的不同GUI。因此,GUI可被顯示在圖1中所示的交互式顯示器30上。
圖6解說了一個示例GUI 600。GUI 600包括遠程執行的桌面601和遠程執行的應用程序的窗口602的表示。按鈕606或其它合適的插件也可被提供,這些按鈕或插件使得GUI 600中顯示的內容能夠經由接收方計算設備來操縱。將會理解,按鈕可在接收方計算設備上本地地執行。
圖7解說了另一示例GUI 700。GUI 700包括遠程執行的桌面702的表示。按鈕704或其它合適的插件也可被提供在GUI中,該按鈕或插件使得GUI 700中顯示的內容能夠被復制和粘貼、剪切和復制、或剪切和粘貼,如以上結合方法300所討論的。將會理解,按鈕可在接收方計算設備上本地地執行。附加地或替代地,觸摸輸入可被用于剪切、復制、粘貼、和/或以其它方式來經由接收方計算設備操縱內容。
圖8示出組合的圖形界面800,該界面包括對應于遠程執行的應用程序的第一GUI 802。如之前所討論的,遠程執行的應用程序可在發送方計算設備上執行。另外,圖8中示出了第二GUI 804。將會理解,第二GUI 804可與在接收方計算設備上執行的應用程序相關聯。在該特定示例中,應用程序是白板應用程序。然而,已設想了眾多應用程序,諸如繪畫應用、文字處理應用等。白板應用可被配置成使得圖形和其它內容能夠經由用戶移來移去和操縱。
如圖8中所示,第一和第二GUI(802和804)被并排放置。然而,已設想了GUI的多種相對位置。例如,第一GUI可被放置在第二GUI的窗口內,或者第一GUI可被放置在第二GUI上方。
圖9示出另一組合的圖形用戶界面900,該界面包括遠程執行的GUI 902(例如,第一GUI)和遠程執行的應用程序的窗口903,該應用程序是在發送方計算設備上執行的。窗口903對應于在發送方計算設備上執行的發送方應用程序,在該描繪的實施例中,該發送方應用程序是經由遠程執行的GUI 902來執行的電子表格應用程序。然而,設想了多種類型的應用。在所解說的示例中,窗口903包括來自電子表格應用的實例的各種數據,包括包含在電子表格應用的實例內的結構化數據,諸如數字、文本、公式、變量、圖像等。
另外,圖9中示出了第二GUI 904。將會理解,第二GUI 904可與在接收方計算設備上執行的接收方應用程序相關聯。在該特定示例中,在接收方計算設備上執行的應用程序是白板應用程序。然而,已設想了其它類型的應用。如所示出的,第一GUI 902中呈現的窗口903的副本906被粘貼到第二GUI 904中。按鈕908可例如通過使得用戶能夠按下按鈕908并隨后使用輸入或指示筆輸入來將要復制的項拖動到目的地窗口中來提供這一復制功能。作為提供按鈕908的替代,其它合適的圖形用戶元素、手勢命令、指示筆命令、語音命令等可被用于實現該復制和粘貼功能。該復制和粘貼功能可將應用程序的實例復制到目的地窗口中,或者它可復制應用程序的捕捉到的圖像,這取決于用戶所選擇的“粘貼類型”。雖然在所描繪的示例中,整個窗口的內容被復制,但是將會理解,可僅將窗口903的一部分粘貼到第二GUI 904中。例如,各種類型的結構化數據對象、圖標、字母數字符號等可被從窗口903的各部分復制并粘貼到第二GUI 904中。在復制和粘貼功能已發生后,接收方計算設備被配置成將經復制和粘貼的數據傳送回發送方計算設備,使得在發送方計算設備上執行的遠程執行的應用程序能夠接收并恰當地處理該數據。由遠程執行的應用程序進行的這一處理的結果進而被傳送給接收方計算設備并在接收方計算設備上顯示。
還示出了在第二GUI 904中呈現的窗口920。窗口920可經由接收方計算設備來執行。具體地,窗口920可與經由接收方計算設備本地執行的應用程序相關聯。如所示出的,窗口920的副本922可被傳輸給第一GUI 902。傳輸數據可包括將內容從接收方應用程序發送給發送方應用程序。因此,窗口可被復制和粘貼或者替代地剪切和粘貼到第一GUI 902中。以此方式,來自本地執行的GUI的內容可被傳輸給遠程執行的GUI。將會理解,其它內容可被從第二GUI傳輸給第一GUI,諸如字母數字數據、單元格字段數據、圖像等。
圖10示出了另一組合GUI 1000。圖10中示出的組合GUI 1000允許兩個發送方計算設備與接收方計算設備連接并且在對應于接收方計算設備的顯示器上顯示遠程執行的GUI。
具體來說,與第一發送方計算設備相關聯的第一GUI 1002、與接收方計算設備相關聯的第二GUI 1004、以及與第二發送方計算設備相關聯的第三GUI 1006。以此方式,三個GUI可經由交互式顯示器同時顯示,三個GUI中的兩個是遠程執行的。因此,不同發送方計算設備的用戶讓經由發送方計算設備執行的內容經由交互式顯示器顯示和操縱。
如所示出的,與第一GUI 1002和第三GUI 1006相關聯的窗口1010和1012可各自分別被復制到第二GUI 1004中的窗口1014和1016處。替代地,在其它示例中,窗口1010和1012可被剪切和復制到第二GUI 1004中。此外,在又一些其它示例中,附加或替代類型的數據可在各GUI之間傳輸。
作為以上描述的配置的變體,發送方計算設備和接收方計算設備之間的連接可在無線協議上形成以將圖像數據從發送方發送給接收方,并且可在線纜(諸如USB線纜)上形成有線連接以將內容從在接收方設備上本地執行的程序傳輸到在發送方設備上遠程執行的程序。作為又一變體,圖像數據可在有線連接上(例如,使用HDMI線纜)從發送方發送給接收方,而USB線纜可被提供用于將內容從接收方回傳到發送方計算設備。以此方式,不原生地支持如本文中描述的完整的無線雙向通信的計算設備可依然使用有線連接來將內容回傳到發送方設備。
以上描述的系統和方法具有潛在的優點,即它們允許內容能夠被從遠程執行的應用程序傳輸到在具有交互式能力(諸如觸摸和墨水輸入能力)的接收方計算設備上本地執行的應用程序。作為結果,用戶能夠在接收方計算設備的顯示器上容易和直觀地操縱本地以及遠程執行的內容,從而擴展接收方設備的功能。此外,這一擴展的設備功能還增加了對用戶可用的資源以供在設備上進行內容管理和操縱。因此,以上所述的方法提供了在會議以及其它交互式設置(諸如演示、講座等)中的各參與者之間的更好的協作式功能。
現在轉到系統的硬件配置,在一些實施例中,本文中描述的方法和過程可以與一個或多個計算設備的計算系統綁定。尤其地,這樣的方法和過程可被實現為計算機應用程序或服務、應用編程接口(API)、庫和/或其他計算機程序產品。
本文中描述的處理器可包括被配置成執行指令的一個或多個物理設備。例如,處理器可以被配置成執行指令,所述指令是一個或多個應用、服務、程序、例程、庫、對象、部件、數據結構或其他邏輯構造的一部分。這種指令可被實現以執行任務、實現數據類型、轉換一個或多個部件的狀態、實現技術效果、或以其它方式得到期望結果。
這些過程可包括被配置成執行軟件指令的一個或多個組件。另外地或替代地,處理器可以包括被配置成執行硬件或固件指令的一個或多個硬件或固件邏輯機。處理器可以是單核的或多核的,其上執行的指令可以被配置用于串行、并行和/或分布式處理。處理器的個別組件可任選地分布在兩個或更多個分開的設備之間,所述設備可以位于遠程以及/或者被配置用于協同處理。處理器的各方面可以被在云計算配置中配置的遠程可訪問的、聯網計算設備虛擬化和執行。
本文中描述的存儲器可以包括可移動和/或內置設備。本文中描述的存儲器可以包括光學存儲器(例如,CD、DVD、HD-DVD、藍光碟等)、半導體存儲器(例如,RAM、EPROM、EEPROM等)和/或磁性存儲器(例如,硬盤驅動器、軟盤驅動器、磁帶驅動器、MRAM等)等等。本文中描述的存儲器可以包括易失性的、非易失性的、動態的、靜態的、讀/寫的、只讀的、隨機存取的、依序存取的、位置可定址的、文件可定址的以及/或者內容可定址的設備。
將會理解,本文中描述的存儲器包括一個或多個物理設備。然而,本文描述的指令的各方面可另選地通過不由物理設備在有限時長內持有的通信介質(例如,電磁信號、光信號等)來傳播。
本文中描述的處理器和存儲器的各方面可以被一起集成為一個或多個硬件邏輯組件中。這些硬件邏輯組件可包括例如現場可編程門陣列(FPGA)、程序和應用專用的集成電路(PASIC/ASIC)、程序和應用專用的標準產品(PSSP/ASSP)、片上系統(SOC)以及復雜可編程邏輯器件(CPLD)。
術語“應用程序”可用于描述被實現為執行一個特定功能的計算系統的一方面。在一些情況下,應用程序可經由處理器執行存儲器所保持的指令來實例化。將會理解,可以從同一服務、代碼塊、對象、庫、例程、API、功能等實例化不同的應用程序。同樣,同一應用程序可由不同的服務、代碼塊、對象、例程、API、功能等實例化。術語“應用程序”可包含可執行文件、數據文件、庫、驅動器、腳本、數據庫記錄等等的個體或群組。
在被包括時,顯示設備可用于呈現由存儲器保持的數據的視覺表示。該視覺表示可采用圖形用戶界面(GUI)的形式。當本文所描述的方法和過程改變了由存儲器保持的數據,并由此變換了存儲器的狀態時,顯示器的狀態可類似地被轉換以視覺地表示底層數據的改變。可將顯示設備與處理器和存儲器組合在共享封裝中,或這樣的顯示設備可以是外圍顯示設備。
將會理解,此處描述的配置和/或方法本質是示例性的,這些具體實施例或示例不應被視為限制性的,因為許多變體是可能的。此處描述的具體例程或方法可以表示任何數量的處理策略中的一個或多個。如此,所示和/或所述的各種動作可以以所示和/或所述順序、以其它順序、并行地執行,或者被省略。同樣,上述過程的次序可以改變。
本公開的主題包括各種過程、系統和配置以及此處公開的其它特征、功能、動作和/或屬性、以及它們的任一和全部等價物的所有新穎且非顯而易見的組合和子組合。
本公開的主題被進一步描述在以下段落中。根據一個方面,一種用于提供各計算設備之間的協作式通信的方法。方法包括:在接收方計算設備處,在交互式顯示器上顯示第一圖形用戶界面(GUI)和第二GUI,所述第一GUI與在發送方計算設備上執行的遠程執行的發送方應用程序相關聯,所述第二GUI與在接收方計算設備上執行的本地執行的接收方應用程序相關聯,所述發送方計算設備具有與所述接收方計算設備的本地對等無線連接;從所述交互式顯示器接收指示與所述第一GUI和所述第二GUI的用戶交互的用戶輸入;基于所述用戶輸入將內容請求從所述接收方應用程序發送給所述發送方應用程序;從所述發送方應用程序接收所請求的內容;以及基于從所述發送方應用程序傳輸給所述接收方應用程序的內容來更新所述第二GUI。
在這一方面,所述內容請求可以是響應于所述用戶輸入發送的,所述用戶輸入包括觸摸輸入和墨水輸入中的一者或多者。
在這一方面,第一GUI和第二GUI可被同時顯示在交互式顯示器上。
在這一方面,內容請求與剪切和粘貼功能以及復制和粘貼功能中的至少一個相關聯。
在這一方面,內容可包括圖形數據和字母數字數據。
在這一方面,圖形數據可包括第一GUI的屏幕截圖。
在這一方面,該方法可進一步包括在所述接收方計算設備處,從所述交互式顯示器接收指示與所述第一GUI和所述第二GUI的用戶交互的第二用戶輸入并且響應于所述指示與所述第一GUI和所述第二GUI的用戶交互的用戶輸入將內容從所述接收方應用程序傳輸給所述發送方應用程序。
在這一方面,該方法可進一步包括在所述接收方計算設備處,建立與第二發送方計算設備的第二本地對等無線連接,經由所述第二本地對等無線連接從所述第二發送方計算設備接收在所述第二發送方計算設備上執行的第二發送方應用程序的第三GUI的實例,并且在所述交互式顯示器上顯示所述第三GUI。
在這一方面,第一、第二、以及第三GUI可被同時呈現在交互式顯示器上。
在這一方面,第一GUI可被呈現在第二GUI的一個窗口內。
在這一方面,本地對等無線連接可以是Wi-Fi連接和藍牙連接中的至少一者。
根據另一方面,提供了一種接收方計算設備。該接收方計算設備包括:交互式觸摸屏;以及存儲在存儲器中的代碼,所述代碼可由處理器執行以:在所述交互式觸摸屏上同時顯示第一圖形用戶界面(GUI)和第二GUI,所述第一GUI與在發送方計算設備上執行的遠程執行的發送方應用程序相關聯,所述第二GUI與在接收方計算設備上執行的本地執行的接收方應用程序相關聯,所述發送方計算設備具有與所述接收方計算設備的本地對等無線連接;從所述交互式觸摸屏接收指示與所述第一GUI和所述第二GUI的用戶交互的用戶輸入;基于所述用戶輸入將內容請求從所述接收方應用程序發送給所述發送方應用程序;將所請求的內容從所述發送方應用程序接收到所述接收方應用程序;以及基于從所述發送方應用程序傳輸給所述接收方應用程序的內容來更新所述第二GUI。
在這一方面,用戶輸入可以是墨水輸入、虛擬鍵盤輸入、剪切和粘貼輸入、以及復制和粘貼輸入中的一個。
在這一方面,所請求的內容可以是第一GUI的屏幕截圖、字母數字數據、圖形數據、以及單元格字段數據中的至少一者。
在這一方面,所述用戶輸入是多點觸摸用戶輸入和墨水輸入中的一個,所述多點觸摸輸入指示與所述交互式觸摸屏的多個觸摸輸入,并且所述墨水輸入指示與所述交互式觸摸屏的指示筆交互。
在這一方面,本地對等無線連接可以是Wi-Fi連接和藍牙連接中的至少一者。
根據另一方面,提供了一種用于提供各計算設備之間的協作式通信的方法。該方法包括:在接收方計算設備處,在交互式觸摸屏上同時顯示第一圖形用戶界面(GUI)和第二GUI,所述第一GUI與在發送方計算設備上執行的遠程執行的發送方應用程序相關聯,所述第二GUI與在接收方計算設備上執行的本地執行的接收方應用程序相關聯,所述發送方計算設備具有與所述接收方計算設備的本地Wi-Fi連接;從所述交互式觸摸屏接收指示與所述第一GUI和所述第二GUI的用戶交互的觸摸輸入或墨水輸入;響應于觸摸輸入或墨水輸入將內容請求從所述接收方應用程序發送給所述發送方應用程序;將所請求的內容從所述發送方應用程序接收到所述接收方應用程序;以及基于從所述發送方應用程序傳輸給所述接收方應用程序的內容來更新所述第二GUI。
在這一方面,內容可包括第一GUI的屏幕截圖、字母數字數據、圖形數據、以及單元格字段數據中的一者或多者。
在這一方面,更新第二GUI可包括基于所請求的內容調整第二GUI的圖形配置。
在這一方面,該方法可進一步包括在所述接收方計算設備處,從所述交互式觸摸屏接收指示與所述第一GUI和所述第二GUI的用戶交互的第二觸摸輸入或第二墨水輸入并且響應于所述指示與所述第一GUI和所述第二GUI的用戶交互的用戶輸入將內容從所述接收方應用程序傳輸給所述發送方應用程序。