專利名稱:利用虛擬文件夾的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文件系統(tǒng),尤其涉及一種利用虛擬文件夾的系統(tǒng)和方法。
背景技術(shù):
目前的計(jì)算機(jī)文件系統(tǒng)具有若干不合需要的限制。一個(gè)限制是用戶一般不能控制向他們顯示的結(jié)構(gòu)。換言之,當(dāng)組織文件夾時(shí),用戶必需選擇一種結(jié)構(gòu),而隨后該結(jié)構(gòu)就難以改變。舉個(gè)具體例子,對(duì)于“music”(音樂(lè))文件夾,用戶可選擇按照藝術(shù)家/唱片專輯的格式組織音樂(lè)文件,其中每個(gè)藝術(shù)家所有的唱片專輯文件夾都集合到該特定藝術(shù)家的文件夾中,某特定唱片專輯上的所有歌曲都集合到該唱片專輯的文件夾中。藝術(shù)家/唱片專輯的格式是無(wú)助于播放某類音樂(lè)(例如,播放來(lái)自兩個(gè)不同藝術(shù)家的兩首爵士歌曲),或播放來(lái)自不同藝術(shù)家的各張唱片專輯的選集。
另一方面,用戶可能有大量難以組織的文件。某些用戶實(shí)現(xiàn)嚴(yán)格意義的文件放置,因此為其創(chuàng)建嚴(yán)格的分層結(jié)構(gòu)。隨著可用文檔數(shù)量增長(zhǎng),對(duì)此類文件的管理也變得越來(lái)越復(fù)雜和困難,這使得搜索和檢索也很困難。當(dāng)利用諸如共享文件等來(lái)自其它位置的額外文件時(shí),這個(gè)問(wèn)題就更加嚴(yán)重。
用戶還必須處理諸如在不同的設(shè)備上、在其它PC上、或在線等位于不同位置的文件。例如,用戶可選擇聆聽(tīng)他們計(jì)算機(jī)上的音樂(lè)(可由某個(gè)音樂(lè)程序訪問(wèn)),或可聯(lián)機(jī)并聆聽(tīng)來(lái)自Web站點(diǎn)的音樂(lè),但是在這兩個(gè)源之間有嚴(yán)格的區(qū)分。來(lái)自不同位置的音樂(lè)的組織是不同的,并且不以同樣方式或在同一位置存放。另舉一例,存儲(chǔ)在公共網(wǎng)絡(luò)上的文件與用戶在當(dāng)前機(jī)器上所有的文件可能本質(zhì)上就是分離的。
用戶不僅必須跟蹤存儲(chǔ)了哪個(gè)文件數(shù)據(jù),還必須跟蹤它存儲(chǔ)在哪里。例如,對(duì)于音樂(lè)文件,用戶被迫在各個(gè)系統(tǒng)上保存副本,并設(shè)法對(duì)哪些音樂(lè)文件定位在哪里進(jìn)行跟蹤。這會(huì)使文件難以定位,即使是在它們存儲(chǔ)在本地時(shí)。
有時(shí)還難以找到并回到用戶所擁有的文件。用戶可能發(fā)現(xiàn)難以回想起他們將某些文件存儲(chǔ)在哪里,以及怎樣存儲(chǔ)這些文件。給定一組文件夾或甚至一組類似的文件,用戶常常發(fā)現(xiàn)難以迅速找到他們?cè)趯ふ业哪莻€(gè)文件。對(duì)于存儲(chǔ)在難以找到的位置的文件,要對(duì)其進(jìn)行定位更要復(fù)雜得多。此外,一旦用戶在某個(gè)文件夾中有了足夠多的文件,快速分析該文件夾就變得越來(lái)越困難,特別是如果內(nèi)容相似的情況下。
有時(shí)用戶還難以找到并回到網(wǎng)絡(luò)上的文件。共享和發(fā)表文件常常是很難實(shí)行的,而從使這樣一個(gè)文件可用的某人處檢索該文件常常甚至更加困難。用戶通常必須記住或標(biāo)記他們?cè)诰W(wǎng)絡(luò)上尋找文件所需的各種站點(diǎn)和名字。
名字空間可能改變,這使用戶對(duì)什么是“正確的”產(chǎn)生混淆。這在具有不同的命名習(xí)慣、限制等的網(wǎng)絡(luò)上尤其為真。例如,某些操作系統(tǒng)可能要求不帶空格的短名字,以使其可見(jiàn)。
各種程序還常常將文件保存到其本身的目錄中或其它名字空間中,這可能使用戶難以找到回到這些文件的途徑。各種程序常常具有其保存文檔的默認(rèn)目錄和位置。用戶常常不得不搜索其整個(gè)硬盤,并作出關(guān)于某個(gè)文件存儲(chǔ)在哪里的猜測(cè)。
相關(guān)的項(xiàng)目也常常存儲(chǔ)在分開(kāi)的位置。某用戶所擁有的相關(guān)文件可能存儲(chǔ)在硬盤的不同部分,等等。隨著具有多種內(nèi)容類型(例如,圖片、音樂(lè)、視頻)的數(shù)字媒體服務(wù)的發(fā)展,這個(gè)問(wèn)題越來(lái)越普遍。
本發(fā)明旨在提供一種克服前述及其它缺點(diǎn)的系統(tǒng)和方法。更具體而言,本發(fā)明針對(duì)一種利用虛擬文件夾的文件系統(tǒng)。
發(fā)明概述提供了一種利用虛擬文件夾的系統(tǒng)和方法。根據(jù)本發(fā)明的一個(gè)方面,虛擬文件夾基于其元數(shù)據(jù)而不是磁盤上實(shí)際物理底層文件系統(tǒng)結(jié)構(gòu),在不同的視圖中向用戶展示常規(guī)的文件和文件夾(也稱為目錄)。因此,該系統(tǒng)能夠采取存儲(chǔ)在數(shù)據(jù)庫(kù)中的某個(gè)屬性并將其表示為類似于文件夾的容件。因?yàn)橛脩粢呀?jīng)熟悉對(duì)文件夾進(jìn)行操作,所以通過(guò)以類似方式呈現(xiàn)虛擬文件夾,用戶可更快地適應(yīng)于該新系統(tǒng)。
根據(jù)本發(fā)明的另一個(gè)方面,根據(jù)一種在具有顯示和用于存儲(chǔ)項(xiàng)目的存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中使用的方法提供虛擬文件夾。根據(jù)該方法,選擇一種元數(shù)據(jù)屬性。系統(tǒng)隨即搜索具有該被選擇的元數(shù)據(jù)屬性的項(xiàng)目,提供一種表示具有該元數(shù)據(jù)屬性的項(xiàng)目集合的虛擬文件夾顯示對(duì)象。
根據(jù)本發(fā)明的另一個(gè)方面,系統(tǒng)包括從用戶獲得查詢的文件夾處理器和用于存儲(chǔ)關(guān)于項(xiàng)目的信息的關(guān)系型數(shù)據(jù)庫(kù)。文件夾處理器首先從用戶獲得查詢,并將該查詢傳遞給關(guān)系型數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)將結(jié)果返回給文件夾處理器,并且基于來(lái)自關(guān)系型數(shù)據(jù)庫(kù)的結(jié)果,文件夾處理器將該結(jié)果作為虛擬文件夾提供給用戶。在一個(gè)實(shí)施例中,返回給文件夾處理器的結(jié)果包括數(shù)據(jù)庫(kù)行和列。數(shù)據(jù)庫(kù)行和列由文件夾處理器轉(zhuǎn)換為枚舉器結(jié)構(gòu),隨即使用該結(jié)構(gòu)以所得的虛擬文件夾填充顯示。
根據(jù)本發(fā)明的另一個(gè)方面,用戶能夠通過(guò)直接操縱來(lái)對(duì)虛擬文件夾進(jìn)行操作。換言之,所提供的用于操縱虛擬文件夾的機(jī)制類似于那些當(dāng)前用于操縱常規(guī)物理文件夾的機(jī)制(例如,點(diǎn)擊和拖曳、復(fù)制、粘貼、等等)。
根據(jù)本發(fā)明的另一個(gè)方面,在具有顯示和用于存儲(chǔ)項(xiàng)目的存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中提供執(zhí)行虛擬文件夾的直接操縱的方法。根據(jù)該方法,將項(xiàng)目組表示為虛擬文件夾。提供定義的動(dòng)作,可執(zhí)行這些動(dòng)作以直接操縱虛擬文件夾,其中當(dāng)執(zhí)行所定義的動(dòng)作,即如由該定義的動(dòng)作直接操縱虛擬文件夾。定義的動(dòng)作的一個(gè)例子可以是點(diǎn)擊并拖曳虛擬文件夾。在一個(gè)實(shí)施例中,點(diǎn)擊和拖曳第一虛擬文件夾到第二虛擬文件夾的動(dòng)作執(zhí)行將來(lái)自第一虛擬文件夾的項(xiàng)目復(fù)制到第二虛擬文件夾中的功能。將項(xiàng)目復(fù)制到虛擬文件夾中可能涉及添加或者改變與這些項(xiàng)目相關(guān)聯(lián)的所選擇的元數(shù)據(jù)屬性。
根據(jù)本發(fā)明的另一個(gè)方面,提供過(guò)濾器以供操縱虛擬文件夾。過(guò)濾器本質(zhì)上是縮減一組項(xiàng)目的工具。在一個(gè)實(shí)施例中,基于個(gè)別項(xiàng)目的屬性動(dòng)態(tài)地生成過(guò)濾器。例如,對(duì)于一組項(xiàng)目,過(guò)濾器機(jī)制可檢查屬性,如果這些項(xiàng)目通常將“authors”(作者)作為屬性,則過(guò)濾器可提供作者的列表。然后通過(guò)點(diǎn)擊某特定作者,不具有該作者的項(xiàng)目即消失。這允許用戶縮減內(nèi)容。
根據(jù)本發(fā)明的另一個(gè)方面,提供快捷鏈接。在一個(gè)實(shí)施例中,快捷鏈接是一組預(yù)定義的鏈接(例如,位于顯示的左邊),點(diǎn)擊這些鏈接可生成各組項(xiàng)目的有用視圖。這些可由程序預(yù)定義,或由用戶設(shè)置。例如,點(diǎn)擊“all authors”(所有作者)將返回羅列作者的視圖?!癆ll documents”(所有文檔)可返回所有存儲(chǔ)區(qū)域中所有文檔的平面視圖。用戶還可創(chuàng)建自己的快捷鏈接。例如,用戶可以過(guò)濾出所有他們?cè)?003年1月修改過(guò)的文檔,隨即可將此保存為快捷鏈接。
根據(jù)本發(fā)明的另一個(gè)方面,提供各種庫(kù)。庫(kù)由可相互關(guān)聯(lián)的大組可用類型的文件組成。例如,相片可以是一個(gè)庫(kù),音樂(lè)可以是另一個(gè)庫(kù),而文檔可以是又一個(gè)庫(kù)。各個(gè)庫(kù)提供涉及特定類型的項(xiàng)目的工具和行為。例如,在相片庫(kù)中,有涉及操縱相片的工具和過(guò)濾器,諸如用于創(chuàng)建幻燈片或共享圖片的工具等。
根據(jù)本發(fā)明的另一個(gè)方面,可使大范圍的文件或項(xiàng)目可用。換言之,該系統(tǒng)能夠表示來(lái)自多個(gè)物理位置(例如,不同的硬盤驅(qū)動(dòng)器、不同的計(jì)算機(jī)、不同的網(wǎng)絡(luò)位置、等等)的文件/項(xiàng)目,從而對(duì)于用戶來(lái)說(shuō),所有項(xiàng)目看起來(lái)都是來(lái)自一個(gè)位置。例如,可在單個(gè)屏幕上向用戶呈現(xiàn)他們所有的音樂(lè)文件,并且可從一個(gè)視圖操縱所有這些文件,即使物理上這些文件可能存儲(chǔ)在不同的硬盤驅(qū)動(dòng)器、不同的計(jì)算機(jī)、或不同的網(wǎng)絡(luò)位置上。
根據(jù)本發(fā)明的另一個(gè)方面,虛擬文件夾中可表示非文件的項(xiàng)目。換言之,存儲(chǔ)在存儲(chǔ)器中的文件是位于某個(gè)物理存儲(chǔ)器中??墒固摂M文件夾包括當(dāng)前沒(méi)有在物理存儲(chǔ)器中表示的項(xiàng)目。非文件項(xiàng)目的例子有電子郵件和聯(lián)系人。
附圖簡(jiǎn)述當(dāng)通過(guò)結(jié)合附圖參考以下具體描述更好地理解時(shí),將能更容易地理解本發(fā)明前述的各個(gè)方面和伴隨的優(yōu)點(diǎn),其中
圖1是適合實(shí)現(xiàn)本發(fā)明的通用計(jì)算機(jī)系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的虛擬文件夾系統(tǒng)的框圖;圖3所示是一個(gè)例程的流程圖,用戶通過(guò)該例程提供取回所選擇的文件和文件夾的查詢;圖4所示是一個(gè)例程的流程圖,通過(guò)該例程,根據(jù)默認(rèn)查詢或來(lái)自用戶的查詢構(gòu)造虛擬文件夾并將其顯示在屏幕上;圖5是根據(jù)硬盤驅(qū)動(dòng)器上的物理文件夾排列的文件夾結(jié)構(gòu)樹狀圖;圖6是虛擬文件夾結(jié)構(gòu)的樹狀圖;圖7是圖6的虛擬文件夾結(jié)構(gòu)的樹狀圖,其中client(客戶)棧由contracts(合同)和year(年)進(jìn)一步過(guò)濾;圖8是圖7的虛擬文件夾結(jié)構(gòu)的樹狀圖,其中client(客戶)棧的contracts(合同)由year(年)進(jìn)一步過(guò)濾;圖9是圖6的虛擬文件夾結(jié)構(gòu)的樹狀圖,其中contracts(合同)棧由client(客戶)和year(年)進(jìn)一步過(guò)濾,其client(客戶)又由year(年)進(jìn)一步過(guò)濾;圖10所示是顯示文檔庫(kù)的棧的屏幕顯示;
圖11所示是顯示圖10的ABC Corp.(ABC公司)棧中的文檔的屏幕顯示;圖12所示是為圖11中的文檔選擇堆棧功能的屏幕顯示;圖13所示是為圖12的堆棧功能選擇“stack by author”(按作者堆棧)參數(shù)的屏幕顯示;圖14所示是圖13的文件按作者堆棧的屏幕顯示;圖15所示是選擇堆棧功能,并進(jìn)一步選擇“stack by category”(按類別堆棧)以對(duì)圖14的文件進(jìn)行重新堆棧的屏幕顯示;圖16所示是圖14的文件按類別重新堆棧的屏幕顯示;圖17所示是選擇顯示物理文件夾的快捷鏈接的屏幕顯示;圖18所示是示出包含圖17各個(gè)虛擬文件夾棧的文件的物理文件夾的屏幕顯示;圖19示出一種例程的流程圖,通過(guò)該例程用戶可直接操縱虛擬文件夾;圖20所示是新的“West Coast”(西海岸)棧被添加到圖10的棧中的屏幕顯示;圖21所示是用直接操縱將文件從“ABC Corp.”棧復(fù)制到圖20的“West Coast”棧的屏幕顯示;圖22所示是一種使系統(tǒng)動(dòng)態(tài)生成新的過(guò)濾器術(shù)語(yǔ)的例程的流程圖;圖23所示是一種使系統(tǒng)基于對(duì)過(guò)濾器術(shù)語(yǔ)的選擇來(lái)過(guò)濾項(xiàng)目的例程的流程圖;圖24所示是圖10的各個(gè)棧由術(shù)語(yǔ)“AB”過(guò)濾的屏幕顯示;圖25所示是圖10的各個(gè)棧由術(shù)語(yǔ)“ABC”過(guò)濾的屏幕顯示;圖26所示是為圖10的各個(gè)棧選擇了過(guò)濾器術(shù)語(yǔ)“year 2002”(年份2002)的屏幕顯示;圖27所示是用“year 2002”過(guò)濾了圖10的各個(gè)棧、并進(jìn)一步選擇了過(guò)濾器術(shù)語(yǔ)“month”(月)的屏幕顯示;圖28所示是呈現(xiàn)列表供選擇一個(gè)月份進(jìn)行過(guò)濾的屏幕顯示;圖29所示是圖10的各個(gè)棧進(jìn)一步由一月份過(guò)濾、并進(jìn)一步顯示過(guò)濾器術(shù)語(yǔ)“day”(日)的屏幕顯示;圖30所示是一個(gè)創(chuàng)建新的快捷鏈接的例程的流程圖;圖31所示是基于圖29的過(guò)濾來(lái)創(chuàng)建稱為“January Work”(一月份的工作)的新的快捷鏈接的屏幕顯示
圖32所示是選擇了“All Authors”(所有作者)的快捷鏈接的屏幕顯示;圖33所示是呈現(xiàn)了圖32的所有作者的列表的屏幕顯示;圖34所示是從圖33的列表選擇了“Author 1”(作家1)并且顯示了作家1的所有文檔的屏幕顯示;圖35所示是一種創(chuàng)建新庫(kù)的例程的流程圖;圖36所示是示出各種可用庫(kù)的集合的屏幕顯示;圖37所示是一種用于定義虛擬文件夾集合范圍的例程的流程圖;圖38所示是可構(gòu)成虛擬文件夾集合的范圍的各種源的框圖;圖39所示是一種用于將非文件項(xiàng)目包括到虛擬文件夾集合中的例程的流程圖;圖40所示是顯示包括在虛擬文件夾中的各種非文件項(xiàng)目的屏幕顯示。
較佳實(shí)施例的具體描述本發(fā)明針對(duì)虛擬文件夾。虛擬文件夾利用與當(dāng)前用于文件系統(tǒng)的相同或類似的用戶界面。虛擬文件夾基于其元數(shù)據(jù)而不是磁盤上實(shí)際物理底層文件系統(tǒng)結(jié)構(gòu),在不同的視圖中向用戶展示常規(guī)的文件和文件夾(也稱為目錄)。創(chuàng)建獨(dú)立于位置的視圖,它們?cè)试S用戶利用與當(dāng)前用于管理文件系統(tǒng)的控件相似的控件來(lái)操縱他們的文件和文件夾。一般而言,這意味著用戶能夠基于文件本身的固有屬性來(lái)組織和重新排列他們的文件,而不是將管理和組織作為系統(tǒng)的一個(gè)單獨(dú)部分來(lái)完成。虛擬文件夾可以表示來(lái)自不同物理位置的文件或項(xiàng)目,諸如來(lái)自同一個(gè)計(jì)算機(jī)內(nèi)的多個(gè)磁盤驅(qū)動(dòng)器、多個(gè)計(jì)算機(jī)、或不同的網(wǎng)絡(luò)位置,從而一個(gè)文件或項(xiàng)目的視圖能夠顯示位于不同物理位置的文件或項(xiàng)目。在一個(gè)實(shí)施例中,這些不同的項(xiàng)目或文件僅需經(jīng)由IP網(wǎng)絡(luò)鏈接即可被包括。
虛擬文件夾建模還可用于傳統(tǒng)的非文件實(shí)體。這樣一個(gè)應(yīng)用程序要具有一組類似于文件和文件夾(即,對(duì)象和容件)的用戶界面以顯示傳統(tǒng)的非文件實(shí)體。此類非文件實(shí)體的一個(gè)例子是電子郵件,另一個(gè)例子是來(lái)自聯(lián)系人數(shù)據(jù)庫(kù)的聯(lián)系人信息。以此方式,虛擬文件夾提供一種不管所示數(shù)據(jù)是來(lái)自文件或是非文件實(shí)體而運(yùn)作的獨(dú)立于位置、基于元數(shù)據(jù)的視圖系統(tǒng)。一般而言,這些方面同時(shí)使用兩種普通用戶界面技術(shù)(拖放、雙擊、等等),還提升了各種數(shù)據(jù)類型的豐富集成,從而在允許在用戶操縱其文件和數(shù)據(jù)方面有更大的靈活性。
圖1及以下討論旨在提供可實(shí)現(xiàn)本發(fā)明的合適計(jì)算環(huán)境的簡(jiǎn)要、一般的描述。將在個(gè)人計(jì)算機(jī)上執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述本發(fā)明,盡管這并非必需。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、字符、組件、數(shù)據(jù)結(jié)構(gòu)、等等。如本領(lǐng)域技術(shù)人員可以理解,可以在其它計(jì)算機(jī)系統(tǒng)配置中實(shí)施本發(fā)明,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、等等。本發(fā)明還可在分布式計(jì)算環(huán)境中實(shí)施,其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,各程序模塊可同時(shí)位于本地和遠(yuǎn)程記憶存儲(chǔ)設(shè)備兩者中。
參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括常規(guī)個(gè)人計(jì)算機(jī)20形式的通用計(jì)算設(shè)備,它包括處理單元21、系統(tǒng)存儲(chǔ)器22、和將包括系統(tǒng)存儲(chǔ)器22在內(nèi)的各種系統(tǒng)組件耦合到處理單元21的系統(tǒng)總線23。系統(tǒng)總線23可以是若干種總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、和使用各種總線體系結(jié)構(gòu)中的任何一種的局部總線。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)24和隨機(jī)存取存儲(chǔ)器(RAM)25。包含在諸如啟動(dòng)期間幫助在個(gè)人計(jì)算機(jī)20內(nèi)部的各個(gè)元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)26存儲(chǔ)在ROM 24中。個(gè)人計(jì)算機(jī)20還包括用于讀或?qū)懹脖P39的硬盤驅(qū)動(dòng)器27、用于讀或?qū)懣梢苿?dòng)磁盤29的磁盤驅(qū)動(dòng)器28、以及讀或?qū)懼T如CD-ROM或其它光介質(zhì)等可移動(dòng)光盤31的光盤驅(qū)動(dòng)器30。硬盤驅(qū)動(dòng)器27、磁盤驅(qū)動(dòng)器28以及光盤驅(qū)動(dòng)器30分別由硬盤驅(qū)動(dòng)器接口32、磁盤驅(qū)動(dòng)器接口33以及光盤驅(qū)動(dòng)器接口34連接到系統(tǒng)總線23。這些驅(qū)動(dòng)器和相關(guān)的計(jì)算機(jī)可讀介質(zhì)為個(gè)人計(jì)算機(jī)20提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的非易失性存儲(chǔ)。盡管本文所描述的示例環(huán)境使用磁硬盤39、可移動(dòng)磁盤29和可移動(dòng)光盤31,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可在示例性操作環(huán)境中使用可存儲(chǔ)計(jì)算機(jī)可訪問(wèn)的數(shù)據(jù)的其它類型的計(jì)算機(jī)可讀介質(zhì),諸如磁帶盒、閃存卡、數(shù)字視頻盤、貝努利盒式磁帶、隨機(jī)存取存儲(chǔ)器(RAMs)、只讀存儲(chǔ)器(ROMs)等等。
若干程序模塊可存儲(chǔ)在硬盤39、磁盤29、光盤31、ROM 24或RAM 25中,包括操作系統(tǒng)35、一個(gè)或多個(gè)應(yīng)用程序36、其它程序模塊37以及程序數(shù)據(jù)38。用戶可以通過(guò)諸如鍵盤40和定位設(shè)備42的輸入設(shè)備將命令和信息輸入到個(gè)人計(jì)算機(jī)20。其它輸入設(shè)備(未圖示)可包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等。這些及其它輸入設(shè)備常常通過(guò)耦合到系統(tǒng)總線23的串行端口46連接到處理單元21,但也可由諸如并行端口、游戲接口、通用串行總線(USB)等其它接口連接。監(jiān)視器47形式的顯示器也經(jīng)由諸如視頻卡或適配器48等接口連接到系統(tǒng)總線23。一個(gè)或多個(gè)揚(yáng)聲器57也可經(jīng)由諸如音頻適配器56等接口連接到系統(tǒng)總線23。除了顯示器和揚(yáng)聲器之外,個(gè)人計(jì)算機(jī)通常包括諸如打印機(jī)等其它外圍輸出設(shè)備(未圖示)。
個(gè)人計(jì)算機(jī)20可使用到諸如遠(yuǎn)程計(jì)算機(jī)49等一個(gè)或多個(gè)個(gè)人計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)49可以是另一個(gè)個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括以上相對(duì)于個(gè)人計(jì)算機(jī)20所描述的許多或全部元件。圖1中所示的邏輯連接包括局域網(wǎng)(LAN)51和廣域網(wǎng)(WAN)52。此類網(wǎng)絡(luò)環(huán)境常見(jiàn)于辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境中時(shí),個(gè)人計(jì)算機(jī)20通過(guò)網(wǎng)絡(luò)接口或適配器53連到局域網(wǎng)51。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中時(shí),個(gè)人計(jì)算機(jī)20通常包括調(diào)制解調(diào)器54或用于通過(guò)諸如因特網(wǎng)等廣域網(wǎng)52建立通信的其它裝置。可以是內(nèi)置或外置的調(diào)制解調(diào)器54可經(jīng)由串行端口接口46連到系統(tǒng)總線23。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于個(gè)人計(jì)算機(jī)20所描繪的程序模塊或其部分可存儲(chǔ)在遠(yuǎn)程記憶存儲(chǔ)設(shè)備中。應(yīng)當(dāng)理解,所示網(wǎng)絡(luò)連接是示例性的,且可使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。
如在圖1中所示類型的系統(tǒng)上所實(shí)現(xiàn)的,本發(fā)明利用虛擬文件夾,它使用戶較易執(zhí)行以文件操縱和文件夾導(dǎo)航(瀏覽)為中心的基本任務(wù),并提供可在新特征中影響的較高級(jí)別的存儲(chǔ)性能。該虛擬文件夾基于其元數(shù)據(jù)而不是磁盤上實(shí)際物理底層文件系統(tǒng)結(jié)構(gòu),在不同的視圖中向用戶展示文件和項(xiàng)目。
圖2根據(jù)本發(fā)明示出虛擬文件夾系統(tǒng)200的框圖。如將在下文詳細(xì)描述,虛擬文件夾允許用戶改變控制查看數(shù)據(jù)的方式的“樞紐”(pivot)。舉例來(lái)說(shuō),用戶能以所有歌曲的平面列表的形式查看他們的音樂(lè),而這些歌曲可按唱片專輯分組。替換地,用戶可將視圖切換成僅顯示風(fēng)格或藝術(shù)家或年份等等。用戶可定制視圖,從而僅看到與手頭的任務(wù)合適的對(duì)象。這允許改良的瀏覽體驗(yàn),無(wú)需進(jìn)一步瀏覽所有文件夾(向下或返回上層)。同樣的經(jīng)驗(yàn)和性能適用于對(duì)并非作為文件存儲(chǔ)的其它數(shù)據(jù)類型進(jìn)行建模。例如,可以此方式向用戶展示聯(lián)系人,賦予其常見(jiàn)的界面性能、以及比平面地址簿所提供更豐富的基礎(chǔ)結(jié)構(gòu),用以對(duì)其進(jìn)行操縱。
如圖2中所示,虛擬文件夾系統(tǒng)200包括文件夾處理器210、關(guān)系型數(shù)據(jù)庫(kù)230、虛擬文件夾描述數(shù)據(jù)庫(kù)232、其它外殼文件夾組件234、文件夾處理器組件236、和外殼瀏覽器和視圖組件240。文件夾處理器210包括本地處理代碼組件212、處理器工廠組件214、屬性編寫器組件216、行組解析器組件218、查詢構(gòu)造器組件220、枚舉器組件222和屬性工廠組件224。
關(guān)系型數(shù)據(jù)庫(kù)230存儲(chǔ)關(guān)于該系統(tǒng)中所有文件的屬性。它還完整地存儲(chǔ)某些項(xiàng)目,如聯(lián)系人(即,非文件項(xiàng)目)。一般而言,它存儲(chǔ)關(guān)于其所包含的文件和項(xiàng)目的類型的元數(shù)據(jù)。關(guān)系型數(shù)據(jù)庫(kù)230從查詢構(gòu)造器220接收SQL查詢。關(guān)系型數(shù)據(jù)庫(kù)230還向行組解析器組件218發(fā)送SQL行組,其中每個(gè)項(xiàng)目列有一行,列是項(xiàng)目的屬性。
虛擬文件夾描述數(shù)據(jù)庫(kù)232包括虛擬文件夾的描述。虛擬文件夾描述數(shù)據(jù)庫(kù)232向查詢構(gòu)造器組件220發(fā)送數(shù)據(jù),包括要在文件夾中顯示的類型的列表、初始過(guò)濾器和顯示結(jié)果來(lái)源的物理位置(范圍)。
關(guān)于其它外殼文件夾組件234,文件夾處理器210將處理器或?qū)傩晕薪o來(lái)自許多類型的項(xiàng)目的現(xiàn)有外殼文件夾,包括所有文件。其它外殼文件夾組件234將來(lái)自其它文件夾的屬性發(fā)送給屬性工廠224。其它外殼文件夾組件還將處理器發(fā)送給處理器工廠214。
文件夾處理器組件236為如聯(lián)系人等僅存在于數(shù)據(jù)庫(kù)中的項(xiàng)目提供代碼行為。這就是允許非文件項(xiàng)目表現(xiàn)得類似于文件的方法。文件夾處理器組件236將處理器發(fā)送到處理器工廠214。
對(duì)于本地處理代碼組件212,文件夾處理器210基于項(xiàng)目的屬性直接實(shí)現(xiàn)某些處理器。本地處理代碼組件212將處理器發(fā)送到處理器工廠214。對(duì)于本地處理代碼組件212和文件夾處理器組件236,與所有名字空間一樣,虛擬文件夾必須為它們的項(xiàng)目提供一組處理器(上下文菜單、圖標(biāo)、縮略圖、消息提示、……)。對(duì)于處理器中的大部分(信息提示、數(shù)據(jù)對(duì)象、拖放處理器、背景上下文菜單……),虛擬文件夾為其所持有的所有類型提供一種公共(本地)處理器。但是還存在其它類型,其作者必須提供(對(duì)項(xiàng)目本身的上下文菜單、可寫屬性存儲(chǔ)、……)。默認(rèn)處理器還可被覆蓋。虛擬文件夾為文件重復(fù)使用此機(jī)制,并允許非文件項(xiàng)目也這樣做。
處理器工廠214取ID列表并生成提供上下文菜單、圖標(biāo)等的代碼行為。一般而言,文件夾處理器210可使用本地處理器、外部處理器、或指派其它外殼文件夾來(lái)獲取處理器,如以上關(guān)于本地處理代碼組件212、其它外殼文件夾組件234和文件夾處理器組件236所述。處理器工廠組件214如視圖所要求地將處理器發(fā)送到視圖240中的外殼瀏覽器。處理器工廠組件214將屬性處理器發(fā)送到屬性編寫器216。
屬性編寫器將諸如剪切、復(fù)制和粘貼等用戶目的轉(zhuǎn)換成對(duì)文件或項(xiàng)目的屬性權(quán)利。外殼瀏覽器和視圖組件240將包括直接操縱(剪切/復(fù)制/粘貼)或?qū)υ獢?shù)據(jù)的編輯在內(nèi)的數(shù)據(jù)發(fā)送到屬性編寫器216。一般而言,因?yàn)樘摂M文件夾基于項(xiàng)目的屬性來(lái)呈現(xiàn)組織,所以諸如移動(dòng)和復(fù)制(拖放)等操作成為對(duì)那些屬性的編輯。例如,在按作者堆棧的視圖中將文檔從作者1移到作者2意味著改變作者。屬性編寫器組件216實(shí)現(xiàn)此功能。
行組解析器218取數(shù)據(jù)庫(kù)行組并將所有項(xiàng)目屬性存儲(chǔ)到外殼ID列表結(jié)構(gòu)中。行組取虛擬文件夾的分段定義,并構(gòu)造隨即可發(fā)給數(shù)據(jù)庫(kù)的SQL串。行組解析器組件218將ID列表發(fā)送到枚舉組件222。如上所述,行組解析器組件218還從關(guān)系型數(shù)據(jù)庫(kù)230接收包括SQL行組在內(nèi)的數(shù)據(jù),其中每個(gè)項(xiàng)目有一行,列是項(xiàng)目的屬性。
查詢構(gòu)造器組件220構(gòu)造SQL查詢。查詢構(gòu)造器組件220從枚舉組件222接收包括來(lái)自導(dǎo)航的新的過(guò)濾器的數(shù)據(jù)。查詢構(gòu)造器組件220還從虛擬文件夾描述數(shù)據(jù)庫(kù)232接收包括要在文件夾中顯示的類型的列表、初始過(guò)濾器和顯示結(jié)果來(lái)源的物理位置(范圍)在內(nèi)的數(shù)據(jù)。查詢構(gòu)造器組件220將SQL查詢發(fā)送到關(guān)系型數(shù)據(jù)庫(kù)230。
一般而言,查詢構(gòu)造器組件220包括一組行(換言之即一個(gè)表)。這就是運(yùn)行查詢所產(chǎn)生的結(jié)果。行組解析器組件218取每一行并用列名將該行轉(zhuǎn)換成ID列表。ID列表是公知的外殼結(jié)構(gòu),它用于在名字空間中引用項(xiàng)目。這樣做允許虛擬文件夾對(duì)外殼的其余部分來(lái)說(shuō)就像是任何其它名字空間一樣。高速緩存此數(shù)據(jù)還有助于將成本可能很高的數(shù)據(jù)庫(kù)訪問(wèn)保持最少。
枚舉器組件222響應(yīng)于對(duì)虛擬文件夾的導(dǎo)航而進(jìn)行操作。如上所述,枚舉器組件222從行組解析器組件218接收ID列表,并將來(lái)自導(dǎo)航的新過(guò)濾器發(fā)送到查詢構(gòu)造器組件220。枚舉器222還將數(shù)據(jù)發(fā)送到外殼瀏覽器和視圖組件240,其中包括在導(dǎo)航之后返回成插入到視圖中的ID列表。
屬性工廠組件224取ID列表和屬性標(biāo)識(shí)符,并為那些屬性返回值。屬性工廠組件224從處理器工廠組件214接收包括屬性處理器在內(nèi)的數(shù)據(jù)。如上所述,屬性工廠組件224還從其它外殼文件夾組件234接收包括來(lái)自其它文件夾屬性在內(nèi)的數(shù)據(jù)。屬性工廠組件224還如視圖所要求,將包括項(xiàng)目屬性在內(nèi)的數(shù)據(jù)發(fā)送到外殼瀏覽器和視圖組件240。
外殼瀏覽器和視圖組件240在窗口中顯示文件夾的內(nèi)容,并處理所有用戶與所顯示的文件或項(xiàng)目的交互,諸如點(diǎn)擊、拖曳和導(dǎo)航。因此,外殼瀏覽器和視圖組件240接收用戶動(dòng)作。外殼瀏覽器和視圖組件240還從文件夾獲取關(guān)于其所需的代碼行為的數(shù)據(jù),在此例中為文件夾處理器210。
如上所述,虛擬文件夾基于其元數(shù)據(jù)而不是磁盤上實(shí)際物理底層文件系統(tǒng)結(jié)構(gòu),在不同的視圖中向用戶展示常規(guī)的文件和文件夾(也稱為目錄)。因此,系統(tǒng)能夠取某個(gè)存儲(chǔ)在數(shù)據(jù)庫(kù)中的屬性,并將其表示為類似于文件夾的容件。因?yàn)橛脩粢呀?jīng)熟悉對(duì)文件夾進(jìn)行操作,所以通過(guò)以類似方式呈現(xiàn)虛擬文件夾,用戶可更快地適應(yīng)于該新系統(tǒng)。
圖3所示是一個(gè)例程300的流程圖,用戶通過(guò)該例程提供取回所選擇的項(xiàng)目的查詢。在框302,文件夾處理器從用戶獲取查詢。在框304,文件夾處理器將查詢傳遞給關(guān)系型數(shù)據(jù)庫(kù)。在框306,關(guān)系型數(shù)據(jù)庫(kù)將結(jié)果返回給文件夾處理器。在框308,文件夾處理器將結(jié)果以虛擬文件夾和項(xiàng)目的形式提供給用戶。
圖4所示是一個(gè)例程320的流程圖,通過(guò)該例程,根據(jù)默認(rèn)查詢或來(lái)自用戶的查詢構(gòu)造虛擬文件夾并將其顯示在屏幕上。在框322,當(dāng)用戶起初打開(kāi)虛擬文件夾時(shí),使用默認(rèn)的查詢。此默認(rèn)查詢是從注冊(cè)表取得的。例如,對(duì)某個(gè)音樂(lè)庫(kù)的默認(rèn)查詢可為顯示按唱片專輯分組的所有歌曲。在框324,文件夾處理器為此查詢構(gòu)造查詢對(duì)象,并隨即將此查詢傳遞給關(guān)系型數(shù)據(jù)庫(kù)。在框326,關(guān)系型數(shù)據(jù)庫(kù)生成查詢的結(jié)果,并將這些結(jié)果以數(shù)據(jù)庫(kù)行和列的形式返回給文件夾處理器。
在框328,文件夾處理器取這些結(jié)果并將其從數(shù)據(jù)行和列轉(zhuǎn)換成枚舉結(jié)構(gòu),文件夾使用該枚舉結(jié)構(gòu),用所得的虛擬文件夾和項(xiàng)目填充屏幕,以供用戶與其交互。在判定框330,用戶決定是否要改變視圖(通過(guò)發(fā)布不同的查詢或“樞紐”)。例如,用戶可發(fā)布“show all artists”(顯示所有藝術(shù)家)的樞紐。如果用戶不想改變視圖,那么該例程返回框324,文件夾處理器將此新查詢傳遞給關(guān)系型數(shù)據(jù)庫(kù),并收回新的結(jié)果行和列,并構(gòu)造新的枚舉結(jié)構(gòu)。該過(guò)程隨后如上述繼續(xù)前進(jìn),當(dāng)文件夾視圖清除并更新時(shí),使用枚舉器將“artist”(藝術(shù)家)對(duì)象畫到屏幕上。
在一個(gè)例子中,提供表示用戶可定位的容件的唱片專輯對(duì)象。例如,雙擊“Beatles”唱片專輯會(huì)將視圖導(dǎo)航為看到所有Beatles的歌曲。文件夾處理器向關(guān)系型數(shù)據(jù)庫(kù)發(fā)布“show all Beatles’songs”(顯示所有Beatles的歌曲)的查詢,關(guān)系型數(shù)據(jù)庫(kù)為那些歌曲返回?cái)?shù)據(jù)行和列。文件夾處理器創(chuàng)建所有這些歌曲的枚舉器,隨即該枚舉器被畫到屏幕上。
當(dāng)瀏覽虛擬文件夾時(shí),用戶還可在任何點(diǎn)選擇視圖。從上例中,在縮小至僅顯示Beatles歌曲之后,用戶可將視圖改變成僅顯示歌曲作為唱片專輯。將項(xiàng)目的視圖改變成另一個(gè)表示的過(guò)程稱為“堆?!?。這是因?yàn)轫?xiàng)目在概念上排列成基于該表示的“棧”。在此例中,歌曲被重新排列到各個(gè)唱片專輯中的每一個(gè)的棧中。用戶隨即可定位這些棧之一,僅看到來(lái)自該特定唱片專輯的歌曲。同樣,用戶可將這些其余歌曲的視圖重新排列成基于某個(gè)屬性(例如,評(píng)分)的棧中。如果選擇了評(píng)分的屬性,則可在一星、二星、三星評(píng)分的棧中顯示來(lái)自該Beatles唱片專輯的歌曲。
每個(gè)查詢的結(jié)果取決于范圍中包括的那些物理位置。例如,可使范圍僅包括用戶的“my documents”(我的文檔)文件夾中的文件夾。替換地,范圍可包括計(jì)算機(jī)上的所有文件夾,或甚至多個(gè)網(wǎng)絡(luò)連接的計(jì)算機(jī)上的所有文件夾。用戶能夠通過(guò)范圍屬性表單查看并改變范圍。在一個(gè)例子中,可通過(guò)右擊虛擬文件夾并選擇“properties”(屬性)來(lái)展示范圍屬性表單。用戶可將新文件夾添加到范圍中,或移除先前所添加的文件夾。
虛擬文件夾將提供特定實(shí)用程序的一組用戶是知識(shí)的作者。虛擬文件夾允許知識(shí)的作者在按文件類型、項(xiàng)目、案例號(hào)、作者等查看文檔之間容易地切換。因?yàn)槊總€(gè)知識(shí)的作者都傾向于有不同的組織文檔的方法,所以虛擬文件夾可用于適應(yīng)這些不同的偏好。
圖5是根據(jù)硬盤驅(qū)動(dòng)器上的物理文件夾排列的文件夾結(jié)構(gòu)樹狀圖。此物理文件夾的排列是基于文件夾的傳統(tǒng)實(shí)現(xiàn),它可能基于NTFS或其它現(xiàn)有文件系統(tǒng)。此類文件夾稱為物理文件夾,因?yàn)樗鼈兊臉?gòu)成是基于磁盤上實(shí)際的物理底層文件系統(tǒng)結(jié)構(gòu)。如以下將詳述,這與虛擬文件夾形成對(duì)比,后者創(chuàng)建獨(dú)立于位置的視圖,允許用戶以類似于當(dāng)前用于操縱物理文件夾的方式來(lái)操縱文件和文件夾。
如圖5中所示,文件夾400是“my documents”(我的文檔)文件夾。在第一級(jí),文件夾400包括分別對(duì)應(yīng)于Client(客戶)1、2和3的文件夾410、420和430。在第二級(jí),文件夾410、420和430中的每一個(gè)分別包含各自對(duì)應(yīng)于所選客戶的合同的文件夾411、421和431。在第三級(jí),文件夾411、421和431分別包含各自對(duì)應(yīng)于2001年的文件夾412、422和432。在第三級(jí),文件夾411、421和431還分別包含各自對(duì)應(yīng)于2002年的文件夾413、423和433。
可以理解,對(duì)于希望定位諸如圖5中所示的物理文件夾文件結(jié)構(gòu)的用戶來(lái)說(shuō)面前有若干障礙。例如,如果用戶希望對(duì)該用戶所生成的所有合同進(jìn)行操作,該用戶首先需要導(dǎo)航到文件夾411以對(duì)客戶1的合同進(jìn)行操作,隨后將重新導(dǎo)航到文件夾421以到達(dá)客戶2的合同,并將為客戶3的合同,再次不得不重新導(dǎo)航到文件夾431。此排列使用戶難以訪問(wèn)所有的合同,一般而言還阻止同時(shí)查看和操縱所有這些合同。類似地,如果用戶希望查看所有在2001年中生成的合同,該用戶將不得不分別導(dǎo)航及重新導(dǎo)航到文件夾412、422和432。如以下將具體描述,本發(fā)明的虛擬文件夾提供一種改良的文件系統(tǒng)結(jié)構(gòu)。
圖6是虛擬文件夾結(jié)構(gòu)的樹狀圖。如以下將具體描述,虛擬文件夾創(chuàng)建允許用戶以便利的方式操縱他們的文件和文件夾的獨(dú)立于位置的視圖。如圖6中所示,虛擬文件夾以棧的形式表示。虛擬文件夾500是“all items”(所有項(xiàng)目)文件夾。在第一級(jí),虛擬文件夾500包含分別對(duì)應(yīng)于客戶、合同和年份的虛擬文件夾510、520和530。如以下將具體描述,此結(jié)構(gòu)允許用戶根據(jù)合乎需要的參數(shù)訪問(wèn)文件。
圖7是圖6的虛擬文件夾結(jié)構(gòu)的樹狀圖,其中在第二級(jí),虛擬文件夾510還包括分別對(duì)應(yīng)于合同和年份的虛擬文件夾511和512。換言之,虛擬文件夾510的客戶棧進(jìn)一步由合同和年份過(guò)濾。判定每個(gè)虛擬文件夾中包含哪些文件和項(xiàng)目的過(guò)程將在以下具體描述。
圖8是圖7的虛擬文件夾結(jié)構(gòu)的樹狀圖,其中在第三級(jí),虛擬文件夾511包含對(duì)應(yīng)于年份的虛擬文件夾513。換言之,虛擬文件夾511的合同棧進(jìn)一步由年份過(guò)濾。盡管虛擬文件夾510、511和513的虛擬文件夾結(jié)構(gòu)是根據(jù)客戶、合同和年份構(gòu)造的,可以理解虛擬文件夾允許發(fā)生其它構(gòu)造序列,如以下將參考圖9詳細(xì)描述。
圖9是圖6的虛擬文件夾結(jié)構(gòu)的樹狀圖,其中在第二級(jí),虛擬文件夾520被進(jìn)一步過(guò)濾成對(duì)應(yīng)于客戶和年份的虛擬文件夾521和522。在第三級(jí),虛擬文件夾521被進(jìn)一步過(guò)濾成對(duì)應(yīng)于某個(gè)年份的虛擬文件夾523。圖8和圖9的組織結(jié)構(gòu)之間的對(duì)比幫助說(shuō)明虛擬文件夾系統(tǒng)的靈活性。換言之,在虛擬文件夾系統(tǒng)中,用戶能夠根據(jù)合乎需要的參數(shù)來(lái)導(dǎo)航虛擬文件夾,而不是依賴于諸如圖5中所示等物理文件結(jié)構(gòu)依賴于位置的視圖。
圖10所示是顯示文檔庫(kù)的棧的屏幕顯示600。如上面所提及,??捎糜诒硎疽活愄摂M文件夾。如以下將具體描述,屏幕顯示600包括快捷連接元素610-613、過(guò)濾器元素620-626、行為元素630-633、信息和控件元素640-645、和虛擬文件夾棧651-655。
快捷連接元素包括“all categories”(所有類別)快捷連接610、“all authors”(所有作者)快捷連接611、“January work”(一月份的工作)快捷連接612、和顯示其它快捷連接613的選項(xiàng)。如以下將具體描述,用戶可選擇快捷連接以對(duì)虛擬文件夾執(zhí)行合乎需要的導(dǎo)航。快捷連接可由系統(tǒng)提供,某些快捷連接可由用戶創(chuàng)建和保存。
過(guò)濾器元素包括“filter by”(按……過(guò)濾)指示符620、輸入空格621、“bydate”(按日期)指示符622、“year”(年份)選擇器623、“pick an author”(選取作者)選擇器624、“pick a category”(選取類別)選擇器625、和“more filters”(更多過(guò)濾器)選擇器626?!癴ilter by”(按……過(guò)濾)指示符620使用戶知道以下項(xiàng)目可用來(lái)過(guò)濾虛擬文件夾或項(xiàng)目。輸入空格621提供用戶可輸入合乎需要的新過(guò)濾器術(shù)語(yǔ)的區(qū)域?!癰y date”指示符622使用戶知道通過(guò)從“year”選擇器623選擇某個(gè)日期,虛擬文件夾或項(xiàng)目可由所選擇的年份過(guò)濾?!皃ick an author”選擇器624允許用戶根據(jù)特定作者進(jìn)行過(guò)濾?!皃ick a categou”選擇器625允許用戶根據(jù)所選擇的類別進(jìn)行過(guò)濾?!癿ore filters”選擇器626允許用戶在顯示上拖出其它過(guò)濾器。
行為選擇器包括“create a new category”(創(chuàng)建一個(gè)新類別)選擇器630、“activity”(行為)選擇器631和632、和“more activities”(更多行為)選擇器633。如以下將具體描述,所呈現(xiàn)的行為可以是關(guān)于一般合乎需要的功能,或可以更具體地針對(duì)于對(duì)當(dāng)前所顯示的類型的虛擬文件夾有用的行為。例如,用戶可選擇“create a new category”選擇器630以創(chuàng)建由新的棧所表示的新的類別。
如以上所提及,行為選擇器631和632可以更具體地針對(duì)正顯示的類型的文件夾或項(xiàng)目。例如,當(dāng)前顯示是關(guān)于文檔庫(kù),則“activity”選擇器631和632可為此而針對(duì)于特地為文檔所定制的行為,諸如編輯或創(chuàng)建附件。如果當(dāng)前庫(kù)是相片庫(kù),則“activity”選擇器631和632可用于特地針對(duì)于相片的動(dòng)作,諸如構(gòu)成相簿或與其他用戶共享相片。
信息和控件元素包括信息行640和641、控件行642、退格控件643、和信息行644和645。信息行640和641提供關(guān)于當(dāng)前對(duì)虛擬文件夾或項(xiàng)目的導(dǎo)航的信息。在本例中,信息行640指示當(dāng)前是對(duì)某文檔庫(kù)進(jìn)行導(dǎo)航,而信息行641指示更完全的導(dǎo)航,顯示該文檔庫(kù)是在存儲(chǔ)區(qū)域內(nèi)部。控件行642提供若干標(biāo)準(zhǔn)控制,而退格按鍵643允許用戶在導(dǎo)航中倒退。信息行644提供關(guān)于本次導(dǎo)航的內(nèi)容的數(shù)字信息。在本例中,信息行644指示在該文檔庫(kù)的棧中有共占100兆字節(jié)的41個(gè)項(xiàng)目。信息行645可用于提供其他信息,諸如關(guān)于所選擇的文件的附加信息。
該文檔庫(kù)的棧包括“ABC Corp.”棧651、“backups”棧652、“business plans”棧653、“XYZ Corp.”棧654、和“marketing reports”棧655。每個(gè)棧頂部的數(shù)字指示在每個(gè)棧中有多少個(gè)項(xiàng)目。例如,“ABC Corp.”棧651顯示為包括8個(gè)項(xiàng)目。各個(gè)棧的項(xiàng)目總數(shù)累積為信息行644中所指示的項(xiàng)目數(shù),在本例中如上述為41。提供了選擇框SB,用戶可用它來(lái)選擇合乎需要的項(xiàng)目。對(duì)“ABC Corp.”棧651的選擇產(chǎn)生該棧項(xiàng)目的視圖,如以下關(guān)于圖11所述。
圖11所示是顯示圖10的“ABC Corp.”棧651中的項(xiàng)目的屏幕顯示。應(yīng)當(dāng)注意信息行640和641現(xiàn)在指示當(dāng)前導(dǎo)航正顯示“ABC Corp.”棧。“ABC Corp.”棧651顯示為包括分別對(duì)應(yīng)于文檔1-8的8個(gè)文檔751-758。信息行644對(duì)應(yīng)地指示有共占20兆字節(jié)存儲(chǔ)器的8個(gè)項(xiàng)目。圖11的文檔還可在ABC Corp.棧內(nèi)進(jìn)一步排列成若干個(gè)棧。換言之,在ABC Corp.棧651所表示的虛擬文件夾內(nèi),可組織其他虛擬文件夾來(lái)持有文檔,如以下關(guān)于圖12-16所述。
圖12所示是為圖11中的文檔選擇堆棧功能的屏幕顯示。如圖12所示,用戶能夠拖出功能框760。功能框760包括“view”(視圖)選擇761、“arrange iconsby”(按……排列圖標(biāo))選擇762、“stacks”(棧)選擇763、“refresh”(刷新)選擇764、“open containing folders”(打開(kāi)包含文件夾)選擇765、“cut”(剪切)選擇766、“copy”(復(fù)制)選擇767、“undo”(撤消)選擇768、“new”(新建)選擇769、和“properties”(屬性)選擇770。顯示選擇框SB圍住“stacks”選擇763。
圖13所示是為圖12的堆棧功能選擇“stack by author”(按作者堆棧)參數(shù)的屏幕顯示。如圖13中所示,顯示了呈現(xiàn)各種堆棧選項(xiàng)的框780。堆棧選項(xiàng)包括“unstack”(撤消堆棧)選項(xiàng)781、“stack by category”(按類別堆棧)選項(xiàng)782、“stack by author”(按作者堆棧)選項(xiàng)783、和“stack by a user”(按用戶堆棧)選項(xiàng)784。顯示選擇框SB圍住“stack by author”選項(xiàng)783。
圖14所示是圖13的文件按作者堆棧的屏幕顯示。如圖14中所示,棧791和792分別對(duì)應(yīng)于作者Bob和Lisa。如每個(gè)棧頂部的數(shù)字所指示,Bob棧791包括2個(gè)項(xiàng)目,而Lisa棧792包括5個(gè)項(xiàng)目。項(xiàng)目758(對(duì)應(yīng)于文檔8)沒(méi)有作者,因此沒(méi)有包括在某個(gè)“作者”棧中。棧791和792示意可在多個(gè)級(jí)別組織棧,諸如在“ABCCorp.”棧651內(nèi)部。因此可在多個(gè)級(jí)別構(gòu)造虛擬文件夾,諸如“Lisa”棧792在“ABCCorp.”棧651內(nèi)部,而“ABC Corp.”棧651在文檔庫(kù)內(nèi)部。
圖15所示是進(jìn)一步選擇“stack by category”(按類別堆棧)選項(xiàng)以對(duì)圖14的文件進(jìn)行重新堆棧的屏幕顯示。如圖15中所示,選擇框SB圍看“stack bycategory”選項(xiàng)782。因?yàn)槟承╉?xiàng)目已經(jīng)在棧791和792中堆棧,對(duì)“stack by category”選項(xiàng)782的選擇將對(duì)項(xiàng)目進(jìn)行重新堆棧,如以下參考圖16所具體描述。
圖16所示是圖14的文件按類別重新堆棧的屏幕顯示。如圖16中所示,棧793和794分別對(duì)應(yīng)于“XYZ Corp.”和“marketing reports”類別。對(duì)應(yīng)于文檔1和2的項(xiàng)目751和752未被指派給任何其它類別,因此不落入其它類別棧中的任何一個(gè)。
圖17所示是選擇顯示物理文件夾的快捷鏈接的屏幕顯示。顯示選擇框SB圍著“all folders”(所有文件夾)快捷鏈接616。如以下將參考圖18具體描述,“allfolders”快捷鏈接616提供到物理文件夾視圖的切換。
圖18所示是顯示物理文件夾的屏幕顯示。所示物理文件夾包含圖17的虛擬文件夾棧的文件。換言之,圖17的棧651-655內(nèi)所包含的項(xiàng)目也包含在系統(tǒng)中的某些物理文件夾中。圖18中顯示這些物理文件夾為位于當(dāng)前計(jì)算機(jī)上的“MyDocuments”文件夾851、位于當(dāng)前計(jì)算機(jī)上的“Desktop”文件夾852、位于硬盤驅(qū)動(dòng)器C上的“Foo”文件夾853、位于某個(gè)服務(wù)器上的“My Files”文件夾854、位于某個(gè)外部驅(qū)動(dòng)器上的“Extemal Drive”文件夾855、位于另一個(gè)計(jì)算機(jī)上的“MyDocuments”文件夾856、和位于另一個(gè)計(jì)算機(jī)上的“Desktop”文件夾857。
如圖18中所示,用戶能夠從圖17的虛擬文件表示切換到圖18的物理文件表示。這允許用戶根據(jù)當(dāng)前任務(wù)的需要在虛擬文件表示和物理文件表示之間轉(zhuǎn)換。物理文件夾851-857的不同位置也說(shuō)明虛擬文件系統(tǒng)的范圍可以相對(duì)很廣,如以下將具體描述。
圖19示出一種例程880的流程圖,通過(guò)該例程用戶可直接操縱虛擬文件夾。如以下將具體描述,所提供的用來(lái)操縱虛擬文件夾的機(jī)制類似于當(dāng)前用于操縱常規(guī)文件夾的機(jī)制(例如,點(diǎn)擊和拖曳、復(fù)制、粘貼、等等)。如圖19中所示,在框882,系統(tǒng)提供定義的動(dòng)作,用戶可執(zhí)行這些動(dòng)作以直接操縱表示為顯示對(duì)象的虛擬文件夾。在框884,用戶執(zhí)行某個(gè)定義的動(dòng)作。如以上所提及,此行為的一個(gè)例子可以是用戶點(diǎn)擊并拖曳某個(gè)虛擬文件夾以將其內(nèi)容拷貝到另一個(gè)虛擬文件夾中。在框886,虛擬文件夾和/或內(nèi)容如由用戶所執(zhí)行的動(dòng)作直接受到操縱。
圖20所示是新的West Coast棧656被添加到圖10的棧中的屏幕顯示。用戶通過(guò)創(chuàng)建新的“West Coast”類別來(lái)構(gòu)成West Coast棧656。在其初始創(chuàng)建時(shí),新West Coast棧656將是空的并具有0個(gè)項(xiàng)目。在圖20的實(shí)施例中,2個(gè)項(xiàng)目被添加到West Coast棧656中。將項(xiàng)目添加到棧的一個(gè)方法是選擇某個(gè)特定項(xiàng)目,并修改或添加額外類別到該項(xiàng)目的類別元數(shù)據(jù)中,諸如如圖20的實(shí)施例中所做的將類別“West Coast”添加到兩個(gè)項(xiàng)目中。此過(guò)程說(shuō)明類別數(shù)據(jù)是項(xiàng)目的一種特定類型屬性的元數(shù)據(jù)屬性。換言之,此類屬性不具有任何隱式意義,且用戶可對(duì)其賦予任意值。例如,類別“property”(屬性)可有任何值,而“author”(作者)屬性應(yīng)當(dāng)為人名。如以下將參考圖21具體描述,還可點(diǎn)擊和拖曳項(xiàng)目以將其從其它棧復(fù)制到West Coast棧656中(在這種情況中項(xiàng)目的類別被自動(dòng)更新成包括“WestCoast”)。就此而言,圖20顯示選擇框SB圍著ABC Corp.棧651,為其內(nèi)容被復(fù)制作準(zhǔn)備。
圖21所示是用直接操縱將文件從“ABC Corp.”棧651復(fù)制到West Coast棧656的屏幕顯示。換言之,如圖20中所示,用戶選擇了ABC Corp.棧651,隨后如圖21中所示,用戶點(diǎn)擊并拖曳該棧以將其復(fù)制到West Coast棧656。因此,圖20中具有2個(gè)項(xiàng)目的West Coast棧656現(xiàn)在顯示為包括總共10個(gè)項(xiàng)目,包括來(lái)自ABC Corp.棧651的另外8個(gè)項(xiàng)目。當(dāng)來(lái)自ABC Corp.棧651的項(xiàng)目被復(fù)制到WestCoast棧656時(shí),這是通過(guò)將這8個(gè)項(xiàng)目的類別描述修改成在包括原來(lái)的“ABCCorp.”類別以外還包括“West Coast”類別來(lái)完成的。這示意了可進(jìn)行的一類直接操縱。
直接操縱的另一個(gè)例子是右擊某個(gè)項(xiàng)目并選擇刪除。在一個(gè)實(shí)施例中,當(dāng)用戶選擇刪除功能,則向該用戶查詢應(yīng)一并刪除該項(xiàng)目,還是僅僅將其從當(dāng)前的虛擬文件夾中移除。如果只要如上述將該項(xiàng)目從當(dāng)前虛擬文件夾類別棧中移除,這可通過(guò)將合乎需要的類別從該項(xiàng)目的元數(shù)據(jù)中移除來(lái)完成。換言之,如果要將從ABCCorp.棧651復(fù)制到West Coast棧656的項(xiàng)目中的一個(gè)隨后從West Coast棧656中移除,這可通過(guò)將特定文件的類別數(shù)據(jù)修改成不再包括“West Coast”類別來(lái)完成。
圖22所示是一種使系統(tǒng)動(dòng)態(tài)生成新的過(guò)濾器術(shù)語(yǔ)的例程900的流程圖。過(guò)濾器術(shù)語(yǔ)用于操縱虛擬文件夾。過(guò)濾術(shù)語(yǔ)本質(zhì)上作為縮減一組項(xiàng)目的一組工具來(lái)使用。在一個(gè)實(shí)施例中,過(guò)濾器由元數(shù)據(jù)類別及其值組成(在用戶界面中以可點(diǎn)擊鏈接或下拉菜單形式向用戶呈現(xiàn))。用戶點(diǎn)擊某個(gè)過(guò)濾器術(shù)語(yǔ)在顯示上過(guò)濾出當(dāng)前結(jié)果項(xiàng)目組。
圖22示出如何動(dòng)態(tài)生成過(guò)濾器。如圖22中所示,在框902,檢查當(dāng)前顯示上集合形式的項(xiàng)目屬性(來(lái)自元數(shù)據(jù))。在框904,基于項(xiàng)目的共同屬性動(dòng)態(tài)地生成擬用的過(guò)濾器術(shù)語(yǔ)。在框906,為用戶可能對(duì)過(guò)濾術(shù)語(yǔ)作出的選擇向用戶呈現(xiàn)擬用的過(guò)濾器術(shù)語(yǔ)。舉此過(guò)程的一個(gè)例子,系統(tǒng)可檢查一組項(xiàng)目的屬性,如果這些項(xiàng)目普遍以“Authors”(作者)為屬性,則過(guò)濾器可提供作者的列表供按之進(jìn)行過(guò)濾。然后,通過(guò)點(diǎn)擊某個(gè)特定作者,不具有該作者的項(xiàng)目就從顯示上的組中移除。此過(guò)濾過(guò)程向用戶提供一種縮減顯示上的項(xiàng)目組的機(jī)制。
圖23所示是一種使系統(tǒng)基于對(duì)過(guò)濾器術(shù)語(yǔ)的選擇來(lái)過(guò)濾項(xiàng)目的例程920的流程圖。在框922,用戶輸入新的過(guò)濾器術(shù)語(yǔ)或者系統(tǒng)所呈現(xiàn)的過(guò)濾器術(shù)語(yǔ)中的一個(gè)。如以上所提及,過(guò)濾器術(shù)語(yǔ)可由系統(tǒng)動(dòng)態(tài)生成,或者也可以是預(yù)設(shè)的。在框924,來(lái)自顯示上的集合的項(xiàng)目受到關(guān)于其所選擇的屬性是否匹配該過(guò)濾器術(shù)語(yǔ)的估價(jià)。例如,如果過(guò)濾器術(shù)語(yǔ)是作者為“Bob”的項(xiàng)目,那么各個(gè)項(xiàng)目根據(jù)其作者屬性是否包括“Bob”受到評(píng)價(jià)。在框926,所選擇的屬性不匹配過(guò)濾器術(shù)語(yǔ)的項(xiàng)目被從顯示上的集合中移除。
圖24所示是圖10的各個(gè)棧由術(shù)語(yǔ)“AB”過(guò)濾的屏幕顯示。如圖所示,在過(guò)濾器區(qū)域621,用戶輸入了術(shù)語(yǔ)“AB”。信息行640和641指示顯示中的項(xiàng)目如今是已由術(shù)語(yǔ)“AB”過(guò)濾后的項(xiàng)目。如圖所示,ABC Corp.棧651仍然包含8個(gè)項(xiàng)目,而Backups棧652如今包含3個(gè)項(xiàng)目,XYZ Corp.棧654也包含3個(gè)項(xiàng)目。信息行644因而指示共有14個(gè)項(xiàng)目,占35兆字節(jié)存儲(chǔ)器。
圖25所示是圖10的各個(gè)棧由術(shù)語(yǔ)“ABC”過(guò)濾的屏幕顯示。關(guān)于圖24的過(guò)濾器術(shù)語(yǔ)“AB”,用戶僅輸入額外的“C”來(lái)構(gòu)成整個(gè)過(guò)濾器術(shù)語(yǔ)“ABC”。如圖25中所示,信息行640和641如今指示顯示上的項(xiàng)目是包含術(shù)語(yǔ)“ABC”的項(xiàng)目。ABC Corp.棧651仍顯示為包含8個(gè)項(xiàng)目,而Backups棧652如今僅包含2個(gè)項(xiàng)目。信息行644如今指示顯示上的各個(gè)棧中共有10個(gè)項(xiàng)目,總共占25兆字節(jié)存儲(chǔ)器。圖24和25因而提供了用戶如何輸入新的過(guò)濾器術(shù)語(yǔ)、及那些過(guò)濾器術(shù)語(yǔ)隨后如何用于過(guò)濾顯示上所示出的項(xiàng)目。
圖26所示選擇了系統(tǒng)所提供的過(guò)濾器術(shù)語(yǔ)“year 2002”(年份2002)的屏幕顯示。如以上所提及,在日期指示符622下,年份選擇器623包括年份2000、2001或2002。顯示選擇框SB圍著年份2002,指示用戶選擇其作為合乎需要的過(guò)濾器術(shù)語(yǔ)。
圖27所示是應(yīng)用了過(guò)濾器術(shù)語(yǔ)“2002”的屏幕顯示。還顯示了“pick a month”(選擇月份)選擇器632A的進(jìn)一步的選擇。如圖27中所示,在應(yīng)用了過(guò)濾器術(shù)語(yǔ)“2002”之后,各個(gè)棧中的項(xiàng)目數(shù)減少了。更具體地,ABC Corp.棧651如今包含6個(gè)項(xiàng)目,Backups棧652如今包含8個(gè)項(xiàng)目,Business Plans棧653如今包含3個(gè)項(xiàng)目,XYZ Corp.棧654如今包含5個(gè)項(xiàng)目。信息行644如今指示共有22個(gè)項(xiàng)目,總共占50兆字節(jié)存儲(chǔ)器。信息行640和641如今指示顯示上所示的項(xiàng)目是已被過(guò)濾成包含過(guò)濾器術(shù)語(yǔ)“2002”的項(xiàng)目。
圖28所示是呈現(xiàn)列表供選擇一個(gè)月份進(jìn)行過(guò)濾的屏幕顯示。提供包括月份列表的框950。在顯示上提供框950是由于用戶選擇了“pick a month”選擇器623A。顯示選擇框SB圍著一月。
圖29所示圖28的各個(gè)棧進(jìn)一步由一月份過(guò)濾、并進(jìn)一步顯示過(guò)濾器術(shù)語(yǔ)“day”(日)的屏幕顯示。如圖29中所示,信息行640和641如今指示顯示上的項(xiàng)目是已由術(shù)語(yǔ)“January”(一月)過(guò)濾的項(xiàng)目。Backups棧652如今顯示為包含2個(gè)項(xiàng)目,而Business Plans棧653也顯示為包含2個(gè)項(xiàng)目。信息行644指示顯示上共有4個(gè)項(xiàng)目,總共占10兆字節(jié)存儲(chǔ)器。提供“pickby day”(選擇一天)選擇器623B,萬(wàn)一用戶希望進(jìn)一步過(guò)濾結(jié)果到具體的某天。
圖30所示是一個(gè)創(chuàng)建新的快捷鏈接的例程940的流程圖。如以下將具體描述,快捷鏈接是可由用戶點(diǎn)擊以創(chuàng)建項(xiàng)目組的用戶選擇視圖的預(yù)定義鏈接。在一個(gè)實(shí)施例中,快捷鏈接可視為一類中心點(diǎn)(pivot)??旖萱溄犹峁┮环N檢索虛擬文件夾的機(jī)制。點(diǎn)擊快捷鏈接可將用戶帶到某個(gè)合乎需要的文件夾(和點(diǎn)擊“favorites”(收藏夾)可將用戶帶到某個(gè)Web站點(diǎn)是同樣的方式)。快捷鏈接可由系統(tǒng)預(yù)定義,或可由用戶設(shè)置。例如,點(diǎn)擊“all authors”(所有作者)可返回按作者堆棧的視圖。點(diǎn)擊“all documents”(所有文檔)可返回所有存儲(chǔ)區(qū)域的所有文檔的平面視圖。用戶還可創(chuàng)建其自己的快捷鏈接。
如圖30中所示,在框942,用戶在顯示上作出某個(gè)選擇以指示要從當(dāng)前過(guò)濾器術(shù)語(yǔ)或?qū)Ш綐?gòu)造新的快捷鏈接。在框944,用戶為新的快捷鏈接提供新的名字。在框946,保存新的快捷鏈接,并在顯示上的快捷鏈接區(qū)域中提供新的快捷鏈接名。
圖31所示是基于圖29的過(guò)濾來(lái)創(chuàng)建稱為“January Work”(一月份的工作)的新的快捷鏈接的屏幕顯示。如上所述,在圖29中,各個(gè)棧已按一月份過(guò)濾。在圖31中,用戶指示應(yīng)將圖29的過(guò)濾保存為新的快捷鏈接,并將該新的快捷鏈接命名為“January work”。因此,在顯示上的快捷鏈接區(qū)域中顯示了新的January work快捷鏈接612。關(guān)于構(gòu)造新的快捷鏈接,一般向用戶提供“save this collection as aquick link”(將此集合保存為快捷鏈接)的選項(xiàng)。
圖32所示是選擇了“All Authors”(所有作者)的快捷鏈接的屏幕顯示。如圖32中所示,顯示選擇框SB圍著All Author選項(xiàng)611。其它快捷鏈接可訪問(wèn)的集合的例子包括“all authors”(所有作者)、“recent documents”(最近的文檔)、“all documents I’ve shared”(我所共享的所有文檔)、“all documents I’ve authored”(作者是我的所有文檔)、“all documents not authored by me”(作者不是我的所有文檔)、“desktop”(桌面)和“all types”(所有類型)。
圖33所示是呈現(xiàn)了圖32項(xiàng)目的所有作者的列表的屏幕顯示。如圖33中所示,提供了信息行950,它指示列用于顯示項(xiàng)目名、作者、修改日期、類型、大小、和項(xiàng)目的位置。示出了分別對(duì)應(yīng)于Author 1-4的作者951-954的列表。
圖34所示是從圖33的列表選擇了“Author 1”(作家1)的屏幕顯示。作家1的文檔包括分別對(duì)應(yīng)于document 1和2的文檔951A和951B。文檔951A顯示作者為Author 1,在11July,2001(2001年7月11日)被修改,屬于Microsoft Excel文件,占282千字節(jié)存儲(chǔ)器、并且是從位置\\server1\folder2處獲得。文檔951B顯示作者為Author1,在22 December,2002(2002年12月22日)被修改,屬于MicrosoftWord文件,占206千字節(jié)存儲(chǔ)器,物理上存儲(chǔ)在My Documents\folder1處。文檔951A和951B的位置還說(shuō)明本發(fā)明的虛擬文件夾可包含來(lái)自不同物理位置的項(xiàng)目,如以下將具體描述。
圖35所示是一種創(chuàng)建新庫(kù)的例程960的流程圖。參考圖10,庫(kù)的一個(gè)例子是上述的文檔庫(kù)。一般而言,庫(kù)由可相互關(guān)聯(lián)的大組可用類型的文件組成。例如,相片可以是一個(gè)庫(kù),音樂(lè)可以是另一個(gè)庫(kù),而文檔可以是又一個(gè)庫(kù)。各個(gè)庫(kù)提供涉及特定類型的項(xiàng)目的工具和行為。例如,在相片庫(kù)中,有涉及操縱相片的工具和過(guò)濾器,諸如用于創(chuàng)建幻燈片或共享圖片的工具等。如圖35中所示,在框962,創(chuàng)建要包括具有所選擇的特性的項(xiàng)目的新庫(kù)。在框964,所選擇的項(xiàng)目被分組到庫(kù)中。在框966,提供涉及所選擇的項(xiàng)目特性、或涉及其它合乎需要的功能的工具和/或動(dòng)作。
圖36所示是示出各種可用庫(kù)的集合的屏幕顯示。如圖36中所示,這些庫(kù)包括文檔庫(kù)971、相片和視頻庫(kù)972、音樂(lè)庫(kù)973、消息庫(kù)974、聯(lián)系人庫(kù)975、及電視和電影庫(kù)976、以及所有項(xiàng)目庫(kù)977。所有項(xiàng)目庫(kù)977顯示為包括275個(gè)項(xiàng)目,這是來(lái)自所有其它庫(kù)的項(xiàng)目合起來(lái)的總數(shù)。信息行644指示共計(jì)275個(gè)項(xiàng)目,總共占700兆字節(jié)存儲(chǔ)器。應(yīng)當(dāng)注意,文檔庫(kù)971是以上關(guān)于圖10所描述的庫(kù)。
圖37所示是一種用于定義虛擬文件夾集合范圍的例程990的流程圖。如以下將具體描述,虛擬文件夾系統(tǒng)能夠表示來(lái)自多個(gè)物理位置(例如,不同的硬盤驅(qū)動(dòng)器、不同的計(jì)算機(jī)、不同的網(wǎng)絡(luò)位置、等等)的項(xiàng)目,從而對(duì)于用戶來(lái)說(shuō),所有這些項(xiàng)目都可輕易訪問(wèn)。例如,可在單個(gè)顯示上向用戶呈現(xiàn)來(lái)自多個(gè)物理位置的音樂(lè)文件,并且用戶能夠同時(shí)操縱這些文件。
如圖37中所示,在框992,定義了可從哪些物理位置取項(xiàng)目的范圍。在框994,響應(yīng)于某個(gè)查詢,如該范圍中所定義地從物理位置取項(xiàng)目。在框996,在單個(gè)顯示上呈現(xiàn)該查詢所取的所有項(xiàng)目。
圖38所示是可構(gòu)成虛擬文件夾集合的范圍的各種源的框圖。如圖38中所示,系統(tǒng)1000可包括當(dāng)前計(jì)算機(jī)1010、另一個(gè)計(jì)算機(jī)1020、外部和可移動(dòng)存儲(chǔ)1030、和網(wǎng)絡(luò)上的位置1040。整個(gè)范圍1001描述成包括從其取用戶的項(xiàng)目來(lái)創(chuàng)建集合的所有位置。該范圍可由用戶設(shè)置和修改。如以上所提及,其它附圖已示意項(xiàng)目可來(lái)自不同的物理位置,諸如圖34示出來(lái)自某個(gè)服務(wù)器和當(dāng)前計(jì)算機(jī)上的MyDocuments文件夾的不同文檔,在圖18中示出物理上存儲(chǔ)在多個(gè)位置的物理文件夾。
圖39所示是一種用于將非文件項(xiàng)目包括到虛擬文件夾集合中的例程1080的流程圖。非文件項(xiàng)目是對(duì)比于通常存儲(chǔ)在物理文件存儲(chǔ)器上的文件項(xiàng)目而言的。非文件項(xiàng)目的例子可以是諸如電子郵件或聯(lián)系人等事物。如圖39中所示,在框1082,利用數(shù)據(jù)庫(kù)來(lái)將非文件項(xiàng)目隨可能受到查詢搜索的文件項(xiàng)目包括在一起。在框1084,響應(yīng)于某個(gè)查詢,同時(shí)取非文件項(xiàng)目和文件項(xiàng)目?jī)烧邅?lái)匹配該查詢。在框1086,匹配該查詢的非文件項(xiàng)目和文件項(xiàng)目?jī)烧咄瑫r(shí)在顯示上呈現(xiàn)。
圖40所示是顯示各種非文件項(xiàng)目的屏幕顯示。如圖40中所示,項(xiàng)目已被過(guò)濾成包括“John”的項(xiàng)目。這些項(xiàng)目顯示為包括聯(lián)系人項(xiàng)目1101、電子郵件項(xiàng)目1102、和文檔項(xiàng)目1103和1104。聯(lián)系人項(xiàng)目1101和電子郵件項(xiàng)目1102是非文件項(xiàng)目。本系統(tǒng)允許此類非文件項(xiàng)目與常規(guī)文件項(xiàng)目包括在一起,從而它們可由用戶按需要進(jìn)行組織和操縱。如以上關(guān)于圖2所述,此類非文件項(xiàng)目可完整包含在關(guān)系型數(shù)據(jù)庫(kù)230內(nèi),而關(guān)系型數(shù)據(jù)庫(kù)在其它情況下包括關(guān)于文件屬性的信息。
盡管示意并描述了本發(fā)明較佳的實(shí)施例,可以理解可在本發(fā)明中作出各種修改而不會(huì)偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.在具有顯示器和用于存儲(chǔ)項(xiàng)目的存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中,所述項(xiàng)目具有相關(guān)聯(lián)的元數(shù)據(jù)屬性,一種向用戶展示所述項(xiàng)目的方法,所述方法包括選擇第一元數(shù)據(jù)屬性;搜索具有所選擇的第一元數(shù)據(jù)屬性的項(xiàng)目;以及提供表示具有所述第一元數(shù)據(jù)屬性的項(xiàng)目集合的第一虛擬文件夾顯示對(duì)象。
2.如權(quán)利要求1所述的方法,其特征在于,所述虛擬文件夾顯示對(duì)象被表示為棧。
3.如權(quán)利要求1所述的方法,其特征在于,選擇第二元數(shù)據(jù)屬性以在所述第一虛擬文件夾內(nèi)創(chuàng)建第二虛擬文件夾,進(jìn)一步搜索所述第一虛擬文件夾中的項(xiàng)目以判定它們是否具有所述第二元數(shù)據(jù)屬性,所述第二虛擬文件夾表示所述第一虛擬文件夾內(nèi)具有所述第二元數(shù)據(jù)屬性的項(xiàng)目。
4.如權(quán)利要求1所述的方法,其特征在于,在所述顯示上提供多個(gè)虛擬文件夾顯示對(duì)象,每個(gè)虛擬文件夾顯示對(duì)象表示具有一所選擇的元數(shù)據(jù)屬性的項(xiàng)目的集合。
5.如權(quán)利要求4所述的方法,其特征在于,所述多個(gè)項(xiàng)目物理上還存儲(chǔ)在物理文件夾中。
6.如權(quán)利要求5所述的方法,其特征在于,用戶可選擇查看所述物理文件夾。
7.如權(quán)利要求1所述的方法,其特征在于,所選擇的元數(shù)據(jù)屬性可被添加到所選擇的項(xiàng)目中。
8.如權(quán)利要求7所述的方法,其特征在于,將元數(shù)據(jù)屬性添加到項(xiàng)目中還使所述項(xiàng)目被添加到一基于所選擇的元數(shù)據(jù)屬性的虛擬文件夾中。
9.如權(quán)利要求8所述的方法,其特征在于,所選擇的元數(shù)據(jù)屬性是一指定類別。
10.如權(quán)利要求1所述的方法,其特征在于,所述用戶可通過(guò)對(duì)所述虛擬文件夾顯示對(duì)象的直接操縱來(lái)對(duì)所述虛擬文件夾作出改變。
11.如權(quán)利要求10所述的方法,其特征在于,至少一類直接操縱包括點(diǎn)擊和拖曳虛擬文件夾。
12.如權(quán)利要求11所述的方法,其特征在于,點(diǎn)擊和拖曳可用于將所述項(xiàng)目從第一虛擬文件夾復(fù)制到第二虛擬文件夾,并且所述復(fù)制是至少部分地通過(guò)將所述第二虛擬文件夾的所選擇的元數(shù)據(jù)屬性添加到每個(gè)來(lái)自所述第一虛擬文件夾的項(xiàng)目來(lái)實(shí)現(xiàn)的。
13.如權(quán)利要求1所述的方法,其特征在于,在所述顯示上提供過(guò)濾器,用戶可選擇所述過(guò)濾器,以基于所述過(guò)濾器所指定的元數(shù)據(jù)屬性來(lái)過(guò)濾項(xiàng)目。
14.如權(quán)利要求1所述的方法,其特征在于,在所述顯示上提供快捷鏈接,用戶可選擇所述快捷鏈接以查看一指定的項(xiàng)目集合。
15.如權(quán)利要求1所述的方法,其特征在于,提供庫(kù),所述庫(kù)包括一項(xiàng)目集合和一組用于操縱所述庫(kù)的項(xiàng)目的工具。
16.如權(quán)利要求1所述的方法,其特征在于,虛擬文件夾中的項(xiàng)目物理上可以存儲(chǔ)在位于不同物理位置的存儲(chǔ)器中。
17.如權(quán)利要求16所述的方法,其特征在于,所述不同的物理位置包括當(dāng)前計(jì)算機(jī),以及不同的計(jì)算機(jī)、網(wǎng)絡(luò)上的位置、和外部存儲(chǔ)設(shè)備中的至少一個(gè)。
18.如權(quán)利要求1所述的方法,其特征在于,所述項(xiàng)目包括文件項(xiàng)目和非文件項(xiàng)目?jī)烧摺?br>
19.如權(quán)利要求18所述的方法,其特征在于,所述非文件項(xiàng)目包括合同或電子郵件中的至少一種。
20.一種具有用于實(shí)現(xiàn)一種向用戶展示項(xiàng)目的方法的計(jì)算機(jī)可執(zhí)行組件的計(jì)算機(jī)可讀介質(zhì),所述項(xiàng)目具有相關(guān)聯(lián)的元數(shù)據(jù)屬性,所述方法包括選擇第一元數(shù)據(jù)屬性;搜索具有所選擇的第一元數(shù)據(jù)屬性的項(xiàng)目;以及提供表示具有所述第一元數(shù)據(jù)屬性的項(xiàng)目集合的第一虛擬文件夾顯示對(duì)象。
21.如權(quán)利要求20所述的方法,其特征在于,所述虛擬文件夾顯示對(duì)象被表示為棧。
22.如權(quán)利要求20所述的方法,其特征在于,選擇第二元數(shù)據(jù)屬性以在所述第一虛擬文件夾中創(chuàng)建第二虛擬文件夾,進(jìn)一步搜索所述第一虛擬文件夾中的項(xiàng)目以判定它們是否具有所述第二元數(shù)據(jù)屬性,所述第二虛擬文件夾表示所述第一虛擬文件夾內(nèi)具有所述第二元數(shù)據(jù)屬性的項(xiàng)目。
23.如權(quán)利要求20所述的方法,其特征在于,所選擇的元數(shù)據(jù)屬性可被添加到所選擇的項(xiàng)目中。
24.如權(quán)利要求20所述的方法,其特征在于,所述用戶可通過(guò)對(duì)所述虛擬文件夾顯示對(duì)象的直接操縱來(lái)對(duì)所述虛擬文件夾作出改變。
25.如權(quán)利要求20所述的方法,其特征在于,虛擬文件夾中的項(xiàng)目物理上可以存儲(chǔ)在位于不同物理位置的存儲(chǔ)器中。
26.如權(quán)利要求20所述的方法,其特征在于,所述項(xiàng)目包括文件項(xiàng)目和非文件項(xiàng)目?jī)烧摺?br>
27.一種用于顯示項(xiàng)目的系統(tǒng)中,所述系統(tǒng)包括用于選擇第一元數(shù)據(jù)屬性的裝置;用于搜索具有所選擇的第一元數(shù)據(jù)屬性的項(xiàng)目的裝置;以及用于提供表示具有所述第一元數(shù)據(jù)屬性的項(xiàng)目集合的第一虛擬文件夾顯示對(duì)象的裝置。
28.如權(quán)利要求27所述的系統(tǒng),其特征在于,還包括用于在所述第一虛擬文件夾內(nèi)創(chuàng)建第二虛擬文件夾的裝置。
29.如權(quán)利要求27所述的系統(tǒng),其特征在于,還包括用于將所選擇的元數(shù)據(jù)屬性添加到所選擇的項(xiàng)目中的裝置。
30.如權(quán)利要求29所述的系統(tǒng),其特征在于,用于將元數(shù)據(jù)屬性添加到項(xiàng)目中的裝置包括用于選擇項(xiàng)目的元數(shù)據(jù)屬性并輸入新屬性的裝置。
31.如權(quán)利要求27所述的系統(tǒng),其特征在于,還包括用于實(shí)現(xiàn)對(duì)虛擬文件夾顯示對(duì)象進(jìn)行直接操縱的裝置。
32.如權(quán)利要求27所述的系統(tǒng),其特征在于,還包括用于將來(lái)自不同物理位置的項(xiàng)目包括在對(duì)具有所選擇的第一元數(shù)據(jù)屬性的項(xiàng)目的搜索中的裝置。
33.如權(quán)利要求27所述的系統(tǒng),其特征在于,還包括用于同時(shí)將文件項(xiàng)目和非文件項(xiàng)目?jī)烧甙ㄔ趯?duì)具有所選擇的第一元數(shù)據(jù)屬性的項(xiàng)目的搜索中的裝置。
34.一種向用戶展示存儲(chǔ)在存儲(chǔ)器中的項(xiàng)目的系統(tǒng),其特征在于,包含從用戶獲得查詢的文件夾處理器;用于存儲(chǔ)關(guān)于項(xiàng)目的信息的關(guān)系型數(shù)據(jù)庫(kù);以及其中所述文件夾處理器從用戶獲得查詢并將所述查詢傳遞給所述關(guān)系型數(shù)據(jù)庫(kù);所述關(guān)系型數(shù)據(jù)庫(kù)將結(jié)果返回給所述文件夾處理器;以及基于來(lái)自所述關(guān)系型數(shù)據(jù)庫(kù)的結(jié)果,所述文件夾處理器將所述結(jié)果作為虛擬文件夾提供給用戶。
35.如權(quán)利要求34所述的方法,其特征在于,所述查詢是取自注冊(cè)表的默認(rèn)查詢。
36.如權(quán)利要求34所述的方法,其特征在于,所述查詢是從決定改變所述虛擬文件夾視圖的中心點(diǎn)的用戶處獲得的。
37.如權(quán)利要求34所述的方法,其特征在于,傳遞給所述關(guān)系型數(shù)據(jù)庫(kù)的查詢包括由所述文件夾處理器構(gòu)造的數(shù)據(jù)庫(kù)查詢對(duì)象。
38.如權(quán)利要求34所述的方法,其特征在于,返回給所述文件夾處理器的結(jié)果包括數(shù)據(jù)庫(kù)行和列。
39.如權(quán)利要求34所述的方法,其特征在于,在從所述關(guān)系型數(shù)據(jù)庫(kù)接收所述結(jié)果之后,所述文件夾處理器取所述結(jié)果并將其轉(zhuǎn)換成一枚舉結(jié)構(gòu)。
40.如權(quán)利要求39所述的方法,其特征在于,所述枚舉結(jié)構(gòu)用于以所得的虛擬文件夾來(lái)填充所述顯示。
41.一種用于顯示項(xiàng)目的系統(tǒng),其特征在于,包括文件夾處理器裝置;關(guān)系型數(shù)據(jù)庫(kù)裝置;其中所述文件夾處理器裝置從用戶獲得查詢并將所述查詢傳遞給所述關(guān)系型數(shù)據(jù)庫(kù);所述關(guān)系型數(shù)據(jù)庫(kù)裝置將結(jié)果返回給所述文件夾處理器;以及基于來(lái)自所述關(guān)系型數(shù)據(jù)庫(kù)裝置的結(jié)果,所述文件夾處理器裝置將所述結(jié)果作為虛擬文件夾提供給用戶。
42.如權(quán)利要求41所述的系統(tǒng),其特征在于,還包括用于從用戶獲得查詢的裝置。
43.如權(quán)利要求41所述的系統(tǒng),其特征在于,還包括用于構(gòu)造包括在傳遞給所述關(guān)系型數(shù)據(jù)庫(kù)的查詢中的數(shù)據(jù)庫(kù)查詢對(duì)象的裝置。
44.如權(quán)利要求41所述的系統(tǒng),其特征在于,還包括用于提供數(shù)據(jù)庫(kù)行和列作為返回給所述文件夾處理器的結(jié)果的裝置。
45.如權(quán)利要求41所述的系統(tǒng),其特征在于,還包括用于將來(lái)自所述關(guān)系型數(shù)據(jù)庫(kù)的結(jié)果轉(zhuǎn)換成一枚舉結(jié)構(gòu)的裝置。
46.如權(quán)利要求45所述的系統(tǒng),其特征在于,還包括用于以得自所述枚舉結(jié)構(gòu)的虛擬文件夾來(lái)填充顯示的裝置。
47.在具有顯示器和用于存儲(chǔ)項(xiàng)目的存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中,一種操縱項(xiàng)目的方法,其特征在于,包括將項(xiàng)目組表示為虛擬文件夾;以及至少提供可被執(zhí)行以對(duì)虛擬文件夾進(jìn)行直接操縱的第一定義動(dòng)作,其中,當(dāng)執(zhí)行所述第一定義動(dòng)作時(shí),所述虛擬文件夾如所執(zhí)行的動(dòng)作所指導(dǎo)地來(lái)操縱。
48.如權(quán)利要求47所述的方法,其特征在于,所述定義動(dòng)作是點(diǎn)擊和拖曳所述虛擬文件夾。
49.如權(quán)利要求48所述的方法,其特征在于,點(diǎn)擊和拖曳第一虛擬文件夾到第二虛擬文件夾執(zhí)行將所述第一虛擬文件夾的項(xiàng)目復(fù)制到所述第二虛擬文件夾中的功能。
50.如權(quán)利要求49所述的方法,其特征在于,項(xiàng)目在具有作為一虛擬文件夾的基礎(chǔ)的所選擇元數(shù)據(jù)屬性的基礎(chǔ)上,被包含在所述虛擬文件夾內(nèi),且將所述項(xiàng)目從第一虛擬文件夾復(fù)制到第二虛擬文件夾的動(dòng)作至少部分地通過(guò)將所述第二虛擬文件夾的元數(shù)據(jù)屬性添加到每個(gè)來(lái)自所述第一虛擬文件夾的項(xiàng)目中來(lái)實(shí)現(xiàn)。
51.如權(quán)利要求50所述的方法,其特征在于,添加到所述第一虛擬文件夾的項(xiàng)目中的元數(shù)據(jù)屬性是類別。
52.一種具有用于實(shí)現(xiàn)一種操縱項(xiàng)目的方法的計(jì)算機(jī)可執(zhí)行組件的計(jì)算機(jī)可讀介質(zhì),其特征在于,包括將項(xiàng)目組表示為虛擬文件夾;以及至少提供可被執(zhí)行以對(duì)虛擬文件夾進(jìn)行直接操縱的第一定義動(dòng)作,其中,當(dāng)執(zhí)行所述第一定義動(dòng)作時(shí),所述虛擬文件夾如所執(zhí)行的動(dòng)作所指導(dǎo)地來(lái)操縱。
53.如權(quán)利要求52所述的方法,其特征在于,所述定義動(dòng)作是點(diǎn)擊和拖曳所述虛擬文件夾。
54.如權(quán)利要求53所述的方法,其特征在于,點(diǎn)擊和拖曳第一虛擬文件夾到第二虛擬文件夾執(zhí)行將所述第一虛擬文件夾的項(xiàng)目復(fù)制到所述第二虛擬文件夾中的功能。
55.如權(quán)利要求54所述的方法,其特征在于,項(xiàng)目在具有作為一虛擬文件夾的基礎(chǔ)的所選擇元數(shù)據(jù)屬性的基礎(chǔ)上,被包含在所述虛擬文件夾內(nèi),且將所述項(xiàng)目從第一虛擬文件夾復(fù)制到第二虛擬文件夾的動(dòng)作至少部分地通過(guò)將所述第二虛擬文件夾的元數(shù)據(jù)屬性添加到每個(gè)來(lái)自所述第一虛擬文件夾的項(xiàng)目中來(lái)實(shí)現(xiàn)。
56.如權(quán)利要求55所述的方法,其特征在于,添加到所述第一虛擬文件夾的項(xiàng)目中的元數(shù)據(jù)屬性是類別。
57.一種用于操縱項(xiàng)目的系統(tǒng),其特征在于,包括用于將項(xiàng)目組表示為虛擬文件夾的裝置;以及用于為對(duì)所述虛擬文件夾的操縱而實(shí)現(xiàn)定義的直接操縱動(dòng)作的裝置。
58.如權(quán)利要求57所述的系統(tǒng),其特征在于,用于實(shí)現(xiàn)直接操縱的裝置包括用于實(shí)現(xiàn)對(duì)虛擬文件夾的點(diǎn)擊和拖曳的裝置。
59.如權(quán)利要求58所述的系統(tǒng),其特征在于,點(diǎn)擊和拖曳第一虛擬文件夾到第二虛擬文件夾執(zhí)行將所述第一虛擬文件夾的項(xiàng)目復(fù)制到所述第二虛擬文件夾中的功能。
60.如權(quán)利要求59所述的系統(tǒng),其特征在于,項(xiàng)目在具有作為一虛擬文件夾的基礎(chǔ)的所選擇元數(shù)據(jù)屬性的基礎(chǔ)上,被包含在所述虛擬文件夾內(nèi),且將所述項(xiàng)目從第一虛擬文件夾復(fù)制到第二虛擬文件夾的動(dòng)作至少部分地通過(guò)將所述第二虛擬文件夾的元數(shù)據(jù)屬性添加到每個(gè)來(lái)自所述第一虛擬文件夾的項(xiàng)目中來(lái)實(shí)現(xiàn)。
全文摘要
一種利用虛擬文件夾的系統(tǒng)和方法(圖3)。該虛擬文件夾基于其元數(shù)據(jù)而不是磁盤上實(shí)際物理底層文件系統(tǒng)結(jié)構(gòu),在不同的視圖中向用戶展示常規(guī)的文件和文件夾(圖3)。虛擬文件夾(308)包含項(xiàng)目的集合。該系統(tǒng)包括從用戶(302)獲得查詢的文件夾處理器和用于存儲(chǔ)關(guān)于項(xiàng)目的信息的關(guān)系型數(shù)據(jù)庫(kù)(304)。該文件夾處理器首先從用戶獲得查詢(302),并將該查詢傳遞給關(guān)系型數(shù)據(jù)庫(kù)(304)。關(guān)系型數(shù)據(jù)庫(kù)將結(jié)果返回給文件夾處理器(306),并且基于來(lái)自關(guān)系型數(shù)據(jù)庫(kù)的結(jié)果,文件夾處理器將該結(jié)果作為虛擬文件夾(308)提供給用戶。用戶能夠通過(guò)直接操縱(例如,點(diǎn)擊和拖曳、復(fù)制、粘貼、等等)對(duì)虛擬文件夾進(jìn)行操作。
文檔編號(hào)G06F15/16GK1759389SQ03826213
公開(kāi)日2006年4月12日 申請(qǐng)日期2003年5月15日 優(yōu)先權(quán)日2003年3月27日
發(fā)明者J·F·穆?tīng)? D·德沃契克, S·C·查里文德拉, N·H·巴盧, C·J·古扎克, S·A·卡斯坦, R·M·班克斯, D·J·謝爾登, P·L·邁納 申請(qǐng)人:微軟公司