用于協作遠程應用程序共享和會議的方法和系統的制作方法
【專利摘要】用于提供協作會議能力給由客戶端計算裝置遠程訪問的應用程序的系統和方法。客戶端媒體共享應用程序被提供在客戶端層中且所述客戶端媒體共享應用程序允許所述客戶端計算裝置中的至少一個與所述客戶端計算裝置共享媒體。接收共享媒體的會議管理器應用程序被提供給服務器層。所述會議管理器應用程序使所述共享媒體可用于所述客戶端計算裝置。
【專利說明】用于協作遠程應用程序共享和會議的方法和系統
【背景技術】
[0001]普遍存在的遠程訪問服務、應用程序和數據由于寬帶和無線網絡訪問的增長和可用性而變得愈來愈平凡。因此,用戶使用種類不斷增長的客戶端裝置(例如,移動裝置、平板計算裝置、手提電腦/上網本/臺式電腦等等)訪問應用程序和數據。數據可以通過多種網絡(包含3G和4G移動數據網絡、諸如WiFi和WiMax的無線網絡、有線網絡等等)從遠程服務器傳達到裝置。客戶端可以跨許多不同網絡帶寬和延時性連接到提供服務、應用程序和數據的服務器。
[0002]在這樣的環境中,協作會話中的遠程參與者之間也可以共享應用程序。然而,當協作時,參與者可以只被限于由共享應用程序提供的功能,因此限制協作會話。具體來說,可以限制參與者,因為其不能與協作會話中的其它參與者共享媒體,即音頻、視頻、桌面屏幕抓取、圖像庫等等。
【發明內容】
[0003]本文公開了用于提供協作會議能力給遠程訪問的應用程序的系統和方法。一種提供協作會議能力給遠程訪問的應用程序的方法可以包括:提供包括應用程序層、服務器層和客戶端層的分層遠程訪問框架,所述分層遠程訪問框架傳達關于客戶端計算裝置之間的遠程訪問的應用程序的第一信息,所述客戶端計算裝置在用來顯示所述客戶端計算裝置處的所述遠程訪問的應用程序的狀態模型內訪問所述遠程訪問的應用程序;在所述服務器層中提供服務器遠程訪問應用程序,所述服務器遠程應用程序能夠修改所述狀態模型;在所述客戶端層或所述應用程序層中提供客戶端遠程訪問應用程序;在所述客戶端層中提供客戶端媒體共享應用程序,所述客戶端媒體共享應用程序允許所述客戶端計算裝置中的至少一個與所述客戶端計算裝置共享媒體;提供會議管理器應用程序給所述服務器層,所述會議管理器應用程序接收所述共享媒體;和修改所述狀態模型以進一步包括所述共享媒體使得所述共享媒體被提供在所述客戶端計算裝置中的至少一個中。
[0004]在另一實施方式中,一種提供協作會議能力的方法可以包括:提供包括服務器層和客戶端層的分層遠程訪問框架,所述分層遠程訪問框架傳達關于客戶端計算裝置之間的共享媒體的信息,所述客戶端計算裝置在用來顯示所述客戶端計算裝置處的所述共享媒體的狀態模型內訪問所述共享媒體;在所述服務器層中提供服務器遠程訪問應用程序,所述服務器遠程應用程序能夠修改所述狀態模型;在所述客戶端層中提供客戶端媒體共享應用程序,所述客戶端媒體共享應用程序允許所述客戶端計算裝置中的至少一個與所述客戶端計算裝置共享所述共享媒體;提供會議管理器應用程序給所述服務器層,所述會議管理器應用程序接收所述共享媒體;和修改所述狀態模型以進一步包括所述共享媒體使得所述共享媒體被提供在所述客戶端計算裝置中的至少一個中。
[0005]本領域一般技術人員在檢查以下附圖和詳述之后將會或可以明白其它系統、方法、特征和/或優點。希望所有這些額外系統、方法、特征和/或優點包括在這份說明內且受隨附權利要求保護。【專利附圖】
【附圖說明】
[0006]附圖中的組件無需相互按比例繪制。相同參考數字指代多個圖中的對應部分。
[0007]圖1是示出了用于經由計算機網絡對遠程裝置處的應用程序提供遠程訪問的簡化方框圖;
[0008]圖2是根據本公開內容的狀態模型;
[0009]圖3示出了 XML狀態模型文檔內的樹;
[0010]圖4示出了圖1的系統的額外方面;
[0011]圖5A是示出了用于提供圍繞遠程訪問的應用程序的會議的系統的簡化方框圖;
[0012]圖5B是示出了用于在遠程環境中提供會議的系統的簡化方框圖;
[0013]圖6A至圖6B示出了在圖5A至圖5B的系統內執行的示例性操作的流程圖;
[0014]圖7示出了協作會議會話期間的觀看參與者的客戶端計算裝置的示例性用戶界面;
[0015]圖8示出了協作會議會話期間的共享參與者的客戶端計算裝置的示例性用戶界面;
[0016]圖9示出了協作會議會話期間的觀看參與者的客戶端計算裝置的第二示例性用戶界面;
[0017]圖10示出了協作會議會話期間的觀看參與者的客戶端計算裝置的第三示例性用戶界面;
[0018]圖11示出了包括協作會議會話期間的共享參與者的客戶端計算裝置的會議管理器視圖的示例性用戶界面;和
[0019]圖12示出了示例性計算裝置。
【具體實施方式】
[0020]除非另有定義,否則本文使用的所有科學技術術語具有的意義均與通常為本領域一般技術人員所理解的意義相同。類似或等效于本文描述的方法和材料的方法和材料可用于實踐或測試本公開內容。雖然將描述用于遠程訪問的應用程序的實施方式,但是本領域一般技術人員應明白實施方式不限于這些實施方式,且可應用于經由遠程裝置遠程訪問任何類型的數據或服務。
[0021]參考圖1,系統100用于經由計算機網絡對應用程序、數據或其它服務提供遠程訪問。系統包括客戶端計算機112A或112B,諸如無線手持裝置,諸如(例如)經由計算機網絡110 (諸如(例如)互聯網)耦接到服務器102B的蘋果112A或黑莓112B。類似地,客戶端計算裝置還可以包括由通信網絡110連接到服務器102B的臺式/上網本個人計算機112C或平板裝置112N。應注意,到通信網絡110的連接可以是任何類型的連接,例如W1-Fi (IEEE802.llx)、WiMax (IEEE802.16)、以太網、3G、4G 等等。
[0022]服務器102B是(例如)經由計算機網絡110連接到局域網(LAN) 109或可以直接連接到計算機網絡110。例如,LAN109是公共機構(諸如醫院、銀行、大型商業或政府部門)的內部計算機網絡。通常,這些公共機構仍然使用連接到LAN109的大型計算機102A和數據庫108。多種應用程序107A可以存儲在大型計算機102A的存儲器106A中且對處理器104A執行。類似地,多種應用程序107B可以存儲在服務器102B的存儲器106B中且對處理器104B執行。應用程序107A和107B可以是提供用于遠程訪問的“服務”。大型計算機102A、服務器102B和客戶端計算機112A、112B、112C或112N可以使用諸如圖12的通用計算裝置中示出的硬件來實施。
[0023]客戶端遠程訪問應用程序121A、121B、121C、121N可以被設計來分別使用(例如)具有觸屏114A的圖形顯示器或客戶端計算機112A、112B、112C、112N的圖形顯示器114B/114N和鍵盤116B/116C提供用于以人類可理解的方式顯示數據和/或影像的用戶交互且取決于用于與應用程序交互的所接收用戶指令確定用戶輸入數據。例如,通過使用分別存儲在客戶端計算機112A、112B、112C、112N的存儲器120A、120B、120C、120N中的命令對處理器118A、118B、118C、118N執行可執行命令來執行客戶端遠程訪問應用程序。
[0024]替代地或此外,對服務器102B執行用戶界面程序(作為應用程序107B之一),所述服務器102B然后經由URL被泛用型客戶端應用程序(諸如(例如)對客戶端計算機112AU12B執行的網頁瀏覽器)訪問。使用(例如)超文本標記語言HTML5實施用戶界面。在一些實施方式中,服務器102B可以和客戶端計算機112A、112B、112C……112N參與協作會話。例如,應用 程序107B中的前文提及的一個可以使服務器102B能夠與應用程序107A或另一應用程序107B和客戶端遠程訪問應用程序121A、121B、121C、121N協作交互。因此,服務器102B和正在參與的客戶端計算機112A、112B、112C……112N中的每個可以呈現應用程序的顯示的同步視圖。
[0025]如圖2中示出,協同狀態模型200執行服務器遠程訪問應用程序11IB和客戶端遠程訪問應用程序(112A、112B、112C、112N中的任何一個或應用程序107B之一)的操作。月艮務器遠程訪問程序的實例是可購自加拿大艾伯塔省Calgary Scientific公司的PUREWEB。當執行時,客戶端遠程訪問應用程序根據接收自用戶界面程序的用戶輸入數據更新狀態模型200。遠程訪問應用程序可以根據已更新的狀態模型200生成控制數據,且提供控制數據給正在服務器102B上運行的服務器遠程訪問應用程序111B。
[0026]當從應用程序107A或1097B接收到應用程序數據時,服務器遠程訪問應用程序IllB根據屏幕或應用程序數據更新狀態模型200、根據已更新的狀態模型200生成呈現數據,且提供呈現數據給正在客戶端計算裝置上運行的客戶端遠程訪問應用程序121AU21B、121CU21N。狀態模型200包括應用程序的邏輯元件與應用程序的對應狀態的關聯,其中邏輯元件處于層級次序中。例如,邏輯元件可以是組成應用程序用戶界面的平面、菜單、子菜單、按鈕等等。這使客戶端裝置能夠(例如)本地顯示邏輯元件。因此,呈現于移動電話上的應用程序的菜單看起來將與移動電話的本地菜單一樣。類似地,呈現于臺式電腦上的應用程序的菜單看起來將與臺式電腦操作系統的本地菜單一樣。
[0027]確定狀態模型200使得邏輯元件中的每個與應用程序107A或107B的對應狀態相關聯。可以確定狀態模型200使得邏輯元件與用戶界面相關聯。例如,確定應用程序的邏輯元件使得邏輯元件包括過渡元件,其中每個過渡元件使狀態模型200的變化與控制數據和與控制數據相關聯的應用程序表示數據相關。
[0028]在一些實施方式中,客戶端計算裝置112A、112B、112C......112N中的兩個或更多個
和/或服務器102B可以與應用程序107A或107B協作交互。因此,通過傳達客戶端計算裝置112A、112B、112C......112N中的每個和/或服務器102B和/或參與協作會話的大型計算機102A之間的狀態信息,正在參與的客戶端計算裝置112A、112B、112C……112N中的每個可以呈現應用程序107A或107B的顯示的同步視圖。
[0029]根據一些實施方式,系統100可以提供解耦應用程序擴展。這些擴展被提供作為服務器遠程訪問應用程序IllB的部分(例如,作為插件)、客戶端計算裝置112AU12B、112CU12N (例如,作為客戶端軟件開發包(SDK)的部分)、應用程序107B之一(例如,作為服務器SDK的部分)或其組合以提供應用程序107A或107B沒有以其它方式提供的特征和功能。下文關于圖4更完整地描述這些特征和功能。可以提供這些特征和功能且無需修改應用程序107A或107B,因為其與遠程訪問應用程序集成在一起。因此,解耦應用程序擴展獨立于應用程序本身,即,應用程序擴展并不取決于顯示在服務器遠程訪問應用程序IllB和客戶端遠程訪問應用程序121A、121B、121C、121N內的應用程序。此外,可以在由服務器遠程訪問應用程序IllB或客戶端遠程訪問應用程序121A、121B、121C、121N呈現的控制內使用應用程序擴展且其總是可以用。
[0030]例如,“交互式數字表面層”可以被提供作為應用程序擴展以使協作會話中的參與者能夠在正在會話中運行的應用程序的頂部上做注釋。交互式數字表面層用作涂鴉工具以使用戶能夠在應用程序的頂部上畫線、箭頭、符號、涂鴉等等以使應用程序與交互式數字表面層兩者協作。如下文將參考圖4A和圖4B描述,交互式數字表面層可用作圖1的環境內的控制。
[0031]圖3示出了描述解耦應用程序擴展(諸如可以結合本公開內容的各個方面實施的交互式數字表面層)的XML狀態模型文檔的樹。美國臨時專利申請第61/541,540號和美國專利申請第13/632,245號中描述交互式數字表面層(或“乙酸層”)的實施方式,所述案是以引用方式全部并入本文。在XML樹內,定義包括一個或多個會話的協作節點。會話與應用程序擴展(諸如交互 式數字表面層)相關聯。會話中的參與者是由UserInfo標簽識別且可以是(例如)Glen和Jacquie。每個參與者被指派默認顏色(DefaultColor)以表示用戶在交互式數字表面層內的注釋(例如,Glen指派藍色且Jacquie指派綠色)。可以選擇任何可顯示顏色作為協作會話的參與者的默認顏色。可以定義顏色的優先次序,使得第一用戶被指派藍色、第二用戶被指派綠色、第三用戶被指派橙色等等。
[0032]在協作節點下還定義了一個或多個視圖。在圖3的實例中,Glen和Jacquie可以在醫學成像應用程序內協作。因此,可以定義兩個視圖一軸向視圖和冠狀視圖。會話與視圖中的每個相關聯,其中會話包括多個用戶以進行協作。對于軸向視圖,Glen會話與光標位置(CP)和某些標記(例如,涂鴉、箭頭和圓圈)相關聯。在軸向視圖中,Jacquie具有相關聯的光標位置,但是因為她沒有對交互式數字表面層做任何標記,所以不存在與Jacquie的軸向會話視圖相關聯的任何額外信息。在冠狀會話下,每個用戶只具有與其相關聯的光標位置。
[0033]上述信息是由客戶端遠程訪問應用程序顯示,所述信息可以顯示在分別與Glen和Jacquie相關聯的客戶端計算裝置上。例如,Glen可以觀看具有中型顯示器的客戶端計算裝置(諸如手提電腦)上的應用程序。因此,Glen能夠同時觀看軸向視圖和冠狀視圖兩者。相比之下,Jacquie可以觀看較小計算裝置(諸如手持無線裝置)上的應用程序。因此,由于這種裝置的顯示區域更有限,所以可能只能呈現軸向視圖。
[0034]以下是根據圖3的樹的狀態模型200的示例性部分。狀態模型200可以由(例如)擴展標記語言(XML)文檔表示。可以使用狀態模型200的其它表示。狀態模型200中傳達關于應用程序和交互式數字表面層的信息。因為交互式數字表面層與應用程序解耦,所以關于交互式數字表面層的信息并非應用程序狀態的部分(即,其與應用程序分離)。相反,交互式數字表面層信息單獨維持在狀態模型200中。
[0035]
【權利要求】
1.一種提供協作會議能力給遠程訪問的應用程序的方法,其包括: 提供包括應用程序層、服務器層和客戶端層的分層遠程訪問框架,所述分層遠程訪問框架傳達關于客戶端計算裝置之間的所述遠程訪問的應用程序的第一信息,所述客戶端計算裝置在用來顯示所述客戶端計算裝置處的所述遠程訪問的應用程序的狀態模型內訪問所述遠程訪問的應用程序; 在所述服務器層中提供服務器遠程訪問應用程序,所述服務器遠程應用程序能夠修改所述狀態模型; 在所述客戶端層或所述應用程序層中提供客戶端遠程訪問應用程序; 在所述客戶端層中提供客戶端媒體共享應用程序,所述客戶端媒體共享應用程序允許所述客戶端計算裝置中的至少一個共享可由所述客戶端計算裝置中的所述至少一個訪問的媒體; 提供會議管理器應用程序給所述服務器層,所述會議管理器應用程序接收所述共享媒體;和 修改所述狀態模型以進一步包括所述共享媒體使得所述共享媒體被提供在所述客戶端計算裝置中的至少一個中。
2.根據權利要求1所述的方法,其還包括: 在所述服務器層中為所述客戶端計算裝置中的每個提供會議存根應用程序,每個會議存根應用程序介接所述 服務器遠程訪問應用程序以修改所述狀態模型。
3.根據權利要求1至2中任一項所述的方法,所述會議管理器應用程序直接從所述客戶端媒體共享應用程序接收所述共享媒體。
4.根據權利要求2所述的方法,所述會議管理器應用程序經由所述會議存根應用程序間接從所述客戶端遠程訪問應用程序接收所述共享媒體。
5.根據權利要求1至4中任一項所述的方法,所述共享媒體是音頻、視頻、圖像、桌面屏幕抓取或短信。
6.根據權利要求1所述的方法,所述共享媒體由所述客戶端計算裝置中的至少兩個同時共享,所述共享媒體源自于所述客戶端計算裝置中的所述至少兩個。
7.根據權利要求2至5中任一項所述的方法,所述會議管理器應用程序通過使來自所述至少一個客戶端計算裝置的所述共享媒體可用于所述會議存根應用程序中的所述每個而用作多工器。
8.一種提供協作會議能力的方法,其包括: 提供包括服務器層和客戶端層的分層遠程訪問框架,所述分層遠程訪問框架傳達關于客戶端計算裝置之間的共享媒體的信息,所述客戶端計算裝置在用來顯示所述客戶端計算裝置處的所述共享媒體的狀態模型內訪問所述共享媒體; 在所述服務器層中提供服務器遠程訪問應用程序,所述服務器遠程應用程序能夠修改所述狀態模型; 在所述客戶端層中提供客戶端媒體共享應用程序,所述客戶端媒體共享應用程序允許所述客戶端計算裝置中的至少一個與所述客戶端計算裝置共享所述共享媒體; 提供會議管理器應用程序給所述服務器層,所述會議管理器應用程序接收所述共享媒體;和修改所述狀態模型以進一步包括所述共享媒體使得所述共享媒體被提供在所述客戶端計算裝置中的至少一個中。
9.根據權利要求8所述的方法,其還包括: 在所述服務器層中為所述客戶端計算裝置中的每個提供會議存根應用程序,每個會議存根應用程序介接所述服務器遠程訪問應用程序以修改所述狀態模型。
10.根據權利要求8至9中任一項所述的方法,所述會議管理器應用程序直接從所述客戶端媒體共享應用程序接收所述共享媒體。
11.根據權利要求9所述的方法,所述會議管理器應用程序經由所述會議存根應用程序間接從客戶端遠程訪問應用程序接收所述共享媒體,所述客戶端遠程訪問應用程序被提供在所述客戶端層中。
12.根據權利要求8至11中任一項所述的方法,所述共享媒體是音頻、視頻、圖像、桌面屏幕抓取或短信。
13.根據權利要求8所述的方法,所述共享媒體由所述客戶端計算裝置中的至少兩個同時共享,所述共享媒體源自于所述客戶端計算裝置中的所述至少兩個。
14.根據權利要求9至12中任一項所述的方法,所述會議管理器應用程序通過使來自所述至少一個客戶端計算裝置的所述共享媒體可用于所述會議存根應用程序中的所述每個而用作多工器。
15.一種在其上存儲用于提供協作會議能力給包括應用程序層、服務器層和客戶端層的分層遠程訪問框架中的遠程訪問的應用程序的計算機可執行指令的有形計算機可讀存儲介質,所述分層遠程訪問框架被配置來傳達關于客戶端計算裝置之間的所述遠程訪問的應用程序的第一信息,所述客戶端計算裝置在用來顯示所述客戶端計算裝置處的所述遠程訪問的應用程序的狀態模型內訪問所述遠程訪問的應用程序,所述計算機可執行指令在由計算裝置執行時使所述計算裝置進行以下項: 在所述服務器層中提供服務器遠程訪問應用程序,所述服務器遠程應用程序能夠修改所述狀態模型; 提供會議管理器應用程序給所述服務器層,所述會議管理器應用程序能夠從客戶端媒體共享應用程序接收可被所述客戶端計算裝置中的至少一個訪問的共享媒體;和 修改所述狀態模型以進一步包括所述共享媒體使得所述共享媒體被提供在所述客戶端計算裝置中的至少一個中。
16.根據權利要求15所述的有形計算機可讀存儲介質,在其上還存儲計算機可執行指令,所述計算機可執行指令在由所述計算裝置執行時使所述計算裝置進行以下項: 在所述服務器層中為所述客戶端計算裝置中的每個提供會議存根應用程序,每個會議存根應用程序能夠介接所述服務器遠程訪問應用程序以修改所述狀態模型。
17.根據權利要求15至16中任一項所述的有形計算機可讀存儲介質,所述會議管理器應用程序直接從所述客戶端媒體共享應用程序接收所述共享媒體。
18.根據權利要求16所述的有形計算機可讀存儲介質,所述會議管理器應用程序經由所述會議存根應用程序間接從客戶端遠程訪問應用程序接收所述共享媒體,所述客戶端遠程訪問應用程序被提供在所述客戶端層或所述應用程序層中。
19.根據權利要求15至18中任一項所述的有形計算機可讀存儲介質,所述共享媒體是音頻、視頻、圖像、桌面屏幕抓取或短信。
20.根據權利要求15所述的有形計算機可讀存儲介質,所述共享媒體由所述客戶端計算裝置中的至少兩個同時共享,所述共享媒體源自于所述客戶端計算裝置中的所述至少兩個。
21.根據權利要求16至19中任一項所述的有形計算機可讀存儲介質,所述會議管理器應用程序通過使來自所述至少一個客戶端計算裝置的所述共享媒體可用于所述會議存根應用程序中的所述每個而用作多工器。
22.一種用于在包括服務器層和客戶端層的分層遠程訪問框架中提供協作會議能力的有形計算機可讀存儲介質,所述分層遠程訪問框架傳達關于客戶端計算裝置之間的共享媒體的信息,所述客戶端計算裝置在用來顯示所述客戶端計算裝置處的所述共享媒體的狀態模型內訪問所述共享媒體,所述有形計算機可讀存儲介質在由計算裝置執行時使所述計算裝置進行以下項: 在所述服務器層中提供服務器遠程訪問應用程序,所述服務器遠程應用程序能夠修改所述狀態模型; 提供會議管理器應用程序給所述服務器層,所述會議管理器應用程序能夠從客戶端媒體共享應用程序接收可被所述客戶端計算裝置中的至少一個訪問的共享媒體;和 修改所述狀態模型以進一步包括所述共享媒體使得所述共享媒體被提供在所述客戶端計算裝置中的至少一個中。
23.根據權利要求22所述的有形計算機可讀存儲介質,在其上還存儲計算機可執行指令,所述計算機可執行指令在由所述計算裝置執行時使所述計算裝置進行以下項: 在所述服務器層中為所述客戶端計算裝置中的每個提供會議存根應用程序,每個會議存根應用程序能夠介接所述服務器遠程訪問應用程序以修改所述狀態模型。
24.根據權利要求22至23中任一項所述的有形計算機可讀存儲介質,所述會議管理器應用程序直接從所述客戶端媒體共享應用程序接收所述共享媒體。
25.根據權利要求23所述的有形計算機可讀存儲介質,所述會議管理器應用程序經由所述會議存根應用程序間接從客戶端遠程訪問應用程序接收所述共享媒體,所述客戶端遠程訪問應用程序被提供在所述客戶端層中。
26.根據權利要求22至25中任一項所述的有形計算機可讀存儲介質,所述共享媒體是音頻、視頻、圖像、桌面屏幕抓取或短信。
27.根據權利要求22所述的有形計算機可讀存儲介質,所述共享媒體由所述客戶端計算裝置中的至少兩個同時共享,所述共享媒體源自于所述客戶端計算裝置中的所述至少兩個。
28.根據權利要求23至26中任一項所述的有形計算機可讀存儲介質,所述會議管理器應用程序通過使來自所述至少一個客戶端計算裝置的所述共享媒體可用于所述會議存根應用程序中的所述每個而用作多工器。
【文檔編號】H04L12/18GK104040946SQ201280057759
【公開日】2014年9月10日 申請日期:2012年11月20日 優先權日:2011年11月23日
【發明者】M·M·托馬斯, M·J·斯特菲爾, S·A·利奇, D·A·皮加特 申請人:卡爾加里科學公司