專利名稱:應(yīng)用程序裁剪方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計算機及類似技術(shù)領(lǐng)域:
,尤其涉及在該領(lǐng)域中使用的軟件。
背景技術(shù):
大多數(shù)傳統(tǒng)的計算機使用某種形式的圖形用戶界面(CUI)功能來顯示在計算機上執(zhí)行的應(yīng)用程序。最通用的GUI功能是由微軟公司發(fā)布的視窗操作系統(tǒng)(OS)提供的。
使用傳統(tǒng)的視窗操作,用戶通常要同時使用多個桌面應(yīng)用程序(或者在多個桌面應(yīng)用程序之間)工作。每一個打開的桌面應(yīng)用程序由其自己的窗口表示,這個窗口通常是最大化到與顯示屏的整個可視區(qū)域匹配的完整窗口(GUI)。一般,使多個桌面應(yīng)用程序同時執(zhí)行(也就是窗口打開)會導(dǎo)致大量的窗口框架,使桌面混亂。由于可用于顯示打開窗口的空間有限,一般一次只顯示一個窗口。這樣,每一個新的應(yīng)用程序窗口一般是在此前的應(yīng)用程序窗口上面打開,最新打開的窗口完全(或者部分地)擋住其下面的窗口。當有多個應(yīng)用程序窗口打開時,如果第一窗口沒有占據(jù)整個可視區(qū)域的話,一般只顯示次級窗口(也就是在主窗口后面或者旁邊的窗口)的一小部分。為了在這些打開的應(yīng)用程序之間進行切換,用戶就不得不將各層窗口剝開,以尋找用戶希望瀏覽其內(nèi)容或者與其內(nèi)容交互的特定應(yīng)用程序窗口。這個過程可能涉及一次或者多次(a)關(guān)閉窗口,(b)將窗口縮為應(yīng)用程序條,(c)最小化到較小的窗口,或者(d)其他已知的方法。
當用戶希望同時瀏覽多個窗口的內(nèi)容時,將每一個窗口縮小(最小化),使得多個窗口并排顯示。但是,對于多個窗口的這種排布,在各窗口內(nèi)顯示的內(nèi)容/信息量被縮小以與最小化的窗口的大小匹配,而最小化的窗口仍然包含窗口邊界、頂部菜單項(功能可見性(affordance,啟示,可伺服性))、滾動條等。這樣,用戶就只能看到數(shù)量有限的內(nèi)容,有時候還不能在最小化的窗口內(nèi)看到所有想看的內(nèi)容。
當內(nèi)容在窗口內(nèi)不相鄰時,也難以在最小化的窗口內(nèi)看到所需的內(nèi)容。那么,用戶就不得不上下滾動或者通篇滾動來查看同一窗口內(nèi)的其他信息。當只是窗口的一小部分提供有用的內(nèi)容時,上述結(jié)果是使用基于窗口的應(yīng)用程序來查看較大的物理窗口內(nèi)的內(nèi)容或者與所述內(nèi)容交互時不希望有的效果。
發(fā)明內(nèi)容本發(fā)明包括但不限于進行下述操作的方法、設(shè)備和計算機使用的介質(zhì)接收用戶輸入以在打開的應(yīng)用程序窗口內(nèi)激活裁剪工具;允許使用該裁剪工具的選擇功能選擇該打開的窗口的特定部分,其中,該特定部分小于應(yīng)用程序窗口的總面積;在所述部分仍被選定的情況下收到裁剪所選部分的請求后,從應(yīng)用程序窗口的其余部分將所述特定部分動態(tài)裁剪下來,并只將該打開窗口的裁剪下來的所述特定部分作為單獨的窗口片斷加以顯示。
在下面的詳細說明中可以明了本發(fā)明的上述以及其他目的、特征和優(yōu)點。
在所附權(quán)利要求
中給出了被認為是本發(fā)明的特征的新穎的特征。但是,本發(fā)明本身以及其優(yōu)選的使用方式、進一步的目的和優(yōu)點可以參照下面結(jié)合附圖對示例的實施方式的詳細說明而得到最好的理解。
附圖中圖1的框圖圖解了可以有利地實現(xiàn)本發(fā)明的應(yīng)用程序裁剪特征和功能的舉例的計算機系統(tǒng);圖2A圖解了根據(jù)本發(fā)明的一種實施方式在舉例的應(yīng)用程序窗口上的裁剪過程;圖2B圖解了根據(jù)本發(fā)明的一種實施方式從圖2A裁剪下來的窗口部分;圖2C-2D圖解了根據(jù)本發(fā)明的各種實現(xiàn)方式,從不同的應(yīng)用程序或者應(yīng)用程序的不同部分裁剪下來的其他裁剪窗口部分;圖2E圖解了根據(jù)本發(fā)明的一種實施方式,同一應(yīng)用程序窗口的兩個裁剪的窗口部分,其中每一個包括允許實現(xiàn)聚合/組合功能的聚合可見顯示項(aggregation affordance);圖2F的框圖圖解了根據(jù)本發(fā)明的一種實施方式,在將圖3B的處理應(yīng)用于圖2E的裁剪下來的窗口部分之后所得到的聚合裁剪窗口;圖3A-3C是根據(jù)本發(fā)明的一種實施方式在應(yīng)用程序窗口內(nèi)進行裁剪,并將多個裁剪窗口聚合(合并)為聚合裁剪窗口的各個過程的流程圖;圖4a-4b圖示了部署能夠執(zhí)行在圖3A-3C中圖示和描述的步驟的軟件的步驟的流程圖;圖5a-5c圖解了在虛擬專用網(wǎng)絡(luò)(VPN)中部署能夠執(zhí)行在圖3A-3C中圖示和描述的步驟的軟件的步驟的流程圖;圖6a-6b圖解了向計算機系統(tǒng)中裝入能夠執(zhí)行在圖3A-3C中圖示和描述的步驟的軟件的步驟的流程圖;圖7a-7b圖示了使用點播服務(wù)提供商執(zhí)行圖3A-3C中圖示和描述的步驟的步驟的流程圖。
具體實施方式現(xiàn)在參見附圖,尤其是圖1。其中描繪了一種計算機系統(tǒng),其中可以有利地實現(xiàn)本發(fā)明的特征。計算機系統(tǒng)100包括通過系統(tǒng)總線105耦合到內(nèi)存(存儲器)120、輸入輸出(I/O)控制器115以及其他/輔助存儲器155的處理器110。輸入輸出控制器115提供到輸入輸出設(shè)備包括鼠標116、鍵盤117和顯示設(shè)備118的連接和/或?qū)λ鼈兊目刂啤?br> 計算機系統(tǒng)100還包括網(wǎng)絡(luò)接口設(shè)備130,用來將計算機系統(tǒng)100連接到另一個計算機系統(tǒng)和/或計算機網(wǎng)絡(luò)230(如圖1中的插圖所示)。NID130提供通過網(wǎng)關(guān)或路由器或者類似設(shè)備與外部網(wǎng)絡(luò)230的互連。NID130可以是以太網(wǎng)卡或者調(diào)制解調(diào)器,這例如取決于計算機系統(tǒng)100所連的網(wǎng)絡(luò)的類型(例如局域網(wǎng)(LAN)或者廣域網(wǎng)(WAN))。
有多個軟件模塊位于存儲器120內(nèi)并在處理器110上執(zhí)行,這些軟件模塊包括操作系統(tǒng)(OS)125和多個軟件應(yīng)用程序,包括App1...AppN133和裁剪工具140。處理器110執(zhí)行各種應(yīng)用程序(例如網(wǎng)絡(luò)連接程序、裁剪工具140等),以及支持應(yīng)用程序的OS(例如微軟視窗,微軟公司的商標)。根據(jù)圖示的實施方式,OS125、一個或者多個App1...AppN 133以及裁剪工具140在處理器110上執(zhí)行,提供/允許下面將要描述的圖3A-3C所圖解的一般應(yīng)用程序裁剪功能以及裁剪窗口聚合特征/功能。
應(yīng)注意到,盡管圖示與OS125相獨立的組件,但是裁剪工具140實際上可以被實現(xiàn)為OS135的子組件。這樣,當安裝到計算設(shè)備上時,裁剪工具功能就可以增強OS135。但是,另外,裁剪工具140可以是可用于增強已有OS135的附加工具。在這方面,例如,裁剪工具140可以通過現(xiàn)貨購買(例如CD-ROM)的方式獲得,或者可以作為獨立的工具下載,或者從OS開發(fā)者的支持網(wǎng)站升級OS135。
在一種實施方式中,計算機系統(tǒng)100的硬件部件是傳統(tǒng)設(shè)計。計算機系統(tǒng)100還可以包括其他部件(未圖示),比如固定的盤驅(qū)動器、可移除的盤驅(qū)動器、CD和/或DVD驅(qū)動器、音頻部件、調(diào)制解調(diào)器、網(wǎng)絡(luò)接口部件等。因此可以理解,這里所描述的系統(tǒng)只是說明性的,各種變化和修改都是可能的。另外,用于實現(xiàn)應(yīng)用程序窗口裁剪和窗口聚合的技術(shù)/功能也可以在多種不同配置的計算機系統(tǒng)中實現(xiàn)。因此,盡管本發(fā)明在這里被描述為實現(xiàn)在基本計算機系統(tǒng)100中,但是本領(lǐng)域的普通技術(shù)人員可以理解存在各種不同的計算機系統(tǒng)配置,并且不管計算機系統(tǒng)的實際配置如何,都可應(yīng)用本發(fā)明的特征。
這樣,本發(fā)明不僅可應(yīng)用于桌面型或者膝上型計算機系統(tǒng),而且可以在便攜式和/或手持式設(shè)備比如個人數(shù)字助理(PDA)、蜂窩電話或者其他手持設(shè)備中實現(xiàn),也可以在更大的主機型設(shè)備中實現(xiàn),只要這些設(shè)備具有處理器并且使用用裁剪工具140的裁剪功能增強了的窗口或者類似功能來顯示和執(zhí)行應(yīng)用程序。
現(xiàn)在看圖2A-2D,其中順序圖解了應(yīng)用程序窗口以及隨后的一系列應(yīng)用程序窗口裁剪,這些圖圖解了對打開的應(yīng)用程序窗口進行裁剪的過程和結(jié)果。圖3A-3B提供了實際的處理,下面結(jié)合圖2A-2D予以描述。在不同的圖中,類似的附圖標記表示類似的元素,當在圖中首次出現(xiàn)時,新的特征使用單獨的附圖標記。
圖3A(以及2A-2C)圖解了用戶在基于視窗的計算機上創(chuàng)建應(yīng)用程序窗口裁剪的過程。該過程始于開始方框302,并前進到方框304,在這里,用戶在打開的應(yīng)用程序窗口200(其作為圖形用戶界面(GUI)顯示在顯示設(shè)備118上)內(nèi)激活/打開裁剪功能215。在一種實施方式中,用戶通過訪問窗口內(nèi)的“模式切換/功能”(例如桌面中的上下文菜單項(context menu item))進入“裁剪”模式?!澳J角袚Q(mode switch)”可以作為下拉菜單項(例如“工具”)出現(xiàn),或者只是由裁剪工具140或者OS125添加到桌面窗口顯示上的圖標。在另一種實現(xiàn)方式中,當指針在窗口200內(nèi)任何位置時用戶右擊鼠標以打開內(nèi)容菜單時提供“模式切換”。如圖2A所示,裁剪模式包括圍繞著要從窗口200裁剪下來的內(nèi)容225的虛輪廓線(這里稱為“裁剪片斷”210)。
從包含目標應(yīng)用程序的常規(guī)窗口框架中,用戶選擇其想要作為子集的目標區(qū)。這種選擇可以通過如圖2A所示的直接操作(用選取框(marquee)選擇)進行,或者可以用其他的定義輪廓的方法進行。在一種實施方式中,窗口的默認區(qū)域被選為裁剪片斷210,用戶然后可以使用指點設(shè)備以及與之相關(guān)的拖放功能調(diào)整該區(qū)域。在另一種實施方式中,用戶通過在選擇“模式切換”之前將鼠標指針(或者光標)定位在窗口的某個區(qū)域上來選擇該區(qū)域。然后選擇“模式切換”,輪廓線自動地提供圍繞指明要裁剪的區(qū)域的鼠標指針的裁剪片斷210。用戶然后可以通過移動裁剪片斷210的邊界來調(diào)整該區(qū)域。
回到圖3A,在裁剪模式被激活、顯示有輪廓的情況下,用戶拖動圍繞想要裁剪的內(nèi)容的輪廓區(qū)(也就是,用戶移動圍繞內(nèi)容的輪廓的邊界),如方框306所示。在第三種實施方式中,用戶這樣選擇內(nèi)容首先使用換檔(shift)/控制(control)鍵和拖放選項選擇要包括在裁剪片斷210中的內(nèi)容。接下來,用戶選擇/激活裁剪工具可見顯示項(affordance)(也就是裁剪片斷頂部的剪刀),以從總體應(yīng)用程序窗口200將所選內(nèi)容/區(qū)域(例如在2225內(nèi))裁剪下來,如方框308所示。
現(xiàn)在看圖3B,其圖解了圖3A的過程的計算機軟件處理方面。計算機軟件處理始于開始框310,前進到方框312,在這里,OS檢測用戶對裁剪模式的選擇/激活。OS開始執(zhí)行裁剪工具,裁剪工具提供了圍繞所顯示的應(yīng)用程序的GUI內(nèi)的特定內(nèi)容的裁剪片斷,如方框314所示。用戶選擇內(nèi)容,在方框316判斷用戶是否啟動了裁剪操作。如果用戶還沒有激活裁剪工具,則在方框318檢查自裁剪模式的初始激活(或者最后記錄到的用戶輸入)以來是否觸發(fā)了超時條件。
超時條件允許OS在用戶未在預(yù)定時間(例如10秒)內(nèi)完成片斷選擇或者裁剪功能時返回應(yīng)用程序的正常視圖。在一種實施方式中,所述時間是從上一次用戶以任何方式實際移動或者操作裁剪片斷(包括其中的內(nèi)容)開始測量,這樣,用戶可以簡單地通過在片斷邊界上或者片斷邊界內(nèi)部進行點擊來重置定時器,從而允許用一個新的時間段來決定是否繼續(xù)進行裁剪和/或要裁剪應(yīng)用程序窗口的什么部分。
如果觸發(fā)了超時條件,則工具關(guān)閉所述片斷,如方框320所示,然后過程在結(jié)束框322處結(jié)束。返回判斷框316,一旦用戶選定了區(qū)域并啟動了裁剪過程,則在方框324,工具使得選定區(qū)域(片斷)被裁剪下來,裁剪工具將窗口的在被裁剪區(qū)域(片斷)外部的外圍部分移除(或者從視圖中隱藏),如方框326所示。然后,將裁剪標題欄添加到該片斷上,以允許被裁剪的窗口被識別,并可以通過“退出”可見顯示項217被選擇性地移動或者關(guān)閉。這樣,裁剪工具140允許僅顯示窗口的被裁剪部分(也就是是窗口裁剪片斷)(連同附加在其上的頭標部分),如方框330所述以及圖2B所圖示的那樣。最后,該工具允許用戶與窗口裁剪片斷的交互或者對窗口裁剪片斷的進一步操作,如方框332所示。在一種實施方式中,用戶可以將窗口裁剪片斷保存為應(yīng)用程序裁剪片斷文件。這樣,就可以關(guān)閉文件并在隨后用所賦予的名稱檢索該文件??梢蕴峁╊愃朴趹?yīng)用程序文件名但是具有不同的擴展名(例如clp)的默認名稱。例如,應(yīng)用程序文件“rose.doc”可以提供一個窗口裁剪片斷,其可以用默認名稱“rose.clp”保存。另外,窗口裁剪片斷還可以包括編輯和配置圖標,以及可選擇的菜單按鈕,它們允許對窗口裁剪片斷進行操作,在某種程度上類似于最小化的窗口。
在一種實施方式中,可以從窗口裁剪單個應(yīng)用程序窗口的多個部分,這或者是通過單次的多裁剪片斷操作,或者通過多次的單獨裁剪操作。如圖2B-2D所示,可以裁剪窗口的特定部分(2B、2D)提供窗口內(nèi)容,而其他部分(2C)可以包括功能元素,比如標準桌面窗口頂部的可選擇的菜單可見顯示項。應(yīng)注意到,在所描述的實施方式中,從初始窗口裁剪的任何功能元素至少對于該應(yīng)用程序窗口保持了其功能特征。這樣,對菜單窗口裁剪片斷210上的“文件(file)”的選擇會打開“文件”菜單,顯示該應(yīng)用程序窗口的典型文件菜單中的各種可選項。另外,如果用戶然后選擇(“文件”菜單)中的“保存為(save as)”或者“保存(save)”功能,則在應(yīng)用程序窗口中打開的整個文件的內(nèi)容和/或窗口裁剪部分被保存到計算機的存儲器。在窗口裁剪部分的內(nèi)容中進行的編輯也可以影響完整應(yīng)用程序窗口內(nèi)的文件的內(nèi)容,除非將該窗口裁剪部分保存為單獨的文件。
現(xiàn)在看圖3C并參照圖2E-2F,其中圖示了與本發(fā)明的裁剪工具提供的附加增強功能有關(guān)的過程。圖示了兩個窗口裁剪部分第一菜單窗口裁剪部分2xy和第二內(nèi)容窗口裁剪部分2xx。根據(jù)圖示,這兩個窗口裁剪部分屬于同一母應(yīng)用程序窗口。但是,本發(fā)明可以將這種聚合功能擴展到來自不同的應(yīng)用程序的窗口裁剪片斷。這樣,這種備用的實現(xiàn)方式允許用戶生成包括來自不同的應(yīng)用程序窗口的不同窗口裁剪片斷(例如2C和2D)的組合的特定聚合窗口。
圖3C的過程始于方框340,在這里,用戶選擇第一窗口裁剪片斷并將其拖放到與第二窗口裁剪部分緊密相鄰的位置。當這樣操作時,各窗口裁剪片斷分別在它們各自的頭標部分內(nèi)顯示“合并”可見顯示項,如方框341所示。這些可見顯示項向用戶指出所述窗口裁剪片斷可以與至少一個另外的窗口裁剪片斷組合(聚合)。在一種實施方式中,只要在顯示上存在多個可以聚合在一起的窗口裁剪片斷,就提供“合并”可見顯示項(即顯示在頭標內(nèi))。也就是,顯示在顯示屏上的單個窗口裁剪片斷的顯示帶有類似于圖2B的頭標,而當提供了可與該窗口裁剪片斷鏈接/聚合的第二窗口裁剪片斷時,該同一個窗口裁剪片斷就顯示為具有類似于圖2E的頭標。
裁剪工具140生成“合并”可見顯示項,對于可見顯示項包括特定的聚合要求。例如,特定窗口裁剪片斷相對于另一窗口裁剪片斷的取向可以在可見顯示項內(nèi)編程,以使得得到的聚合窗口裁剪片斷只以正確的取向聚合。對于圖解的實施方式,例如,在聚合過程中,菜單窗口裁剪片斷會要求置于內(nèi)容窗口裁剪片斷的上方。因此,工具對可見顯示項編程,強制菜單窗口裁剪片斷的任何聚合都置于內(nèi)容窗口裁剪片斷的頂部,如圖2F所示。
現(xiàn)在回到圖3C。一旦使窗口裁剪片斷相互靠近,工具就在方框342處判斷是否觸發(fā)了合并/聚合功能(或者由用戶手工選擇)。在第一種實施方式中,當具有各自的“合并”可見顯示項的兩個窗口裁剪片斷相互具有預(yù)定的接近度時自動啟動合并功能。在另一種實施方式中,用戶拖動兩個窗口使它們相鄰,然后選擇(點擊)其中一個被裁剪的窗口上的“合并”可見顯示項。其他的實施方式也是可能的,允許用戶啟動聚合過程的激活,這樣的實施方式落在本發(fā)明的范圍內(nèi)。另外,在一種實施方式中,不能合并得裁剪窗口的“合并”可見顯示項向用戶提供裁剪窗口不能合并的信息,方式是簡單地不合并,或者提供可視的顯示,告知對于這兩個特定的窗口裁剪片斷,不支持合并。
當沒有觸發(fā)合并/聚合功能時,窗口裁剪片斷被顯示為單獨的相鄰窗口(圖2E)。但是,當觸發(fā)了合并功能時,工具在方框346處將裁剪片斷合并,并利用每一個窗口裁剪片斷的定義的屬性、特征等來確定聚合窗口內(nèi)各窗口裁剪片斷的瀏覽順序或者取向。接下來,將聚合后的窗口作為單一的聚合窗口裁剪片斷250顯示,如方框348所示。根據(jù)所圖解的實施方式,如上所述,聚合后的窗口裁剪片斷250包括標準的(未裁剪)的桌面應(yīng)用程序窗口的菜單功能,具有如圖2F所示的類似的頂部菜單可見顯示項。
本發(fā)明允許用戶“裁剪”窗口框架的各個部分,其中,這些應(yīng)用程序裁剪一般顯示由整個應(yīng)用程序顯示的功能狀態(tài)的子集。裁剪能力允許用戶通過指向應(yīng)用程序內(nèi)的特定功能來保存桌面實際狀態(tài),從而只分配顯示該功能所必需的桌面實際狀態(tài)。在一種實施方式中,被裁剪的應(yīng)用程序在裁剪邊界所施加的邊界和約束內(nèi)作為標準應(yīng)用程序工作(也就是,從裁剪片斷之外的窗口訪問的功能不可用)。但是,在裁剪片斷之內(nèi)的各種功能以及后來通過聚合而合并進來的功能是完全可用的。
軟件部署這樣,這里所描述的方法,尤其是如圖3A-3C所示和描述的方法,可以作為處理軟件從服務(wù)提供服務(wù)器150向客戶計算機100部署。
現(xiàn)在看圖4,步驟400開始部署處理軟件。第一件事是判斷當執(zhí)行處理軟件時是否有任何程序駐留于服務(wù)器上(詢問框401)。如果有,則識別將包含可執(zhí)行文件的服務(wù)器(方框419)。服務(wù)器的處理軟件通過文件傳送協(xié)議(FTP)或者其他協(xié)議,或者通過使用共享文件系統(tǒng)的拷貝,直接傳送到服務(wù)器的存儲器(方框420)。然后在服務(wù)器上安裝處理軟件(方框421)。
接下來,判斷處理軟件是否要通過使用戶訪問服務(wù)器上的處理軟件來部署(詢問框402)。如果用戶要訪問服務(wù)器上的處理軟件,則確定將存儲處理軟件的服務(wù)器地址(框403)。
判斷是否要建立代理服務(wù)器(詢問框410)來存儲處理軟件。代理服務(wù)器是位于客戶機應(yīng)用程序比如網(wǎng)絡(luò)瀏覽器和實際服務(wù)器之間的服務(wù)器。其截取所有對實際服務(wù)器的請求,看其本身是否能夠滿足所述請求。如果不能,則將請求轉(zhuǎn)發(fā)給實際服務(wù)器。代理服務(wù)器的兩個主要的好處是提高性能和過濾請求。如果需要代理服務(wù)器,則安裝代理服務(wù)器(方框411)。處理軟件要么通過協(xié)議比如FTP發(fā)給服務(wù)器,要么通過文件共享直接從源文件拷貝到服務(wù)器文件(方框412)。另一種實施方式是向包含處理軟件的服務(wù)器發(fā)送事務(wù),使服務(wù)器處理所述事務(wù),然后接收處理軟件并將處理軟件拷貝到服務(wù)器的文件系統(tǒng)。在處理軟件存儲到服務(wù)器后,用戶就通過自己的客戶計算機訪問服務(wù)器上的處理軟件,并拷貝到自己的客戶計算機文件系統(tǒng)(方框413)。另一種實施方式是使服務(wù)器將處理軟件自動拷貝到每一個客戶機,然后在每一個客戶計算機上運行處理軟件的安裝程序。用戶執(zhí)行在其客戶計算機上安裝處理軟件的程序(方框422),然后退出處理(結(jié)束框408)。
在詢問步驟404,判斷是否要通過電子郵件向用戶發(fā)送處理軟件來部署處理軟件。識別將要部署處理軟件的用戶集合以及用戶客戶計算機的地址(方框405)。通過電子郵件將處理軟件發(fā)送給每一個用戶的客戶計算機(方框414)。用戶然后接收所述電子郵件(方框415),從電子郵件中將處理軟件分離到其客戶計算機上的目錄中(方框416)。用戶執(zhí)行在其客戶計算機上安裝處理軟件的程序(方框422),然后退出處理(結(jié)束框408)。
最后判斷是否要將處理軟件直接發(fā)送到用戶的客戶計算機上的用戶目錄(詢問框406)。如果是,則識別用戶目錄(方框407)。將處理軟件直接傳送到用戶的客戶計算機目錄(方框417)。這可以用多種方式實現(xiàn),例如但不限于共享文件系統(tǒng)目錄,然后從發(fā)送方的文件系統(tǒng)拷貝到用戶接收方的文件系統(tǒng);或者,使用傳送協(xié)議比如文件傳送協(xié)議(FTP)。用戶訪問其客戶機文件系統(tǒng)上的目錄以準備安裝處理軟件(方框418)。用戶在其客戶計算機上執(zhí)行安裝處理軟件的程序(方框422),然后退出處理(結(jié)束框408)。
VPN部署作為服務(wù)的一部分,本軟件可以部署到第三方,其中,提供作為安全部署車(secure deployment vehicle)的第三方VPN服務(wù),或者,按照特定部署的要求,按需建立VPN。
虛擬專用網(wǎng)絡(luò)(VPN)是可以用來使通過不安全或者不可信網(wǎng)絡(luò)的連接變得安全的技術(shù)的任意組合。VPN改善安全性,減少運行成本。VPN利用公共網(wǎng)絡(luò),通常是因特網(wǎng),來將遠程站點與用戶連接起來。VPN不是使用專用的真實世界的連接比如租用線路,而是使用通過因特網(wǎng)從公司的專用網(wǎng)絡(luò)到遠程站點或者雇員的“虛擬”連接。作為一項服務(wù),可以為了傳送或者執(zhí)行處理軟件的目的具體構(gòu)建VPN,從而提供通過VPN對軟件的訪問(也就是軟件位于別處),其中,基于支付額,VPN的壽命限于給定的時間長度或者給定數(shù)量的部署。
可以通過遠程訪問或者站點到站點VPN部署、訪問和執(zhí)行處理軟件。當使用遠程訪問VPN時,通過公司的專用網(wǎng)絡(luò)和遠程用戶之間通過第三方服務(wù)提供商實現(xiàn)的安全的、加密的連接,部署、訪問和執(zhí)行處理軟件。企業(yè)服務(wù)提供商(ESP)設(shè)置網(wǎng)絡(luò)訪問服務(wù)器(NAS)并向遠程用戶為他們的計算機提供桌面客戶機軟件。遠程月租戶(telecommuter)然后就可以撥免費號碼或者通過電纜或者DSL調(diào)制解調(diào)器直接連接以訪問NAS,并使用其VPN客戶機軟件訪問公司網(wǎng)絡(luò),并訪問、下載和執(zhí)行處理軟件。
當使用站點到站點VPN時,通過使用專用設(shè)備和大規(guī)模加密來部署、訪問和執(zhí)行處理軟件。所述專用設(shè)備和大規(guī)模加密用來將公司的多個固定站點通過公共網(wǎng)絡(luò)比如因特網(wǎng)連接起來。
通過建立隧道在VPN上傳輸處理軟件。隧道建立是將整個數(shù)據(jù)包置于另一數(shù)據(jù)包內(nèi)并在網(wǎng)絡(luò)上發(fā)送的過程。外層數(shù)據(jù)包的協(xié)議能夠被網(wǎng)絡(luò)和數(shù)據(jù)包進出網(wǎng)絡(luò)的兩端點(稱為隧道接口)所理解。
在圖5中描述了這樣的VPN部署的過程。開始框506開始虛擬專用網(wǎng)絡(luò)(VPN)處理。判斷是否需要用于遠程訪問的VPN(詢問框561)。如果不需要,則前進到詢問框562。如果需要,則判斷是否存在遠程訪問VPN(詢問框564)。
如果存在VPN,則前進到方框565。否則確定將提供公司專用網(wǎng)絡(luò)和公司遠程用戶之間的安全加密連接的第三方提供商(方框576)。識別公司的遠程用戶(方框577)。然后,第三方提供商建立網(wǎng)絡(luò)訪問服務(wù)器(NAS)(方框578),其允許遠程用戶撥免費號碼或者通過寬帶調(diào)制解調(diào)器直接連接,以訪問、下載和安裝用于遠程訪問VPN的桌面客戶機軟件(方框579)。
在建立了遠程訪問VPN之后(或者,已經(jīng)在以前安裝了),遠程用戶可以通過撥號進入NAS或者通過電纜或者DSL調(diào)制解調(diào)器直接連接進入NAS來訪問處理軟件(方框565)。這允許進入公司網(wǎng)絡(luò),在其中訪問處理軟件(方框566)。通過建立隧道,在網(wǎng)絡(luò)上將處理軟件傳輸?shù)竭h程用戶的桌面(方框567)。也就是,將處理軟件分為數(shù)據(jù)包,每一個數(shù)據(jù)包包括數(shù)據(jù),將協(xié)議置于另一個數(shù)據(jù)包內(nèi)(方框567)。當處理軟件到達遠程用戶的桌面時,其被從包中取出、重建,然后在遠程用戶桌面上執(zhí)行(方框568)。
然后判斷是否需要用于站點到站點訪問的VPN(詢問框562)。如果不需要,則退出過程(結(jié)束框507)。否則,判斷是否存在站點到站點VPN(詢問框561)。如果存在,則前進到方框572,否則安裝建立站點到站點VPN所需的專用設(shè)備(方框570)。然后在VPN中建立大規(guī)模加密(large scale encryption)(方框571)。
在建立了站點到站點VPN之后(或者以前已經(jīng)建立了),用戶通過VPN訪問處理軟件(方框572)。通過建立隧道在網(wǎng)絡(luò)上傳輸處理軟件到站點用戶。也就是,將處理軟件分為數(shù)據(jù)包,每一個數(shù)據(jù)包包括數(shù)據(jù),協(xié)議被置于另一個數(shù)據(jù)包內(nèi)(方框574)。當處理軟件到達遠程用戶桌面時,其被從數(shù)據(jù)包中取出、重建,并在站點用戶桌面上執(zhí)行(方框575)。過程然后在結(jié)束框507結(jié)束。
軟件集成包含用于實現(xiàn)這里所描述的處理的代碼的處理軟件可以被集成到客戶機、服務(wù)器和網(wǎng)絡(luò)環(huán)境中使處理軟件能夠與應(yīng)用程序、操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)軟件共存,然后將處理軟件安裝在處理軟件將要工作的環(huán)境中的客戶機和服務(wù)器上。
第一步是確定處理軟件將要在其中部署的、處理軟件所需要的、或者與處理軟件相結(jié)合工作的客戶機和服務(wù)器上的任何軟件,包括網(wǎng)絡(luò)操作系統(tǒng)。這包括網(wǎng)絡(luò)操作系統(tǒng)。網(wǎng)絡(luò)操作系統(tǒng)是一種軟件,用來通過增加聯(lián)網(wǎng)特征來增強基本操作系統(tǒng)。
接下來,將識別軟件應(yīng)用程序和版本號,并將其與已經(jīng)經(jīng)過測試能夠與處理軟件一起工作的軟件應(yīng)用程序和版本號的列表相比較。那些缺少的或者不與正確的版本匹配的軟件應(yīng)用程序?qū)⒂谜_的版本號加以升級。檢查將參數(shù)從處理軟件傳遞到軟件應(yīng)用程序的程序指令,以確保參數(shù)列表與處理軟件所需的參數(shù)列表匹配。反過來,檢查從軟件應(yīng)用程序傳遞到處理軟件的參數(shù),以確保參數(shù)與處理軟件所需的參數(shù)匹配。識別客戶機和服務(wù)器操作系統(tǒng)包括網(wǎng)絡(luò)操作系統(tǒng),并將其與經(jīng)過測試能夠與處理軟件一起工作的操作系統(tǒng)、版本號和網(wǎng)絡(luò)軟件的列表相比較。那些不與通過測試的操作系統(tǒng)和版本號的列表匹配的操作系統(tǒng)、版本號和網(wǎng)絡(luò)軟件將在客戶機和服務(wù)器上被升級到所需要的等級。
在確保其中要部署處理軟件的軟件具有正確的版本級別(已經(jīng)通過測試,能夠與處理軟件一起工作)之后,通過將處理軟件安裝到客戶機和服務(wù)器上完成軟件集成。
對于此過程的高層次描述,現(xiàn)在參看圖6。開始框620開始處理軟件的集成。第一步是判斷是否有處理軟件程序?qū)⒃诜?wù)器上執(zhí)行(方框621)。如果沒有,則集成過程前進到詢問框627。如果有,則識別服務(wù)器地址(方框622)。檢查服務(wù)器,看其是否包含已經(jīng)用處理軟件測試過的軟件,包括操作系統(tǒng)(OS)、應(yīng)用程序和網(wǎng)絡(luò)操作系統(tǒng)(NOS),以及它們的版本號(方框623)。在方框610中,還檢查服務(wù)器,判斷是否缺處理軟件所要求的軟件。
判斷版本號是否與用處理軟件檢測了的OS、應(yīng)用程序和NOS的版本號匹配(方框624)。如果所有的版本都匹配并且不缺所要求的軟件,則在詢問框627繼續(xù)軟件集成。
如果一個或者多個版本號不匹配,則在服務(wù)器上用正確的版本更新不匹配的版本(方框625)。另外,如果缺所需要的軟件,則在方框614所示的步驟中將其更新到服務(wù)器上。通過安裝處理軟件完成服務(wù)器集成(方框626)。
詢問框627中所示的步驟在方框621、624或626所示的任一步驟之后,判斷是否有將在客戶機上執(zhí)行的處理軟件的程序。如果沒有處理軟件程序在客戶機上執(zhí)行,則集成過程前進到結(jié)束框630并退出。如果不是這樣,則識別客戶機地址,如方框628所示。
檢查客戶機看其是否包含已使用處理軟件測試過的軟件,包括操作系統(tǒng)(OS)、應(yīng)用程序和網(wǎng)絡(luò)操作系統(tǒng)(NOS)以及它們的版本號。在方框622所描述的步驟中,還檢查客戶機,判斷是否缺處理軟件所要求的軟件。
判斷版本號是否與已經(jīng)用處理軟件測試過的OS、應(yīng)用程序和NOS的版本號匹配(詢問框631)。如果所有的版本都匹配而且不缺所要求的軟件,則集成過程前進到結(jié)束框630退出。
如果一個或者多個版本號不匹配,則用正確的版本在客戶機上更新不匹配的版本(方框632)。另外,如果缺所要求的軟件,則將其更新到客戶機上(也是方框626)。通過在客戶機上安裝處理軟件而完成客戶機集成(方框633)。集成過程前進到結(jié)束框630退出。
按需服務(wù)處理軟件是共享的,以靈活、自動的方式同時服務(wù)于多個客戶。它是標準化的,幾乎不需定制。它是可伸縮的,可以以用多少付費多少的模式按需提供容量。
處理軟件可以被存儲在可從一個或者多個服務(wù)器訪問的共享文件系統(tǒng)上。通過包含數(shù)據(jù)的事務(wù)和使用被訪問的服務(wù)器上的CPU單位的服務(wù)器處理請求,執(zhí)行所述處理軟件。CPU單位是服務(wù)器中央處理器上的時間單位,比如分鐘、秒、小時。另外,被訪問的服務(wù)器可以請求要求CPU單位的其他服務(wù)器。CPU單位是僅代表一種使用量度的例子。其他使用量度包括但不限于網(wǎng)絡(luò)帶寬、內(nèi)存的使用、存儲器的使用、數(shù)據(jù)包傳輸、完成事務(wù)等。
當多個客戶使用同一處理軟件應(yīng)用程序時,他們的事務(wù)用被包括在事務(wù)中的參數(shù)區(qū)分,所述參數(shù)標識唯一的用戶以及該用戶的服務(wù)類型。記錄用于每一個客戶的服務(wù)的所有CPU單位和其他使用量度。當任何一個服務(wù)器的事務(wù)數(shù)量達到開始影響該服務(wù)器的性能的數(shù)量時,訪問其他服務(wù)器以增加容量、分擔負載。類似地,當其他使用量度比如網(wǎng)絡(luò)帶寬、內(nèi)存使用、存儲器使用等達到影響性能的容量時,增加另外的網(wǎng)絡(luò)帶寬、內(nèi)存使用和存儲器等來分擔負載。
用于每一種服務(wù)和客戶的使用量度被發(fā)送給收集服務(wù)器,收集服務(wù)器將在提供處理軟件的共享執(zhí)行的服務(wù)器網(wǎng)絡(luò)中任何地方處理的每一個用戶、每一個服務(wù)的使用量度加和。加和得到的使用量度單位被定期乘以單位費用,得到的處理軟件應(yīng)用服務(wù)總費用被發(fā)給客戶或者在客戶訪問的網(wǎng)站上指出,這樣客戶就可以向服務(wù)提供商支付。
在另一種實施方式中,服務(wù)提供商請求直接從銀行或者金融機構(gòu)的客戶帳戶支付。
在另一種實施方式中,如果服務(wù)提供商也是使用處理軟件應(yīng)用程序的客戶的客戶,則應(yīng)付給服務(wù)提供商的費用與服務(wù)提供商應(yīng)付的費用相互沖抵,以盡量減少支付的轉(zhuǎn)移。
現(xiàn)在看圖7,開始框740開始按需服務(wù)過程。創(chuàng)建事務(wù),其包含唯一的客戶標識、被請求的服務(wù)類型和任何進一步規(guī)定服務(wù)類型的服務(wù)參數(shù)(方框741)。然后將事務(wù)發(fā)送給主服務(wù)器(方框742)。在按需服務(wù)環(huán)境中,主服務(wù)器初始地可以是唯一的服務(wù)器,然后,隨著容量的消耗,將其他服務(wù)器加入按需服務(wù)環(huán)境。
查詢按需服務(wù)環(huán)境中的服務(wù)器中央處理器(CPU)容量(方框743)。估計事務(wù)的CPU需求,然后將按需服務(wù)環(huán)境中服務(wù)器可用的CPU容量與事務(wù)的CPU需求相比較,看是否有服務(wù)器具有足夠多的可用CPU容量來處理所述事務(wù)(詢問框744)。如果沒有充足的服務(wù)器CPU可用容量,則分配另外的服務(wù)器CPU容量來處理事務(wù)(方框748)。如果已經(jīng)有充足的可用CPU容量,則將事務(wù)發(fā)送給選定的服務(wù)器(方框745)。
在執(zhí)行所述事務(wù)之前,檢查其余的按需服務(wù)環(huán)境,判斷該環(huán)境是否有充足的可用容量用于處理所述事務(wù)。環(huán)境容量由例如下述方面組成但并不限于這些方面網(wǎng)絡(luò)帶寬,處理器內(nèi)存,存儲器等(方框746)。如果沒有充足的可用容量,則向按需服務(wù)環(huán)境添加容量(方框747)。接下來,訪問處理所述事務(wù)所要求的軟件并將其轉(zhuǎn)載到內(nèi)存中,然后執(zhí)行所述事務(wù)(方框749)。
記錄使用量度(方框750)。使用量度由按需服務(wù)環(huán)境中用來處理所述事務(wù)的那些功能的部分功能構(gòu)成。比如但不限于網(wǎng)絡(luò)帶寬、處理器內(nèi)存、存儲器和CPU周期等這些功能的使用是記錄的對象。將使用量度加和,并乘以單位費用,然后將其記錄為對發(fā)出請求的客戶的收費(方框751)。
如果客戶請求將按需服務(wù)費用張貼到網(wǎng)站上(詢問框752),則將其張貼到網(wǎng)站上(方框753)。如果客戶請求通過電子郵件將按需服務(wù)費用發(fā)送到客戶地址(詢問框754),則將所述費用發(fā)送給客戶(方框755)。如果客戶請求直接從客戶帳戶支付按需服務(wù)費用(詢問框756),則直接從客戶帳戶收取支付(方框757)。然后在結(jié)束框758退出按需服務(wù)處理。
盡管上面針對優(yōu)選實施方式對本發(fā)明進行了具體的圖示和描述,但是本領(lǐng)域普通技術(shù)人員理解,可以在形式和細節(jié)方面對本發(fā)明進行各種改變而不脫離本發(fā)明的實質(zhì)和范圍。另外,在說明書和所附權(quán)利要求
中使用的術(shù)語“計算機”、“系統(tǒng)”、“計算機系統(tǒng)”或“計算設(shè)備”包括任何數(shù)據(jù)處理系統(tǒng),包括但不限于個人計算機、服務(wù)器、工作站、網(wǎng)絡(luò)計算機、主機計算機(大型計算機)、路由器、交換機、個人數(shù)字助理(PDA)、電話以及其他任何能夠處理、傳輸、接收、捕獲和/或存儲數(shù)據(jù)的系統(tǒng)。
最后,重要的是,本發(fā)明的說明性實施方式在前面和后面都是在安裝有管理軟件的全功能計算機系統(tǒng)的上下文中描述的,本領(lǐng)域的普通技術(shù)人員理解,本發(fā)明的說明性實施方式的軟件形式能夠作為各種形式的軟件產(chǎn)品予以發(fā)行,本發(fā)明的說明性實施方式同樣適用,而不管用來實際進行所述發(fā)行的信號承載介質(zhì)的具體類型是什么。信號承載介質(zhì)的例子包括可記錄型介質(zhì)比如軟盤、硬盤驅(qū)動器、CD ROM,以及傳輸型介質(zhì)比如數(shù)字和模擬通信鏈路。
權(quán)利要求
1.一種可計算機實現(xiàn)的方法,包括接收用戶輸入以在打開的窗口內(nèi)激活裁剪工具;允許使用該裁剪工具的可視選擇工具來選擇該打開的應(yīng)用程序窗口的特定部分,其中,該特定部分小于打開的應(yīng)用程序窗口的總面積;以及在收到裁剪所選定的特定部分的請求后,從應(yīng)用程序窗口的其余部分將所述特定部分動態(tài)裁剪下來,并只將該應(yīng)用程序窗口的裁剪下來的所述特定部分作為單獨的窗口裁剪片斷加以顯示。
2.如權(quán)利要求
1所述的方法,還包括當所述打開的窗口占據(jù)顯示設(shè)備內(nèi)的第一可視區(qū)域、所述裁剪下來的特定部分占據(jù)所述顯示設(shè)備的較小的第二可視區(qū)域時,所述動態(tài)顯示裁剪下來的特定部分的操作只在所述較小的第二可視區(qū)域中顯示裁剪下來的特定部分;其中,在所述打開的窗口的剩余部分后面的打開的第二應(yīng)用程序的部分在所述剩余部分被裁剪掉時顯示。
3.如權(quán)利要求
1所述的方法,還包括接收用戶對打開的窗口的要裁剪的多于一個的部分的選擇;所述動態(tài)裁剪過程包括自動/同時裁剪所述打開的窗口的多于一個的部分中的每一部分;以及用聚合指示標記來標記所述多于一個的部分中的每一個窗口裁剪片斷;其中,具有聚合指示標記的每一個窗口裁剪片斷能夠在功能上被鏈接到另一個窗口裁剪片斷,以創(chuàng)建更大的聚合部分。
4.如權(quán)利要求
3所述的方法,其中,當將具有聚合指示標記的第一窗口裁剪片斷拉到具有聚合指示標記的第二裁剪部分的預(yù)定周界內(nèi)時,該方法還包括自動地將所述第一和第二窗口裁剪片斷合并為聚合部分;以及允許類似于單獨的第一和第二窗口裁剪片斷在其各自的打開窗口中時的功能性使用,功能性使用聚合部分內(nèi)的各部件。
5.如權(quán)利要求
4所述的方法,還包括允許將聚合部分分解為各自的窗口裁剪片斷;其中,響應(yīng)于對分解輸入的接收,該方法包括將所述聚合部分分為在以前的合并操作中聚合的單獨的窗口裁剪片斷;以及將所述單獨的裁剪片斷部分彼此分散開,使得每一個裁剪片斷部分在顯示屏上被顯示為分開的裁剪片斷部分。
6.如權(quán)利要求
1所述的方法,還包括在操作系統(tǒng)的窗口功能的菜單中提供裁剪菜單工具;當用戶在應(yīng)用程序正顯示打開的窗口時選擇裁剪菜單工具時,可視地指示該窗口的當前選定要裁剪的部分的輪廓;以及允許重新配置該窗口的被選定要裁剪的部分;以及響應(yīng)于所述重新配置,移動所述輪廓,以可視地指示當前選定的部分。
7.一種系統(tǒng),包括處理器;耦合到該處理器的數(shù)據(jù)總線;耦合到該數(shù)據(jù)總線的存儲器;以及計算機可用的實現(xiàn)計算機程序代碼的介質(zhì),所述計算機程序代碼包括可由所述處理器執(zhí)行的指令,這些指令被配置為接收用戶輸入以在打開的窗口內(nèi)激活裁剪工具;允許使用該裁剪工具的可視選擇工具來選擇該打開的應(yīng)用程序窗口的特定部分,其中,該特定部分小于打開的應(yīng)用程序窗口的總面積;以及在收到裁剪所選定的特定部分的請求后,從應(yīng)用程序窗口的其余部分將所述特定部分動態(tài)裁剪下來,并只將該應(yīng)用程序窗口的裁剪下來的所述特定部分作為單獨的窗口裁剪片斷加以顯示。
8.如權(quán)利要求
7所述的系統(tǒng),其中所述指令被進一步配置為當所述打開的窗口占據(jù)顯示設(shè)備內(nèi)的第一可視區(qū)域、且所述裁剪下來的特定部分占據(jù)所述顯示設(shè)備的較小的第二可視區(qū)域時,所述動態(tài)顯示裁剪下來的特定部分的操作只在所述較小的第二可視區(qū)域中顯示裁剪下來的特定部分;其中,在所述打開的窗口的剩余部分后面的打開的第二應(yīng)用程序的部分在所述剩余部分被裁剪掉時顯示。
9.如權(quán)利要求
7所述的系統(tǒng),其中所述指令被進一步配置為接收用戶對要裁剪的打開的窗口的多于一個的部分的選擇;所述指令被配置為進行動態(tài)裁剪,包括進行下述操作的指令自動/同時裁剪所述打開的窗口的多于一個的部分中的每一部分;以及用聚合指示標記來標記所述多于一個的部分中的每一個窗口裁剪片斷;其中,具有聚合指示標記的每一個窗口裁剪片斷能夠在功能上被鏈接到另一個窗口裁剪片斷,以創(chuàng)建更大的聚合部分。
10.如權(quán)利要求
9所述的系統(tǒng),其中,當將具有聚合指示標記的第一窗口裁剪片斷拉到具有聚合指示標記的第二裁剪部分的預(yù)定周界內(nèi)時,所述指令被進一步配置為自動地將所述第一和第二窗口裁剪片斷合并為聚合部分;以及允許類似于單獨的第一和第二窗口裁剪片斷在其各自的打開窗口中時的功能性使用,功能性使用聚合部分內(nèi)的各部件。
11.如權(quán)利要求
10所述的系統(tǒng),其中所述指令被進一步配置為允許將聚合部分分解為各自的窗口裁剪片斷;其中,響應(yīng)于對分解輸入的接收,所述指令被進一步配置為將所述聚合部分分為在以前的合并操作中聚合的單獨的窗口裁剪片斷;以及將所述單獨的裁剪片斷部分彼此分散開,使得每一個裁剪片斷部分在顯示屏上被顯示為分開的裁剪片斷部分。
12.如權(quán)利要求
7所述的系統(tǒng),其中所述指令被進一步配置為在操作系統(tǒng)的窗口功能的菜單中提供裁剪菜單工具;當用戶在應(yīng)用程序正顯示打開的窗口時選擇裁剪菜單工具時,可視地指示該窗口的當前選定要裁剪的部分的輪廓;以及允許重新配置該窗口的被選定要裁剪的部分;以及響應(yīng)于所述重新配置,移動所述輪廓,以可視地指示當前選定的部分。
專利摘要
本發(fā)明涉及應(yīng)用程序裁剪方法和系統(tǒng)。具體地,本發(fā)明提供了進行下述操作的方法、設(shè)備和計算機使用的介質(zhì)接收用戶輸入以在打開的應(yīng)用程序窗口內(nèi)激活裁剪工具;允許使用該裁剪工具的選擇功能選擇該打開的窗口的特定部分,其中,該特定部分小于應(yīng)用程序窗口的總面積;在所述部分仍被選定的情況下收到裁剪所選部分的請求后,從應(yīng)用程序窗口的其余部分將所述特定部分動態(tài)裁剪下來,并只將該打開窗口的裁剪下來的所述特定部分作為單獨的窗口裁剪片斷加以顯示。
文檔編號G06F9/44GK1996241SQ200710001839
公開日2007年7月11日 申請日期2007年1月5日
發(fā)明者托馬斯·R.·海恩斯, 肯尼思·E.·米勒, 魯斯尼奧·桑托斯-格美茲 申請人:國際商業(yè)機器公司導(dǎo)出引文BiBTeX, EndNote, RefMan