專利名稱:虛擬桌面—元-組織和控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機系統(tǒng)的圖形用戶界面(GUI);包括通用個人計算機、膝上型計算機、個人數(shù)據(jù)助理、具有內(nèi)置計算應(yīng)用程序的高級無線通信設(shè)備、“瘦”客戶機前端系統(tǒng)(依賴于基于服務(wù)器的CPU引擎)、分布式計算系統(tǒng)、并行處理系統(tǒng)、同步和異步的無定形計算團(tuán)體(例如SETI-宇宙智慧生物搜索)等的圖形用戶界面。
更具體地,本發(fā)明涉及對在進(jìn)程中訪問多個應(yīng)用程序的用戶的視覺組織和意識促進(jìn);所述進(jìn)程包括獨立進(jìn)程和相關(guān)進(jìn)程—在一些應(yīng)用程序中有時稱為“虛擬桌面”。
從進(jìn)程中計算機化應(yīng)用程序本身的角度看,本發(fā)明涉及交互式命令-控制工具和/或觀測監(jiān)控(例如狀態(tài)的被動查看、警告激活、警報激活等);包括實時的金融數(shù)據(jù)流交易交互、項目管理和協(xié)作、生理監(jiān)控和醫(yī)學(xué)信息系統(tǒng)的集成、染色體組計算策略、藝術(shù)作品編排協(xié)議(例如管弦樂編曲、電影制作管理、多媒體播放事件等)等。
背景技術(shù):
今天,從普通計算機用戶的角度看,多個基本同時發(fā)生的功能的使用僅僅是平凡的日常動作而已。例如,一個具有代表性的用戶會打開應(yīng)用程序用于電子郵件、字處理、流媒體(網(wǎng)絡(luò)電臺)、web瀏覽器、聊天室(電子消息傳送)、圖形應(yīng)用程序包(例如PowerPoint、或Architecture(建筑)、或CAD/CAM)、以及財務(wù)處理程序包(例如電子制表軟件)。通過在它們之間前后“切換”(running),他分散其注意力并完成越來越多的不同任務(wù)。
現(xiàn)在使常規(guī)用戶能將其焦點從一個應(yīng)用程序切換到另一個應(yīng)用程序的GUI,通常實際上同時將用戶轉(zhuǎn)變成順序任務(wù)操作者—盡管用戶更喜歡一些人機工程方法來擴展其便利性并參與多個動作。在比該晦暗示例更明顯的情形中,我們發(fā)現(xiàn)許多管理員盼望能對所有輔助活動和交易進(jìn)行主動和交互式的監(jiān)控。然而,向常規(guī)用戶返回順序模式的同一“拖走”(plod along)GUI系統(tǒng)同樣地將管理員的視野和活動范圍限制于類似的順序模式。盡管對擴展查看和交互性的持久需要是長期所探索的,并且以可想像的最大代價對專門實例化的軍用應(yīng)用程序進(jìn)行了開發(fā),但一般用戶和普通管理員仍然在繼續(xù)等待使他們能對各個興趣點上的同一級別響應(yīng)性進(jìn)行命令控制的一般界面。
這并非是不合理的期望,特別是因為(從用戶角度而言)運行同步的機載程序進(jìn)程的復(fù)雜性顯現(xiàn)為顯然類似于將那些進(jìn)程擴展為包括與計算機通信互連組的其它成員的組件(group-ware)交互;這進(jìn)而顯現(xiàn)為明顯類似于包括對任一進(jìn)程集合的運營、管理和交易促進(jìn)。此外,用戶日益增加地同時參與多種半自動動作,這些動作涉及他的個人生活、他的工作、以及他的可能與其個人和職業(yè)生活平行的或可能—以明顯危害社會的行為、無道德約束的獵奇、“實驗性的”興趣、和瞬時“調(diào)查”的現(xiàn)實化—不當(dāng)補充的因特網(wǎng)社會信息“環(huán)境”。在每個這些正常的公共和專門研究中,用戶逐漸發(fā)展新技能并進(jìn)行自學(xué),以便于執(zhí)行迄今為止通過專門的人工輔助代理來進(jìn)行的任務(wù)和交易,諸如旅行訂票、醫(yī)學(xué)了解、日間交易、電子商務(wù)、約會、市場調(diào)查等。
因而,根據(jù)實際上由一般低水平消費者期望所推動的對便利多程序組織和交互性控制的長期需要,沒有提供一般的可直觀管理的軟件系統(tǒng)來用于公用,這從歷史上來看是令人驚訝的。然而,一些復(fù)雜的嘗試被記錄成文檔并通過引用結(jié)合于此,包括PCT/US96/11765、PCT/US99/08669、PCT/IL00/00504(本發(fā)明的發(fā)明人之一)、PCT/FI03/00315、US-6,308,199、US-6,687,878和PCT/US00/28319。每一個這些現(xiàn)有技術(shù)對比文件,盡管嘗試構(gòu)建一些用于計算機活動進(jìn)程等的通用元-組織系統(tǒng),但未能得到一種充分直觀的界面格式來使不同背景的普通用戶都能獲益—其原因是勉強地配置了不便利的人機交互格式(包括GUI)。此外,沒有明顯的認(rèn)知步驟可使(本領(lǐng)域)普通(技術(shù))人員能組合這些對比文件并得到一種便利的方案—相反看起來組合這些對比文件將產(chǎn)生一個更為混亂的用戶界面。然而,根據(jù)我們的最佳了解,這些是普通的可訪問的文獻(xiàn)中最為接近的對比文件—并且本發(fā)明將展現(xiàn)出(單獨地或總體地)優(yōu)于每個對比文件的合理進(jìn)步。
共享虛擬桌面綜合性應(yīng)用系統(tǒng)PCT/US96/11765(WO 97/04383)的摘要“包括處理器、輸入設(shè)備和輸出設(shè)備并運行支持執(zhí)行的操作系統(tǒng)的計算機系統(tǒng),用來執(zhí)行第一和第二應(yīng)用程序集。操作系統(tǒng)包括可通過輸出驅(qū)動器耦合到輸出設(shè)備的圖形用戶界面,以及包括可通過輸入驅(qū)動器耦合到輸入設(shè)備的輸入隊列的輸入界面。處理器還執(zhí)行環(huán)境管理器程序。該程序包括第二應(yīng)用程序集的第三列表,以及對應(yīng)于應(yīng)用程序第二列表的應(yīng)用程序窗口的第四列表。環(huán)境管理器程序的執(zhí)行提供了將環(huán)境管理器程序包括在第一和第二集中,并用操作系統(tǒng)來選擇性地交換一三列表和二四列表,以在第一和第二應(yīng)用程序集的執(zhí)行之間切換。”分析顯然該實施例看起來需要專門的用戶培訓(xùn)和特定的用戶智力來變得便利;因而它們看來并未上升到完成本領(lǐng)域長期需要的水平。
用于提供虛擬桌面系統(tǒng)體系結(jié)構(gòu)的方法和裝置PCT/US99/08669(WO99/54804)的摘要“本發(fā)明提供用于計算的中央辦公室比喻(metaphor),其中各個特征和功能由一個或多個服務(wù)器提供,并通過網(wǎng)絡(luò)傳送給設(shè)備終端。數(shù)據(jù)提供者被定義為“服務(wù)”并由一個或多個處理資源提供。各個服務(wù)通過諸如以太網(wǎng)的網(wǎng)絡(luò)向顯示終端通信。各個終端被配置成顯示數(shù)據(jù),并通過網(wǎng)絡(luò)向處理服務(wù)器發(fā)送鍵盤、光標(biāo)、音頻和視頻數(shù)據(jù)。功能進(jìn)行劃分,從而數(shù)據(jù)庫、服務(wù)器和圖形用戶界面功能由服務(wù)提供,而終端提供用戶界面功能。從各個服務(wù)與各終端的通信通過將不同輸出轉(zhuǎn)換成同一協(xié)議來完成。向每個服務(wù)提供適當(dāng)?shù)尿?qū)動器,以允許協(xié)議轉(zhuǎn)換。多個終端與網(wǎng)絡(luò)耦合。用戶可通過將“智能卡”插入讀卡器在任一終端上啟用其唯一的會話。移除該卡則停止該會話。再將該卡插入同一或任何其它終端可再次啟用該會話?!狈治鲲@然該實施例看起來“懷舊地”期望過時較長時間的遠(yuǎn)程通信體的界面體系結(jié)構(gòu)能符合當(dāng)今用戶的實時復(fù)雜性期望—雖然并沒有再次發(fā)明打孔紙帶;但類似地未能上升到完成本領(lǐng)域長期需要的水平。
用于改進(jìn)虛擬桌面的方法和裝置PCT/IL00/00504(WO 01/14956)的摘要“一種改進(jìn)的虛擬桌面涉及一種用于改進(jìn)人機之間工作界面的質(zhì)量的方法和裝置,以及一種便利的命令控制系統(tǒng),包括(A)具有至少一種演示格式的計算機工作站,其中存儲多個圖標(biāo)對象用于在相關(guān)聯(lián)圖形顯示設(shè)備上顯示,并且工作站的動態(tài)圖標(biāo)對象管理軟件將演示格式圖標(biāo)對象配置成圖標(biāo)對象的虛擬桌面;以及(B)與工作站互連的命令控制裝置,用于將控制命令傳送給工作站,其中控制命令的至少之一引發(fā)動態(tài)圖標(biāo)對象管理軟件的動作?!狈治鲈诖?,像其它現(xiàn)有技術(shù)對比文件一樣,即使本發(fā)明的發(fā)明人也未能看到并察覺到簡化復(fù)雜元-組織所需的簡單用戶界面和現(xiàn)行計算機進(jìn)程管理的結(jié)合;因而也未能上升到完成本領(lǐng)域長期需要的水平。
圖形用戶界面和用于在圖形用戶界面中導(dǎo)航的方法和電子設(shè)備PCT/FI03/00315(WO 03/091867)的摘要“本發(fā)明描述一種方法、圖形用戶界面和電子設(shè)備,用于形成至少包括顯示器和導(dǎo)航裝置的電子設(shè)備的圖形用戶界面的引導(dǎo)線(guiding line),其中所述圖形用戶界面的虛擬桌面區(qū)域的一部分在同時可在顯示器上看到。在該方法中,數(shù)字材料被置于虛擬桌面區(qū)域上。該方法還包括在數(shù)字材料內(nèi)確定原點,并限定至少兩點,通過該兩點繪制引導(dǎo)線,引導(dǎo)線表示到原點的距離和/或方向。然后引導(dǎo)線連同數(shù)字材料顯示在顯示器上?!狈治鲲@然該實施例看起來有些察覺到對用于元-組織進(jìn)程監(jiān)控和控制的邏輯簡單GUI的一般需要;然而該特定例示并未回應(yīng)本領(lǐng)域中的長期需要。
用于管理窗口顯示的協(xié)作工作支持系統(tǒng)US-6,308,199的摘要“在多個用戶可使用延伸到多個應(yīng)用程序窗口的各條信息之間的關(guān)系進(jìn)行討論的應(yīng)用程序共享系統(tǒng)中,提供了為每個用戶選擇要顯示的窗口和要隱藏的窗口的能力。在該系統(tǒng)中,包括在一個計算機中的應(yīng)用程序由通過網(wǎng)絡(luò)連接的多個計算機共享,且由該應(yīng)用程序產(chǎn)生的顯示屏幕也得到共享。在具有共享應(yīng)用程序的計算機中,對每個用戶而言要顯示還是隱藏在其它計算機共享的屏幕顯示期間所顯示的窗口由顯示控制單元進(jìn)行控制。提供了用戶信息管理單元,它管理表示對每個用戶而言是要顯示還是要隱藏每個窗口的用戶信息。該顯示控制單元使用用戶信息管理單元中的用戶信息來確定對每個用戶顯示或隱藏?!狈治鲲@然該實施例看起來忽略了沒有直觀元-組織GUI可用的事實—因而將現(xiàn)有的有缺陷的管理界面提高為(跨服務(wù)器鏈接的)大組件體系結(jié)構(gòu)。
用筆記數(shù)據(jù)庫中(組件版本控制協(xié)議)其客戶機先前所作標(biāo)注來同步/更新本地客戶機筆記的US-6,687,878的摘要“諸如圖像或文本文檔的文檔存儲在中央筆記服務(wù)器上的筆記數(shù)據(jù)庫中。各文檔和關(guān)聯(lián)標(biāo)注彼此獨立地進(jìn)行處理,從而對文檔和關(guān)聯(lián)標(biāo)注創(chuàng)建獨立的數(shù)據(jù)結(jié)構(gòu)。服務(wù)器側(cè)的web服務(wù)器用來捕捉來自一個或多個筆記客戶機應(yīng)用程序的對創(chuàng)建、存儲和檢索與存儲在筆記服務(wù)器上的特定文檔相關(guān)的標(biāo)注的請求。在客戶機側(cè),筆記客戶機用來顯示用戶需要標(biāo)注的文檔,并提供允許用戶創(chuàng)建、標(biāo)記、輸出、檢索和存儲標(biāo)注所必須的工具。同步進(jìn)程將用戶產(chǎn)生的標(biāo)注從筆記客戶機傳送到筆記服務(wù)器。作為響應(yīng),筆記服務(wù)器將確認(rèn)與從上次執(zhí)行同步起其它筆記客戶機已公布的任何新筆錄一起傳送回去,從而使多個筆記客戶機能彼此異步地標(biāo)注一文檔。當(dāng)標(biāo)注由筆記客戶機分布給筆記服務(wù)器時,標(biāo)注數(shù)據(jù)庫的狀態(tài)被同步成所有其它筆記客戶機能檢索與文檔相關(guān)聯(lián)的當(dāng)前最新標(biāo)注?!狈治鲲@然該實施例看起來察覺到版本控制協(xié)議可有助于解決支配組件環(huán)境的混亂情況—但未能解決基本的GUI元-組織問題。
知識工程協(xié)議序列PCT/US00/28319(WO 01/33501)的摘要“提供了一種知識工程協(xié)議序列,它通常包括用于搜索-空間組織確認(rèn)的方法和系統(tǒng)、裝置以及所使用的組件。該協(xié)議序列包括一種搜索-空間組織確認(rèn)方法,用于協(xié)同組合不同分辨率數(shù)據(jù)集的知識庫,諸如通過較低分辨率的基于專家經(jīng)驗的類模型模板和較高分辨率的根據(jù)實驗的數(shù)據(jù)捕捉密集量化搜索-空間。此外,從可選技術(shù)優(yōu)勢來看,該序列涉及這樣的情形該協(xié)同組合在諸如控制系統(tǒng)、命令控制系統(tǒng)、命令控制通信系統(tǒng)、與前述相關(guān)聯(lián)的計算裝置中有利地實現(xiàn),并涉及所使用的量化建模和測量工具。”分析顯然該實施例看起來察覺到有對元-組織、進(jìn)程協(xié)調(diào)和智能控制機制的需要—然而,像所有前述對比文件一樣,它們未能找到一種強健的直觀GUI,允許普通用戶界面有極為復(fù)雜的處理環(huán)境。
歸納現(xiàn)有技術(shù)可發(fā)現(xiàn),富有經(jīng)驗的資金到位的計算機系統(tǒng)用戶還有未得到滿足的對提供元-組織和適當(dāng)控制功能的簡單GUI界面系統(tǒng)的需要。因而,普通消費用戶會期望等待較長時間直到其規(guī)范不同的實例能找到便利方案,這看來是合理的。簡言之,用戶并不關(guān)心進(jìn)程是否在他的機器上或通過某些數(shù)據(jù)通信協(xié)議在其它地方運行—他想要一種能看到在進(jìn)行什么、能交互他認(rèn)為適當(dāng)?shù)膬?nèi)容、并使各進(jìn)程也能彼此交互的一般直觀方法;并且這是未得到逐步實現(xiàn)的長久需要—因為各進(jìn)程和拓樸變得更加復(fù)雜了。
發(fā)明內(nèi)容
前述長久需要通過本發(fā)明各實施例得到實質(zhì)解決,本發(fā)明具體涉及虛擬桌面—元-組織和控制系統(tǒng)。本發(fā)明系統(tǒng)在存在對一般直觀方式的需要的人機交互中特別有用,其中用戶能同時看到多進(jìn)程環(huán)境中所發(fā)生的事并按需與這些進(jìn)程進(jìn)行最廣泛地交互;并且最好使這些進(jìn)程也能夠互相交互。
參看本發(fā)明的主要實施例,它們涉及一種在計算機處理環(huán)境中使用的虛擬桌面—元-組織和控制系統(tǒng),該計算機處理環(huán)境具有至少一個具有相應(yīng)操作系統(tǒng)的處理單元,且虛擬桌面系統(tǒng)包括A.在可實時訪問的存儲器媒體中的至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)(參見圖1210、220、230);B.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的進(jìn)行中的算法動作,所述進(jìn)行中的算法動作分別定期地(I.)基于相應(yīng)的操作系統(tǒng)數(shù)據(jù)訪問,將在所述環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程轉(zhuǎn)變?yōu)橄嚓P(guān)聯(lián)的圖形表示(參見圖2310、312、314、316、318),以及(II.)邏輯地將該表示分配到數(shù)據(jù)結(jié)構(gòu)中的位置上;C.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的圖形用戶界面,所述圖形用戶界面便于(I.)在顯示設(shè)備(參見圖3310)上查看分配給至少一個數(shù)據(jù)結(jié)構(gòu)或其一部分的表示,并(II.)組織(參見圖4410)該至少一個數(shù)據(jù)結(jié)構(gòu)。
更具體地,本發(fā)明的主要實施例涉及一種應(yīng)用于具有至少一個處理單元的計算機處理環(huán)境的虛擬桌面-組織和控制系統(tǒng),且該系統(tǒng)包括三個元件A、B和C-立即在后面描述。
A.在可實時訪問的存儲器媒體中的至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)—且該結(jié)構(gòu)“基本上”循環(huán)是因為應(yīng)用于極長的數(shù)據(jù)序列(例如金融數(shù)據(jù)序列、染色體組序列等)使得形成端對端鏈接微不足道—當(dāng)使用本發(fā)明來組織進(jìn)程和圖形表示時,循環(huán)特征立即提供一種直觀的元-組織元件(在“模擬世界”中通過FlexibleVolume Rolodex organizers(可變?nèi)萘康牧_拉代克斯組織者)的示例而眾所周知,而在“數(shù)字世界”中通過LISP GUI-從McCarthy的列表處理語言中“進(jìn)化”而來的示例而眾所周知)。該數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)可以是簡單的鏈表;或者甚至是稀疏數(shù)組(諸如通過行程編碼有效壓縮來允許連續(xù)部分的呈現(xiàn)),然后(在必要時)通過在末端設(shè)置指回開始處的(以及雙向的)指針來人工地使其循環(huán)。
B.與所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的進(jìn)行中的算法動作,該進(jìn)行中的算法動作分別定期地(I.)基于各個操作系統(tǒng)數(shù)據(jù)訪問,將在所述環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程轉(zhuǎn)變?yōu)橄嚓P(guān)聯(lián)的圖形表示,以及(II.)邏輯地將該表示分配到數(shù)據(jù)結(jié)構(gòu)中的某一位置上—且轉(zhuǎn)變可以像來自進(jìn)程的當(dāng)前GUI顯示的快照(snapshot)一樣直接,或者轉(zhuǎn)變可以是進(jìn)程的聚集的元-表示,或者轉(zhuǎn)變可以是可應(yīng)用于一個本發(fā)明循環(huán)結(jié)構(gòu)的一個或多個進(jìn)程之間關(guān)系的遞歸快照,其中一個或多個進(jìn)程可應(yīng)用于另一本發(fā)明的循環(huán)結(jié)構(gòu)(多層實施例)。相應(yīng)的操作系統(tǒng)訪問是本發(fā)明實施例通過一些協(xié)議互兼容的數(shù)據(jù)通信拓樸跨越多個計算機的情形;而對于核心技術(shù)實施例,只有下層計算機的操作系統(tǒng)本身。
C.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的圖形用戶界面,該圖形用戶界面便于(I.)在顯示設(shè)備上查看分配給至少一個數(shù)據(jù)結(jié)構(gòu)或其一部分的表示,以及(II.)組織該至少一個數(shù)據(jù)結(jié)構(gòu)—且該表示可以是靜態(tài)的寫實圖像、靜態(tài)的符號圖像、動態(tài)的寫實圖像、條件激活的圖像。對于允許音頻的計算機處理環(huán)境,基本上一些“圖像”可以是音頻原聲摘要播出、音頻數(shù)據(jù)流等。然而組織的目的是允許每個數(shù)據(jù)結(jié)構(gòu)的表示按照當(dāng)前優(yōu)選順序排序。
現(xiàn)在簡言之,從本發(fā)明核心技術(shù)實施例(在“具體實施例”小節(jié)中詳述)的用戶角度而言,用戶顯示器的至少一個水平橫截面被分配用于演示智能顯像。這些顯像可以是用戶機器上運行的用戶應(yīng)用程序進(jìn)程,或互連服務(wù)器體系結(jié)構(gòu)的用戶分配虛擬地址空間中的用戶相關(guān)進(jìn)程,或在一些公共或?qū)S玫男畔⒍嗑S空間中用戶感興趣的進(jìn)程,或在與非用戶機器互連的服務(wù)器上運行的用戶感興趣的應(yīng)用程序進(jìn)程,或駐留在任一互連的前述或數(shù)據(jù)通信進(jìn)程中的任何數(shù)字系統(tǒng)進(jìn)程。
因為用戶是支撐該橫截面的基本循環(huán)數(shù)據(jù)結(jié)構(gòu)的組織者,許多便利和直觀的操作使用戶能(因為結(jié)構(gòu)是循環(huán)的所以是無限地)雙向地按序查看這些顯示,在橫截面上的顯示和它們分別監(jiān)控的進(jìn)程之間切換,重新組織橫截面上各個顯示的排序等—所有這些都是任務(wù)欄、靜態(tài)菜單、控制代碼和定制應(yīng)用程序集的特定管理軟件顯像工具上的建議。本發(fā)明的便利方面所固有的是一種能力,來重新組織對循環(huán)數(shù)據(jù)結(jié)構(gòu)的各個顯示的相對位置,以選擇這些表示的哪個子集可在屏幕上查看、將可查看表示用作輸入(調(diào)用)與關(guān)聯(lián)于表示的進(jìn)程的交互的快速界面。
本發(fā)明最簡單的直接應(yīng)用是針對代表性的同時具有很多在他的機器上運行的進(jìn)程的個人計算機用戶的—諸如電子郵件、字處理、流媒體(網(wǎng)絡(luò)電臺)、web瀏覽器、聊天室(電子消息傳送)、圖形應(yīng)用程序包(例如PowerPoint、或Architecture(建筑)、或CAD/CAM)、以及財務(wù)處理程序包。實際上,當(dāng)在文本文檔上工作時,他可使多個文本文檔甚至多個web瀏覽器打開來完成他的文檔編寫任務(wù)。因此,使用本發(fā)明的核心技術(shù)實施例向用戶提供當(dāng)前靜態(tài)層疊任務(wù)欄的視覺化智能選擇。
考慮到根據(jù)本發(fā)明的應(yīng)用特定實施例過多,有兩種基本情形進(jìn)程—一種在離散操作程序上運行(在以下“具體實施方式
”小節(jié)中詳述的核心技術(shù)實施例),而另一種則在下層的極長靜態(tài)數(shù)據(jù)序列或基本上進(jìn)行中的動態(tài)的數(shù)據(jù)序列上運行。
離散操作程序基本情形在該變體中,本發(fā)明實施例最好將用戶應(yīng)用程序視為具有在基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)的圖形表示上顯示的靜態(tài)或動態(tài)快照的進(jìn)程。這種靜態(tài)表示的示例包括acrobat reader、Microsoft word、Norton Anti-Virus、Microsoft Internet Explorer、Excel for Windows等,而動態(tài)表示的示例包括視頻流、RealOne Player、QuickTimePlayer等。因此在該基本情形中,“至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)”最好實質(zhì)上是單個獨立結(jié)構(gòu)。
該情形的這種較佳選擇的一個有趣例外在于用戶保存結(jié)構(gòu)配置—從而他能同時重新啟用多個進(jìn)程并從停止之處繼續(xù)其動作。例如,用戶使預(yù)先配置結(jié)構(gòu)具有多個進(jìn)程,用于個人游戲和娛樂、或個人通信、或商業(yè)活動、或組件項目工具和數(shù)據(jù)共享(通過諸如因特網(wǎng)、LAN、WAN等的數(shù)據(jù)通信拓樸)。
該較佳選擇的另一有趣例外是將循環(huán)數(shù)據(jù)結(jié)構(gòu)用作參與分組活動—項目開發(fā)、學(xué)習(xí)或重建—的多個用戶的共用C3引用;且該共用引用通過服務(wù)器體系結(jié)構(gòu)組件(因特網(wǎng)等)提供或作為網(wǎng)站的主頁URL-因為顯像表示是實質(zhì)上無數(shù)進(jìn)程(例如網(wǎng)頁)的易于重新配置的索引,或遞歸地作為多個其它基本循環(huán)的數(shù)據(jù)結(jié)構(gòu)的元-組織(循環(huán)數(shù)據(jù)結(jié)構(gòu)的進(jìn)程等)。
數(shù)據(jù)序列基本情形在該變體中,本發(fā)明各實施例最好將用戶應(yīng)用程序視為具有在基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)的圖形表示上顯示的預(yù)定長度的序列數(shù)據(jù)或活動數(shù)據(jù)流的進(jìn)程。靜態(tài)表示的示例包括歷史性的計量經(jīng)濟學(xué)或統(tǒng)計數(shù)據(jù)、預(yù)定染色體組中的堿基對、音樂作品中的音符、工業(yè)過程中的步驟、受控規(guī)劃項目中的階段等;而活動數(shù)據(jù)流的示例包括股市價格、貨幣市場價格、來自生理監(jiān)控或地震監(jiān)控或天氣監(jiān)控裝置的測量等。參看圖14(1400),有六種基本并行的循環(huán)數(shù)據(jù)結(jié)構(gòu)(在該示例中視為具有同步的共用時間標(biāo)度)。從底部開始,有兩個數(shù)據(jù)序列,具有在它們上面顯示的相關(guān)函數(shù)產(chǎn)生的數(shù)據(jù)。再上面,是在相關(guān)函數(shù)產(chǎn)生在預(yù)定閾值(或條件)外結(jié)果的任何時候的警報流。多個前后緊接的警報將觸發(fā)警告事件,該事件將允許決策者進(jìn)行干預(yù)。該示例的一個應(yīng)用涉及底部的股票流處理,它最終導(dǎo)致經(jīng)理向其下級經(jīng)紀(jì)人發(fā)出“干預(yù)”特定類型金融交易的指示。該示例的另一應(yīng)用從兩個示例監(jiān)控開始,以醫(yī)務(wù)人員干預(yù)動作結(jié)束。在醫(yī)療信息系統(tǒng)的情形中,判定可用SOAP記錄保存格式遞歸地進(jìn)行歸納—作為各個基本循環(huán)的數(shù)據(jù)結(jié)構(gòu)上的四個并行“事件”等等。
現(xiàn)在,對于這些類型的數(shù)據(jù)序列基本情形,有三種類型的本發(fā)明實施例提供發(fā)明性進(jìn)步的長期需要—甚至是按照以上列示的現(xiàn)有技術(shù)對比文件以及在此列示的引用!第一類是對經(jīng)改進(jìn)的數(shù)據(jù)顯像、增量式圖形顯像、以及地域-型數(shù)據(jù)—“環(huán)境”顯像的需要。第二類是對數(shù)據(jù)密度、細(xì)節(jié)密度和數(shù)據(jù)索引分層呈現(xiàn)的經(jīng)改進(jìn)的元-組織的需要。第三類涉及對經(jīng)改進(jìn)的服務(wù)器側(cè)組件(與單個共用環(huán)或多個互連環(huán)鏈接)和因特網(wǎng)入口的內(nèi)容訪問組織(使用本發(fā)明實施例來格式化“主頁”URL等)的需要。
此外,根據(jù)本發(fā)明另一實施例的虛擬桌面—元-組織和控制系統(tǒng),至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)包括具有指向循環(huán)電子數(shù)據(jù)結(jié)構(gòu)中各位置的指針的分辨率下降的(reduced resolution)元數(shù)據(jù)結(jié)構(gòu)。
類似地,根據(jù)本發(fā)明又一實施例的虛擬桌面—元-組織和控制系統(tǒng),進(jìn)行中的算法動作包括實質(zhì)上如下描述和說明的并且從以下列表中選擇的至少一個程序UIManager(UI)、MapManager(MAP)、AnimatorManager(ANIM)、SystemHookManager(SYSHOOK)、ScrollManager(SCROLLER)、可執(zhí)行代碼核心算法組(ECCAG)。
此外,根據(jù)本發(fā)明的再一實施例的虛擬桌面—元-組織和控制系統(tǒng),相關(guān)聯(lián)的圖形表示是從以下列表中選擇的進(jìn)程的GUI的高分辨率快照、進(jìn)程的GUI的低分辨率快照、進(jìn)程的符號圖形顯示、進(jìn)程的GUI的高分辨率數(shù)據(jù)流、進(jìn)程的GUI的低分辨率數(shù)據(jù)流、進(jìn)程狀態(tài)的符號圖形表示數(shù)據(jù)流。
現(xiàn)在,根據(jù)本發(fā)明一些極為有趣的實施例的虛擬桌面—元-組織和控制系統(tǒng),從以下的列表中選擇多個進(jìn)程A.從以下的組中選擇出的至少兩個程序電子郵件、字處理、流媒體、網(wǎng)絡(luò)電臺、網(wǎng)絡(luò)電視、網(wǎng)絡(luò)視頻、web瀏覽器、聊天室、電子消息傳送、圖形應(yīng)用程序包、PowerPoint、建筑支持程序、室內(nèi)設(shè)計支持程序、CAD/CAM、財務(wù)處理支持程序、電子制表程序;B.從以下的組中選擇出的至少兩個程序?qū)崟r金融數(shù)據(jù)流演示程序、交易事件確認(rèn)程序、交易事件程序的綜合分析、集體交易管理支持程序、金融分析警告程序、金融分析警報程序、日間交易者交互程序、經(jīng)紀(jì)人管理指示程序;C.從以下的組中選擇出的至少兩個程序項目管理程序、供應(yīng)鏈程序、調(diào)度程序、財務(wù)處理程序、項目協(xié)調(diào)程序、資源分配程序;D.從以下的組中選擇出的至少兩個程序ECG監(jiān)控程序、EEG監(jiān)控程序、生理監(jiān)控程序、病史報告程序、藥物相互作用程序、醫(yī)療專家系統(tǒng)程序、生理監(jiān)控程序的相關(guān)性、醫(yī)療條件警告程序、醫(yī)療條件警報程序、醫(yī)療信息系統(tǒng)程序;E.從以下的組中選擇出的至少兩個程序染色體組數(shù)據(jù)堿基序列顯示程序、局部查找染色體組片斷標(biāo)識計算程序、與已知有機化合物標(biāo)識程序的相關(guān)性、染色體組計算策略比較程序;F.從以下的組中選擇出的至少兩個程序作品編排協(xié)議、管弦樂編曲程序、電影制作管理程序、動畫程序、音響特效程序、視覺特效程序、多媒體播放事件程序、電影編輯程序、音響編輯程序、混音程序、圖像序列混合和排序程序。
G.從以下的組中選擇出的至少兩個程序交互式命令控制設(shè)備程序、觀察監(jiān)控程序、狀態(tài)程序的被動查看、警告啟動程序、警報啟動程序;以及H.從任一前述的組中選擇出的第一程序、從任一前述的組中選擇出的第二程序、以及使來自第一程序的數(shù)據(jù)內(nèi)容與來自第二程序的數(shù)據(jù)內(nèi)容相互關(guān)連的第三程序。
因而,從進(jìn)程中計算機化應(yīng)用程序的角度而言,實質(zhì)上本發(fā)明的數(shù)據(jù)流和/或數(shù)據(jù)序列實施例涉及交互式命令控制裝置和/或觀察監(jiān)控(例如狀態(tài)的被動觀察、警告啟動、警報啟動等);包括實時金融數(shù)據(jù)流交易的交互、項目管理和協(xié)作、生理監(jiān)控和醫(yī)療信息系統(tǒng)的集成、染色體組計算策略、作品編排協(xié)議(例如管弦樂編曲、電影制作管理、多媒體播放事件等)等。
然而,作為最簡單的表述,本發(fā)明涉及基本上如在此所述或所示的虛擬桌面—元組織和控制系統(tǒng),并表征為具有至少一個循環(huán)數(shù)據(jù)結(jié)構(gòu),以及與其相關(guān)聯(lián)的小型-映象(Mini-Map)模塊和操作系統(tǒng)界面。
本發(fā)明的核心技術(shù)實施例使用戶能保存當(dāng)前環(huán)(窗口及其在環(huán)上的位置),并因此使得能在其它事件繼續(xù)完全相同的工作環(huán)境。用戶可具有分類排列的“模板環(huán)”(例如具有大學(xué)材料應(yīng)用程序、工作應(yīng)用程序的環(huán)、新聞環(huán)、嗜好環(huán)等)以及在計算機工作期間某一時刻保存的“快照環(huán)”。對于手-眼協(xié)作補償方法,這是用極簡單和直觀的方法來啟用的—以旋轉(zhuǎn)環(huán)。此外,“小型-映象”(Mini-map)包括環(huán)上窗口的實際顯示,但其尺寸較小且可配置。用戶通過上下(往上將增加所顯示窗口的數(shù)量,而往下則減少其數(shù)量)拖動小型-映象的底部,可定義所顯示窗口的尺寸和數(shù)量。用小型-映象導(dǎo)航與導(dǎo)航實際環(huán)相似。最后,系統(tǒng)可使用個人計算機、PDA、手機、機頂盒、TV等。
本實施例便于最一般的元-組織和控制模式,通過該模式來表示、導(dǎo)航并操縱任意圖標(biāo)對象集的動態(tài)改變的“虛擬顯示”。
圖標(biāo)對象一般被定義為應(yīng)用程序(操作系統(tǒng)應(yīng)用、HTML頁面、web應(yīng)用程序等)的任意顯示。對該技術(shù)的實施例的特定當(dāng)前觀點陳述如下。然而,此處的定義旨在包括該特定當(dāng)前觀點的全部應(yīng)用和變化,以及全部組分。
以軟件實現(xiàn)的本系統(tǒng)由兩個主要部分組成—新的顯示管理器、以及輔助的“小型-映象”桌面導(dǎo)航工具。目的是提供直觀和可以管理的虛擬桌面。該目的通過創(chuàng)建新的“環(huán)”的虛擬概念來獲得,其中應(yīng)用程序窗口彼此相鄰地放置,而不是彼此重疊。
本系統(tǒng)的實施例沿著虛擬環(huán)延伸桌面,從而使用戶能平穩(wěn)并連續(xù)地旋轉(zhuǎn)桌面,獲得像用戶想要限定的大小一樣的有效桌面尺寸。該環(huán)是環(huán)形的;因此,如果用戶往右滾動,顯示將最終返回到其原始起點。這樣用戶在環(huán)的環(huán)境中將永遠(yuǎn)不會“迷路”。當(dāng)打開新的應(yīng)用程序窗口時(例如Microsoft Explorer),它自動地或通過在托盤(tray)圖標(biāo)上雙擊(或者可能通過鍵盤/鼠標(biāo)的組合)結(jié)合到“環(huán)”中。該窗口可在用戶在屏幕上看到的當(dāng)前應(yīng)用程序窗口之間被結(jié)合到環(huán)中,或環(huán)的“右端”。在第一種情形中,桌面可延伸到側(cè)面并在屏幕上顯示的當(dāng)前應(yīng)用程序窗口之間打開一個“空白空間”,即將放置新窗口的空間。該放置操作可動態(tài)地或立即進(jìn)行。當(dāng)用戶關(guān)閉一應(yīng)用程序時,該環(huán)將閉合空缺空間,保持整齊有序的桌面。顯示管理器與用于操縱應(yīng)用程序的操作系統(tǒng)內(nèi)嵌方法完全兼容。
如果用戶想要移動窗口的位置,然后將其放回“環(huán)”中,可在任何時候通過雙擊托盤圖標(biāo)或使用鼠標(biāo)/鍵盤組合來進(jìn)行。
導(dǎo)航工具系統(tǒng)的自動窗口位置預(yù)測器(AWPP)特征被設(shè)計成改進(jìn)用戶的手-眼協(xié)作。在用戶開始環(huán)的移動的任何時候,AWPP投入動作。它計算當(dāng)前移動的最可能結(jié)束位置,因此能補償用戶較小的不精確。例如,當(dāng)用戶將環(huán)向全尺寸窗口移動并結(jié)束移動時上述窗口未準(zhǔn)確地與顯示器邊界對齊,則AWPP將假設(shè)用戶實際上想要得到的是將窗口與顯示器邊界對齊,因此無縫地校正用戶輸入來獲得該目的。
當(dāng)用戶按下alt-tab鍵或使用任務(wù)欄來切換應(yīng)用程序時,該環(huán)將自動旋轉(zhuǎn)以將選定應(yīng)用程序帶入視圖中。此外,該平臺使用戶能以非常簡便的方式在應(yīng)用程序之間進(jìn)行拖放(Microsoft Windows OS特征)。用戶將對象拖到屏幕末端直到目標(biāo)應(yīng)用程序顯示,或者只是將對象放入該應(yīng)用程序。
“后退-向前”當(dāng)用戶改變其活動窗口時,系統(tǒng)將保存活動窗口的歷史,并向用戶提供在活動窗口歷史上瀏覽的兩個箭頭(向前和后退)的界面。當(dāng)用戶在窗口歷史中前后移動時,將旋轉(zhuǎn)整個環(huán)以將所需窗口置于顯示屏幕中央。
“環(huán)著色”為了改進(jìn)用戶的方向感,該環(huán)被分成四個部分,每個1/4部分背景的著色都不同。
“環(huán)圖標(biāo)”1.環(huán)的平面圖標(biāo)表示,分成四個部分,每一個都根據(jù)預(yù)先定義的“環(huán)著色”來進(jìn)行“著色”。點擊該四個部分之一將使該環(huán)旋轉(zhuǎn)到該部分的開始處。
2.環(huán)的適當(dāng)著色的3D圖像,呈現(xiàn)了整個當(dāng)前1/4部分的縮略圖。像第一個圖標(biāo)一樣,用戶可點擊3D環(huán)圖標(biāo)的任一部分,并且該環(huán)將相應(yīng)地旋轉(zhuǎn)。
“歷史”小型-映象將打開用戶曾經(jīng)訪問的HTML頁面的歷史。每個頁面都伴有HTML頁面的較小縮略圖。
“最近文件”最近在該環(huán)上使用的但現(xiàn)在并未打開的文件列表。該列表將以相似方式呈現(xiàn)給“活動環(huán)”小型-映象(即每個最近文件都伴有縮略圖)。顯示特征“窗口分組”該特征根據(jù)窗口內(nèi)容(及應(yīng)用程序的類型)將窗口歸入環(huán)的特定位置。例如,一種策略是全部Word窗口將組成一組,從而在打開新的Word窗口的任何時候,它毗鄰于環(huán)中另一個打開的Word窗口。
“3D支持”近來,3D顯示器已引入市場。這些監(jiān)視器支持3D幻象(類似于iMax影院)。在這種硬件上,該系統(tǒng)將便于超出標(biāo)準(zhǔn)硬件上可能的屏幕尺寸地來顯示該環(huán)的較大部分。這將通過在顯示屏的3D空間中呈現(xiàn)毗鄰于前景窗口的環(huán)的一部分來實現(xiàn),從而該環(huán)將顯現(xiàn)為沿該屏幕彎曲。該用戶將獲得他位于該環(huán)中央的感覺。
‘粘滯窗口’特征使用戶能定義當(dāng)卷動桌面時在屏幕上保持其位置的應(yīng)用程序窗口。該特征可用于諸如音樂播放器的應(yīng)用程序;或者用戶想要極快速進(jìn)入同時使其窗口尺寸保持相對較小的任何應(yīng)用程序。
“多監(jiān)視器支持”該軟件支持多監(jiān)視器顯示。屏幕尺寸將計算為全部監(jiān)視器的總屏幕尺寸。
“環(huán)的緊致化”通常,網(wǎng)頁被設(shè)計成以“獨立”模式由用戶查看。即,單個全尺寸窗口。因此,許多網(wǎng)頁包括在共享顯示環(huán)境中被視為浪費的較大邊界。在面向環(huán)的顯示中,這些邊界不再是必要的,因此在啟用時該特征將自動地調(diào)整尺寸或以其它方式改變Web瀏覽器,來消除浪費邊界,從而使用戶能以緊湊和有效的方式來查看更多的信息。
“多環(huán)支持”該軟件的基本操作是使用一個虛擬環(huán)。此外,該軟件還支持多個環(huán)的同時存在。用戶可單獨添加、移除、命名并配置每個環(huán)的屬性,并從一個環(huán)到另一個環(huán)地重新定位窗口。
該軟件提供使用戶能在各環(huán)之間導(dǎo)航的界面。
“增大的最大窗口大小”在操作系統(tǒng)的正常操作中,很難理解允許窗口大于屏幕尺寸。然而,面向環(huán)的顯示使該選項變成可行。因此該軟件支持尺寸大于屏幕的窗口的存在。例如,集成化開發(fā)環(huán)境(諸如Microsoft.NET IDE)可受益于該選項。
界面該界面是簡單并且直觀的,可基于鼠標(biāo)、或任何其它定點或滾動設(shè)備、和/或鍵盤。
當(dāng)用戶將鼠標(biāo)指針指向顯示器的右端時,桌面自動向右滾動,露出該環(huán)的“隱藏”部分。滾動繼續(xù),且滾動的速度可根據(jù)鼠標(biāo)指針在顯示屏上的相對高度來進(jìn)行控制。
滾動通過按壓鼠標(biāo)的中間鍵使鼠標(biāo)移向桌面應(yīng)滾動的方向來執(zhí)行。例如,如果用戶按壓中間鍵并將鼠標(biāo)移向右,則桌面將滾向右邊。桌面的滾動速度取決于鼠標(biāo)從用戶按下中間鍵時的點移動開始與鼠標(biāo)的當(dāng)前位置的距離。當(dāng)距離越大時,桌面移動就越快。
離散滾動a)鍵盤組合將允許用戶能使該環(huán)一次旋轉(zhuǎn)一個窗口。該移動是動畫的,且在環(huán)上的下一窗口移到顯示屏中央時結(jié)束。
離散滾動b)鍵盤/鼠標(biāo)組合將用動畫或不用動畫,使該環(huán)旋轉(zhuǎn)預(yù)先配置的距離。例如,‘shift’+鼠標(biāo)滾輪對該滾輪的每次“點擊”旋轉(zhuǎn)一個窗口。
環(huán)的保存和加載該軟件使用戶能保存整個的環(huán)構(gòu)造。用戶后來可在幾秒鐘內(nèi)將整個環(huán)載入桌面,從而創(chuàng)建預(yù)定義的工作環(huán)境。當(dāng)保存一個環(huán)時,該軟件將把用戶當(dāng)前使用的環(huán)的全部內(nèi)容保存到一文件中。當(dāng)用戶想要從現(xiàn)有文件中載入環(huán)時,軟件將執(zhí)行相關(guān)應(yīng)用程序和文檔,并以保存它們的完全相同方法排列它們。當(dāng)選擇要載入的文件時,將向用戶提供要載入的可用環(huán)的縮略圖,它非常像“小型-映象”上所顯示的圖(參見以下內(nèi)容)。
小型-映象模塊參看圖5和6,軟件包括桌面(530、630)的可調(diào)節(jié)尺寸的小型-映象(510、610)顯示。該小型-映象是整個虛擬桌面的縮略圖,并且實際上是桌面的準(zhǔn)確和完整的按比例縮小版本。用戶能在按比例縮小版本中看到像它們顯現(xiàn)在屏幕上一樣的每個窗口或應(yīng)用程序的內(nèi)容。
對當(dāng)前未顯示在屏幕上的環(huán)的“隱藏”部分中桌面的改變?nèi)匀辉谛⌒陀成滹@示中得到反映。另一方面,對小型映射的改變轉(zhuǎn)而反映到桌面上。例如,用戶可使用鼠標(biāo)來將小型-映象上的微縮窗口拖到新的位置,并且桌面上的實際窗口將相應(yīng)地移動。小型-映象可用來簡便地導(dǎo)航該環(huán)—當(dāng)用戶點擊映射上的窗口時,該環(huán)將自動旋轉(zhuǎn)到準(zhǔn)確位置,以便于將該窗口置于顯示屏中央。該小型-映象能被配置為自動隱藏,且其顯示屏可以是半透明的,從而還能看到其下顯示屏的內(nèi)容。為便于對小型-映象的用戶定向,它將根據(jù)“環(huán)著色”方案進(jìn)行著色。
為了理解本發(fā)明并查看實際上可如何實現(xiàn)它,現(xiàn)在將不僅僅通過非限制示例,而是參照附圖來描述包括較佳實施例的各個實施例。此外,對本發(fā)明及其優(yōu)點的更全面理解可通過參閱附圖和以下描述來獲得,在附圖中相同標(biāo)號表示相同特征,且其中圖1示出三個并行循環(huán)數(shù)據(jù)結(jié)構(gòu)的示意圖;圖2示出與按序關(guān)聯(lián)于循環(huán)數(shù)據(jù)結(jié)構(gòu)上各個位置的進(jìn)程相對應(yīng)的圖項的示意圖;圖3示出其上能看到與循環(huán)數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的一個圖項的顯示屏的示意圖;圖4示出其上能看到與循環(huán)數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的兩個部分圖項的顯示屏的示意圖;圖5和6示出與具有本發(fā)明最佳實現(xiàn)模式的計算機相關(guān)聯(lián)的顯示器的實際屏幕截圖;圖7示出本發(fā)明的核心技術(shù)實施例的基本功能組織的示意圖;圖8-13示出本發(fā)明各個較佳實施例的示意圖;圖14示出在多個數(shù)據(jù)序列、事件等中看到的基本上并行的循環(huán)數(shù)據(jù)結(jié)構(gòu)的示意圖。
具體實施例方式
參看圖7,本發(fā)明的主要較佳實施例涉及一種在計算機處理環(huán)境中使用的虛擬桌面—元-組織和控制系統(tǒng),該計算機處理環(huán)境具有至少一個具有相應(yīng)操作系統(tǒng)的處理單元,且虛擬桌面“軟件”系統(tǒng)包括A.在可實時訪問的存儲器媒體中的至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)(130);B.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的進(jìn)行中的算法動作(140),該進(jìn)行中的算法動作分別定期地(I.)基于相應(yīng)的操作系統(tǒng)(100)數(shù)據(jù)訪問,將在環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程轉(zhuǎn)變(142)為相關(guān)聯(lián)的圖形表示,以及(II.)邏輯地將該表示分配(144)到數(shù)據(jù)結(jié)構(gòu)中的位置上;C.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的圖形用戶界面(150),該圖形用戶界面便于(I.)在顯示設(shè)備上(190)查看(152)分配給至少一個數(shù)據(jù)結(jié)構(gòu)或其一部分的表示,以及(II.)組織(154)該至少一個數(shù)據(jù)結(jié)構(gòu)。
包括與OS相連的有些復(fù)雜界面的軟件(以上B.I元件)的當(dāng)前最佳啟用模式有兩個部分,都需要使軟件的小型-映象模塊(以上C.I元件)能顯示應(yīng)用窗口的微縮表示。出現(xiàn)困難是因為(多數(shù)時候)共用面向環(huán)的桌面的應(yīng)用程序窗口并不直接在屏幕上顯示。盡管捕捉屏幕上窗口的圖形內(nèi)容(然后簡單地縮小它)是簡單和普通的動作,但是卻沒有捕捉屏幕下窗口的圖形內(nèi)容的直接方法。該問題有兩個版本,因此有兩種解決方案有些應(yīng)用程序使捕捉其圖形內(nèi)容更加簡單,比如Microsoft Internet Explorer。IE應(yīng)用程序?qū)嶋H上是具有一標(biāo)準(zhǔn)界面的IE瀏覽器“組件”的包裝器。該界面的方法之一是具體地設(shè)計成允許捕捉瀏覽器的圖形內(nèi)容。然而,該界面僅可用于拖移應(yīng)用程序,而我們卻需要捕捉不同應(yīng)用程序的內(nèi)容。為此,我們使用一特定注入技術(shù)(有些類似“黑客”但有良好文檔的技術(shù))來將一代理程序(agent)插入IE進(jìn)程。該代理程序能捕捉圖形內(nèi)容,然后將其通過標(biāo)準(zhǔn)IPC(進(jìn)程間通信)傳送給主要應(yīng)用程序,然后縮小之并顯示在小型-映象上。
對于沒有諸如在IE中呈現(xiàn)的預(yù)先設(shè)計界面的“啞”應(yīng)用程序,問題就更嚴(yán)重了。在該情形中,必須使用更復(fù)雜的技術(shù)。再一次,我們將代理程序插入主應(yīng)用程序中。然而,這一次我們使用前述的“API鉤連”技巧,以便于鉤連所有的標(biāo)準(zhǔn)OS涂畫界面,然后我們從中進(jìn)行干預(yù)并誘使應(yīng)用程序?qū)⑺约寒嬋氪鎯ζ鳌捌聊粚ο蟆?同時認(rèn)為它已畫入實際屏幕)。然后代理程序隨后通過標(biāo)準(zhǔn)IPC像前面一樣將該存儲器木對象發(fā)送給主應(yīng)用程序。
核心技術(shù)實施例基本環(huán)(循環(huán)數(shù)據(jù)結(jié)構(gòu))導(dǎo)航可用鼠標(biāo)來完成。有兩種缺省界面。這些界面可從設(shè)置面板進(jìn)行配置。
A.通過相關(guān)鼠標(biāo)移動來滾動—通過按下<CTRL>鍵+鼠標(biāo)右鍵或按住鼠標(biāo)中鍵來激活;當(dāng)左右移動鼠標(biāo)時,滾動速度直接與鼠標(biāo)的水平移動成比例。
B.通過鼠標(biāo)在屏幕邊緣滾動—視圖通過將鼠標(biāo)置于屏幕側(cè)邊來滾動。滾動速度與鼠標(biāo)的豎直位置成比例在頂部快一些,而在底部則慢一些。
C.選項菜單—通過在任務(wù)欄右角中的預(yù)定“DeskLoops”圖標(biāo)上點擊鼠標(biāo)右鍵來從托盤圖標(biāo)上激活,或者從映象上激活。雙擊“Deskloops”激活“排列”選項,該選項展開該環(huán)上的全部打開窗口。
D.導(dǎo)航圖—當(dāng)鼠標(biāo)置于屏幕頂部時顯現(xiàn),用來查看整個環(huán)或環(huán)的一部分;通過點擊它跳到一窗口;通過鼠標(biāo)右鍵關(guān)閉窗口;通過鼠標(biāo)右鍵將窗口設(shè)置為粘滯窗口(總在視圖中);且該圖可通過拖動該圖窗口的下邊緣來調(diào)整大小。
核心技術(shù)實施例—可執(zhí)行代碼結(jié)構(gòu)軟件中主要模塊的列表及其功能
1.UIManager(UI)。該模塊負(fù)責(zé)收集所有系統(tǒng)范圍的用戶輸入。它分辨用戶何時按壓或移動鼠標(biāo)、映象是否必須顯示或隱藏、用戶滾動是否啟動或終止等。
2.MapManager(MAP)。該模塊負(fù)責(zé)顯示小型-映象并在小型-映象本身處理用戶輸入。
3.AnimatorManager(ANIM)。該模塊負(fù)責(zé)將所有在不同的異步時間上發(fā)生的可能滾動和移動命令組合成一個流暢的和(30毫秒)同步的移動。它從系統(tǒng)的所有其它模塊中接收所有移動命令,并將它們“切”成多個饋入ScrollManager的30毫秒的塊。
4.SystemHookManager(SYSHOOK)。該模塊負(fù)責(zé)通過捕獲OS事件來與OS通信。它檢測窗口何時打開或關(guān)閉、移動、調(diào)整尺寸、或作圖形更新。它還檢測焦點的變化,并從其它窗口接收圖形內(nèi)容。SystemHookManager模塊涉及本實現(xiàn)的一些更為技巧的技術(shù)方面a.事件的捕獲用系統(tǒng)范圍的鉤連完成,這些鉤連必須置入與主要可執(zhí)行文件不同的DLL中。該方法將DLL載入系統(tǒng)中每個其它進(jìn)程的地址空間,因此將信息傳回主應(yīng)用程序進(jìn)程就有困難了。它可使用標(biāo)準(zhǔn)的進(jìn)程間通信(事件、共享存儲器等)來完成。
b.其它應(yīng)用程序的圖形內(nèi)容的捕獲在技術(shù)上也是有些復(fù)雜的。有些應(yīng)用程序支持COM界面來接收圖形內(nèi)容(像Internet Explorer),但是許多應(yīng)用程序并不支持。捕捉這些應(yīng)用程序的內(nèi)容可通過鉤連到操作系統(tǒng)的繪制功能來完成。在Windows OS上,這可通過繁難但現(xiàn)在有良好文檔的API鉤連來執(zhí)行。
5.ScrollManager(SCROLLER)滾動引擎執(zhí)行單個的移動命令。為了使單個滾動移動更快,并不更新整個屏幕,而是僅更新看得見的相關(guān)部分。這樣各個應(yīng)用程序就不需要重畫它們自己了。這樣做的(附加)算法基于標(biāo)識每個可見窗口的z-排序,并確定它的哪一部分在任何給定時間可見。
以下事件在06:00:00.00和06:00:00.03之間(以及之后每30毫秒)發(fā)生1.該系統(tǒng)環(huán)繞所有“輸入模塊”并接收下一循環(huán)的命令。
2.PhisicalToLogical()將屏幕的物理位置內(nèi)容讀成邏輯表示。
3.系統(tǒng)按照到達(dá)順序來分配命令。主要的命令和所存取的相應(yīng)動作為1)“Rotate Loop”(旋轉(zhuǎn)環(huán))(UI)將分散的移動命令發(fā)送給AnimatorManager模塊。
2)“Show Map”(顯示映象)(UI)將激活命令發(fā)送給MapManager模塊。
3)“Hide Map”(隱藏映象)(UI)將去激活命令發(fā)送給MapManager模塊。
4)“End User Movement”(終端用戶移動)(UI)激活A(yù)WPP。
5)“MoveToWindow”(移到窗口)(MAP)向AnimatorManager發(fā)送將所需窗口置于中央的動畫命令。
6)“RecorderLoop”(對環(huán)重新排序)(MAP/SYSTRAY)重排窗口使不出現(xiàn)重疊。
7)“SaveLoop”(保存環(huán))(MAP/SYSTRAY)系統(tǒng)遍歷虛擬環(huán)上的全部窗口應(yīng)用程序,并將相應(yīng)信息此處到文件中。
8)“LoadLoop”(載入環(huán))(MAP/SYSTRAY)系統(tǒng)從特定文件中讀取信息,并根據(jù)所保存文件中的信息來執(zhí)行應(yīng)用程序并將其置于環(huán)上。
9)“New Window Create”(創(chuàng)建新窗口)(SYSHOOK)計算新窗口打開的地方,并向AnimatorManager發(fā)送適當(dāng)?shù)膭赢嬅睢?br>
10)“Close Window”(關(guān)閉窗口)(SYSHOOK)向AnimatorManager發(fā)送“關(guān)閉”空出空間的動畫命令。
11)“Switch Window”(切換窗口)(SYSHOOK)該命令從SystemHookManager中接收,其時該模塊標(biāo)識切換窗口焦點的外部(用戶或OS)操作,像按alt-tab鍵或相應(yīng)的OS調(diào)用。該系統(tǒng)向適當(dāng)窗口發(fā)送“MoveToWindow”命令。
12)“Scroll Command”(滾動命令)(ANIM)該命令通過ScrollManager模塊處理,該模塊執(zhí)行每個窗口(和/或整個環(huán))所需的單個累積滾動。
13)LogicalToPhysical()從內(nèi)部邏輯表示中更新物理顯示。
核心技術(shù)實施例—可執(zhí)行代碼核心算法組(ECCAG){CArray<WindowObject*,WindowObject*>&list=source->list;
CArray<WindowObject*,WindowObject*>ylist;
CArray<sortstruct,sortstruct &>XArray;
CArray<sortstruct,sortstruct &>XUniqueArray;
CArray<sortstruct,sortstruct &>YArray;
CArray<sortstruct,sortstruct &>YUniqueArray;
CArray<backstruct,backstruct &>ThresholdArray;
CArray<backstruct,backstruct &>ThresholdUniqueArray;
CArray<CArray<BOOL,BOOL>,CArray<BOOL,BOOL>&>XMap;
CArray<CArray<BOOL,BOOL>,CArray<BOOL,BOOL>&>YMap;
CArray<CArray<CRect,CRect &>,CArray<CRect,CRect &>&>XRealRect;
CArray<CRect,CRect &>RectArray;
CArray<HWND,HWND &>ZOrderArray;
WindowList*rc=new WindowList;;
int i,j,k,l;
//stage 2.
for(i=0;i<list.GetSize();i++){sortstruct temp;
temp.hWnd=list[i]->hWnd;
temp.x=list[i]->ws.left;
XArray.Add(temp);
temp.x=list[i]->ws.right;
XArray.Add(temp);
}//Here we perform a bubble sortfor(i=0;i<XArray.GetSize();i++){sortstruct temp;
for(j=0;j<XArray.GetSize()-1;j++){if(XArray[j].x>XArray[j+1].x){temp=XArray[j+1];
XArray[j+1]=XArray[j];
XArray[j]=temp;
}}}//Remove duplicate entries//XArray==>XUniqueArrayfor(i=0;i<XArray.GetSize();i++)XUniqueArray.SetAtGrow(i,XArray[i]);//Remove the duplicate entries from XUniqueArray.
for(i=1;i<XUniqueArray.GetSize();){int a,b;
a=XUniqueArray[i].x;
b=XUniqueArray[i-1].x;
if(a==b)XUniqueArray.RemoveAt(i);
else i++;
}//Stage 4XMap.SetSize(XUniqueArray.GetSize());
for(i=0;i<XMap.GetSize();i++)XMap[i].SetSize(list.GetSize());
//stage 6//first column gets special treatmentfor(i=0;i<list.GetSize();i++)XMap
[i]=RelateXWindow(XUniqueArray
.x,list[i]->hWnd,XArray);
for(j=1;j<XMap.GetSize();j++){for(i=0;i<list.GetSize();i++){XMap[j][i]=RelateXWindow(XUniqueArray[j].x,list[i]->hWnd,XArray);
XMap[j][i]=(XMap[j-1][i]^XMap[j][i]);
}}#ifdef WINTESTDEBUGafxDump.SeDepth(1);
afxDump<<"Dumping XMap:\n";
XMap.Dump(afxDump);
afxDump<<"\n";
afxDump.Flush();#endif//For every column do:
for(j=0;j<XUniqueArray.GetSize()-1;j++){//Create ylist-the sublist of a column.ylist.RemoveAll();YArray.RemoveAll();YUniqueArray.RemoveAll();for(i=0;i<list.GetSize();i++){if(XMap[j][i])ylist.Add(list[i]);}//stage 2 again-this time for yfor(i=0;i<ylist.GetSize();i++){sortstruct temp;
temp.hWnd=ylist[i]->hWnd;
temp.y=ylist[i]->ws.top;
YArray.Add(temp);
temp.y=ylist[i]->ws.bottom;
YArray.Add(temp);}//Here we perform a bubble sortfor(1=0;1<YArray.GetSize();1++){sortstruct temp;
for(i=0;i<YArray.GetSize()-1;i++){if(YArray[i].y>YArray[i+1].y){temp=YArray[i+1];
YArray[i+1]=YArray[i];
YArray[i]=temp;
}}}//Remove duplicate entriesfor(i=0;i<YArray.GetSize();i++)YUniqueArray.Add(YArray[i]);for(i=1;i<YUniqueArray.GetSize();){if(YUniqueArray[i].y==YUniqueArray[i-1].y)
YUniqueArray.RemoveAt(i);
else i++;}//Normal size plus one to hold the totalsYMap.SetSize(YUniqueArray.GetSize());ZOrderArray.RemoveAll();for(i=0;i<YUniqueArray.GetSize();i++){HWND tmphwnd=NULL;
ZOrderArray.Add(tmphwnd);}for(i=0;i<YMap.GetSize();i++){YMap[i].SetSize(ylist.GetSize());}//ZOrderWindowList is sorted from high to low,left to rightfor(i=0;i<ylist.GetSize();i++){if(YMap
[i]=RelateYWindow(YUniqueArray
.y,ylist[i]->hWnd,YArray)){//See if we have to replace somethingif(ZOrderArray
==NULL)ZOrderArray
=ylist[i]->hWnd;
else{if(ZOrderWindowList.IsLeftOf(ylist[i]->hWnd,ZOrderArray
))ZOrderArray
=ylist[i]->hWnd;
}}}for(k=1;k<YMap.GetSize();k++){for(i=0;i<ylist.GetSize();i++){YMap[k][i]=RelateYWindow(YUniqueArray[k].y,ylist[i]->hWnd,YArray);
if(YMap[k][i]=(YMap[k-1][i]^YMap[k][i])){if(ZOrderArray[k]==NULL)ZOrderArray[k]=ylist[i]->hWnd;
else {if(ZOrderWindowList.IsLeftOf(ylist[i]->hWnd,ZOrderArray[k]))ZOrderArray[k]=ylist[i]->hWnd;
}}}}//Stage 11-calculate the list of rectanglesCRect newRect;
newRect.left=XUniqueArray[j].x;
newRect.right=XUniqueArray[j+1].x;
for(k=0;k<YUniqueArray.GetSize()-1;k++){if(ZOrderArray[k]){WmdowObject*wo=new WindowObject;
newRect.top=YUniqueArray[k].y;
newRect.bottom=YUniqueArray[k+1].y;
wo->ws=newRect;
wo->hWnd=ZOrderArray[k];
rc->list.Add(wo);
}}}return rc;}因而,本發(fā)明一實施例的虛擬桌面—元-組織和控制系統(tǒng)(參見圖8)包括用于執(zhí)行在計算機系統(tǒng)中的活動應(yīng)用程序之間導(dǎo)航的方法中的各個步驟的軟件。該方法包括以下步驟在用戶屏幕上,顯示(800)具有對應(yīng)于顯示屏幕的多個區(qū)域的基本環(huán)形“虛擬表面”;使多個應(yīng)用程序窗口邊界(在用戶的計算機處理環(huán)境中運行的進(jìn)程)與該表面的各個部分相關(guān)聯(lián),從而至少一對應(yīng)用程序窗口邊界使至少一個邊界關(guān)聯(lián)于該表面的相鄰部分;以及通過在所述至少一個邊界上移動定點設(shè)備來從相應(yīng)應(yīng)用程序窗口進(jìn)行導(dǎo)航(820)。
因而,本發(fā)明另一實施例的虛擬桌面—元-組織和控制系統(tǒng)(參見圖9)包括用于執(zhí)行在計算機系統(tǒng)中的活動應(yīng)用程序之間導(dǎo)航的方法中的各個步驟的軟件。該方法包括以下步驟提供(900)基本環(huán)形的虛擬表面;使窗口與該表面上的各個位置相關(guān)聯(lián)(910);以及通過在窗口邊界上移動來在窗口之間導(dǎo)航(920),從而結(jié)果窗口是與該表面邊界上位置相關(guān)聯(lián)的窗口。
此外,本發(fā)明又一實施例的虛擬桌面—元-組織和控制系統(tǒng)(參見圖10)包括用于虛擬桌面的軟件。該虛擬桌面包括分成對應(yīng)于屏幕的各部分的基本環(huán)形虛擬表面(1010);與表面的各個部分相關(guān)聯(lián)的應(yīng)用程序窗口(1020);該表面的可視屏幕(1030);在可視屏幕中顯示的應(yīng)用程序窗口(1040);以及旋轉(zhuǎn)該表面的用戶工具(1050)—從而交換其中的可視屏幕部分。
類似地,本發(fā)明再一實施例的虛擬桌面—元-組織和控制系統(tǒng)(參見圖11)包括用于執(zhí)行提供虛擬桌面的方法中的各個步驟的軟件。該方法包括以下步驟提供(1110)虛擬映象表面,該映象表面是環(huán)形的扁平環(huán);首先使虛擬表面映象表面上的各個區(qū)域與多個顯示區(qū)域相關(guān)聯(lián)(1120),每一個顯示區(qū)域都對應(yīng)于物理顯示屏幕;然后使得應(yīng)用程序窗口與至少一個顯示區(qū)域相關(guān)聯(lián)(1130);允許(1140)在表面上各顯示區(qū)域之間導(dǎo)航,以在物理顯示屏幕上顯示相關(guān)聯(lián)的應(yīng)用程序;以及沿表面屏幕連續(xù)排列(1160)各個應(yīng)用程序窗口而無重疊。
參看圖12,除了本發(fā)明的基本上在此描述和說明的全部實施例之外,有關(guān)于制造品和/或計算機程序產(chǎn)品的本發(fā)明各個實施例的一個并行集合,該制造品和/或計算機程序產(chǎn)品包括計算機可使用媒體(1210),它具有包含在虛擬桌面—元-組織和控制系統(tǒng)中的用于計算機處理環(huán)境的計算機可讀程序代碼,該計算機處理環(huán)境具有至少一個帶有相應(yīng)操作系統(tǒng)的處理單元,所述制造品中的計算機可讀程序代碼包括第一計算機可讀程序代碼(1220),用于使計算機在可實時訪問的存儲器媒體中形成并維護(hù)至少一個動態(tài)的基本循環(huán)的動作數(shù)據(jù)結(jié)構(gòu);依賴于第一計算機可讀軟件,第二計算機可讀程序代碼(1230)用來使計算機運行進(jìn)行中算法動作(與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)),該進(jìn)行中算法動作通常分別(I.)基于相應(yīng)的操作系統(tǒng)數(shù)據(jù)訪問,將在環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程轉(zhuǎn)變?yōu)橄嚓P(guān)聯(lián)的圖形表示;以及(II.)邏輯地將該表示分配到數(shù)據(jù)結(jié)構(gòu)中的位置上;以及依賴于第一計算機可讀軟件,第三計算機可讀程序代碼(1240)用來使計算機促使圖形用戶界面(與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián))便于(I.)在顯示設(shè)備上查看分配給至少一個數(shù)據(jù)結(jié)構(gòu)或其一部分的表示,并(II.)組織該至少一個數(shù)據(jù)結(jié)構(gòu)。
類似地(參看圖13),除了本發(fā)明的基本上在此描述和說明的全部實施例之外,有關(guān)于機器可讀的程序存儲設(shè)備(1310)的本發(fā)明各個實施例的一個并行集合,該程序存儲設(shè)備包括用于計算機處理環(huán)境的機器可執(zhí)行指令的程序以執(zhí)行虛擬桌面—元-組織和控制系統(tǒng)的方法步驟,該計算機處理環(huán)境具有至少一個帶有相應(yīng)操作系統(tǒng)的處理單元,所述虛擬桌面方法步驟包括(A)(1320)在可實時訪問的存儲器媒體中,形成并維護(hù)至少一個動態(tài)的基本循環(huán)的動作數(shù)據(jù)結(jié)構(gòu);(B)(1330)與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)地運行進(jìn)行中算法動作,該進(jìn)行中算法動作通常分別(I.)基于相應(yīng)的操作系統(tǒng)數(shù)據(jù)訪問,將在環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程轉(zhuǎn)變?yōu)橄嚓P(guān)聯(lián)的圖形表示;以及(II.)邏輯地將該表示分配到數(shù)據(jù)結(jié)構(gòu)中的位置上;以及(C)(1340)與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián),圖形用戶界面便于(I.)在顯示設(shè)備上查看分配給至少一個數(shù)據(jù)結(jié)構(gòu)或其一部分的表示,并(II.)組織該至少一個數(shù)據(jù)結(jié)構(gòu)。
普通用戶核心技術(shù)實施例的用戶“遍歷”本發(fā)明的普通用戶核心技術(shù)實施例的虛擬桌面—元-組織和控制系統(tǒng)稱為“DeskLoops”—是由兩個主要部分組成的軟件新的顯示管理器和補充的“小型-映象”桌面導(dǎo)航工具?!癉eskLoops”軟件提供直觀和可管理的虛擬桌面。本質(zhì)上“DeskLoops”創(chuàng)建一新的虛擬概念“環(huán)”(基本循環(huán)的動作數(shù)據(jù)結(jié)構(gòu)及其顯像)同時應(yīng)用程序窗口在顯像中彼此相鄰地放置(而不是彼此重疊)。
基本上,DeskLoops引入桌面元-組織和(處理)控制的新的“環(huán)”概念。該概念的核心是通過在桌面上沿虛擬環(huán)展開各項(對應(yīng)于各項的進(jìn)程的視覺轉(zhuǎn)換),使用戶平穩(wěn)連續(xù)地旋轉(zhuǎn)桌面環(huán)的顯像,從而獲得與用戶想要定義的一樣大的有效桌面尺寸。
該環(huán)是“環(huán)形”的(動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu));因此,如果用戶向右滾動,則顯示將最終回到其原始起點。這樣用戶在環(huán)的環(huán)境中永遠(yuǎn)不會“迷路”。
當(dāng)新的應(yīng)用程序窗口打開時(例如Microsoft Explorer),它自動地或通過在置于任務(wù)欄管理器之上的小圖標(biāo)上雙擊來結(jié)合到該“環(huán)”中。該窗口可在用戶于屏幕上看到的當(dāng)前應(yīng)用程序的窗口之間結(jié)合到環(huán)中,或者結(jié)合到環(huán)的“右端”。在第一種情形中,桌面可延伸到側(cè)面并在屏幕上顯示的當(dāng)前應(yīng)用程序窗口之間打開一個“空白空間”,即將放置新窗口的空間。該放置操作可動態(tài)地或立即進(jìn)行。當(dāng)用戶關(guān)閉一應(yīng)用程序時,該環(huán)將閉合空缺空間,保持整齊有序的桌面。
顯示管理器與用于應(yīng)用程序操縱的操作系統(tǒng)內(nèi)嵌方法完全兼容。
較佳特征為了向用戶提供有效直觀的平臺,自動窗口對準(zhǔn)器的特征被結(jié)合到DeskLoops桌面平臺中。自動窗口對準(zhǔn)器負(fù)責(zé)將窗口的右側(cè)或左側(cè)與屏幕一側(cè)對準(zhǔn)。當(dāng)用戶將應(yīng)用程序窗口打開成全屏顯示時,該特征非常重要。在該情形中,自動窗口對準(zhǔn)器使用戶不用將桌面滾動到窗口的右側(cè)或左側(cè)與屏幕一側(cè)對準(zhǔn)的準(zhǔn)確位置。
如果用戶想要移動窗口的位置并再次將其置入“環(huán)”內(nèi),可通過雙擊置于任務(wù)欄管理器上的圖標(biāo)來非常簡便地完成。
當(dāng)用戶按下alt-tab鍵或使用任務(wù)欄來切換應(yīng)用程序時,該環(huán)將自動旋轉(zhuǎn)以將選定應(yīng)用程序帶入視圖中。此外,該平臺使用戶能以非常簡便的方式在應(yīng)用程序之間進(jìn)行拖放(Microsoft Windows OS特征)。用戶將對象拖到屏幕末端直到目標(biāo)應(yīng)用程序顯示,或者只是將對象放入該應(yīng)用程序?!硿翱凇卣魇褂脩裟芏x當(dāng)卷動桌面時在屏幕上保持其位置的應(yīng)用程序窗口。該特征可用于諸如音樂播放器的應(yīng)用程序;或者用戶想要極快速進(jìn)入同時使其窗口尺寸保持相對較小的任何應(yīng)用程序。
DeskLoops軟件使用戶能保存整個的環(huán)構(gòu)造。用戶后來可在幾秒鐘內(nèi)將整個環(huán)載入桌面,從而創(chuàng)建預(yù)定義的工作環(huán)境。
界面該界面是簡單并且直觀的,可基于鼠標(biāo)、或任何其它定點或滾動設(shè)備、和/或鍵盤。當(dāng)用戶將鼠標(biāo)指針指向顯示器的右端時,桌面自動向右滾動,露出該環(huán)的“隱藏”部分。滾動繼續(xù),且滾動的速度可根據(jù)鼠標(biāo)指針在顯示屏上的相對高度來進(jìn)行控制。
滾動桌面的另一種方法是通過按壓鼠標(biāo)的中間鍵使鼠標(biāo)移向桌面應(yīng)滾動的方向。例如,如果用戶按壓中間鍵并將鼠標(biāo)移向右,則桌面將滾向右邊。桌面的滾動速度取決于鼠標(biāo)從用戶按下中間鍵時的點移動開始與鼠標(biāo)的當(dāng)前位置的距離。當(dāng)距離越大時,桌面移動就越快。
小型-映象導(dǎo)航工具此外,DeskLoops包括桌面的可調(diào)節(jié)尺寸的小型-映象顯示。該小型-映象是整個虛擬桌面的縮略圖,并且實際上是桌面的準(zhǔn)確和完整的按比例縮小版本。用戶能在按比例縮小版本中看到像它們顯現(xiàn)在屏幕上一樣的每個窗口或應(yīng)用程序的內(nèi)容。對當(dāng)前未顯示在屏幕上的環(huán)的“隱藏”部分中桌面的改變?nèi)匀辉谛⌒?映象顯示中得到反映。當(dāng)有比能顯示在小型-映象上的應(yīng)用程序窗口多的應(yīng)用程序窗口時,用戶也能滾動該小型-映象。
小型-映象可用來簡便地導(dǎo)航該環(huán)—當(dāng)用戶點擊映射上的窗口時,該環(huán)將自動旋轉(zhuǎn)到準(zhǔn)確位置,以便于將該窗口置于顯示屏中央。此外,小型-映象可用來特定地操縱桌面上任一給定窗口、應(yīng)用程序或限定窗口組。該小型-映象能被配置為自動隱藏,且其顯示屏可以是半透明的。
評論本發(fā)明的工業(yè)可應(yīng)用性—技術(shù)方面本發(fā)明的虛擬桌面—元-組織和控制系統(tǒng)的具體例示可用標(biāo)準(zhǔn)的軟件功能配置—雖然要由相當(dāng)公開的“黑客”技術(shù)和工具作補充。
評論本發(fā)明的工業(yè)可應(yīng)用性—人機工程學(xué)方面本發(fā)明的虛擬桌面—元-組織和控制系統(tǒng)的具體例示是直觀的—既因為其概念組織的優(yōu)勢,又因為普通界面交互的優(yōu)勢(鍵盤命令、指向和點擊動作、拖放動作等)。
評論本發(fā)明的工業(yè)可應(yīng)用性—經(jīng)濟方面本發(fā)明的虛擬桌面—元-組織和控制系統(tǒng)的具體例示對普通和富有經(jīng)驗的用戶而言都是效能成本合算的—而不像占用資源多的用戶定制設(shè)計的虛擬桌面—元-組織和控制系統(tǒng),它們是為行動協(xié)調(diào)者(例如項目管理、空中交通控制、C3、日間交易組的經(jīng)紀(jì)人現(xiàn)金流管理、貨幣投機商、套匯投機商等)開發(fā)的。
特定重點特征“DeskLoops軟件使用戶能保存整個的環(huán)構(gòu)造。用戶后來可在幾秒鐘內(nèi)將整個環(huán)載入桌面,從而創(chuàng)建預(yù)定義的工作環(huán)境?!鳖A(yù)定義環(huán)甚至還提供“快照”工作環(huán)境的當(dāng)前狀態(tài)的能力。該技術(shù)沿著虛擬環(huán)展開桌面,使用戶能平穩(wěn)連續(xù)地旋轉(zhuǎn)桌面環(huán)的顯像,從而獲得與用戶想要定義的一樣大的有效桌面尺寸。(摘自技術(shù)說明文檔)用戶喜歡自動地對用戶需要作響應(yīng)的功能極為強大的桌面。
對于手-眼協(xié)調(diào)連接以及多個應(yīng)用程序之間的導(dǎo)航,本系統(tǒng)的自動窗口位置預(yù)測器(AWPP)特征被設(shè)計成改進(jìn)用戶的手-眼協(xié)作。在用戶開始環(huán)的移動的任何時候,AWPP投入動作。它計算當(dāng)前移動的最可能結(jié)束位置,因此能補償用戶較小的不精確。例如,當(dāng)用戶將環(huán)向全尺寸窗口移動并結(jié)束移動時上述窗口未準(zhǔn)確地與顯示器邊界對齊,則AWPP將假設(shè)用戶實際上想要得到的是將窗口與顯示器邊界對齊,因此無縫地校正用戶輸入來獲得該目的。
顯示特征—圖形用戶界面“特定重點”程序功能“窗口分組”該特征根據(jù)其內(nèi)容(及應(yīng)用程序的類型)將窗口歸入環(huán)的特定位置。例如,一種策略是全部Word窗口將組成一組,從而在打開新的Word窗口的任何時候,它毗鄰于環(huán)中另一個打開的Word窗口。
“3D支持”近來,3D顯示器已引入市場。這些監(jiān)視器支持3D幻象(類似于iMax影院)。在這種硬件上,該系統(tǒng)將便于超出標(biāo)準(zhǔn)硬件上可能的屏幕尺寸地來顯示該環(huán)的較大部分。這將通過在顯示屏的3D空間中呈現(xiàn)毗鄰于前景窗口的環(huán)的一部分來實現(xiàn),從而該環(huán)將顯現(xiàn)為沿該屏幕彎曲。該用戶將獲得他位于該環(huán)中央的感覺。
“粘滯窗口”特征使用戶能定義當(dāng)卷動桌面時在屏幕上保持其位置的應(yīng)用程序窗口。該特征可用于諸如音樂播放器的應(yīng)用程序;或者用戶想要極快速進(jìn)入同時使其窗口尺寸保持相對較小的任何應(yīng)用程序。
“多監(jiān)視器支持”該軟件支持多監(jiān)視器顯示。屏幕尺寸將計算為全部監(jiān)視器的總屏幕尺寸。
“環(huán)的緊致化”通常,網(wǎng)頁被設(shè)計成以“獨立”模式由用戶查看。即,單個全尺寸窗口。因此,許多網(wǎng)頁包括在共享顯示環(huán)境中被視為浪費的較大邊界。在面向環(huán)顯示中,這些邊界不再是必要的,因此在啟用時該特征將自動地調(diào)整尺寸或以其它方式改變Web瀏覽器來消除浪費邊界,從而使用戶能以緊湊和有效的方式來查看更多的信息。
“多環(huán)支持”該軟件的基本操作是使用一個虛擬環(huán)的操作。此外,該軟件還支持多個環(huán)的同時存在。用戶可單獨添加、移除、命名并配置每個環(huán)的屬性,并從一個環(huán)到另一個環(huán)地重新放置窗口。
該軟件提供使用戶能在各環(huán)之間導(dǎo)航的界面。
“所增大的最大窗口尺寸”在操作系統(tǒng)的正常操作中,很難理解允許窗口大于屏幕尺寸。然而,面向環(huán)的顯示使該選項變成可行。因此該軟件支持尺寸大于屏幕的窗口的存在。例如,集成化開發(fā)環(huán)境(諸如Microsoft.NET IDE)可受益于該選項。
注意在描述本發(fā)明時,解釋是根據(jù)當(dāng)前所接受的技術(shù)理論(軟件)或商用模型(管理、控制、組織等)進(jìn)行的。這種理論和模型易遭絕對和根本的改變。常常這種改變會因為基本組成元件的表現(xiàn)得到改進(jìn),因為設(shè)想出這些元件之間的新變換,或者因為產(chǎn)生對這些元件或這些變換的新解釋而出現(xiàn)。因此,注意本發(fā)明涉及各實施例中的特定技術(shù)實現(xiàn)是重要的。因此,在此涉及這些實施例的理論或模型相關(guān)解釋是為了向本領(lǐng)域技術(shù)人員示教實際上如何實現(xiàn)這些實施例而提供的。對這些實施例的另外或等效的解釋不會否定或改變其實現(xiàn)。
在此示出的數(shù)字、字母字符和羅馬字僅為了便于說明,且決不應(yīng)當(dāng)視為在任何方法步驟上添加了特定順序。類似地,本發(fā)明的各個實施例在此用一定程度的特殊性來進(jìn)行描述。具體地,盡管本發(fā)明的各個實施例已參照包括實現(xiàn)本發(fā)明的較佳模式的特定示例進(jìn)行描述,但是本領(lǐng)域技術(shù)人員將理解有上述系統(tǒng)和技術(shù)的許多變體和排列落于所附權(quán)利要求中陳述的本發(fā)明精神和范圍內(nèi)。
權(quán)利要求
1.一種在計算機處理環(huán)境中使用的虛擬桌面—元-組織和控制系統(tǒng),所述計算機處理環(huán)境具有至少一個具有相應(yīng)操作系統(tǒng)的處理單元,且所述虛擬桌面系統(tǒng)包括A.在可實時訪問的存儲器媒體中的至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu);B.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的進(jìn)行中的算法動作,所述進(jìn)行中的算法動作分別定期地I.基于相應(yīng)的操作系統(tǒng)數(shù)據(jù)訪問,將在所述環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程轉(zhuǎn)變?yōu)橄嚓P(guān)聯(lián)的圖形表示,以及II.邏輯地將該表示分配到數(shù)據(jù)結(jié)構(gòu)中的位置上;C.與每個所述數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的圖形用戶界面,所述圖形用戶界面便于I.在顯示設(shè)備上查看分配給至少一個數(shù)據(jù)結(jié)構(gòu)或其一部分的表示,以及II.組織該至少一個數(shù)據(jù)結(jié)構(gòu)。
2.如權(quán)利要求1所述的虛擬桌面—元-組織和控制系統(tǒng),其特征在于,所述至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)包括具有指向該循環(huán)電子數(shù)據(jù)結(jié)構(gòu)中各位置的指針的分辨率下降的元數(shù)據(jù)結(jié)構(gòu)。
3.如權(quán)利要求1所述的虛擬桌面—元-組織和控制系統(tǒng),其特征在于,所述進(jìn)行中的算法動作包括實質(zhì)上如上所描述和說明的以及從以下列表中選擇的至少一個程序UIManager(UI)、MapManager(MAP)、AnimatorManager(ANIM)、SystemHookManager(SYSHOOK)、ScrollManager(SCROLLER)、可執(zhí)行代碼核心算法組(ECCAG)。
4.如權(quán)利要求1所述的虛擬桌面—元-組織和控制系統(tǒng),其特征在于,圖形用戶界面包括實質(zhì)上如上所描述和說明的以及從以下列表中選擇的至少一個程序功能窗口分組、3D支持、粘滯窗口、多監(jiān)視器支持、環(huán)的緊致化、多環(huán)支持、增大的最大窗口大小。
5.如權(quán)利要求1所述的虛擬桌面—元-組織和控制系統(tǒng),其特征在于,相關(guān)聯(lián)的圖形表示是從以下列表中選擇的進(jìn)程的GUI的高分辨率快照、進(jìn)程的GUI的低分辨率快照、進(jìn)程的符號圖形顯示、進(jìn)程的GUI的高分辨率數(shù)據(jù)流、進(jìn)程的GUI的低分辨率數(shù)據(jù)流、進(jìn)程狀態(tài)的符號圖形表示數(shù)據(jù)流。
6.如權(quán)利要求1所述的虛擬桌面—元-組織和控制系統(tǒng),其特征在于,所述多個進(jìn)程是從以下列表中選擇的A.從以下的組中選擇出的至少兩個程序電子郵件、字處理、流媒體、網(wǎng)絡(luò)電臺、網(wǎng)絡(luò)電視、網(wǎng)絡(luò)視頻、web瀏覽器、聊天室、電子消息傳送、圖形應(yīng)用程序包、PowerPoint、建筑支持程序、室內(nèi)設(shè)計支持程序、CAD/CAM、財務(wù)處理支持程序、電子制表程序;B.從以下的組中選擇出的至少兩個程序?qū)崟r金融數(shù)據(jù)流演示程序、交易事件確認(rèn)程序、交易事件程序的綜合分析、集體交易管理支持程序、金融分析警告程序、金融分析警報程序、日間交易者交互程序、經(jīng)紀(jì)人管理指示程序;C.從以下的組中選擇出的至少兩個程序項目管理程序、供應(yīng)鏈程序、調(diào)度程序、財務(wù)處理程序、項目協(xié)調(diào)程序、資源分配程序;D.從以下的組中選擇出的至少兩個程序ECG監(jiān)控程序、EEG監(jiān)控程序、生理監(jiān)控程序、病史報告程序、藥物相互作用程序、醫(yī)療專家系統(tǒng)程序、生理監(jiān)控程序的相關(guān)性、醫(yī)療條件警告程序、醫(yī)療條件警報程序、醫(yī)療信息系統(tǒng)程序;E.從以下的組中選擇出的至少兩個程序染色體組數(shù)據(jù)堿基序列顯示程序、局部查找染色體組片斷標(biāo)識計算程序、與已知有機化合物標(biāo)識程序的相關(guān)性、染色體組計算策略比較程序;F.從以下的組中選擇出的至少兩個程序作品編排協(xié)議、管弦樂編曲程序、電影制作管理程序、動畫程序、音響特效程序、視覺特效程序、多媒體播放事件程序、電影編輯程序、音響編輯程序、混音程序、圖像序列混合和排序程序。G.從以下的組中選擇出的至少兩個程序交互式命令控制設(shè)備程序、觀察監(jiān)控程序、狀態(tài)程序的被動查看、警告啟動程序、警報啟動程序;以及H.從任一前述的組中選擇出的第一程序、從任一前述的組中選擇出的第二程序、以及使來自第一程序的數(shù)據(jù)內(nèi)容與來自第二程序的數(shù)據(jù)內(nèi)容相互關(guān)連的第三程序。
7.實質(zhì)上如前所述或所示的虛擬桌面—元-組織和控制系統(tǒng),其特征在于,具有至少一個循環(huán)數(shù)據(jù)結(jié)構(gòu),以及與其相關(guān)聯(lián)的小型-映象模塊和操作系統(tǒng)界面。
全文摘要
一種虛擬桌面—元-組織和控制系統(tǒng),其中具有至少一個動態(tài)的基本循環(huán)的電子數(shù)據(jù)結(jié)構(gòu)的可實時訪問的存儲器媒體(通過分別定期地轉(zhuǎn)變在環(huán)境或其預(yù)定部分中運行的多個進(jìn)程中的每個進(jìn)程的進(jìn)行中的算法動作)與相關(guān)聯(lián)圖形表示相關(guān)聯(lián),并邏輯地將該表示分配到數(shù)據(jù)結(jié)構(gòu)中的某一位置上—從而對該數(shù)據(jù)結(jié)構(gòu),圖形用戶界面便于查看分配給至少一個數(shù)據(jù)結(jié)構(gòu)的表示,并便于組織該至少一個數(shù)據(jù)結(jié)構(gòu)。
文檔編號G06FGK101040249SQ200480021303
公開日2007年9月19日 申請日期2004年6月25日 優(yōu)先權(quán)日2003年6月27日
發(fā)明者I·卡茨, E·帕拉特尼克, G·萊德爾曼 申請人:索夫特斯扣普有限公司