專(zhuān)利名稱(chēng):將移動(dòng)計(jì)算設(shè)備的本地顯示器平移到窗口,解釋基于手勢(shì)的指令以滾動(dòng)窗口內(nèi)容,以及在 ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及在移動(dòng)計(jì)算設(shè)備上顯示應(yīng)用。本發(fā)明尤其涉及用于將移動(dòng)計(jì)算設(shè)備的本地顯示器平移(pan)到窗口,解釋基于手勢(shì)的指令以滾動(dòng)窗口的內(nèi)容,以及在窗口中換行文本。
背景技術(shù):
遠(yuǎn)程訪(fǎng)問(wèn)系統(tǒng)使用戶(hù)可以從各種入口訪(fǎng)問(wèn)服務(wù)器上的工作空間、計(jì)算環(huán)境、應(yīng)用和文件。隨著移動(dòng)計(jì)算設(shè)備的日益流行,用戶(hù)還能從手持設(shè)備上訪(fǎng)問(wèn)那些服務(wù)器上的應(yīng)用和文件。然而,這些設(shè)備上的本地顯示器通常具有低分辨率。因此,用戶(hù)在移動(dòng)計(jì)算設(shè)備的屏幕上可能只能查看應(yīng)用或文件的一部分。用戶(hù)通過(guò)在本地顯示器上四處滾動(dòng)應(yīng)用或文件來(lái)獲得另外的信息。本地顯示器的低分辨率給操作提出了挑戰(zhàn)。例如窗口可能在本地顯示器的范圍外打開(kāi)。用戶(hù)可能錯(cuò)過(guò)重要的通知或警告,因?yàn)橛脩?hù)可能沒(méi)有理由四處滾動(dòng)應(yīng)用或文件。另外,諸如子對(duì)話(huà)框的窗口可能在應(yīng)用繼續(xù)執(zhí)行前要求用戶(hù)輸入。如果用戶(hù)不能看到該窗口, 那么簡(jiǎn)單看來(lái),應(yīng)用似乎是凍結(jié)的。而且,在移動(dòng)計(jì)算設(shè)備上,本地顯示器上的基于手勢(shì)的指令可能會(huì)產(chǎn)生不希望的結(jié)果,因?yàn)檫@些指令通常沒(méi)有考慮低分辨率的顯示。在一個(gè)例子中,在本地顯示器上觸摸和拖動(dòng)窗口可能僅被解釋為移動(dòng)窗口的指令。在又一個(gè)例子中,放大窗口內(nèi)的文本可以擴(kuò)大文本的大小,但是有限的顯示可能會(huì)切斷單詞和句子。這些復(fù)雜情況削弱了用戶(hù)使用移動(dòng)計(jì)算設(shè)備訪(fǎng)問(wèn)應(yīng)用和文件的體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明針對(duì)用于將窗口從擴(kuò)展虛擬屏幕提供到移動(dòng)計(jì)算設(shè)備的本地顯示器上的方法和系統(tǒng)。一個(gè)實(shí)施例中,本發(fā)明涉及將本地顯示器平移到新窗口,所述新窗口應(yīng)該引起用戶(hù)注意。這樣,當(dāng)服務(wù)器檢測(cè)到子對(duì)話(huà)框、通知、警告或其他這樣的窗口時(shí),服務(wù)器指示移動(dòng)計(jì)算設(shè)備向擴(kuò)展虛擬屏幕的適當(dāng)位置平移。因此,移動(dòng)計(jì)算設(shè)備用戶(hù)可以獲知有關(guān)應(yīng)用的使用的事件,以及提供輸入給應(yīng)用。在又一個(gè)實(shí)施例中,本發(fā)明涉及解釋本地顯示器上基于手勢(shì)的指令以便滾動(dòng)窗口的內(nèi)容,而不是平移內(nèi)容或窗口本身。當(dāng)移動(dòng)計(jì)算設(shè)備接收這樣的指令時(shí),該設(shè)備檢查正在執(zhí)行的窗口的滾動(dòng)條。如果該窗口包括滾動(dòng)條,即使用戶(hù)沒(méi)有操作滾動(dòng)條本身,移動(dòng)計(jì)算設(shè)備依然滾動(dòng)窗口的內(nèi)容。因此,通過(guò)經(jīng)由上下文解釋基于手勢(shì)的指令,用戶(hù)可以使用已知的手勢(shì)從應(yīng)用和文件獲取不同的結(jié)果。在又一個(gè)實(shí)施例中,本發(fā)明涉及當(dāng)用戶(hù)放大應(yīng)用時(shí),確保窗口中的文本換行。移動(dòng)計(jì)算設(shè)備計(jì)算新的字體大小,服務(wù)器調(diào)用函數(shù)以便以該大小顯示應(yīng)用并自動(dòng)調(diào)整換行參數(shù)。因此,用戶(hù)可以查看鄰近內(nèi)容而不是到處滾動(dòng)來(lái)查看其他的采用新的字體大小的內(nèi)容。在目前所描述的系統(tǒng)和方法的一個(gè)方面,說(shuō)明和描述了用于在移動(dòng)計(jì)算設(shè)備上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的方法。該方法包括由服務(wù)器檢測(cè)與在服務(wù)器上執(zhí)行的應(yīng)用關(guān)聯(lián)的窗口,所述服務(wù)器將應(yīng)用輸出到擴(kuò)展虛擬屏幕。該方法還包括由服務(wù)器識(shí)別與擴(kuò)展虛擬屏幕上窗口的位置關(guān)聯(lián)的坐標(biāo),并且由服務(wù)器將窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備上以便在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示該窗口。窗口是對(duì)話(huà)框、用戶(hù)接口、通知和警告之。在更多的實(shí)施例中,該方法還包括由服務(wù)器將服務(wù)器上擴(kuò)展虛擬屏幕的分辨率與移動(dòng)計(jì)算設(shè)備上本地顯示器的分辨率進(jìn)行比較;由服務(wù)器確定分辨率是否相差預(yù)定的閥值;以及如果分辨率相差至少為預(yù)定的閥值,則由服務(wù)器傳輸用于縮放窗口的指令。另外的實(shí)施例中,通過(guò)抓取擴(kuò)展虛擬屏幕來(lái)獲得窗口的坐標(biāo)。在各種實(shí)施例中,服務(wù)器響應(yīng)于事件觸發(fā)器來(lái)檢測(cè)窗口,其中所述事件觸發(fā)器是從由應(yīng)用的開(kāi)發(fā)者編碼的事件觸發(fā)器和應(yīng)用的用戶(hù)插入的事件觸發(fā)器構(gòu)成的組中選擇的。移動(dòng)計(jì)算設(shè)備的用戶(hù)通過(guò),例如,定制在服務(wù)器上執(zhí)行的應(yīng)用,來(lái)指定事件觸發(fā)器。在其他實(shí)施例中,該方法還包括由移動(dòng)計(jì)算設(shè)備在本地顯示器上接收基于手勢(shì)的指令;由移動(dòng)計(jì)算設(shè)備評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容;如果所述內(nèi)容包括滾動(dòng)條則由移動(dòng)計(jì)算設(shè)備滾動(dòng)窗口內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備平移窗口內(nèi)容。在本發(fā)明的又一個(gè)方面,說(shuō)明和描述了用于在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng)。該系統(tǒng)包括服務(wù)器,所述服務(wù)器包括處理器和收發(fā)器;所述處理器檢測(cè)與應(yīng)用關(guān)聯(lián)的窗口并識(shí)別與擴(kuò)展虛擬屏幕上的窗口位置關(guān)聯(lián)的坐標(biāo);所述收發(fā)器將窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備。在這個(gè)具體實(shí)施例中,移動(dòng)計(jì)算設(shè)備包括根據(jù)由服務(wù)器識(shí)別的坐標(biāo)來(lái)顯示窗口的本地顯示器。窗口是對(duì)話(huà)框、用戶(hù)接口、 通知和警告之一。在系統(tǒng)的一個(gè)實(shí)施例中,處理器將服務(wù)器的擴(kuò)展虛擬屏幕的分辨率與移動(dòng)計(jì)算設(shè)備上的本地顯示器的分辨率進(jìn)行比較;確定分辨率是否相差預(yù)定的閥值;以及如果分辨率相差至少為預(yù)定的閥值,則傳輸用于縮放窗口的指令。在又一個(gè)實(shí)施例中,處理器抓取擴(kuò)展虛擬屏幕以識(shí)別窗口的坐標(biāo)。在又一個(gè)實(shí)施例中,處理器響應(yīng)于事件觸發(fā)器來(lái)檢測(cè)窗口, 其中所述事件觸發(fā)器是從包含由應(yīng)用開(kāi)發(fā)者編碼的事件觸發(fā)器和應(yīng)用的用戶(hù)插入的事件觸發(fā)器構(gòu)成的組中選擇的。在這個(gè)具體實(shí)施例中,移動(dòng)計(jì)算設(shè)備的用戶(hù)通過(guò)定制在服務(wù)器上的應(yīng)用來(lái)指定事件觸發(fā)器。在多個(gè)這樣的實(shí)施例中,移動(dòng)計(jì)算設(shè)備的本地顯示器接收基于手勢(shì)的指令;并且移動(dòng)計(jì)算設(shè)備的處理器評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容,如果所述內(nèi)容包括滾動(dòng)條則滾動(dòng)窗口內(nèi)容,以及當(dāng)所述內(nèi)容不包括滾動(dòng)條時(shí)平移窗口內(nèi)容。在又一個(gè)方面,描述了根據(jù)在移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的方法。該方法包括由移動(dòng)計(jì)算設(shè)備在移動(dòng)計(jì)算設(shè)備的本地顯示器上接收基于手勢(shì)的指令;由移動(dòng)計(jì)算設(shè)備評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容; 如果所述內(nèi)容包括滾動(dòng)條則由移動(dòng)計(jì)算設(shè)備滾動(dòng)窗口內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備平移窗口內(nèi)容。在一個(gè)實(shí)施例中,滾動(dòng)窗口內(nèi)容包括由移動(dòng)計(jì)算設(shè)備傳輸用于滾動(dòng)服務(wù)器上執(zhí)行的應(yīng)用所輸出的窗口內(nèi)容的指令。在又一個(gè)實(shí)施例中,滾動(dòng)窗口內(nèi)容包括由移動(dòng)計(jì)算設(shè)備根據(jù)所傳輸?shù)闹噶顝姆?wù)器接收經(jīng)更新的窗口內(nèi)容,并且由移動(dòng)計(jì)算設(shè)備將經(jīng)更新的內(nèi)容顯示在本地顯示器上。在另外的實(shí)施例中,評(píng)估窗口內(nèi)容包括抓取窗口以確定窗口是否包括滾動(dòng)條。在許多實(shí)施例中,該方法還包括由移動(dòng)計(jì)算設(shè)備根據(jù)基于手勢(shì)的指令計(jì)算新的字體大小;由移動(dòng)計(jì)算設(shè)備將新的字體大小傳輸?shù)綀?zhí)行應(yīng)用的服務(wù)器;由服務(wù)器將全局函數(shù)應(yīng)用于服務(wù)器的操作系統(tǒng)以便將應(yīng)用調(diào)整到新的字體大?。灰约坝煞?wù)器將采用新的字體大小的應(yīng)用傳輸?shù)揭苿?dòng)計(jì)算設(shè)備。在又一個(gè)方面,說(shuō)明和描述了用于根據(jù)在移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的移動(dòng)計(jì)算設(shè)備。該移動(dòng)計(jì)算設(shè)備包括接收基于手勢(shì)的指令的本地顯示器。移動(dòng)計(jì)算設(shè)備還包括處理器,所述處理器評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容;如果所述內(nèi)容包括滾動(dòng)條則滾動(dòng)窗口內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條時(shí),則平移窗口內(nèi)容。在一些實(shí)施例中,處理器通過(guò)傳輸用于滾動(dòng)服務(wù)器上執(zhí)行的應(yīng)用所輸出的窗口內(nèi)容的指令來(lái)滾動(dòng)窗口內(nèi)容。在進(jìn)一步的實(shí)施例中,處理器通過(guò)根據(jù)所傳輸?shù)闹噶顝姆?wù)器接收經(jīng)更新的窗口內(nèi)容來(lái)滾動(dòng)窗口內(nèi)容。在另外的實(shí)施例中,處理器通過(guò)抓取窗口以確定窗口是否包括滾動(dòng)條來(lái)評(píng)估窗口內(nèi)容。在多個(gè)實(shí)施例中,處理器根據(jù)基于手勢(shì)的指令計(jì)算新的字體大小并將新的字體大小傳輸?shù)綀?zhí)行應(yīng)用的服務(wù)器,以及服務(wù)器將全局函數(shù)應(yīng)用于服務(wù)器的操作系統(tǒng)以便將應(yīng)用調(diào)整到新的字體大小并將采用新的字體大小的應(yīng)用傳輸?shù)揭苿?dòng)計(jì)算設(shè)備。在又一個(gè)方面,說(shuō)明和描述了用于將窗口從擴(kuò)展虛擬屏幕提供到移動(dòng)計(jì)算設(shè)備的本地顯示器上的方法。該方法包括由服務(wù)器檢測(cè)與在服務(wù)器上執(zhí)行的應(yīng)用關(guān)聯(lián)的第一窗口,所述服務(wù)器將應(yīng)用輸出到擴(kuò)展虛擬屏幕。該方法還包括由服務(wù)器識(shí)別與擴(kuò)展虛擬屏幕上的第一窗口的位置關(guān)聯(lián)的坐標(biāo)。該方法還包括由服務(wù)器將第一窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備以便在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示第一窗口。該方法還包括由移動(dòng)計(jì)算設(shè)備在本地顯示器上接收基于手勢(shì)的指令;該方法還包括由移動(dòng)計(jì)算設(shè)備評(píng)估在接收基于手勢(shì)的指令的位置處的第二窗口的內(nèi)容。該方法還包括如果所述內(nèi)容包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備滾動(dòng)第二窗口的內(nèi)容,以及如果所述內(nèi)容不包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備平移窗口的內(nèi)容。
通過(guò)下面結(jié)合附圖的描述,本發(fā)明前面提到的以及其他目的、方面、特征和優(yōu)點(diǎn)將會(huì)更加明顯并且更易于理解,其中圖1是描述用于在移動(dòng)計(jì)算設(shè)備上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的系統(tǒng)的一個(gè)實(shí)施例的框圖2是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于在移動(dòng)計(jì)算設(shè)備上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的方法的流程圖;圖3是說(shuō)明在服務(wù)器上執(zhí)行的應(yīng)用在移動(dòng)計(jì)算設(shè)備上常規(guī)顯示的框圖;圖4和5說(shuō)明了根據(jù)本發(fā)明用于將圖3的應(yīng)用的用戶(hù)接口平移到移動(dòng)計(jì)算設(shè)備的本地屏幕中的系統(tǒng)的框圖。圖6是描述用于根據(jù)移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的方法的一個(gè)實(shí)施例的流程圖;圖7是描述用于根據(jù)移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的又一個(gè)方法的一個(gè)實(shí)施例的流程圖。
具體實(shí)施例方式參考圖1,框圖示出了用于在移動(dòng)計(jì)算設(shè)備上顯示在服務(wù)器106上執(zhí)行的應(yīng)用的系統(tǒng)100的一個(gè)實(shí)施例。簡(jiǎn)而言之,該系統(tǒng)包括通過(guò)網(wǎng)絡(luò)104與移動(dòng)計(jì)算設(shè)備102通信的服務(wù)器106。服務(wù)器106通過(guò)處理器110執(zhí)行應(yīng)用并將應(yīng)用輸出到擴(kuò)展虛擬屏幕115。服務(wù)器106經(jīng)由收發(fā)器120將虛擬屏幕115上的輸出通過(guò)網(wǎng)絡(luò)104傳輸?shù)揭苿?dòng)計(jì)算設(shè)備102。 移動(dòng)計(jì)算設(shè)備102上的處理器125在又一個(gè)擴(kuò)展虛擬屏幕130上存儲(chǔ)所接收的輸出。虛擬圖形驅(qū)動(dòng)器135和處理器125通信以在本地顯示器140上顯示擴(kuò)展虛擬屏幕130的一部分。在操作中,服務(wù)器106的處理器110檢測(cè)與應(yīng)用相關(guān)聯(lián)的窗口并識(shí)別與窗口在擴(kuò)展虛擬屏幕115上的位置相關(guān)聯(lián)的坐標(biāo)。移動(dòng)計(jì)算設(shè)備102接收該坐標(biāo)并將本地顯示器 140平移到擴(kuò)展虛擬屏幕130上對(duì)應(yīng)的位置。這樣,移動(dòng)計(jì)算設(shè)備102的用戶(hù)不必主動(dòng)查看最初出現(xiàn)在視野之外的窗口。而且,根據(jù)本發(fā)明,移動(dòng)計(jì)算設(shè)備102的處理器125將通過(guò)本地顯示器140所接收的基于手勢(shì)的指令解釋為,例如,用于平移的指令。在這樣的示例中,服務(wù)器106或移動(dòng)計(jì)算設(shè)備102確定位于接收到基于手勢(shì)的指令的位置處的窗口是否具有滾動(dòng)條。如果有,服務(wù)器106或移動(dòng)計(jì)算設(shè)備102將滾動(dòng)窗口的內(nèi)容,而不是平移窗口的內(nèi)容或移動(dòng)窗口本身。 這樣的對(duì)手勢(shì)的智能解釋提供用于與低分辨率的本地顯示器上的應(yīng)用交互的簡(jiǎn)化的用戶(hù)命令。在又一個(gè)實(shí)施例中,處理器125將基于手勢(shì)的指令解釋為縮放指令并計(jì)算對(duì)應(yīng)的新的字體大小。移動(dòng)計(jì)算設(shè)備102將新的字體大小傳輸給服務(wù)器106,服務(wù)器106考慮到在本地顯示器140上當(dāng)前顯示的文本以及在有限的顯示上對(duì)應(yīng)用文本換行的需要來(lái)相應(yīng)地調(diào)整應(yīng)用。服務(wù)器106將應(yīng)用以期望的格式傳輸?shù)揭苿?dòng)計(jì)算設(shè)備以用于顯示。相應(yīng)地,用戶(hù)可以改變應(yīng)用的字體大小而不是到處滾動(dòng)應(yīng)用來(lái)獲得連續(xù)的數(shù)據(jù)。繼續(xù)參考圖1,現(xiàn)在描述服務(wù)器106及其用于系統(tǒng)100的組件。服務(wù)器106可以是應(yīng)用服務(wù)器、應(yīng)用網(wǎng)關(guān)、網(wǎng)關(guān)服務(wù)器、虛擬化服務(wù)器或部署服務(wù)器。在一些實(shí)施例中,服務(wù)器106可以作為應(yīng)用服務(wù)器或主應(yīng)用服務(wù)器。在其他實(shí)施例中,服務(wù)器106提供遠(yuǎn)程認(rèn)證撥入用戶(hù)服務(wù)(“RADIUS”)。服務(wù)器106可以是刀片服務(wù)器。服務(wù)器106的處理器110可以是響應(yīng)于以及處理從主存儲(chǔ)器單元取回的指令的任何邏輯電路。在多個(gè)實(shí)施例中,處理器110可以由微處理器單元提供,例如由California, Mountain View 的 htel 公司制造的微處理器單元;由 Illinois,Schaumburg 的 Motorola公司制造的微處理器單元;由Califirnia,Santa Clara的Transmeta公司制造的微處理 ; New York, White Plains 白勺 International Business Machines ^Wjfj^JitW RS/6000 處理器;或者由 California, Sunnyvale 的 Advanced Micro Devices 公司制造的微處理器單元。在多個(gè)實(shí)施例中,處理器110包括多個(gè)處理器并提供用于在不只一個(gè)數(shù)據(jù)片上同時(shí)執(zhí)行多個(gè)指令或同時(shí)執(zhí)行一個(gè)指令的功能。處理器110可包括具有一個(gè)或多個(gè)核的并行處理器。服務(wù)器106可以是共享存儲(chǔ)器并行設(shè)備,其具有多個(gè)處理器和/或多個(gè)處理器核, 將所有可利用的存儲(chǔ)器作為單個(gè)全局地址空間來(lái)訪(fǎng)問(wèn)。服務(wù)器106可以是分布式存儲(chǔ)器并行設(shè)備,其具有多個(gè)處理器,每個(gè)處理器僅訪(fǎng)問(wèn)本地存儲(chǔ)器。服務(wù)器106可具有一些共享存儲(chǔ)器和一些僅對(duì)特定處理器或其子集可訪(fǎng)問(wèn)的存儲(chǔ)器。在不同的實(shí)施例中,服務(wù)器106可以包括單個(gè)封裝,所述單個(gè)封裝將兩個(gè)或者更多獨(dú)立的處理器組合到單個(gè)封裝中,例如單個(gè)集成電路(IC)。在一些實(shí)施例中,處理器110可在多個(gè)數(shù)據(jù)片上執(zhí)行單個(gè)指令(SIMD)。在其他實(shí)施例中,處理器110可在多個(gè)數(shù)據(jù)片上執(zhí)行多個(gè)指令(MIMD)。然而,處理器110可在單個(gè)設(shè)備中使用SIMD和MIMD核的任何組合。服務(wù)器106可以基于這些處理器的任何一個(gè),或能夠如此處所描述的操作的任何其他處理器。服務(wù)器106上處理器110運(yùn)行一個(gè)或多個(gè)應(yīng)用,諸如提供瘦客戶(hù)端計(jì)算的應(yīng)用或遠(yuǎn)程顯示表示應(yīng)用。服務(wù)器106可執(zhí)行Citrix Systems公司的CITRIX ACCESS SUITE的任何部分,諸如 METAFRAM、CITRIX PRESENTATION SERVER,和 / 或 Microsoft 公司制造的 MICROSOFT WINDOWS終端服務(wù)的任何部分。服務(wù)器106可以執(zhí)行由位于Ft. Lauderdale, Florida的Citrix Systems公司開(kāi)發(fā)的ICA客戶(hù)端。服務(wù)器106可以運(yùn)行郵件服務(wù),諸如由位于Redmond,Washington的微軟公司提供的MICROSOFT EXCHANGE。應(yīng)用可包括任何類(lèi)型的所寄載的服務(wù)或產(chǎn)品,諸如位于California,Santa Barbara的Citrix Online Division 提供的G0T0MEETING、位于California,Santa Clara的WebEx公司提供的TOBEX,或者位于 Washington,Redmond 的微軟公司提供的 Microsoft Office LIVE MEETING。服務(wù)器106的處理器110還可代表移動(dòng)計(jì)算設(shè)備102上的用戶(hù)執(zhí)行應(yīng)用。一些實(shí)施例中,服務(wù)器106執(zhí)行提供執(zhí)行會(huì)話(huà)的虛擬機(jī)。服務(wù)器106在執(zhí)行會(huì)話(huà)中代表用戶(hù)執(zhí)行應(yīng)用。在多個(gè)實(shí)施例中,執(zhí)行會(huì)話(huà)提供對(duì)計(jì)算環(huán)境的訪(fǎng)問(wèn),所述計(jì)算環(huán)境包括一個(gè)或多個(gè) 應(yīng)用、多個(gè)應(yīng)用、桌面應(yīng)用和桌面會(huì)話(huà)。在一些實(shí)施例中,桌面會(huì)話(huà)是所寄載的桌面會(huì)話(huà)。繼續(xù)參考圖1,現(xiàn)在描述移動(dòng)計(jì)算設(shè)備102及其用于系統(tǒng)100的組件。在多個(gè)實(shí)施例中,移動(dòng)計(jì)算設(shè)備102可以是JAVA使能(JAVA-enabled)蜂窩電話(huà)或個(gè)人數(shù)據(jù)助理 (PDA),諸如 i55sr、i58sr,i85s, i88s, i90c, i95cl 或 imllOO,以上這些均由位于 Illinois Schaumburg的摩托羅拉公司制造,由位于日本東京的Kyocera公司制造的6035或7135,或者由位于韓國(guó)首爾的Samsung電子有限公司制造的i300或i330。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備102是由位于芬蘭的Nokia公司制造的移動(dòng)設(shè)備,或者由位于瑞典Limd的Sony Ericsson Mobile Communications AB公司制造的移動(dòng)設(shè)備。仍在其他實(shí)施例中,移動(dòng)計(jì)算設(shè)備是黑莓(Bladcberry)手持或智能電話(huà),諸如由Research In Motion有限公司制造的設(shè)備,包括黑莓7100系列、8700系列、7700系列、7200系列、黑莓7520或黑莓Pearl 8100。 在其他實(shí)施例中,移動(dòng)計(jì)算設(shè)備102是智能電話(huà)、掌上電腦(Pocket PC);掌上電腦電話(huà)或支持Microsoft Windows Mobile Software的任何其他手持移動(dòng)設(shè)備。這些實(shí)施例的又一個(gè)中,移動(dòng)計(jì)算設(shè)備102是由位于California Cupertino的蘋(píng)果計(jì)算機(jī)公司制造的iPhone 智能電話(huà)。移動(dòng)計(jì)算設(shè)備102的處理器125可以是此處所描述的與服務(wù)器106的處理器110
有關(guān)的任何處理器。虛擬圖形驅(qū)動(dòng)器135可以是管理擴(kuò)展虛擬屏幕130的驅(qū)動(dòng)器級(jí)組件,其可以是幀緩沖。移動(dòng)計(jì)算設(shè)備102的虛擬圖形驅(qū)動(dòng)器135可將從服務(wù)器106接收的輸出存儲(chǔ)在擴(kuò)展虛擬屏幕130上。在許多實(shí)施例中,虛擬圖形驅(qū)動(dòng)器135將擴(kuò)展虛擬屏幕130上的數(shù)據(jù)傳輸?shù)奖镜仫@示器140以用于顯示。本地顯示器140可以在擴(kuò)展虛擬屏幕130上顯示輸出。本地顯示器140還可接收用戶(hù)輸入。在一些實(shí)施例中,本地顯示器140通過(guò)觸摸屏接收基于手勢(shì)的指令。觸摸屏可以包括接觸響應(yīng)表面,其檢測(cè)來(lái)自移動(dòng)計(jì)算設(shè)備102的用戶(hù)的觸摸輸入。接觸響應(yīng)表面識(shí)別用戶(hù)接觸表面的位置并將該位置重定向到移動(dòng)計(jì)算設(shè)備的處理器125。處理器125解釋用戶(hù)輸入的位置來(lái)確定用戶(hù)的指令。在多個(gè)實(shí)施例中,用戶(hù)指令可以是縮放、滾動(dòng)或平移指令,或?qū)Ρ绢I(lǐng)域普通技術(shù)人員顯而易見(jiàn)的任何其他指令。繼續(xù)參考圖1,網(wǎng)絡(luò)104可以是局域網(wǎng)(LAN),例如公司內(nèi)網(wǎng),城域網(wǎng)(MAN),或廣域網(wǎng)(WAN),例如因特網(wǎng)或萬(wàn)維網(wǎng)。在一些實(shí)施例中,在客戶(hù)機(jī)102和服務(wù)器106之間有多個(gè)網(wǎng)絡(luò)104。在這些實(shí)施例的一個(gè)中,第一網(wǎng)絡(luò)是專(zhuān)用網(wǎng)且第二網(wǎng)絡(luò)是公網(wǎng)。或者,第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)都是專(zhuān)用網(wǎng),或者都是公網(wǎng)。網(wǎng)絡(luò)104可以是任意類(lèi)型和/或形式的網(wǎng)絡(luò),包括下列任何一個(gè)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),廣播網(wǎng)絡(luò),廣域網(wǎng),局域網(wǎng),電信網(wǎng)絡(luò),數(shù)據(jù)通信網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),ATM(異步傳輸模式)網(wǎng)絡(luò), SONET(同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò),SDH(同步數(shù)字體系)網(wǎng)絡(luò),無(wú)線(xiàn)網(wǎng)絡(luò)和有線(xiàn)網(wǎng)絡(luò)。在一些實(shí)施例中,網(wǎng)絡(luò)104包括無(wú)線(xiàn)鏈路,諸如紅外信道或者衛(wèi)星頻帶。網(wǎng)絡(luò)104的拓?fù)淇蔀榭偩€(xiàn)型、 星型或環(huán)型網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)104可以具有對(duì)于本領(lǐng)域普通技術(shù)人員所熟知的、可以支持此處描述的操作的任何這樣的網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)可包括采用用于在移動(dòng)設(shè)備間通信的任何協(xié)議的移動(dòng)電話(huà)網(wǎng)絡(luò),所述協(xié)議包括AMPS、TDMA、CDMA、GSM、GRPS或UMTS。在一些實(shí)施例中,可以通過(guò)不同的協(xié)議傳輸不同類(lèi)型的數(shù)據(jù)。在其他實(shí)施例中??梢酝ㄟ^(guò)不同的協(xié)議傳輸同一類(lèi)型的數(shù)據(jù)。圖2是描述用于在移動(dòng)計(jì)算設(shè)備上顯示服務(wù)器上執(zhí)行的應(yīng)用的窗口的方法中所采用的步驟的一個(gè)實(shí)施例的流程圖。在這個(gè)實(shí)施例中,該方法包括檢測(cè)與在服務(wù)器上執(zhí)行的應(yīng)用相關(guān)聯(lián)的窗口,所述服務(wù)器將應(yīng)用輸出到擴(kuò)展虛擬屏幕(步驟201);識(shí)別與擴(kuò)展虛擬屏幕上窗口的位置相關(guān)聯(lián)的坐標(biāo)(步驟20 ;以及將窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備以便在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示窗口(步驟205)。仍參考圖2,更具體地,服務(wù)器106檢測(cè)與應(yīng)用相關(guān)聯(lián)的窗口(步驟201)。在一些實(shí)施例中,服務(wù)器106上的處理器110通過(guò)抓取擴(kuò)展虛擬屏幕115來(lái)檢測(cè)窗口,所述擴(kuò)展虛擬屏幕115接收所執(zhí)行的應(yīng)用的輸出。例如,處理器110可對(duì)應(yīng)用中的數(shù)據(jù)執(zhí)行光學(xué)字符識(shí)別(OCR)算法以便檢測(cè)窗口和收集相關(guān)信息。在又一個(gè)實(shí)施例中,處理器110可查詢(xún)與到擴(kuò)展虛擬屏幕115的輸出相關(guān)聯(lián)的底層編程對(duì)象來(lái)收集信息。處理器110可收集關(guān)于擴(kuò)展虛擬屏幕115上窗口的任何類(lèi)型和形式的信息。在一些例子中,處理器110可收集窗口的名稱(chēng)、窗口在擴(kuò)展虛擬屏幕上的位置、窗口的大小、與窗口相關(guān)聯(lián)的應(yīng)用、或上述的任何組合。處理器110可識(shí)別窗口的類(lèi)型。例如,處理器110 可確定窗口是否是對(duì)話(huà)框、用戶(hù)接口、通知或警告。處理器110可確定窗口是否要求用戶(hù)焦點(diǎn),這樣移動(dòng)計(jì)算設(shè)備102可以將本地顯示器140平移到該窗口以便使該窗口引起用戶(hù)的注意。處理器110可收集關(guān)于窗口內(nèi)容的信息,例如窗口是否包括滾動(dòng)條。由于處理器110檢測(cè)每個(gè)窗口,處理器110可以將有關(guān)窗口的信息加入關(guān)于被輸出到擴(kuò)展虛擬屏幕115的多個(gè)窗口的信息的數(shù)組中。該數(shù)組可包括所收集的關(guān)于每個(gè)窗口的信息的任何組合。例如,該數(shù)組中的一項(xiàng)可能指示窗口 #1是與Microsoft Word相關(guān)聯(lián)的,在擴(kuò)展虛擬屏幕上的位置坐標(biāo)為080,680)的“打開(kāi)文件”窗口,所述窗口 #1是子對(duì)話(huà)框并且要求用戶(hù)焦點(diǎn)。在又一個(gè)實(shí)施例中,該數(shù)組中的一項(xiàng)可指示窗口 #2是與Microsoft Outlook相關(guān)聯(lián)的,在擴(kuò)展虛擬屏幕上的位置坐標(biāo)為(560J40)的“新電子郵件”窗口,所述窗口 #2是通知且不要求用戶(hù)焦點(diǎn)。在又一個(gè)實(shí)施例中,該數(shù)組中的一項(xiàng)可指示窗口 #7是與web瀏覽器相關(guān)聯(lián)的,在擴(kuò)展虛擬屏幕上的位置坐標(biāo)為(300,270)的“彈出廣告”窗口, 所述窗口 #7是通知且不要求用戶(hù)焦點(diǎn)。在一些實(shí)施例中,處理器110可能會(huì)發(fā)現(xiàn)已經(jīng)與在抓屏期間所檢測(cè)的窗口相對(duì)應(yīng)的數(shù)組項(xiàng)。如果所收集的關(guān)于該窗口的任何信息發(fā)生了改變,處理器110可以更新該數(shù)組項(xiàng)。在多個(gè)實(shí)施例中,處理器110可以發(fā)現(xiàn)對(duì)應(yīng)于數(shù)組項(xiàng)的窗口不再顯示于擴(kuò)展虛擬屏幕 115上。例如,接收到用戶(hù)輸入后對(duì)話(huà)框可能已關(guān)閉,或者經(jīng)過(guò)預(yù)定的時(shí)間后,通告收到新
電子郵件的臨時(shí)窗口可能已關(guān)閉。處理器110可以從數(shù)組中刪除對(duì)應(yīng)于所關(guān)閉的窗口的項(xiàng)目。處理器110可以在任何時(shí)間或響應(yīng)于任何事件來(lái)抓取擴(kuò)展虛擬屏幕115,這對(duì)本領(lǐng)域普通技術(shù)人員是顯而易見(jiàn)的。處理器110可以在預(yù)定的時(shí)間間隔后,抓取擴(kuò)展虛擬屏幕115作為窗口。應(yīng)用特定的事件也可以初始化屏幕的抓取。例如,已知的產(chǎn)生用于接收進(jìn)一步的用戶(hù)輸入的子對(duì)話(huà)框的用戶(hù)行為可觸發(fā)這樣的抓取。從而,用于打開(kāi)文件、訪(fǎng)問(wèn)幫助菜單、調(diào)整應(yīng)用所使用的參數(shù)(例如,字體大小、頁(yè)邊距、音量等)、或其他行為的命令可以給處理器發(fā)信號(hào)以抓取擴(kuò)展虛擬屏幕115。除了抓取擴(kuò)展虛擬屏幕115之外或代替抓取擴(kuò)展虛擬屏幕115,處理器110可以通過(guò)根據(jù)事件觸發(fā)器識(shí)別窗口來(lái)檢測(cè)窗口。事件觸發(fā)器可以被編碼到在服務(wù)器106執(zhí)行的應(yīng)用中。在一些實(shí)施例中,應(yīng)用可包括由應(yīng)用開(kāi)發(fā)者插入的事件觸發(fā)器。例如,每當(dāng)服務(wù)器 106接收到來(lái)自與應(yīng)用關(guān)聯(lián)的第三方服務(wù)器的指示應(yīng)用更新是可利用的通知時(shí),可以觸發(fā)應(yīng)用的事件觸發(fā)器。在又一個(gè)例子中,應(yīng)用的事件觸發(fā)器可以在用戶(hù)的預(yù)定試用期過(guò)去后停止應(yīng)用的執(zhí)行。在第三個(gè)例子中,應(yīng)用的事件觸發(fā)器可以在檢測(cè)到應(yīng)用之前被非正常關(guān)閉時(shí)恢復(fù)文件。 在更多實(shí)施例中,用戶(hù)可以將事件觸發(fā)器編碼到服務(wù)器上可利用的應(yīng)用中。在這些實(shí)施例中,服務(wù)器106可以向用戶(hù)打開(kāi)應(yīng)用源代碼,由此允許用戶(hù)定制應(yīng)用。用戶(hù)可以插入在特定事件發(fā)生時(shí)執(zhí)行的代碼,并且該代碼可以指示當(dāng)事件發(fā)生時(shí)本地顯示器140平移到何處。例如,用戶(hù)插入的事件觸發(fā)器可檢測(cè)按鍵或按鍵的組合,如“Ctrl-X”。作為響應(yīng), 事件觸發(fā)器可以將本地顯示器140平移到擴(kuò)展虛擬屏幕130的預(yù)定的位置,例如左上角。在又一個(gè)例子中,用戶(hù)插入的事件觸發(fā)器可以檢測(cè)來(lái)自應(yīng)用的通常不要求用戶(hù)焦點(diǎn)的通知。事件觸發(fā)器可以覆蓋處理器110的操作并將本地顯示器140平移到該通知。在檢測(cè)到與應(yīng)用相關(guān)聯(lián)的窗口后,處理器110可以識(shí)別與該窗口在擴(kuò)展虛擬屏幕 115上的位置相關(guān)聯(lián)的坐標(biāo)(步驟20;3)。當(dāng)處理器110通過(guò)屏幕抓取來(lái)檢測(cè)窗口時(shí),處理器110可以查詢(xún)關(guān)于被輸出到擴(kuò)展虛擬屏幕115的多個(gè)窗口的信息的數(shù)組來(lái)識(shí)別該窗口的坐標(biāo)。處理器110可以從對(duì)應(yīng)于該窗口的項(xiàng)目檢索坐標(biāo)。當(dāng)處理器110通過(guò)事件觸發(fā)器檢測(cè)窗口時(shí),處理器110可獲得事件觸發(fā)器所引用的坐標(biāo)。在一些實(shí)施例中,事件觸發(fā)器可指定窗口的坐標(biāo)。例如,如果按鍵“Ctrl-X”將本地顯示器平移到擴(kuò)展虛擬屏幕115的左上角,那么事件觸發(fā)器可包括向其左上角位于IOM 像素x768像素的屏幕上(0,768)位置的窗口平移的指令。在其他實(shí)施例中,事件觸發(fā)器可指示如何獲得窗口的坐標(biāo)。例如,如果電子郵件的通知打開(kāi)臨時(shí)窗口,事件觸發(fā)器可指示本地顯示器140平移到與對(duì)應(yīng)于該臨時(shí)窗口的數(shù)組項(xiàng)相符的位置。在服務(wù)器106識(shí)別與擴(kuò)展虛擬屏幕上窗口的位置相關(guān)聯(lián)的坐標(biāo)后,服務(wù)器106上的收發(fā)器120可將窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備102以便在移動(dòng)計(jì)算設(shè)備102的本地顯示器140上顯示該窗口(步驟20幻。收發(fā)器145可接收坐標(biāo)并將坐標(biāo)轉(zhuǎn)發(fā)到移動(dòng)計(jì)算設(shè)備 102的處理器125。處理器125可與虛擬圖形驅(qū)動(dòng)器135通信以便根據(jù)所接收的坐標(biāo)驅(qū)動(dòng)本地顯示器140。在一些實(shí)施例中,坐標(biāo)對(duì)應(yīng)于窗口的左上角。在其他實(shí)施例中,坐標(biāo)對(duì)應(yīng)于窗口的中央。在許多實(shí)施例中,當(dāng)服務(wù)器106通過(guò)屏幕抓取識(shí)別窗口時(shí),只有當(dāng)窗口要求用戶(hù)焦點(diǎn)時(shí),收發(fā)器145才可傳輸坐標(biāo)。這樣的窗口必須或應(yīng)該引起移動(dòng)計(jì)算設(shè)備的用戶(hù)的注意。例如,子對(duì)話(huà)框打開(kāi)以接收來(lái)自用戶(hù)的輸入,并且直到該對(duì)話(huà)框接收到期望的輸入時(shí), 應(yīng)用才繼續(xù)執(zhí)行。如果子對(duì)話(huà)框出現(xiàn)在本地顯示器140外部的擴(kuò)展虛擬屏幕115上,那么從用戶(hù)的角度看,該應(yīng)用看起來(lái)是沒(méi)有反應(yīng)的。必須使用戶(hù)注意到子對(duì)話(huà)框以便繼續(xù)執(zhí)行應(yīng)用。在又一個(gè)例子中,警告可以指示用戶(hù)正在訪(fǎng)問(wèn)的網(wǎng)站可能有可疑的證書(shū)。因?yàn)樵摼W(wǎng)站可能影響移動(dòng)計(jì)算設(shè)備的安全,所以該警告應(yīng)當(dāng)引起用戶(hù)的注意。在又一個(gè)例子中,訪(fǎng)問(wèn)網(wǎng)站可能打開(kāi)彈出式廣告,其不要求用戶(hù)的焦點(diǎn)。在這些實(shí)施例的任何一個(gè)中,處理器110 通過(guò)訪(fǎng)問(wèn)對(duì)應(yīng)于窗口的數(shù)組項(xiàng)來(lái)確定窗口是否要求用戶(hù)的焦點(diǎn)。在一些實(shí)施例中,服務(wù)器106還可以向移動(dòng)計(jì)算設(shè)備102傳輸縮放指令。服務(wù)器 106可通過(guò)評(píng)估擴(kuò)展虛擬屏幕115和本地顯示器140的分辨率,或者通過(guò)評(píng)估窗口和本地顯示器140的大小來(lái)確定縮放指令是否是適當(dāng)?shù)摹@?,如果擴(kuò)展虛擬屏幕115和本地顯示器140的分辨率相差至少為預(yù)定的閥值,那么處理器110可以肯定縮放是合適的。又一個(gè)例子中,如果窗口的大小與本地顯示器140的大小相差至少為又一個(gè)預(yù)定的閥值,那么處理器110可以肯定縮放是合適的。處理器110可將差值與不同的閥值來(lái)比較以便確定本地顯示器140應(yīng)該放大還是縮小。移動(dòng)計(jì)算設(shè)備102可對(duì)擴(kuò)展虛擬屏幕130的上數(shù)據(jù)執(zhí)行任何算法來(lái)完成縮放,例如插值或采樣。圖3、4和5是描述根據(jù)本發(fā)明的服務(wù)器106的擴(kuò)展虛擬屏幕115的應(yīng)用輸出和本地顯示器140上的輸出之間的關(guān)系的框圖。具體參考圖3,通常,擴(kuò)展虛擬屏幕115的分辨率大于本地顯示器140的分辨率。因此,本地顯示器140只顯示擴(kuò)展虛擬屏幕115的一部分。服務(wù)器106與移動(dòng)計(jì)算設(shè)備102通信以便驅(qū)動(dòng)本地顯示器140來(lái)顯示期望的擴(kuò)展虛擬屏幕115的部分。例如,在圖4中,如上文所述,服務(wù)器106將子對(duì)話(huà)框的坐標(biāo)傳遞給移動(dòng)計(jì)算設(shè)備102以便在本地顯示器140上顯示該子對(duì)話(huà)框。如圖5,在又一個(gè)例子中,服務(wù)器 106將警告的坐標(biāo)傳遞給移動(dòng)計(jì)算設(shè)備102以在本地顯示器140上顯示該警告。圖6是描述用于根據(jù)移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的方法的一個(gè)實(shí)施例的流程圖。在一個(gè)實(shí)施例中,該方法包括在移動(dòng)計(jì)算設(shè)備的本地顯示器上接收基于手勢(shì)的指令(步驟601);評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容(步驟603);如果所述內(nèi)容包括滾動(dòng)條則滾動(dòng)窗口內(nèi)容(步驟605);以及如果所述內(nèi)容不包括滾動(dòng)條,則平移窗口內(nèi)容(步驟607)。仍參考圖6,更具體地,移動(dòng)計(jì)算設(shè)備102在移動(dòng)計(jì)算設(shè)備102的本地顯示器140 上接收基于手勢(shì)的指令(步驟601)。本地顯示器140包括接觸響應(yīng)表面,其檢測(cè)來(lái)自移動(dòng)計(jì)算設(shè)備102的用戶(hù)的觸摸輸入。接觸響應(yīng)表面可識(shí)別用戶(hù)接觸該表面的位置并將該位置重定向到移動(dòng)計(jì)算設(shè)備102的處理器125。在一些實(shí)施例中,接觸響應(yīng)表面只將用戶(hù)觸摸輸入的起始位置和終止位置重定向到處理器125。在其他實(shí)施例中,接觸響應(yīng)表面周期性地重定向所接收的位置。在一些實(shí)施例中,基于手勢(shì)的指令可以是用于移動(dòng)本地顯示器140上的數(shù)據(jù)的指令。例如,用戶(hù)可在一個(gè)位置觸摸接觸響應(yīng)表面并沿一條線(xiàn)拖動(dòng)手指或光筆。處理器125 可任意方式來(lái)計(jì)算該指令的尺寸。在一些實(shí)施例中,處理器125可計(jì)算用戶(hù)觸摸輸入的起始位置和終止位置之間的距離。在其他實(shí)施例中,處理器125可沿本地顯示器140的一個(gè)坐標(biāo)軸計(jì)算起始和終止位置之間的一個(gè)距離并且沿本地顯示器140的其他坐標(biāo)軸計(jì)算起始和終止位置之間的另一個(gè)距離。在收到移動(dòng)計(jì)算設(shè)備的本地顯示器上的基于手勢(shì)的指令后,移動(dòng)計(jì)算設(shè)備102評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容(步驟60 。移動(dòng)計(jì)算設(shè)備102可根據(jù)用戶(hù)觸摸輸入開(kāi)始的位置來(lái)檢測(cè)窗口。在一些實(shí)施例中,處理器125可以查詢(xún)關(guān)于擴(kuò)展虛擬屏幕130上的多個(gè)窗口的信息的數(shù)組來(lái)識(shí)別在那個(gè)位置的窗口。在其他實(shí)施例中,在包含窗口的位置的用戶(hù)觸摸輸入可以觸發(fā)識(shí)別該窗口的事件。一旦處理器125識(shí)別該窗口,處理器110可評(píng)估內(nèi)容以確定內(nèi)容是否包含滾動(dòng)條。 例如,處理器110可以訪(fǎng)問(wèn)窗口在有關(guān)擴(kuò)展虛擬屏幕130上的窗口的信息數(shù)組中的項(xiàng)目。該項(xiàng)目可指示窗口是否包括滾動(dòng)條,其在抓屏的期間已經(jīng)被確定。在又一個(gè)的例子中,處理器 125可訪(fǎng)問(wèn)對(duì)應(yīng)于窗口的數(shù)據(jù)結(jié)構(gòu)(例如對(duì)象)來(lái)確定該窗口是否包括滾動(dòng)條。在這些例子的任何一個(gè)中,處理器125可確定滾動(dòng)條的移動(dòng)方向,例如水平或垂直。評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容后,如果所述內(nèi)容包括滾動(dòng)條, 則移動(dòng)計(jì)算設(shè)備102滾動(dòng)窗口內(nèi)容(步驟60 或如果所述內(nèi)容不包括滾動(dòng)條則平移窗口內(nèi)容(步驟60幻。如果窗口包括滾動(dòng)條,處理器125可向服務(wù)器106傳輸用于滾動(dòng)服務(wù)器上執(zhí)行的應(yīng)用輸出的窗口內(nèi)容的指令。該指令可包括滾動(dòng)的尺寸和方向。處理器125可以根據(jù)如本領(lǐng)域普通技術(shù)人所顯而易見(jiàn)的任何算法來(lái)計(jì)算該尺寸。例如,該尺寸可以與用戶(hù)觸摸輸入的起始和終止位置之間的總距離、沿滾動(dòng)條移動(dòng)方向的距離或任何其他這樣的距離成比例。處理器125可根據(jù)滾動(dòng)條移動(dòng)的方向來(lái)比較起始位置和終止位置以確定滾動(dòng)方向。如果窗口不包括滾動(dòng)條,處理器125可向服務(wù)器106傳輸用于平移在服務(wù)器上執(zhí)行的應(yīng)用輸出的窗口內(nèi)容的指令。在這些實(shí)施例中,用于平移的指令包括兩條移動(dòng)內(nèi)容的指令,一個(gè)沿垂直方向而另一個(gè)沿水平方向。對(duì)于在水平方向移動(dòng)的指令,該尺寸可以與用戶(hù)觸摸輸入的起始位置和終止位置之間的水平距離成比例。處理器125可通過(guò)對(duì)位置進(jìn)行比較來(lái)確定水平移動(dòng)的方向,例如,左或右。可以通過(guò)比較的方法為在垂直方向移動(dòng)的指令確定尺寸和方向。在所有這些實(shí)施例中,移動(dòng)計(jì)算設(shè)備102根據(jù)所傳輸?shù)闹噶顝姆?wù)器106接收經(jīng)更新的窗口內(nèi)容。處理器125可與虛擬圖形驅(qū)動(dòng)器135通信以將經(jīng)更新的內(nèi)存存儲(chǔ)在擴(kuò)展虛擬屏幕130上。虛擬圖形驅(qū)動(dòng)器135進(jìn)而驅(qū)動(dòng)本地顯示器140以便顯示經(jīng)更新的內(nèi)容。圖7是描述用于根據(jù)移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的方法的又一個(gè)實(shí)施例的流程圖。在一個(gè)實(shí)施例中,該方法包括在移動(dòng)計(jì)算設(shè)備的本地顯示器上接收基于手勢(shì)的指令(步驟701);根據(jù)基于手勢(shì)的指令計(jì)算新的字體大小(步驟70 ;將新的字體大小傳輸?shù)綀?zhí)行應(yīng)用的服務(wù)器(步驟70 ;將全局函數(shù)應(yīng)用于服務(wù)器的操作系統(tǒng)以便將應(yīng)用調(diào)整到新的字體大小(步驟707);并采用新的字體大小下的應(yīng)用傳輸?shù)揭苿?dòng)計(jì)算設(shè)備(步驟709)。移動(dòng)計(jì)算設(shè)備102可根據(jù)所描述的與圖6有關(guān)的任何方法來(lái)接收基于手勢(shì)的指令。在移動(dòng)計(jì)算設(shè)備102的本地顯示器140上接收到基于手勢(shì)的指令后,移動(dòng)計(jì)算設(shè)備102上的處理器125根據(jù)基于手勢(shì)的指令來(lái)計(jì)算新的字體大小。當(dāng)基于手勢(shì)的指令是縮放指令時(shí),用戶(hù)觸摸輸入包括在觸摸屏上所接收的兩條線(xiàn)。接著,處理器125比較線(xiàn)的起始位置和終止位置以便確定用戶(hù)要放大還是縮小應(yīng)用。處理器125計(jì)算線(xiàn)的長(zhǎng)度來(lái)確定縮放的尺寸并使用所計(jì)算的長(zhǎng)度來(lái)計(jì)算新的字體大小。在一些實(shí)施例中,處理器125可將應(yīng)用所使用的字體大小乘以或除以與所計(jì)算的長(zhǎng)度成比例的因子以便計(jì)算新的字體大小。在其他實(shí)施例中,處理器125可通過(guò)具有對(duì)應(yīng)于可能的所計(jì)算的長(zhǎng)度的表項(xiàng)的查詢(xún)表來(lái)獲得因子并放大/縮小?;蛘?,處理器125可以直接從所計(jì)算的長(zhǎng)度來(lái)計(jì)算因子。在根據(jù)基于手勢(shì)的指令計(jì)算新的字體大小后,移動(dòng)計(jì)算設(shè)備102將新的字體大小傳輸?shù)綀?zhí)行應(yīng)用的服務(wù)器,同時(shí)服務(wù)器將全局函數(shù)應(yīng)用于服務(wù)器的操作系統(tǒng)來(lái)將應(yīng)用調(diào)整到新的字體大小。服務(wù)器使用新的字體大小調(diào)用API。該API可覆蓋操作系統(tǒng)所使用的參數(shù)來(lái)以新的字體大小顯示應(yīng)用。在一些實(shí)施例中,該API可自動(dòng)解決文本換行的細(xì)節(jié)。處理器將采用新的字體大小的應(yīng)用輸出到擴(kuò)展虛擬屏幕115。接著,服務(wù)器106將采用新字體大小的應(yīng)用傳輸?shù)揭苿?dòng)計(jì)算設(shè)備102以用于顯示。已經(jīng)描述了用于在移動(dòng)計(jì)算設(shè)備上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的系統(tǒng)和方法的某些實(shí)施例,對(duì)本領(lǐng)域普通技術(shù)人員而言,可以使用包含本發(fā)明的概念的其他實(shí)施例將是顯而易見(jiàn)的。因此,本發(fā)明應(yīng)該不限于某些實(shí)施例。
權(quán)利要求
1.一種用于在移動(dòng)計(jì)算設(shè)備上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的方法,所述方法包括由服務(wù)器檢測(cè)與在服務(wù)器上執(zhí)行的應(yīng)用關(guān)聯(lián)的窗口,所述服務(wù)器將應(yīng)用輸出到擴(kuò)展虛擬屏幕;由服務(wù)器識(shí)別與擴(kuò)展虛擬屏幕上所述窗口的位置關(guān)聯(lián)的坐標(biāo); 由服務(wù)器將所述窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備以便在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示所述窗口。
2.根據(jù)權(quán)利要求1所述的方法,其中所述窗口是對(duì)話(huà)框、用戶(hù)接口、通知和警告之一。
3.根據(jù)權(quán)利要求1所述的方法,還包括由服務(wù)器將服務(wù)器上擴(kuò)展虛擬屏幕的分辨率與移動(dòng)計(jì)算設(shè)備上的本地顯示器的分辨率進(jìn)行比較;由服務(wù)器確定分辨率是否相差預(yù)定的閥值;以及如果分辨率相差至少為預(yù)定的閥值,由服務(wù)器傳輸用于縮放窗口的指令。
4.根據(jù)權(quán)利要求1所述的方法,其中通過(guò)抓取擴(kuò)展虛擬屏幕來(lái)獲得窗口的坐標(biāo)。
5.根據(jù)權(quán)利要求1所述的方法,其中服務(wù)器響應(yīng)于事件觸發(fā)器檢測(cè)窗口,所述事件觸發(fā)器是從由應(yīng)用開(kāi)發(fā)者編碼的事件觸發(fā)器和應(yīng)用的用戶(hù)插入的事件觸發(fā)器構(gòu)成的組中選擇的。
6.根據(jù)權(quán)利要求5所述的方法,其中移動(dòng)計(jì)算設(shè)備的用戶(hù)通過(guò)定制在服務(wù)器上執(zhí)行的應(yīng)用來(lái)指定事件觸發(fā)器。
7.根據(jù)權(quán)利要求1所述的方法,還包括由移動(dòng)計(jì)算設(shè)備在本地顯示器上接收基于手勢(shì)的指令; 由移動(dòng)計(jì)算設(shè)備評(píng)估在收到基于手勢(shì)的指令的位置處的窗口內(nèi)容; 如果所述內(nèi)容包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備滾動(dòng)窗口內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備平移窗口內(nèi)容。
8.一種用于在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示在服務(wù)器上執(zhí)行的應(yīng)用的窗口的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),所述系統(tǒng)包括包括處理器和收發(fā)器的服務(wù)器,所述處理器檢測(cè)與應(yīng)用關(guān)聯(lián)的窗口并且識(shí)別與擴(kuò)展虛擬屏幕上窗口的位置關(guān)聯(lián)的坐標(biāo);所述收發(fā)器將窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備;以及包括本地顯示器的移動(dòng)計(jì)算設(shè)備,所述本地顯示器根據(jù)來(lái)自服務(wù)器的坐標(biāo)顯示窗口。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述窗口是對(duì)話(huà)框、用戶(hù)接口、通知和警告之一。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器將服務(wù)器的擴(kuò)展虛擬屏幕的分辨率與移動(dòng)計(jì)算設(shè)備的本地顯示器的分辨率進(jìn)行比較,確定分辨率是否相差預(yù)定的閥值,以及如果分辨率相差至少為預(yù)定的閥值,則傳輸用于縮放窗口的指令。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器抓取擴(kuò)展虛擬屏幕以便識(shí)別窗口的坐標(biāo)。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器響應(yīng)于事件觸發(fā)器來(lái)檢測(cè)窗口,所述事件觸發(fā)器是從由應(yīng)用開(kāi)發(fā)者編碼的事件觸發(fā)器和應(yīng)用的用戶(hù)插入的事件 觸發(fā)器構(gòu)成的組中選擇的。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中移動(dòng)計(jì)算設(shè)備的用戶(hù)通過(guò)定制在服務(wù)器上執(zhí)行的應(yīng)用來(lái)指定事件觸發(fā)器。
14.根據(jù)權(quán)利要求8所述的系統(tǒng),其中移動(dòng)計(jì)算設(shè)備的本地顯示器接收基于手勢(shì)的指令;以及移動(dòng)計(jì)算設(shè)備的處理器評(píng)估在接收到基于手勢(shì)指令的位置處的窗口內(nèi)容,如果所述內(nèi)容包括滾動(dòng)條則滾動(dòng)窗口內(nèi)容,以及當(dāng)所述內(nèi)容不包括滾動(dòng)條時(shí)平移窗口內(nèi)容。
15.一種根據(jù)移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的方法,所述方法包括由移動(dòng)計(jì)算設(shè)備在移動(dòng)計(jì)算設(shè)備的本地顯示器上接收基于手勢(shì)的指令; 由移動(dòng)計(jì)算設(shè)備評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容; 如果所述內(nèi)容包括滾動(dòng)條則由移動(dòng)計(jì)算設(shè)備滾動(dòng)窗口內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備平移窗口內(nèi)容。
16.根據(jù)權(quán)利要求15所述的方法,其中滾動(dòng)窗口內(nèi)容包括由移動(dòng)計(jì)算設(shè)備傳輸用于滾動(dòng)服務(wù)器上執(zhí)行的應(yīng)用所輸出的窗口內(nèi)容的指令。
17.根據(jù)權(quán)利要求16所述的方法,其中滾動(dòng)窗口內(nèi)容包括由移動(dòng)計(jì)算設(shè)備根據(jù)所傳輸?shù)闹噶顝姆?wù)器接收經(jīng)更新的窗口內(nèi)容,以及由移動(dòng)計(jì)算設(shè)備將經(jīng)更新的內(nèi)容顯示在本地顯示器上。
18.根據(jù)權(quán)利要求15所述的方法,其中評(píng)估窗口內(nèi)容包括抓取窗口以確定窗口是否包括滾動(dòng)條。
19.根據(jù)權(quán)利要求15所述的方法,還包括由移動(dòng)計(jì)算設(shè)備根據(jù)基于手勢(shì)的指令計(jì)算新的字體大??; 由移動(dòng)計(jì)算設(shè)備將新的字體大小傳輸?shù)綀?zhí)行應(yīng)用的服務(wù)器;由服務(wù)器將全局函數(shù)應(yīng)用于服務(wù)器的操作系統(tǒng)以便將應(yīng)用調(diào)整到新的字體大??;以及由服務(wù)器將采用新的字體大小的應(yīng)用傳輸?shù)揭苿?dòng)計(jì)算設(shè)備。
20.一種用于根據(jù)在移動(dòng)計(jì)算設(shè)備的本地顯示器上所顯示的窗口內(nèi)容來(lái)解釋基于手勢(shì)的指令的移動(dòng)計(jì)算設(shè)備,所述移動(dòng)計(jì)算設(shè)備包括接收基于手勢(shì)的指令的本地顯示器;處理器,其評(píng)估在接收基于手勢(shì)的指令的位置處的窗口內(nèi)容; 如果所述內(nèi)容包括滾動(dòng)條則滾動(dòng)窗口內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則平移窗口內(nèi)容。
21.根據(jù)權(quán)利要求20所述的設(shè)備,其中處理器通過(guò)傳輸用于滾動(dòng)服務(wù)器上執(zhí)行的應(yīng)用所輸出的窗口內(nèi)容的指令來(lái)滾動(dòng)窗口內(nèi)容。
22.根據(jù)權(quán)利要求21所述的設(shè)備,其中處理器通過(guò)根據(jù)所傳輸?shù)闹噶顝姆?wù)器接收經(jīng)更新的窗口內(nèi)容來(lái)滾動(dòng)窗口內(nèi)容。
23.根據(jù)權(quán)利要求20所述的設(shè)備,其中處理器通過(guò)抓取窗口來(lái)評(píng)估窗口內(nèi)容以確定窗口是否包括滾動(dòng)條。
24.根據(jù)權(quán)利要求20所述的設(shè)備,其中處理器根據(jù)基于手勢(shì)的指令計(jì)算新的字體大小并將新的字體大小傳輸?shù)綀?zhí)行應(yīng)用的服務(wù)器,以及服務(wù)器將全局函數(shù)應(yīng)用于服務(wù)器的操作系統(tǒng)以便將應(yīng)用調(diào)整到新的字體大小并且將采用新的字體大小的應(yīng)用傳輸?shù)揭苿?dòng)計(jì)算設(shè)
25. 一種用于將窗口從擴(kuò)展虛擬屏幕提供到移動(dòng)計(jì)算設(shè)備的本地顯示器上的方法,所述方法包括由服務(wù)器檢測(cè)與在服務(wù)器上執(zhí)行的應(yīng)用關(guān)聯(lián)的第一窗口,所述服務(wù)器將應(yīng)用輸出到擴(kuò)展虛擬屏幕;由服務(wù)器識(shí)別與擴(kuò)展虛擬屏幕上第一窗口的位置關(guān)聯(lián)的坐標(biāo); 由服務(wù)器將第一窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備以便在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示第一窗口;由移動(dòng)計(jì)算設(shè)備在本地顯示器上接收基于手勢(shì)的指令; 由移動(dòng)計(jì)算設(shè)備評(píng)估在收到基于手勢(shì)的指令的位置處的第二窗口的內(nèi)容; 如果所述內(nèi)容包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備滾動(dòng)第二窗口的內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則由移動(dòng)計(jì)算設(shè)備平移第二窗口的內(nèi)容。
全文摘要
描述了用于將窗口從擴(kuò)展虛擬屏幕提供到移動(dòng)計(jì)算設(shè)備的本地顯示器上的方法和系統(tǒng)。該系統(tǒng)包括服務(wù)器,其檢測(cè)與服務(wù)器上執(zhí)行的應(yīng)用關(guān)聯(lián)的第一窗口,所述服務(wù)器將應(yīng)用輸出到擴(kuò)展虛擬屏幕;識(shí)別與擴(kuò)展虛擬屏幕上第一窗口的位置關(guān)聯(lián)的坐標(biāo);以及將第一窗口的坐標(biāo)傳輸?shù)揭苿?dòng)計(jì)算設(shè)備以便在移動(dòng)計(jì)算設(shè)備的本地顯示器上顯示第一窗口。該系統(tǒng)還包括移動(dòng)計(jì)算設(shè)備,其在本地顯示器上接收基于手勢(shì)的指令;評(píng)估在接收基于手勢(shì)的指令的位置處的第二窗口的內(nèi)容;如果所述內(nèi)容包括滾動(dòng)條則滾動(dòng)第二窗口的內(nèi)容;以及如果所述內(nèi)容不包括滾動(dòng)條,則平移第二窗口的內(nèi)容。
文檔編號(hào)G06F3/14GK102257471SQ200980151451
公開(kāi)日2011年11月23日 申請(qǐng)日期2009年10月23日 優(yōu)先權(quán)日2008年10月26日
發(fā)明者A·瑪拉諾, C·弗萊克, G·平托 申請(qǐng)人:思杰系統(tǒng)有限公司