計(jì)算機(jī)系統(tǒng)集成的制作方法
【專(zhuān)利摘要】本公開(kāi)涉及計(jì)算機(jī)系統(tǒng)集成,包括一種集成第一計(jì)算機(jī)(120)和第二計(jì)算機(jī)(110)的方法。第一計(jì)算機(jī)執(zhí)行具有圖形用戶(hù)界面的軟件應(yīng)用(125)。第二計(jì)算機(jī)渲染(506)該圖形用戶(hù)界面,接收(508)在軟件應(yīng)用中已經(jīng)發(fā)生的事件的標(biāo)識(shí),并響應(yīng)于該事件的發(fā)生識(shí)別(510)要由第二計(jì)算機(jī)執(zhí)行的動(dòng)作,從預(yù)定義的動(dòng)作序列中識(shí)別該動(dòng)作。第二計(jì)算機(jī)執(zhí)行(512)識(shí)別的動(dòng)作以修改圖形用戶(hù)界面的渲染。
【專(zhuān)利說(shuō)明】
計(jì)算機(jī)系統(tǒng)集成
技術(shù)領(lǐng)域
[0001]本公開(kāi)涉及計(jì)算機(jī)系統(tǒng)。更具體地,本公開(kāi)涉及將由多個(gè)計(jì)算機(jī)執(zhí)行的軟件應(yīng)用集成在單個(gè)計(jì)算機(jī)中的方法和設(shè)備。
【背景技術(shù)】
[0002]一些計(jì)算任務(wù)涉及數(shù)個(gè)不同的軟件應(yīng)用的使用,其中的每個(gè)軟件應(yīng)用由不同的計(jì)算機(jī)執(zhí)行。為了成功地完成計(jì)算任務(wù),用戶(hù)可能必須與每個(gè)計(jì)算機(jī)上的每個(gè)軟件應(yīng)用進(jìn)行交互。例如,多個(gè)計(jì)算機(jī)中的每個(gè)可連接至完成該計(jì)算任務(wù)的特定部分所需的相應(yīng)的硬件項(xiàng),并且可能需要專(zhuān)用的軟件應(yīng)用來(lái)控制或從每個(gè)硬件項(xiàng)接收數(shù)據(jù)。在此示例中,多個(gè)不同的硬件項(xiàng)的使用可能意味著難以或不希望利用單個(gè)計(jì)算機(jī)代替多個(gè)計(jì)算機(jī)。作為另一示例,該計(jì)算任務(wù)可能要求由需要不同操作系統(tǒng)的軟件應(yīng)用執(zhí)行的動(dòng)作。在此示例中,對(duì)于多個(gè)不同操作系統(tǒng)的需求可能意味著難以或不希望由單個(gè)計(jì)算機(jī)執(zhí)行所有的軟件應(yīng)用。
[0003]由使用多個(gè)計(jì)算機(jī)來(lái)完成特定計(jì)算任務(wù)產(chǎn)生了多個(gè)實(shí)際困難。例如,用戶(hù)從一個(gè)計(jì)算機(jī)移動(dòng)至另一個(gè)以執(zhí)行任務(wù)的不同部分是不方便的。此外,使每個(gè)計(jì)算機(jī)具有不同的鍵盤(pán)、監(jiān)視器和鼠標(biāo)成本高且浪費(fèi)空間。
[0004]這些實(shí)際困難的可能的解決方案可能是使用KVM(鍵盤(pán)、視頻和鼠標(biāo))開(kāi)關(guān)將多個(gè)計(jì)算機(jī)耦接至單個(gè)鍵盤(pán)、監(jiān)視器和鼠標(biāo)。然而,這對(duì)于實(shí)際困難來(lái)說(shuō)不會(huì)是好的解決方案,因?yàn)閷?duì)于用戶(hù)來(lái)說(shuō),經(jīng)由KVM開(kāi)關(guān)選擇正確的計(jì)算機(jī)來(lái)執(zhí)行任務(wù)的每個(gè)部分是費(fèi)力的。此夕卜,使用KVM開(kāi)關(guān)具有用戶(hù)無(wú)法看到在特定時(shí)刻在未經(jīng)由KVM開(kāi)關(guān)與監(jiān)視器連接的計(jì)算機(jī)上發(fā)生的事件的缺點(diǎn)。再進(jìn)一步的,在每個(gè)計(jì)算機(jī)和KVM開(kāi)關(guān)之間安裝鍵盤(pán)、視頻和鼠標(biāo)線纜可能是昂貴的。
[0005]這些實(shí)際困難的另一種可能的解決方案可能是使用KVM開(kāi)關(guān)的軟件實(shí)現(xiàn)的等同物,諸如EdgeRunner有限責(zé)任公司的Multiplicity?。這種軟件實(shí)現(xiàn)的KVM開(kāi)關(guān)通過(guò)通信網(wǎng)絡(luò)傳送鍵盤(pán)、視頻和鼠標(biāo)數(shù)據(jù),因此避免了在每個(gè)計(jì)算機(jī)和托管該軟件實(shí)現(xiàn)的KVM開(kāi)關(guān)的計(jì)算機(jī)之間安裝鍵盤(pán)、視頻和鼠標(biāo)線纜的需要。然而,軟件實(shí)現(xiàn)的KVM開(kāi)關(guān)仍需要用戶(hù)選擇正確的計(jì)算機(jī)來(lái)執(zhí)行任務(wù)的每個(gè)部分,并仍具有用戶(hù)無(wú)法看到在特定時(shí)刻在未選擇的計(jì)算機(jī)上發(fā)生的事件的缺點(diǎn)。
[0006]因此,存在時(shí)克服或者減輕一些前述實(shí)際困難的將由多個(gè)計(jì)算機(jī)執(zhí)行的軟件應(yīng)用集成到單個(gè)計(jì)算機(jī)中的改進(jìn)的方式的需求。
【發(fā)明內(nèi)容】
[0007]第一方面提供了一種集成第一計(jì)算機(jī)和第二計(jì)算機(jī)的方法,第一計(jì)算機(jī)執(zhí)行具有第一圖形用戶(hù)界面的第一軟件應(yīng)用,該方法在第二計(jì)算機(jī)處執(zhí)行并包括:渲染第一圖形用戶(hù)界面;接收在第一軟件應(yīng)用中已經(jīng)發(fā)生的事件的標(biāo)識(shí);響應(yīng)于該事件的發(fā)生識(shí)別要由第二計(jì)算機(jī)執(zhí)行的動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該動(dòng)作;以及執(zhí)行識(shí)別的動(dòng)作以修改第一圖形用戶(hù)界面的渲染。
[0008]識(shí)別動(dòng)作可包括識(shí)別第二計(jì)算機(jī)的當(dāng)前狀態(tài);并查詢(xún)查找表以識(shí)別與第二計(jì)算機(jī)的當(dāng)前狀態(tài)和已經(jīng)發(fā)生的事件相關(guān)聯(lián)的預(yù)定義的動(dòng)作。
[0009]該方法可進(jìn)一步包括通過(guò)由第二計(jì)算機(jī)執(zhí)行的遠(yuǎn)程展示程序,在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間建立遠(yuǎn)程展示協(xié)議會(huì)話;并使用該遠(yuǎn)程展示協(xié)議會(huì)話來(lái)經(jīng)由網(wǎng)絡(luò)在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間傳送屬于第一圖形用戶(hù)界面的信息,其中使用該遠(yuǎn)程展示程序渲染該第一圖形用戶(hù)界面。該方法可進(jìn)一步包括在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間建立通信信道,該通信信道不同于該遠(yuǎn)程展示協(xié)議會(huì)話,其中經(jīng)由該通信信道在第二計(jì)算機(jī)處接收事件的標(biāo)識(shí)O
[0010]第二計(jì)算機(jī)可執(zhí)行具有第二圖形用戶(hù)界面的第二軟件應(yīng)用,并且該方法可進(jìn)一步包括由第二計(jì)算機(jī)同時(shí)渲染第一圖形用戶(hù)界面和第二圖形用戶(hù)界面。執(zhí)行識(shí)別的動(dòng)作可進(jìn)一步使得第二計(jì)算機(jī)修改第二圖形用戶(hù)界面的渲染。該方法可進(jìn)一步包括接收第二事件的標(biāo)識(shí),該第二事件已經(jīng)在第二軟件應(yīng)用中發(fā)生;響應(yīng)于第二事件的發(fā)生識(shí)別要由第二計(jì)算機(jī)執(zhí)行的第二動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該第二動(dòng)作;以及執(zhí)行識(shí)別的第二動(dòng)作以修改第一圖形用戶(hù)界面和/或第二圖形用戶(hù)界面的渲染。
[0011]該方法可進(jìn)一步包括通過(guò)由第二計(jì)算機(jī)同時(shí)渲染第一圖形用戶(hù)界面和第三圖形用戶(hù)界面,將第三計(jì)算機(jī)與第一和第二計(jì)算機(jī)集成,該第三計(jì)算機(jī)執(zhí)行具有第三圖形用戶(hù)界面的第三軟件應(yīng)用。執(zhí)行識(shí)別的動(dòng)作可進(jìn)一步使得第二計(jì)算機(jī)修改第三圖形用戶(hù)界面的渲染。該方法可進(jìn)一步包括接收第三事件的標(biāo)識(shí),該第三事件已經(jīng)在第三軟件應(yīng)用中發(fā)生;響應(yīng)于第三事件的發(fā)生識(shí)別要由第二計(jì)算機(jī)執(zhí)行的第三動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別第三動(dòng)作;以及執(zhí)行識(shí)別的第三動(dòng)作以修改第一圖形用戶(hù)界面和/或第三圖形用戶(hù)界面的渲染。
[0012]執(zhí)行所述識(shí)別的動(dòng)作中的一個(gè)以修改第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的渲染可包括使得第二計(jì)算機(jī)修改該圖形用戶(hù)界面的行為和/或外觀。執(zhí)行所述識(shí)別的動(dòng)作中的一個(gè)可使得第二計(jì)算機(jī)執(zhí)行下述操作中的任意一個(gè)或多個(gè):改變顯示第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的位置;或者改變顯示第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的大小;或者終止第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的渲染;或者將輸入裝置的焦點(diǎn)賦予第一、第二或第三圖形用戶(hù)界面中的任意一個(gè),其中該輸入裝置通信地耦接至該第二計(jì)算機(jī)。
[0013]該方法可進(jìn)一步包括在第一計(jì)算機(jī)處產(chǎn)生消息,該消息識(shí)別已經(jīng)在第一軟件應(yīng)用中發(fā)生的事件;并通過(guò)第一計(jì)算機(jī)將該消息發(fā)送至第二計(jì)算機(jī)。
[0014]另一方面提供了一種包括指令的處理器可讀介質(zhì),當(dāng)該指令由處理器執(zhí)行時(shí)使得該處理器執(zhí)行如本文所述的方法。
[0015]另一方面提供了一種包括用于執(zhí)行如本文所述的方法的裝置的設(shè)備。該設(shè)備可包括處理器和耦接至所述處理器的存儲(chǔ)器,該存儲(chǔ)器包括當(dāng)執(zhí)行時(shí)使得該處理器執(zhí)行如本文所述的方法的指令。
[0016]另一方面提供了一種放療系統(tǒng),包括:可操作以與另一計(jì)算機(jī)通信的計(jì)算機(jī),該另一計(jì)算機(jī)被連接至用于產(chǎn)生放射物的裝置,該另一計(jì)算機(jī)包括用于控制該用于產(chǎn)生放射物的裝置的治療控制程序,該治療控制程序具有圖形用戶(hù)界面,其中該計(jì)算機(jī)被配置為:渲染圖形用戶(hù)界面;接收在該治療程序中已經(jīng)發(fā)生的事件的標(biāo)識(shí);響應(yīng)于該事件的發(fā)生識(shí)別要由計(jì)算機(jī)執(zhí)行的動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該動(dòng)作;以及執(zhí)行該識(shí)別的動(dòng)作以修改該圖形用戶(hù)界面的渲染。該計(jì)算機(jī)進(jìn)一步可操作以與第三計(jì)算機(jī)通信,該第三計(jì)算機(jī)包括用于提供與要由該放療系統(tǒng)治療的患者相關(guān)的信息的腫瘤信息程序。
【附圖說(shuō)明】
[0017]現(xiàn)在將僅通過(guò)示例的方式參考附圖描述實(shí)施例,其中使用相似的附圖標(biāo)記指示相似的元件,并且在附圖中:
[0018]圖1是計(jì)算機(jī)系統(tǒng)的不意圖;
[0019]圖2是通過(guò)集成多個(gè)計(jì)算機(jī)產(chǎn)生的屏幕的示例;
[0020]圖3是事件表的不例;
[0021]圖4是由圖3中所示的事件表產(chǎn)生的屏幕序列的示例;以及
[0022]圖5是集成多個(gè)計(jì)算機(jī)的方法的流程圖。
【具體實(shí)施方式】
[0023]圖1是聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)100的示意圖。計(jì)算機(jī)系統(tǒng)100包括第一計(jì)算機(jī)120和第二計(jì)算機(jī)110。計(jì)算機(jī)系統(tǒng)100可選地包括任意數(shù)量的其他計(jì)算機(jī),諸如第三計(jì)算機(jī)130。計(jì)算機(jī)110、120、130中的任意一個(gè)可為真實(shí)的計(jì)算機(jī)或虛擬機(jī)。為了簡(jiǎn)潔起見(jiàn),計(jì)算機(jī)系統(tǒng)100的下列描述假設(shè)所有的計(jì)算機(jī)110、120、130是真實(shí)的計(jì)算機(jī)。
[0024]計(jì)算機(jī)110、120、130通過(guò)通信網(wǎng)絡(luò)106彼此鏈接,使得計(jì)算機(jī)可經(jīng)由網(wǎng)絡(luò)106通信。網(wǎng)絡(luò)106可包括任意適當(dāng)?shù)挠芯€或無(wú)線通信技術(shù),或不同的有線和/或無(wú)線通信技術(shù)的任意組合。例如,網(wǎng)絡(luò)106可包括短程無(wú)線通信鏈路,諸如藍(lán)牙tmSieee 802.1i(wiFi?)鏈路。作為另一示例,網(wǎng)絡(luò)106可包括局域網(wǎng)(LAN),諸如基于以太網(wǎng)通信技術(shù)的有線網(wǎng)絡(luò)。作為再一示例,網(wǎng)絡(luò)106可包括廣域網(wǎng)(WAN),諸如因特網(wǎng)或蜂窩電話網(wǎng)絡(luò)。
[0025]第一計(jì)算機(jī)120包括處理器和存儲(chǔ)器(在圖1中未示出)。第一計(jì)算機(jī)120的處理器執(zhí)行存儲(chǔ)在該存儲(chǔ)器中的各種程序,包括窗口系統(tǒng)121、通信軟件122以及一個(gè)或多個(gè)軟件應(yīng)用125。
[0026]第二計(jì)算機(jī)110包括處理器和存儲(chǔ)器(在圖1中未示出)。第二計(jì)算機(jī)110的處理器執(zhí)行存儲(chǔ)在該存儲(chǔ)器中的各種程序,包括窗口系統(tǒng)111、通信軟件112以及渲染控制程序117。第二計(jì)算機(jī)110的處理器可選地執(zhí)行一個(gè)或多個(gè)軟件應(yīng)用115。第二計(jì)算機(jī)110的存儲(chǔ)器還存儲(chǔ)配置信息118和事件表119。一個(gè)或多個(gè)輸入裝置102(諸如鍵盤(pán)102a和/或鼠標(biāo)102b)被連接至第二計(jì)算機(jī)110。顯示裝置104(諸如監(jiān)視器)被連接至第二計(jì)算機(jī)110。可使用任何適當(dāng)類(lèi)型的輸入裝置102或顯示裝置104。還可使用組合的輸入裝置和顯示裝置,諸如觸摸屏。輸入裝置102和顯示裝置104可通過(guò)有線或無(wú)線連接被連接至第二計(jì)算機(jī)110。
[0027]第一計(jì)算機(jī)120無(wú)需直接連接到輸入裝置,因?yàn)槿鐚⒃谙挛乃忉尩?,可?jīng)由連接至第二計(jì)算機(jī)110的輸入裝置102將輸入提供給第一計(jì)算機(jī)。相似地,第一計(jì)算機(jī)120無(wú)需直接連接到顯示裝置,因?yàn)樗蓪⑵漭敵鎏峁┙o連接至第二計(jì)算機(jī)110的顯示裝置104。
[0028]第三計(jì)算機(jī)130包括處理器和存儲(chǔ)器(在圖1中未示出)。第三計(jì)算機(jī)130的處理器執(zhí)行存儲(chǔ)在該存儲(chǔ)器中的各種程序,包括一個(gè)或多個(gè)軟件應(yīng)用135、145。第三計(jì)算機(jī)130與第一計(jì)算機(jī)120類(lèi)似,并且因此無(wú)需詳細(xì)描述。相似地,如果計(jì)算機(jī)系統(tǒng)100包括任何其他計(jì)算機(jī)(在圖1中未示出),這些計(jì)算機(jī)也可被認(rèn)為與第一計(jì)算機(jī)120類(lèi)似并無(wú)需詳細(xì)描述。為了清晰起見(jiàn),在計(jì)算機(jī)系統(tǒng)100的功能的下列描述中僅討論第一計(jì)算機(jī)120。然而,應(yīng)理解的是,在適當(dāng)?shù)那闆r下,對(duì)于第一計(jì)算機(jī)120的參考可被對(duì)于第三計(jì)算機(jī)130或其他計(jì)算機(jī)的參考取代和/或補(bǔ)充。
[0029]窗口系統(tǒng)111、121是程序或程序套件,其允許計(jì)算機(jī)110、120提供圖形用戶(hù)界面(GUI)。例如,窗口系統(tǒng)111、121可允許軟件應(yīng)用115、125在顯示裝置104上的窗口中展示它的輸出。窗口系統(tǒng)111、121還可允許軟件應(yīng)用115、125接收來(lái)自輸入裝置102的輸入??墒褂萌魏芜m當(dāng)?shù)拇翱谙到y(tǒng)111、121。例如,窗口系統(tǒng)111、121可與由計(jì)算機(jī)110、120執(zhí)行的操作系統(tǒng)(例如,微軟的Windows?)集成。作為替換的,窗口系統(tǒng)111、121可從操作系統(tǒng)(例如,XWindow System?,其由類(lèi)UNIX?的操作系統(tǒng)執(zhí)行)分離。由每個(gè)計(jì)算機(jī)110、120執(zhí)行的窗口系統(tǒng)111、121無(wú)需相同。
[0030]軟件應(yīng)用115、125可為具有圖形用戶(hù)界面的任意類(lèi)型的程序。軟件應(yīng)用115、125通常使用相應(yīng)的窗口系統(tǒng)111、121來(lái)提供它們的GUI。例如,軟件應(yīng)用115、125可指令窗口系統(tǒng)111、121顯示在其中展示視覺(jué)輸出的一個(gè)或多個(gè)窗口,和/或當(dāng)用戶(hù)使用輸入裝置102與一個(gè)或多個(gè)窗口交互時(shí)可通過(guò)窗口系統(tǒng)被通知。然而,軟件應(yīng)用不一定必須使用窗口系統(tǒng)
111、121。例如,軟件應(yīng)用115、125可為遺留程序,諸如為MS-DOS?編寫(xiě)的程序,其可在沒(méi)有窗口系統(tǒng)111、121的情況下提供圖形用戶(hù)界面。權(quán)利要求的范圍包括具有任意功能的軟件應(yīng)用115、125。在特定示例中,軟件應(yīng)用115、125具有相互關(guān)聯(lián)的功能,使得渲染控制程序117可集成軟件應(yīng)用115、125以便完成特定任務(wù)。
[0031]通信軟件112、122允許計(jì)算機(jī)110、120經(jīng)由網(wǎng)絡(luò)106彼此通信。通信軟件112、122包括遠(yuǎn)程展示程序113、123。遠(yuǎn)程展示程序113、123允許由第一計(jì)算機(jī)120執(zhí)行的軟件應(yīng)用125的圖形用戶(hù)界面在第二計(jì)算機(jī)110上顯示。為實(shí)現(xiàn)此目標(biāo),由計(jì)算機(jī)110、120兩者執(zhí)行的相應(yīng)的遠(yuǎn)程展示程序113、123經(jīng)由網(wǎng)絡(luò)106交換屬于圖形用戶(hù)界面的信息。遠(yuǎn)程展示程序113、123通常允許描述圖形用戶(hù)界面的外觀的信息從第一計(jì)算機(jī)120發(fā)送至第二計(jì)算機(jī)110,使得圖形用戶(hù)界面可由第二計(jì)算機(jī)110渲染。遠(yuǎn)程展示程序113、123還通常允許描述至圖形用戶(hù)界面的用戶(hù)輸入的信息從第二計(jì)算機(jī)110發(fā)送至第一計(jì)算機(jī)120,使得第二計(jì)算機(jī)110的用戶(hù)可與軟件應(yīng)用125進(jìn)行交互。用戶(hù)輸入可包括來(lái)自任何適當(dāng)?shù)妮斎胙b置(諸如鍵盤(pán)102a和/或鼠標(biāo)102b)的輸入。使用遠(yuǎn)程展示協(xié)議經(jīng)由網(wǎng)絡(luò)106傳送屬于圖形用戶(hù)界面的信息。在計(jì)算機(jī)系統(tǒng)100的一個(gè)示例中,遠(yuǎn)程展示協(xié)議是遠(yuǎn)程桌面協(xié)議(RDP),由微軟公司提供。在此示例中,由第一計(jì)算機(jī)120執(zhí)行的遠(yuǎn)程展示程序123是RDP服務(wù)器,并且由第二計(jì)算機(jī)110執(zhí)行的遠(yuǎn)程展示程序113是RDP客戶(hù)端。RDP客戶(hù)端113與RDP服務(wù)器123建立RDP會(huì)話,以便允許經(jīng)由網(wǎng)絡(luò)106交換屬于圖形用戶(hù)界面的信息??墒褂萌我馄渌m當(dāng)?shù)倪h(yuǎn)程展示協(xié)議和遠(yuǎn)程展示程序。例如,遠(yuǎn)程展示協(xié)議可為遠(yuǎn)程幀緩沖協(xié)議(RFP),并且遠(yuǎn)程展示程序113、123可為虛擬網(wǎng)絡(luò)計(jì)算(VNC)應(yīng)用。權(quán)利要求并非意在受限于任何特定的遠(yuǎn)程展示協(xié)議或遠(yuǎn)程展示程序。
[0032]通信軟件112、122還包括用于在第二計(jì)算機(jī)110和第一計(jì)算機(jī)120之間建立通信信道的通信信道組件114、124。該通信信道允許第一計(jì)算機(jī)120將與在由第一計(jì)算機(jī)120執(zhí)行的軟件應(yīng)用125中的事件的發(fā)生相關(guān)的信息提供給第二計(jì)算機(jī)110。本文使用的術(shù)語(yǔ)“事件”描述了對(duì)于程序來(lái)說(shuō)重要的發(fā)生或情形。在一個(gè)示例中,通信信道是傳輸控制協(xié)議(TCP)套接字連接。在此示例中,第二計(jì)算機(jī)110包括TCP服務(wù)器114,并且第一計(jì)算機(jī)120包括TCP客戶(hù)端124。TCP服務(wù)器114經(jīng)由網(wǎng)絡(luò)106接收尋址到第二計(jì)算機(jī)110的預(yù)定義的TCP端口的消息。TCP服務(wù)器114將這些消息引向渲染控制程序117。因此,為了使第一計(jì)算機(jī)120通知第二計(jì)算機(jī)110事件的發(fā)生,TCP客戶(hù)端124經(jīng)由網(wǎng)絡(luò)106發(fā)送消息至第二計(jì)算機(jī)110的預(yù)定義的TCP端口??墒褂脤⑹录陌l(fā)生從第一計(jì)算機(jī)120傳送給第二計(jì)算機(jī)110的任意其他適當(dāng)?shù)姆椒?。例如,該通信信道可為RDP虛擬信道,使得遠(yuǎn)程展示程序113、123與用于建立通信信道的通信信道組件114、124集成。權(quán)利要求并非意在受限于在第二計(jì)算機(jī)110和第一計(jì)算機(jī)120之間建立通信信道的任何特定類(lèi)型的技術(shù)。
[0033]第一計(jì)算機(jī)120可包括應(yīng)用編程接口(API)126以便于將與軟件應(yīng)用125中事件的發(fā)生相關(guān)的信息提供給第二計(jì)算機(jī)110 JPI 126包括可以被軟件應(yīng)用125喚起(invoke)或執(zhí)行的一個(gè)或多個(gè)過(guò)程、功能或方法(下文中稱(chēng)為“API調(diào)用”)。當(dāng)軟件應(yīng)用125喚起API調(diào)用時(shí),API 126使得使用通信信道經(jīng)由網(wǎng)絡(luò)106將消息發(fā)送給第二計(jì)算機(jī)110。
[0034]第二計(jì)算機(jī)110也可包括應(yīng)用編程接口116以便于將與由第二計(jì)算機(jī)110執(zhí)行的軟件應(yīng)用115中事件的發(fā)生相關(guān)的信息提供給渲染控制程序117。第二計(jì)算機(jī)110的API 116具有與第一計(jì)算機(jī)120的API 126相似的功能。然而,由于軟件應(yīng)用115和渲染控制程序117兩者都由第二計(jì)算機(jī)110執(zhí)行,API 116并不使得消息經(jīng)由網(wǎng)絡(luò)106發(fā)送。作為替代的,當(dāng)軟件應(yīng)用115喚起API調(diào)用時(shí),API 116使得消息直接被發(fā)送至渲染控制程序117^PI 116可使用任意適當(dāng)?shù)倪M(jìn)程間通信方法將消息發(fā)送至渲染控制程序117。
[0035]現(xiàn)在將描述由API 116、126提供的API調(diào)用的一些示例。一種API調(diào)用通知第二計(jì)算機(jī)110在軟件應(yīng)用115、125內(nèi)事件的發(fā)生。此API調(diào)用具有SendEvent (Destinat1n,Source ,EventName)的形式。Destinat 1n識(shí)別第二計(jì)算機(jī)110,并可為第二計(jì)算機(jī)110的網(wǎng)絡(luò)名稱(chēng)或者因特網(wǎng)協(xié)議(IP)地址。Source識(shí)別其內(nèi)發(fā)生該事件的軟件應(yīng)用115、125。EventName識(shí)別在軟件應(yīng)用115、125中發(fā)生的特定事件。因此,SendEventAPI調(diào)用的喚起使得第二計(jì)算機(jī)110接收識(shí)別事件以及該事件在其中發(fā)生的軟件應(yīng)用115、125的消息。另一API調(diào)用使得第二計(jì)算機(jī)110顯示由軟件應(yīng)用115、125選擇的文本。此API調(diào)用具有SendDi sp IayText (Destiinati 1n,Source,Text)的形式。Destinat 1n 和Source參數(shù)具有與關(guān)于SendEvent API調(diào)用所討論的相同的含義,而Text是字符串。SendDisplayTextAPI調(diào)用的喚起使得第二計(jì)算機(jī)110接收識(shí)別軟件應(yīng)用115、125希望在顯示器104上展示的字符串的消息。應(yīng)理解的是,已經(jīng)僅僅通過(guò)示例的方式描述了 SendEvent和SendDisplayTextAPI調(diào)用,并且利用具有不同參數(shù)或語(yǔ)法的API調(diào)用可實(shí)現(xiàn)相同或相似的功能。
[0036]API 116,126可提供額外的API調(diào)用以允許軟件應(yīng)用115、125請(qǐng)求第二計(jì)算機(jī)110執(zhí)行特定動(dòng)作,包括:向軟件應(yīng)用115、125提供鍵盤(pán)焦點(diǎn);最大化和/或最小化其中渲染了軟件應(yīng)用115、125的圖形用戶(hù)界面的窗口;在特定屏幕位置顯示其中渲染了軟件應(yīng)用115、125的圖形用戶(hù)界面的窗口;在任意其他窗口之前顯示其中渲染了軟件應(yīng)用115、125的圖形用戶(hù)界面的窗口;和/或在特定顯示器104上顯示其中渲染了軟件應(yīng)用115、125的圖形用戶(hù)界面的窗口,用于在多個(gè)顯示器104連接至第二計(jì)算機(jī)110時(shí)使用。
[0037]渲染控制程序117負(fù)責(zé)將第一計(jì)算機(jī)120與第二計(jì)算機(jī)110以及任意另外的計(jì)算機(jī)(諸如第三計(jì)算機(jī)130)集成。更具體地,渲染控制程序117集成由第一計(jì)算機(jī)120、第二計(jì)算機(jī)110和/或其他計(jì)算機(jī)130執(zhí)行的軟件應(yīng)用115、125的圖形用戶(hù)界面和功能。渲染控制程序117通過(guò)將軟件應(yīng)用115、125的圖形用戶(hù)界面渲染在顯示在第二計(jì)算機(jī)110上的圖形用戶(hù)界面內(nèi)來(lái)集成它們。渲染控制程序117通過(guò)控制響應(yīng)于軟件應(yīng)用內(nèi)事件的發(fā)生而將軟件應(yīng)用115、125的圖形用戶(hù)界面渲染在第二計(jì)算機(jī)110上的方式來(lái)集成它們的功能。參考圖5,在下文更詳細(xì)地討論渲染控制程序117的操作。
[0038]在一個(gè)示例中,渲染控制程序117是獨(dú)立可執(zhí)行程序。在此示例中,渲染控制程序117與第二計(jì)算機(jī)110的窗口系統(tǒng)111通信以便控制軟件應(yīng)用115、125的圖形用戶(hù)界面的渲染。然而,渲染控制程序117的功能可集成在窗口系統(tǒng)111自身內(nèi),或者可集成在第二計(jì)算機(jī)110的操作系統(tǒng)內(nèi)。
[0039]配置信息118包括用于配置渲染控制程序117的信息。例如,配置信息118可包括用于可與第二計(jì)算機(jī)110集成的每個(gè)計(jì)算機(jī)120、130的唯一的標(biāo)識(shí)符,諸如IP地址。該唯一的標(biāo)識(shí)符允許渲染控制程序117識(shí)別在其上發(fā)生特定事件的計(jì)算機(jī),這有助于渲染控制程序117響應(yīng)于該事件識(shí)別要執(zhí)行的動(dòng)作。配置信息118還可包括用于當(dāng)每個(gè)應(yīng)用115、125的圖形用戶(hù)界面在第二計(jì)算機(jī)110的圖形用戶(hù)界面內(nèi)渲染時(shí)定義它們的初始外觀的信息。例如,配置信息118可指定其中顯示每個(gè)應(yīng)用115、125的圖形用戶(hù)界面中的每個(gè)的相應(yīng)窗口的幾何結(jié)構(gòu)。更具體地,配置信息可指定每個(gè)窗口的高度和寬度,加上顯示每個(gè)窗口的位置。配置信息118還可指定這些窗口沿著z軸的初始次序(一般稱(chēng)為“Z次序”),這允許窗口系統(tǒng)111確定如果兩個(gè)或更多個(gè)窗口重疊那么應(yīng)當(dāng)顯示哪些窗口以及應(yīng)當(dāng)隱藏哪些窗口。配置信息118還可包括用于可與第二計(jì)算機(jī)110集成的每個(gè)計(jì)算機(jī)120、130的認(rèn)證信息。例如,配置信息可包括用于第一計(jì)算機(jī)120和任意另外的計(jì)算機(jī)130的用戶(hù)名和/或密碼。認(rèn)證信息可由第二計(jì)算機(jī)110使用以與其他計(jì)算機(jī)120、130建立遠(yuǎn)程展示協(xié)儀會(huì)話。
[0040]事件表119包括定義響應(yīng)于在軟件應(yīng)用115、125中特定事件的發(fā)生要由渲染控制程序117執(zhí)行的一個(gè)或多個(gè)動(dòng)作的信息。每個(gè)動(dòng)作修改其中發(fā)生相應(yīng)的事件的圖形用戶(hù)界面的行為和/或外觀。事件表119將多個(gè)事件與一個(gè)或多個(gè)相應(yīng)的動(dòng)作相關(guān)聯(lián),從而定義動(dòng)作的序列。
[0041]通過(guò)解釋的方式,涉及數(shù)個(gè)不同的軟件應(yīng)用的使用的很多計(jì)算任務(wù)需要用戶(hù)在那些軟件應(yīng)用的執(zhí)行期間在可預(yù)測(cè)的點(diǎn)處在軟件應(yīng)用之間切換。此外,不同的軟件應(yīng)用傾向于以可預(yù)測(cè)的順序使用。因此,可通過(guò)在軟件應(yīng)用的執(zhí)行期間在預(yù)定義的點(diǎn)處以預(yù)定義的順序在軟件應(yīng)用之間自動(dòng)切換,來(lái)避免用戶(hù)在不同的軟件應(yīng)用之間切換(以及在不同的計(jì)算機(jī)之間切換,若軟件應(yīng)用由不同的計(jì)算機(jī)執(zhí)行的話)的需求。這可通過(guò)使得軟件應(yīng)用當(dāng)?shù)诙?jì)算機(jī)到達(dá)軟件應(yīng)用執(zhí)行中的預(yù)定義點(diǎn)時(shí)將事件的標(biāo)識(shí)發(fā)送至第二計(jì)算機(jī)110來(lái)實(shí)現(xiàn)。例如,該軟件應(yīng)用可喚起由API 126提供的SendEvent API調(diào)用以便在其執(zhí)行中的特定點(diǎn)處發(fā)送事件的標(biāo)識(shí)。在此示例中,軟件應(yīng)用的編程者決定在該軟件應(yīng)用的執(zhí)行中哪些點(diǎn)是重要的,并在適當(dāng)?shù)狞c(diǎn)處喚起SendEvent。例如,當(dāng)軟件應(yīng)用已經(jīng)完成特定處理操作時(shí)、當(dāng)用戶(hù)以特定方式與該應(yīng)用軟件交互時(shí)或當(dāng)發(fā)生錯(cuò)誤時(shí)可喚起SendEvent。當(dāng)接收到該事件的標(biāo)識(shí)時(shí),第二計(jì)算機(jī)110執(zhí)行使得要以預(yù)定義的順序使用不同的軟件應(yīng)用的一個(gè)或多個(gè)動(dòng)作。因此,可通過(guò)響應(yīng)于軟件應(yīng)用中預(yù)定義的事件的發(fā)生執(zhí)行從預(yù)定義的動(dòng)作序列中選擇的動(dòng)作而更容易地執(zhí)行復(fù)雜的計(jì)算任務(wù)。事件表119將每個(gè)事件與一個(gè)或多個(gè)動(dòng)作相關(guān)聯(lián),以便實(shí)現(xiàn)以期望的順序使用軟件應(yīng)用。
[0042]現(xiàn)在將參考圖2、3和4描述事件表的示例。
[0043]圖2是依據(jù)本公開(kāi)通過(guò)集成多個(gè)計(jì)算機(jī)產(chǎn)生的屏幕200的示例。屏幕200由第二計(jì)算機(jī)110在顯示裝置104上顯示。屏幕200包括多個(gè)區(qū)域202、204、206。三個(gè)區(qū)域202、204、206在圖2中示出,但屏幕200可包括更多或更少的區(qū)域。屏幕200還包括工具欄210。工具欄210包括一個(gè)或多個(gè)按鈕208。五個(gè)按鈕208a、208b、208c、208d、208e在圖2中示出,但工具欄210可包括更多或更少的按鈕??蓪④浖?yīng)用115、125、135、145的圖形用戶(hù)界面渲染在區(qū)域202、204、206中的任意一個(gè)中。
[0044]圖3是事件表119的不例。在此不例中,事件表包括四列:“當(dāng)前狀態(tài)”列,其識(shí)別其中第二計(jì)算機(jī)110可存在于的多個(gè)狀態(tài)中的每個(gè);“接收的事件”列,其存儲(chǔ)與使得第二計(jì)算機(jī)110轉(zhuǎn)換為不同狀態(tài)的事件相關(guān)的信息;“動(dòng)作”列,其識(shí)別針對(duì)第二計(jì)算機(jī)110的給定狀態(tài),響應(yīng)于接收到在“接收的事件”列中識(shí)別的事件應(yīng)當(dāng)執(zhí)行的一個(gè)或多個(gè)動(dòng)作;以及“下一狀態(tài)”列,其識(shí)別在執(zhí)行了“動(dòng)作”列中識(shí)別的動(dòng)作后第二計(jì)算機(jī)110應(yīng)當(dāng)轉(zhuǎn)換為的狀態(tài)。存儲(chǔ)在“接收的事件”列中的與事件相關(guān)的信息包括事件的名稱(chēng)(例如,“登錄成功”、“選擇狀態(tài)3”)、其中發(fā)生該事件的應(yīng)用的標(biāo)識(shí)(例如,SendEvent APl調(diào)用的Source參數(shù))以及其中發(fā)生該事件的計(jì)算機(jī)的標(biāo)識(shí)(例如,網(wǎng)絡(luò)名稱(chēng)或IP地址)。使可能發(fā)生的每個(gè)事件都與事件表119中的動(dòng)作相關(guān)聯(lián)沒(méi)有必要。例如,在圖3示出的事件表119中,當(dāng)?shù)诙?jì)算機(jī)110處于狀態(tài)3時(shí),當(dāng)從第三計(jì)算機(jī)130上的應(yīng)用145接收到“警告”事件時(shí)執(zhí)行動(dòng)作,但當(dāng)?shù)诙?jì)算機(jī)110處于狀態(tài)2時(shí)如果接收到相同事件則沒(méi)有定義動(dòng)作。如果接收到的事件在事件表119中沒(méi)有任何相關(guān)聯(lián)的動(dòng)作則可被忽略,或者作為替換的,可在接收到這樣的事件時(shí)執(zhí)行默認(rèn)動(dòng)作。
[0045]圖4示出了由圖3中示出的事件表119產(chǎn)生的屏幕序列。每個(gè)屏幕200具有之前關(guān)于圖2討論的形式。
[0046]在初始狀態(tài)(狀態(tài)O)下,渲染控制程序117從配置信息118獲得初始屏幕配置。配置信息使得渲染控制程序117將軟件應(yīng)用135的圖形用戶(hù)界面渲染在區(qū)域202中,將軟件應(yīng)用115的圖形用戶(hù)界面渲染在區(qū)域204中,并且將軟件應(yīng)用145的圖形用戶(hù)界面渲染在區(qū)域206中,其產(chǎn)生了屏幕配置200a。第二計(jì)算機(jī)110然后轉(zhuǎn)換為狀態(tài)I。在狀態(tài)I下,由第二計(jì)算機(jī)110從軟件應(yīng)用135接收“登錄成功”事件。在接收到此事件時(shí),渲染控制程序117查詢(xún)事件表119。根據(jù)事件表119的第三行,渲染控制程序117識(shí)別出當(dāng)?shù)诙?jì)算機(jī)110處于狀態(tài)I并且接收到“登錄成功”事件時(shí),應(yīng)當(dāng)執(zhí)行兩個(gè)動(dòng)作:第一,渲染軟件應(yīng)用135的圖形用戶(hù)界面應(yīng)當(dāng)終止;以及第二,軟件應(yīng)用125的圖形用戶(hù)界面應(yīng)當(dāng)被渲染在區(qū)域202中。事件表119的第三行還指示第二計(jì)算機(jī)的下一狀態(tài)是狀態(tài)2。因此,渲染控制程序117終止渲染軟件應(yīng)用135的圖形用戶(hù)界面,并使得軟件應(yīng)用125的圖形用戶(hù)界面被渲染在區(qū)域202中,其產(chǎn)生了屏幕配置200b。第二計(jì)算機(jī)110然后轉(zhuǎn)換為狀態(tài)2。在狀態(tài)2中,存在使得渲染控制程序117執(zhí)行動(dòng)作的兩個(gè)可能的事件。第一,依據(jù)事件表119的第四行,從應(yīng)用125接收“選擇狀態(tài)3”事件使得渲染控制程序117改變渲染應(yīng)用115和125的圖形用戶(hù)界面的位置。更具體地,渲染控制程序117將應(yīng)用115的圖形用戶(hù)界面渲染在區(qū)域202中,并將應(yīng)用125的圖形用戶(hù)界面渲染在區(qū)域204中,其產(chǎn)生了屏幕配置200c。應(yīng)用145的圖形用戶(hù)界面不受這些動(dòng)作影響,所以繼續(xù)被渲染在區(qū)域206中。第二計(jì)算機(jī)110然后轉(zhuǎn)換為狀態(tài)3。第二,依據(jù)事件表119的第五行,從應(yīng)用125接收到“終止”事件使得渲染控制程序117終止渲染所有應(yīng)用125、115、145的圖形用戶(hù)界面。狀態(tài)3大致與狀態(tài)2相似,因此無(wú)需詳細(xì)解釋。
[0047]返回圖2,按鈕208可由用戶(hù)激活以便強(qiáng)迫第二計(jì)算機(jī)110進(jìn)入特定狀態(tài)。例如,如果用戶(hù)激活按鈕208a,則渲染控制程序117使得第二計(jì)算機(jī)110轉(zhuǎn)換為狀態(tài)2,這使得顯示屏幕配置200b。相似地,如果用戶(hù)激活按鈕208b,則渲染控制程序117使得第二計(jì)算機(jī)110轉(zhuǎn)換為狀態(tài)3,這使得顯示屏幕配置200c。所述按鈕允許按需顯示預(yù)定屏幕配置,而不依賴(lài)于否則使得第二計(jì)算機(jī)110轉(zhuǎn)換為與該屏幕配置相關(guān)聯(lián)的狀態(tài)所需的事件的發(fā)生。如果用戶(hù)希望執(zhí)行事件表119中定義的預(yù)定動(dòng)作序列未提供的計(jì)算任務(wù),或者在發(fā)生錯(cuò)誤后使第二計(jì)算機(jī)110和屏幕200返回到已知狀態(tài),這可能是有用的。
[0048]事件表119可以以任何適當(dāng)?shù)姆绞?諸如以可擴(kuò)展標(biāo)記語(yǔ)言(XML)文檔)來(lái)實(shí)現(xiàn)。術(shù)語(yǔ)“事件表”并不意味著事件表119中包含的信息必須以表格的形式存儲(chǔ)。
[0049]圖5示出了集成多個(gè)計(jì)算機(jī)的方法500?,F(xiàn)在將在圖1所示的計(jì)算機(jī)系統(tǒng)100的上下文中描述方法500。在此上下文中,方法500可由第二計(jì)算機(jī)110的渲染控制程序117執(zhí)行。
[0050]在步驟502中,在第一計(jì)算機(jī)120和第二計(jì)算機(jī)110之間建立遠(yuǎn)程展示協(xié)議會(huì)話。使用遠(yuǎn)程展示程序113、123建立遠(yuǎn)程展示協(xié)議會(huì)話。遠(yuǎn)程展示協(xié)議會(huì)話用于經(jīng)由網(wǎng)絡(luò)106在第一計(jì)算機(jī)120和第二計(jì)算機(jī)110之間傳送屬于軟件應(yīng)用125的圖形用戶(hù)界面的信息。如果需要,也可在第二計(jì)算機(jī)110和第三計(jì)算機(jī)130之間,以及在第二計(jì)算機(jī)110和任意另外的計(jì)算機(jī)(圖1中未示出)之間建立進(jìn)一步的遠(yuǎn)程展示協(xié)議會(huì)話。
[0051]在步驟504中,在第一計(jì)算機(jī)120和第二計(jì)算機(jī)110之間建立通信信道。使用通信信道細(xì)件114、124來(lái)建立該通信信道。第一計(jì)算機(jī)120使用該通信信道以經(jīng)由網(wǎng)絡(luò)106將事件的標(biāo)識(shí)提供給第二計(jì)算機(jī)110。例如,第一計(jì)算機(jī)120可喚起由API 126提供的SendEventAPI調(diào)用,以使用該通信信道將描述事件的消息發(fā)送給第二計(jì)算機(jī)110。如果需要,也可在第二計(jì)算機(jī)110和第三計(jì)算機(jī)130之間,以及在第二計(jì)算機(jī)110和任意另外的計(jì)算機(jī)(圖1中未示出)之間建立進(jìn)一步的通信信道。
[0052]在步驟506中,第二計(jì)算機(jī)110渲染軟件應(yīng)用125的圖形用戶(hù)界面。如本文所使用的術(shù)語(yǔ)“渲染圖形用戶(hù)界面”包括在顯示裝置上展示程序的視覺(jué)輸出,并將從輸入裝置接收的輸入提供給該程序。因此,第二計(jì)算機(jī)110通過(guò)在顯示裝置104上展示軟件應(yīng)用125的圖形用戶(hù)界面的視覺(jué)輸出,并通過(guò)將從鍵盤(pán)102a和/或鼠標(biāo)102b接收的用戶(hù)輸入提供給軟件應(yīng)用125來(lái)渲染軟件應(yīng)用125的圖形用戶(hù)界面。使用遠(yuǎn)程展示程序123、113來(lái)渲染軟件應(yīng)用125的圖形用戶(hù)界面。遠(yuǎn)程展示程序113、123依次使用窗口系統(tǒng)111、121以在顯示器104上展示軟件應(yīng)用125的視覺(jué)輸出,并將從輸入裝置102接收的輸入提供給軟件應(yīng)用125。如果需要,第二計(jì)算機(jī)110可同時(shí)渲染一個(gè)或多個(gè)另外的軟件應(yīng)用的圖形用戶(hù)界面。這些另外的軟件應(yīng)用可由第一計(jì)算機(jī)120或第三計(jì)算機(jī)130執(zhí)行,在這種情況下遠(yuǎn)程展示程序113、123用于渲染圖形用戶(hù)界面。作為替換或作為附加,可由第二計(jì)算機(jī)110執(zhí)行另外的軟件應(yīng)用,諸如軟件應(yīng)用115。使用窗口系統(tǒng)111渲染由第二計(jì)算機(jī)110執(zhí)行的任意軟件應(yīng)用的圖形用戶(hù)界面,而無(wú)需使用遠(yuǎn)程展示程序113。
[0053]現(xiàn)在假設(shè)在軟件應(yīng)用125中發(fā)生了事件。事件的發(fā)生使得第一計(jì)算機(jī)120以之前描述的方式將事件的標(biāo)識(shí)提供給第二計(jì)算機(jī)110。
[0054]在步驟508中,第二計(jì)算機(jī)110接收已經(jīng)在軟件應(yīng)用125中發(fā)生的事件的標(biāo)識(shí)。使用在步驟504處建立的通信信道經(jīng)由網(wǎng)絡(luò)106從第一計(jì)算機(jī)120接收事件的標(biāo)識(shí)。
[0055]在步驟510中,第二計(jì)算機(jī)110響應(yīng)于在軟件應(yīng)用125中的事件的發(fā)生識(shí)別要執(zhí)行的一個(gè)或多個(gè)動(dòng)作。從存儲(chǔ)在事件表119中的預(yù)定義的動(dòng)作序列識(shí)別所述一個(gè)或多個(gè)動(dòng)作。在一個(gè)實(shí)施例中,識(shí)別第二計(jì)算機(jī)110的當(dāng)前狀態(tài),并且然后查詢(xún)事件表119以確定動(dòng)作是否與當(dāng)前狀態(tài)和已經(jīng)發(fā)生的事件相關(guān)聯(lián)??捎射秩究刂瞥绦?17存儲(chǔ)第二計(jì)算機(jī)110的當(dāng)前狀態(tài)。例如,渲染控制程序117可將第二計(jì)算機(jī)110的當(dāng)前狀態(tài)記錄為變量的值。渲染控制程序117然后可通過(guò)檢索該變量的值識(shí)別計(jì)算機(jī)110的當(dāng)前狀態(tài)。如果動(dòng)作與當(dāng)前狀態(tài)和已經(jīng)發(fā)生的事件相關(guān)聯(lián),則方法進(jìn)行到步驟512。如果沒(méi)有動(dòng)作與當(dāng)前狀態(tài)和已經(jīng)發(fā)生的事件相關(guān)聯(lián),則方法返回步驟506,并且第二計(jì)算機(jī)110渲染軟件應(yīng)用125的圖形用戶(hù)界面直到接收到另一事件的標(biāo)識(shí)為止。
[0056]在步驟512中,第二計(jì)算機(jī)110執(zhí)行在步驟510處識(shí)別的一個(gè)或多個(gè)動(dòng)作。執(zhí)行動(dòng)作修改了軟件應(yīng)用125的圖形用戶(hù)界面被第二計(jì)算機(jī)110渲染的方式。更具體地,執(zhí)行動(dòng)作可使得第二計(jì)算機(jī)110修改圖形用戶(hù)界面的行為和/或外觀。例如,圖形用戶(hù)界面的行為可通過(guò)將輸入裝置102(諸如鍵盤(pán)102a)的焦點(diǎn)賦予該圖形用戶(hù)界面而修改。圖形用戶(hù)界面的外觀可通過(guò)改變它在顯示裝置104上顯示的位置(例如通過(guò)移動(dòng)包含該圖形用戶(hù)界面的窗口)而修改。作為替換或作為附加,圖形用戶(hù)界面的外觀可通過(guò)改變它在顯示裝置104上顯示的大小(例如通過(guò)最大化、最小化或調(diào)整包含該圖形用戶(hù)界面的窗口的大小)而修改。動(dòng)作還可使得第二計(jì)算機(jī)110終止渲染該圖形用戶(hù)界面。在執(zhí)行一個(gè)或多個(gè)動(dòng)作后,渲染控制程序117可在記錄第二計(jì)算機(jī)110的當(dāng)前狀態(tài)的變量中存儲(chǔ)新的值,以便反映出所述動(dòng)作已經(jīng)使得第二計(jì)算機(jī)轉(zhuǎn)換為新的狀態(tài)。
[0057]當(dāng)步驟512完成時(shí),該方法返回至步驟506并且第二計(jì)算機(jī)110渲染軟件應(yīng)用125的圖形用戶(hù)界面直到接收到另一事件的標(biāo)識(shí)為止。
[0058]如上文所提及的,第二計(jì)算機(jī)110可渲染軟件應(yīng)用125的圖形用戶(hù)界面,同時(shí)還渲染一個(gè)或多個(gè)另外的軟件應(yīng)用的用戶(hù)界面,這可由第一、第二或第三計(jì)算機(jī)120、110、130中的任意一個(gè)來(lái)執(zhí)行。事件還可在另外的軟件應(yīng)用中的任意一個(gè)中發(fā)生,使得另外的軟件應(yīng)用將事件的標(biāo)識(shí)提供給第二計(jì)算機(jī)110。第二計(jì)算機(jī)110可以上文關(guān)于步驟508描述的方式接收已經(jīng)在另外的軟件應(yīng)用中的任意一個(gè)中發(fā)生的事件的標(biāo)識(shí)。第二計(jì)算機(jī)110然后以上文關(guān)于步驟510描述的方式響應(yīng)于在另外的軟件應(yīng)用中事件的發(fā)生識(shí)別要執(zhí)行的一個(gè)或多個(gè)動(dòng)作。第二計(jì)算機(jī)110然后執(zhí)行識(shí)別的一個(gè)或多個(gè)動(dòng)作,其可使得以上文關(guān)于步驟512描述的相似方式修改軟件應(yīng)用125的用戶(hù)界面和/或另外的應(yīng)用的用戶(hù)界面中的任意一個(gè)的渲染。
[0059]本領(lǐng)域技術(shù)人員將理解存在范圍廣泛的實(shí)際解決方案,其中有用的是使用上述方法500集成多個(gè)計(jì)算機(jī)。僅僅通過(guò)非限制性示例的方式,現(xiàn)在將描述在放療系統(tǒng)中集成計(jì)算機(jī)的方法的使用。
[0060]正如本領(lǐng)域技術(shù)人員所公知的,放療是用于利用電離輻射殺死癌細(xì)胞的技術(shù)。電離輻射由諸如線性加速器的裝置產(chǎn)生。一種示例放療系統(tǒng)包括三個(gè)計(jì)算機(jī)110、120、130,如圖1中所示。由執(zhí)行放療療程的技術(shù)人員或外科醫(yī)生使用第二計(jì)算機(jī)110。由第二計(jì)算機(jī)110執(zhí)行的軟件應(yīng)用115是視頻流應(yīng)用,它顯示從位于容納該線性加速器的治療室中的一個(gè)或多個(gè)攝像機(jī)接收的視頻信號(hào)。技術(shù)人員或外科醫(yī)生為了安全起見(jiàn)使用視頻流應(yīng)用來(lái)監(jiān)視治療室。將第一計(jì)算機(jī)120連接至該線性加速器(圖1中未示出)。由第一計(jì)算機(jī)120執(zhí)行的軟件應(yīng)用125是治療控制程序,其控制該線性加速器。例如,治療控制程序可允許技術(shù)人員或外科醫(yī)生設(shè)置在放療療程期間使用的參數(shù),諸如要施加給患者的放射物的劑量。軟件應(yīng)用125可為醫(yī)科達(dá)公司(Elekta AB)生產(chǎn)的Integrity?治療控制系統(tǒng)。由第三計(jì)算機(jī)130執(zhí)行的軟件應(yīng)用135是腫瘤信息程序,其提供與患者相關(guān)的信息。例如,腫瘤信息程序可被配置為顯示患者的醫(yī)療圖像(諸如計(jì)算的X線斷層攝影圖像),使得提術(shù)人員或外科醫(yī)生可查看腫瘤并確定如何最好地治療它。軟件應(yīng)用135可為由醫(yī)科達(dá)公司生產(chǎn)的Mosaiq?腫瘤信息系統(tǒng)。
[0061]參考圖2,放療療程開(kāi)始于腫瘤信息程序的圖形用戶(hù)界面被渲染在區(qū)域202中,治療控制程序的圖形用戶(hù)界面被渲染在區(qū)域204中,并且視頻流應(yīng)用的圖形用戶(hù)界面被渲染在區(qū)域206中。此屏幕配置將屏幕的最大部分賦予腫瘤信息程序,以便技術(shù)人員或外科醫(yī)生可更容易地查看要治療的腫瘤。此屏幕配置還確保治療控制程序在任何時(shí)候都保持可見(jiàn),這是出于安全和監(jiān)管的目的所需要的。當(dāng)技術(shù)人員或外科醫(yī)生已經(jīng)完成了查看腫瘤并準(zhǔn)備好開(kāi)始治療時(shí),用戶(hù)激活工具欄210上的按鈕,或者在或是腫瘤信息程序或是治療控制程序中選擇菜單選項(xiàng)。激活按鈕或選擇菜單選項(xiàng)產(chǎn)生事件,其使得渲染控制程序117執(zhí)行改變屏幕200的配置的動(dòng)作。更具體地,渲染控制程序調(diào)整腫瘤信息程序和治療控制程序的圖形用戶(hù)界面的大小和位置,使得腫瘤信息程序的圖形用戶(hù)界面被渲染在區(qū)域204中,并且治療控制程序的圖形用戶(hù)界面被渲染在區(qū)域202中。此屏幕配置將屏幕的最大部分賦予治療控制程序,以便技術(shù)人員或外科醫(yī)生可更容易地查看治療期間線性加速器的狀態(tài)。
[0062]本文公開(kāi)的方法可由存儲(chǔ)在處理器可讀介質(zhì)上的指令執(zhí)行。處理器可讀介質(zhì)可為:只讀存儲(chǔ)器(包括PROM、EPROM或EEPROM);隨機(jī)存取存儲(chǔ)器;閃速存儲(chǔ)器;電、電磁或光信號(hào);磁、光或磁光存儲(chǔ)介質(zhì);處理器的一個(gè)或多個(gè)寄存器;或者任意其他類(lèi)型的處理器可讀介質(zhì)。在作為替換的實(shí)施例中,本公開(kāi)可實(shí)現(xiàn)為硬件、固件、軟件或其任意組合中的控制邏輯。該設(shè)備可由專(zhuān)用硬件實(shí)現(xiàn),諸如一個(gè)或多個(gè)專(zhuān)用集成電路(ASIC)或適當(dāng)連接的離散邏輯門(mén)??墒褂眠m當(dāng)?shù)挠布枋稣Z(yǔ)言以專(zhuān)用硬件來(lái)實(shí)現(xiàn)本文描述的方法。
[0063]應(yīng)理解的是,上文已經(jīng)僅通過(guò)示例的方式描述了本發(fā)明,并且可在本發(fā)明的范圍內(nèi)做出細(xì)節(jié)的修改。
【主權(quán)項(xiàng)】
1.一種集成第一計(jì)算機(jī)和第二計(jì)算機(jī)的方法,第一計(jì)算機(jī)執(zhí)行具有第一圖形用戶(hù)界面的第一軟件應(yīng)用,該方法在第二計(jì)算機(jī)處執(zhí)行并包括: 渲染第一圖形用戶(hù)界面; 接收已經(jīng)在第一軟件應(yīng)用中發(fā)互的事件的標(biāo)識(shí); 響應(yīng)于該事件的發(fā)生識(shí)別要由第二計(jì)算機(jī)執(zhí)行的動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該動(dòng)作;以及 執(zhí)行識(shí)別的動(dòng)作以修改第一圖形用戶(hù)界面的渲染。2.根據(jù)權(quán)利要求1所述的方法,其中識(shí)別動(dòng)作包括: 識(shí)別第二計(jì)算機(jī)的當(dāng)前狀態(tài);以及 查詢(xún)查找表以識(shí)別與第二計(jì)算機(jī)的當(dāng)前狀態(tài)和已經(jīng)發(fā)生的事件相關(guān)聯(lián)的預(yù)定義的動(dòng)作。3.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,進(jìn)一步包括: 通過(guò)由第二計(jì)算機(jī)執(zhí)行的遠(yuǎn)程展示程序,在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間建立遠(yuǎn)程展示協(xié)議會(huì)話;以及 使用該遠(yuǎn)程展示協(xié)議會(huì)話來(lái)經(jīng)由網(wǎng)絡(luò)在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間傳送屬于第一圖形用戶(hù)界面的信息, 其中使用該遠(yuǎn)程展示程序渲染該第一圖形用戶(hù)界面。4.根據(jù)權(quán)利要求3所述的方法,其中該方法進(jìn)一步包括: 在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間建立通信信道,該通信信道不同于該遠(yuǎn)程展示協(xié)議會(huì)話,其中經(jīng)由該通信信道在第二計(jì)算機(jī)處接收事件的標(biāo)識(shí)。5.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中該第二計(jì)算機(jī)執(zhí)行具有第二圖形用戶(hù)界面的第二軟件應(yīng)用,該方法進(jìn)一步包括: 由第二計(jì)算機(jī)同時(shí)渲染第一圖形用戶(hù)界面和第二圖形用戶(hù)界面。6.根據(jù)權(quán)利要求5所述的方法,其中執(zhí)行識(shí)別的動(dòng)作進(jìn)一步使得第二計(jì)算機(jī)修改第二圖形用戶(hù)界面的渲染。7.根據(jù)權(quán)利要求5或權(quán)利要求6所述的方法,進(jìn)一步包括: 接收第二事件的標(biāo)識(shí),該第二事件已經(jīng)在第二軟件應(yīng)用中發(fā)生; 響應(yīng)于第二事件的發(fā)生識(shí)別要由第二計(jì)算機(jī)執(zhí)行的第二動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該第二動(dòng)作;以及 執(zhí)行識(shí)別的第二動(dòng)作以修改第一圖形用戶(hù)界面和/或第二圖形用戶(hù)界面的渲染。8.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,進(jìn)一步包括通過(guò)由第二計(jì)算機(jī)同時(shí)渲染第一圖形用戶(hù)界面和第三圖形用戶(hù)界面,將第三計(jì)算機(jī)與第一和第二計(jì)算機(jī)集成,該第三計(jì)算機(jī)執(zhí)行具有第三圖形用戶(hù)界面的第三軟件應(yīng)用。9.根據(jù)權(quán)利要求8所述的方法,其中執(zhí)行識(shí)別的動(dòng)作進(jìn)一步使得第二計(jì)算機(jī)修改第三圖形用戶(hù)界面的渲染。10.根據(jù)權(quán)利要求8或權(quán)利要求9所述的方法,進(jìn)一步包括: 接收第三事件的標(biāo)識(shí),該第三事件已經(jīng)在第三軟件應(yīng)用中發(fā)生; 響應(yīng)于第三事件的發(fā)生識(shí)別要由第二計(jì)算機(jī)執(zhí)行的第三動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該第三動(dòng)作;以及 執(zhí)行識(shí)別的第三動(dòng)作以修改第一圖形用戶(hù)界面和/或第三圖形用戶(hù)界面的渲染。11.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中執(zhí)行所述識(shí)別的動(dòng)作中的一個(gè)以修改第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的渲染包括使得第二計(jì)算機(jī)修改該圖形用戶(hù)界面的行為和/或外觀。12.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中執(zhí)行所述識(shí)別的動(dòng)作中的一個(gè)使得第二計(jì)算機(jī)執(zhí)行下述操作中的任意一個(gè)或多個(gè): 改變顯示第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的位置;或者 改變顯示第一、第二或第三圖形用戶(hù)界面中的任意一個(gè)的大小;或者 終止渲染第一、第二或第三圖形用戶(hù)界面中的任意一個(gè);或者 將輸入裝置的焦點(diǎn)賦予第一、第二或第三圖形用戶(hù)界面中的任意一個(gè),其中該輸入裝置通信地耦接至該第二計(jì)算機(jī)。13.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,進(jìn)一步包括: 在第一計(jì)算機(jī)處產(chǎn)生消息,該消息識(shí)別已經(jīng)在第一軟件應(yīng)用中發(fā)生的事件;以及 通過(guò)第一計(jì)算機(jī)將該消息發(fā)送給第二計(jì)算機(jī)。14.一種包括指令的處理器可讀介質(zhì),當(dāng)所述指令由處理器執(zhí)行時(shí)使得該處理器執(zhí)行根據(jù)前述權(quán)利要求中的任一項(xiàng)的方法。15.—種包括用于執(zhí)行根據(jù)權(quán)利要求1至13中的任一項(xiàng)的方法的裝置的設(shè)備。16.一種放療系統(tǒng),包括 可操作以與另一計(jì)算機(jī)通信的計(jì)算機(jī),該另一計(jì)算機(jī)連接至用于產(chǎn)生放射物的裝置,該另一計(jì)算機(jī)包括用于控制該用于產(chǎn)生放射物的裝置的治療控制程序,該治療控制程序具有圖形用戶(hù)界面,其中該計(jì)算機(jī)被配置為: 渲染該圖形用戶(hù)界面; 接收在該治療控制程序中已經(jīng)發(fā)生的事件的標(biāo)識(shí); 響應(yīng)于該事件的發(fā)生識(shí)別要由計(jì)算機(jī)執(zhí)行的動(dòng)作,其中從預(yù)定義的動(dòng)作序列中識(shí)別該動(dòng)作;以及 執(zhí)行該識(shí)別的動(dòng)作以修改該圖形用戶(hù)界面的渲染。17.根據(jù)權(quán)利要求16所述的放療系統(tǒng),其中該計(jì)算機(jī)進(jìn)一步可操作以與第三計(jì)算機(jī)通信,該第三計(jì)算機(jī)包括用于提供與要由該放療系統(tǒng)治療的患者相關(guān)的信息的腫瘤信息程序。
【文檔編號(hào)】G06F15/173GK105930298SQ201610223419
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年2月24日
【發(fā)明人】A·M·史密斯
【申請(qǐng)人】醫(yī)科達(dá)有限公司