專利名稱:存儲(chǔ)系統(tǒng)中的數(shù)據(jù)保持方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ),特別是涉及數(shù)據(jù)存儲(chǔ)系統(tǒng)中的數(shù)據(jù)保持方法及裝置。
2、相關(guān)技術(shù)的論述商業(yè)及其它公共機(jī)構(gòu),如醫(yī)院、學(xué)校及政府機(jī)構(gòu),經(jīng)常使用數(shù)據(jù)存儲(chǔ)系統(tǒng)來(lái)維持電子形式的記錄。這樣的記錄可包括,例如,公司財(cái)務(wù)記錄、電子郵件(e-mail)、病人醫(yī)療記錄、學(xué)生筆記、及其它類型的數(shù)據(jù)。對(duì)于商業(yè)或公共機(jī)構(gòu),將這些記錄自它們生成后以其原樣保持一段時(shí)間是非常重要的。即,商業(yè)或公共機(jī)構(gòu)可能希望阻止這些記錄被刪除或修改,直到已逝去一定時(shí)間。例如,醫(yī)院可能希望在X光檢查后防止在幾年內(nèi)修改或刪除病人的X光照片。此外,這樣的數(shù)據(jù)保持可能由法律規(guī)定。例如,證券交易委員會(huì)(SEC)規(guī)則17a-4要求公司將某些財(cái)務(wù)記錄保留6年。
使用傳統(tǒng)的存儲(chǔ)系統(tǒng),用戶可能意外刪除或修改這樣的記錄。另外,懷惡意的用戶可能故意刪除或修改這樣的記錄,例如,隱蔽不道德的商業(yè)做法或不誠(chéng)實(shí)地改變學(xué)校抄本。無(wú)論是意外的或故意的,這樣的行為可能導(dǎo)致不能挽回的數(shù)據(jù)損失甚或違犯法律。在某些計(jì)算機(jī)系統(tǒng)包括文件系統(tǒng)前端(通常在主計(jì)算機(jī)上而不是在存儲(chǔ)系統(tǒng)上),其允許文件被指定為“只讀”的同時(shí),系統(tǒng)的管理員通常有能力改變文件的“只讀”狀態(tài),使得文件可被修改或刪除。此外,傳統(tǒng)的文件系統(tǒng)不允許用戶指明數(shù)據(jù)不能被刪除或修改的時(shí)間段。即,指定文件“只讀”則意味著只要文件的只讀狀態(tài)未被改變,則該文件不能被刪除或修改。
某些存儲(chǔ)系統(tǒng)將數(shù)據(jù)保存在記錄介質(zhì)如光盤(如CD-ROM盤)上,其不能被重寫或修改。然而,這樣的系統(tǒng)不允許用戶指明保存期,因?yàn)橐坏?shù)據(jù)被寫到介質(zhì)上,其將永遠(yuǎn)不會(huì)從介質(zhì)上刪除,盡管介質(zhì)可在物理上被摧毀以阻止訪問(wèn)數(shù)據(jù)。如果希望用新數(shù)據(jù)替換介質(zhì)上的數(shù)據(jù),該介質(zhì)不可再度使用。
發(fā)明內(nèi)容
一說(shuō)明性的實(shí)施例致力于在包括至少一主機(jī)和至少一存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中處理數(shù)據(jù)的方法,該方法包括行動(dòng)(A)從主機(jī)接收一刪除存儲(chǔ)在存儲(chǔ)系統(tǒng)上的數(shù)據(jù)單元的請(qǐng)求;(B)確定先前定義的該數(shù)據(jù)單元的保存期是否已期滿;及(C)當(dāng)在行動(dòng)(B)確定該數(shù)據(jù)單元的保存期尚未期滿時(shí),拒絕刪除數(shù)據(jù)單元的請(qǐng)求。另一說(shuō)明性的實(shí)施例致力于編碼有指令的至少一計(jì)算機(jī)可讀介質(zhì),當(dāng)在計(jì)算機(jī)系統(tǒng)上執(zhí)行時(shí),其執(zhí)行上述方法。
另一說(shuō)明性的實(shí)施例致力于用于包括至少一主機(jī)和存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)包括至少一存儲(chǔ)裝置,以保存從至少一主機(jī)接收的數(shù)據(jù);及至少一控制器,其從主機(jī)接收一刪除存儲(chǔ)在存儲(chǔ)系統(tǒng)上的數(shù)據(jù)單元的請(qǐng)求;確定先前定義的該數(shù)據(jù)單元的保存期是否已期滿;及當(dāng)確定該數(shù)據(jù)單元的保存期尚未期滿時(shí),拒絕刪除數(shù)據(jù)單元的請(qǐng)求。
另一說(shuō)明性的實(shí)施例致力于用于包括至少一主機(jī)和存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)包括至少一存儲(chǔ)裝置,以保存從至少一主機(jī)接收的數(shù)據(jù);及至少一控制器,其從主機(jī)接收至少一請(qǐng)求,以將數(shù)據(jù)單元保存在存儲(chǔ)系統(tǒng)中至少直到在至少一請(qǐng)求中指明的保存期滿;將數(shù)據(jù)單元保存在至少一存儲(chǔ)裝置中;及將指明保存期的信息保存在至少一存儲(chǔ)裝置中。
另一說(shuō)明性的實(shí)施例致力于一種在包括至少一主機(jī)和至少一存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中處理數(shù)據(jù)的方法,該方法包括行動(dòng)(A)將至少一請(qǐng)求從主機(jī)傳輸?shù)酱鎯?chǔ)系統(tǒng),其請(qǐng)求存儲(chǔ)系統(tǒng)保存數(shù)據(jù)單元至少直到至少一請(qǐng)求中指明的保存期期滿。
另一說(shuō)明性的實(shí)施例致力于一種用于包括至少一主機(jī)和至少一內(nèi)容可尋址存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中的方法,所述存儲(chǔ)系統(tǒng)保存至少兩種不同類型的數(shù)據(jù)單元,包括數(shù)據(jù)的二進(jìn)制大對(duì)象(blob)及對(duì)應(yīng)于二進(jìn)制大對(duì)象的內(nèi)容描述符文件(CDF),每一CDF包括關(guān)于對(duì)應(yīng)的二進(jìn)制大對(duì)象的元數(shù)據(jù),每一二進(jìn)制大對(duì)象和CDF通過(guò)使用基于二進(jìn)制大對(duì)象和CDF之一的內(nèi)容產(chǎn)生的標(biāo)識(shí)符而可由至少一主計(jì)算機(jī)接近。該方法包括行動(dòng)(A)在標(biāo)識(shí)符中為每一數(shù)據(jù)單元提供至少一條信息以識(shí)別所標(biāo)識(shí)的數(shù)據(jù)單元是否為二進(jìn)制大對(duì)象或CDF。
另一實(shí)施例致力于一種用于在包括至少一主機(jī)和至少一內(nèi)容可尋址存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中處理數(shù)據(jù)的方法,所述存儲(chǔ)系統(tǒng)保存至少兩種不同類型的數(shù)據(jù)單元,包括數(shù)據(jù)的二進(jìn)制大對(duì)象及對(duì)應(yīng)于二進(jìn)制大對(duì)象的內(nèi)容描述符文件(CDF)并形成具有二進(jìn)制大對(duì)象的二進(jìn)制大對(duì)象/CDF組,CDF包括關(guān)于對(duì)應(yīng)的二進(jìn)制大對(duì)象的元數(shù)據(jù),每一二進(jìn)制大對(duì)象和CDF通過(guò)使用基于二進(jìn)制大對(duì)象和CDF之一的內(nèi)容產(chǎn)生的標(biāo)識(shí)符而可由至少一主計(jì)算機(jī)接近,其中,存儲(chǔ)系統(tǒng)執(zhí)行無(wú)用單元收集實(shí)用程序,其僅在對(duì)應(yīng)的CDF已被刪除后才刪除二進(jìn)制大對(duì)象,使得二進(jìn)制大對(duì)象沒(méi)有對(duì)應(yīng)的CDF。該方法包括行動(dòng)提供至少兩個(gè)選項(xiàng)給主機(jī),用于刪除二進(jìn)制大對(duì)象/CDF組中的二進(jìn)制大對(duì)象和CDF至少之一,至少兩選項(xiàng)根據(jù)在響應(yīng)于刪除請(qǐng)求之前有多少刪除處理需被執(zhí)行及有多少刪除處理需被留下以用于無(wú)用單元收集實(shí)用程序而不同。
附圖簡(jiǎn)要說(shuō)明在附圖中
圖1為本發(fā)明的實(shí)施例可實(shí)施于其上的示例性計(jì)算機(jī)系統(tǒng)的框圖。
圖2為根據(jù)本發(fā)明的一實(shí)施例的示出內(nèi)容地址的產(chǎn)生的簡(jiǎn)圖。
圖3為根據(jù)本發(fā)明的一實(shí)施例的示出數(shù)據(jù)可被保存在存儲(chǔ)系統(tǒng)上的示例性方式的框圖。
圖4為根據(jù)本發(fā)明的一實(shí)施例的數(shù)據(jù)可從存儲(chǔ)系統(tǒng)刪除的過(guò)程的流程圖。
具體實(shí)施例方式
本發(fā)明的各個(gè)實(shí)施例致力于用于包括存儲(chǔ)系統(tǒng)和主計(jì)算機(jī)的計(jì)算機(jī)系統(tǒng)中的方法和裝置,存儲(chǔ)系統(tǒng)和主計(jì)算機(jī)通信以執(zhí)行數(shù)據(jù)運(yùn)算。例如,存儲(chǔ)系統(tǒng)可響應(yīng)于來(lái)自主計(jì)算機(jī)的保存數(shù)據(jù)的請(qǐng)求而保存數(shù)據(jù)(寫),響應(yīng)于來(lái)自主計(jì)算機(jī)的用于所保存的數(shù)據(jù)的請(qǐng)求而返回所保存的數(shù)據(jù)(讀),及響應(yīng)于來(lái)自主計(jì)算機(jī)的刪除數(shù)據(jù)的請(qǐng)求而刪除所保存的數(shù)據(jù)。
在本發(fā)明的一實(shí)施例中,當(dāng)發(fā)送請(qǐng)求給存儲(chǔ)系統(tǒng)以保存數(shù)據(jù)時(shí),主計(jì)算機(jī)(在此定義為任何能夠?qū)憯?shù)據(jù)到存儲(chǔ)系統(tǒng)的計(jì)算機(jī))可將將被保存的數(shù)據(jù)及與將被保存的數(shù)據(jù)關(guān)聯(lián)的保存期提供給存儲(chǔ)系統(tǒng)。例如,保存期可確定數(shù)據(jù)不能被刪除或修改的時(shí)段。存儲(chǔ)系統(tǒng)可保存數(shù)據(jù)及其關(guān)聯(lián)的保存期。如果存儲(chǔ)系統(tǒng)隨后從主計(jì)算機(jī)接收到刪除或修改數(shù)據(jù)的請(qǐng)求,存儲(chǔ)系統(tǒng)可首先估計(jì)所保存的與數(shù)據(jù)關(guān)聯(lián)的保存期以確定保存期是否已期滿。如果保存期尚未期滿,存儲(chǔ)系統(tǒng)將不刪除或修改數(shù)據(jù)。如此,一旦已為數(shù)據(jù)單元建立保存期,存儲(chǔ)系統(tǒng)可確保在整個(gè)保存期,數(shù)據(jù)單元將保持為未修改的狀態(tài)。
圖1示出了其上可實(shí)施本發(fā)明的各個(gè)實(shí)施例的示例性系統(tǒng)。圖1示出了存儲(chǔ)系統(tǒng)101,其通過(guò)網(wǎng)絡(luò)103與多個(gè)主機(jī)105a、105b、…、105n通信。如在此所用的,“網(wǎng)絡(luò)”(如網(wǎng)絡(luò)103)是由一個(gè)或多個(gè)傳輸介質(zhì)段互聯(lián)的兩個(gè)或多個(gè)裝置的群組,在傳輸介質(zhì)上通信可在裝置之間交換。每一段可以是多種類型的傳輸介質(zhì)的任意一種,包括一種或多種電或光纜或由金屬和/或光纖制成的線纜、空氣(如使用載波上的無(wú)線傳輸)或這些傳輸介質(zhì)的任意結(jié)合。
存儲(chǔ)系統(tǒng)101可包括一個(gè)或多個(gè)存儲(chǔ)裝置(如磁盤驅(qū)動(dòng))以在計(jì)算機(jī)系統(tǒng)中保存應(yīng)用程序、應(yīng)用數(shù)據(jù)、用戶數(shù)據(jù)、及類似的數(shù)據(jù)。存儲(chǔ)系統(tǒng)101可由主機(jī)105訪問(wèn)以保存、檢索或執(zhí)行對(duì)保存在存儲(chǔ)系統(tǒng)101上的數(shù)據(jù)的運(yùn)算。應(yīng)該意識(shí)到的是,存儲(chǔ)系統(tǒng)101可以是主要用于數(shù)據(jù)存儲(chǔ)的裝置,或可以是執(zhí)行多個(gè)其它功能的裝置,如執(zhí)行用戶應(yīng)用程序。也就是說(shuō),存儲(chǔ)系統(tǒng)101可以是能夠存儲(chǔ)和檢索數(shù)據(jù)的任何裝置。
例如,主機(jī)105可以是服務(wù)器,其提供源(如數(shù)據(jù)存儲(chǔ)、email、及其它服務(wù))、客戶機(jī)(如由用戶操作的一般目的的計(jì)算機(jī)系統(tǒng))、網(wǎng)絡(luò)組件(如轉(zhuǎn)換器)或任何其它類型的計(jì)算機(jī)。主機(jī)105由網(wǎng)絡(luò)103連接到存儲(chǔ)系統(tǒng)101,從而主機(jī)105可使用存儲(chǔ)系統(tǒng)101保存和檢索數(shù)據(jù)。
應(yīng)該意識(shí)到的是,圖1中所示的存儲(chǔ)結(jié)構(gòu)僅是其上可實(shí)施本發(fā)明的各個(gè)方面的系統(tǒng)的例子,因?yàn)楸景l(fā)明并不限于與任何特定類型的系統(tǒng)結(jié)構(gòu)一起使用。例如,不需要多個(gè)主機(jī)連接到單一的存儲(chǔ)系統(tǒng),且除了或替代網(wǎng)絡(luò),可使用大量其它類型的連接中的任意一種(如直接連接)。
主機(jī)105可以多種方式中的任意一種訪問(wèn)存儲(chǔ)系統(tǒng)101上的數(shù)據(jù),因?yàn)樵诖嗣枋龅谋景l(fā)明的各個(gè)方面并不限于任何特定類型的系統(tǒng)結(jié)構(gòu)。例如,在某些計(jì)算機(jī)系統(tǒng)中,在主機(jī)105上執(zhí)行的應(yīng)用程序?qū)⑿畔⒈4嬖谟晌募到y(tǒng)(如在主機(jī)105上執(zhí)行的)管理的文件上。文件系統(tǒng)將每一特定文件的名稱映射到一個(gè)或多個(gè)邏輯卷及存儲(chǔ)器的部件,在那里將數(shù)據(jù)保存在文件內(nèi)。邏輯卷可直接對(duì)應(yīng)于存儲(chǔ)系統(tǒng)101上提供的物理存儲(chǔ)裝置,或當(dāng)存儲(chǔ)系統(tǒng)101是智能存儲(chǔ)系統(tǒng)時(shí),存儲(chǔ)系統(tǒng)可在呈現(xiàn)給主機(jī)105的邏輯卷和存儲(chǔ)系統(tǒng)101內(nèi)的實(shí)際的物理存儲(chǔ)裝置之間執(zhí)行另一層映射。
下述的本發(fā)明的一實(shí)施例適于用在下述一般轉(zhuǎn)讓的未決申請(qǐng)中描述的計(jì)算機(jī)系統(tǒng)中,這些申請(qǐng)為1999年1月21日申請(qǐng)的、題為“內(nèi)容可尋址的信息封裝、表示及轉(zhuǎn)移”的申請(qǐng)09/236,366;1999年1月21日申請(qǐng)的、題為“在網(wǎng)絡(luò)上訪問(wèn)內(nèi)容可尋址的數(shù)據(jù)”的申請(qǐng)09/235,146;1999年9月7日申請(qǐng)的、題為“內(nèi)容可尋址的信息的安全存儲(chǔ)、轉(zhuǎn)移及檢索系統(tǒng)及方法”的申請(qǐng)09/391,360;每一申請(qǐng)均組合于此以供參考。這些申請(qǐng)涉及內(nèi)容可尋址的存儲(chǔ)(CAS)且其整體被稱為“CAS申請(qǐng)”。
在內(nèi)容可尋址系統(tǒng)中,數(shù)據(jù)通過(guò)使用基于數(shù)據(jù)本身的內(nèi)容產(chǎn)生的內(nèi)容地址而被保存。內(nèi)容地址可通過(guò)將散列函數(shù)應(yīng)用到將被保存的數(shù)據(jù)而產(chǎn)生。散列函數(shù)的輸出是可被用在主機(jī)和存儲(chǔ)系統(tǒng)之間的通信中的內(nèi)容地址以訪問(wèn)數(shù)據(jù)。內(nèi)容地址可被映射到(入在存儲(chǔ)系統(tǒng)101內(nèi))存儲(chǔ)系統(tǒng)內(nèi)的一個(gè)或多個(gè)物理存儲(chǔ)單元。內(nèi)容尋址的使用特別適于其中所保存的信息不改變(即固定的內(nèi)容數(shù)據(jù))的應(yīng)用,如上述的那些各種類型的記錄。
可被用于產(chǎn)生內(nèi)容地址的散列函數(shù)的一個(gè)例子為消息摘要5(MD5)。內(nèi)容地址可直接對(duì)應(yīng)于內(nèi)容的散列的結(jié)果,或附加的消息可被添加到散列結(jié)果以產(chǎn)生地址。在一實(shí)施例中,描述被保存的內(nèi)容是否是主機(jī)數(shù)據(jù)或與主機(jī)數(shù)據(jù)關(guān)聯(lián)的元數(shù)據(jù)的消息被添加到內(nèi)容的散列以產(chǎn)生內(nèi)容地址。該附加的信息在下述的多種方式中是有用的。應(yīng)該理解的是,任何類型的散列函數(shù)均可被使用,因?yàn)樵诖嗣枋龅谋景l(fā)明的各個(gè)方面并不限于任一類型的散列函數(shù)的使用,甚或并不限于用在內(nèi)容可尋址系統(tǒng)中。
當(dāng)主機(jī)將數(shù)據(jù)發(fā)送到存儲(chǔ)系統(tǒng)以將其保存在那里時(shí),主機(jī)和存儲(chǔ)系統(tǒng)均可單獨(dú)地計(jì)算數(shù)據(jù)的內(nèi)容地址。主機(jī)可保留內(nèi)容地址以便將來(lái)用于從存儲(chǔ)系統(tǒng)檢索數(shù)據(jù)?;蛘撸?dāng)主機(jī)發(fā)送數(shù)據(jù)到存儲(chǔ)系統(tǒng)時(shí),只有存儲(chǔ)系統(tǒng)可計(jì)算內(nèi)容地址并將所計(jì)算的內(nèi)容地址返回給主機(jī)以便隨后用于訪問(wèn)數(shù)據(jù)。再或者,存儲(chǔ)系統(tǒng)和主機(jī)均可計(jì)算內(nèi)容地址,且存儲(chǔ)系統(tǒng)將其產(chǎn)生的內(nèi)容地址返回給主機(jī)。主機(jī)可將其單獨(dú)計(jì)算的內(nèi)容地址與從存儲(chǔ)系統(tǒng)接收的內(nèi)容地址進(jìn)行比較以驗(yàn)證它們是否匹配。
如上所述,對(duì)于某些類型的固定內(nèi)容數(shù)據(jù),如病人的X光照片或公司的財(cái)務(wù)記錄,可能希望將這些數(shù)據(jù)保持為其原始的形式,這意味著一旦這些數(shù)據(jù)已被保存在存儲(chǔ)系統(tǒng)上,這些數(shù)據(jù)的修改應(yīng)不被允許。在與上面提及的CAS申請(qǐng)一起使用的本發(fā)明的一實(shí)施例中,在那些申請(qǐng)中描述的內(nèi)容尋址系統(tǒng)的特征被用于阻止先前寫入的數(shù)據(jù)的修改。該特征概念性地圖示在圖2中,其示出當(dāng)主機(jī)將原始數(shù)據(jù)201保存在存儲(chǔ)系統(tǒng)上時(shí),原始數(shù)據(jù)的內(nèi)容地址205由散列函數(shù)203產(chǎn)生。主機(jī)隨后可使用內(nèi)容地址205從存儲(chǔ)系統(tǒng)檢索該數(shù)據(jù)的拷貝。如果主機(jī)尋求修改數(shù)據(jù)或重寫其到存儲(chǔ)系統(tǒng)以作為修改的數(shù)據(jù)207,由散列函數(shù)203產(chǎn)生一新的內(nèi)容地址209以用于所修改的數(shù)據(jù)。因?yàn)樵紨?shù)據(jù)201和修改的數(shù)據(jù)207是不同的,散列函數(shù)203將產(chǎn)生不同的內(nèi)容地址以用于數(shù)據(jù)201和數(shù)據(jù)207。因此,內(nèi)容地址205和209將映射到存儲(chǔ)系統(tǒng)的存儲(chǔ)裝置上的不同物理單元。因而,當(dāng)主機(jī)將修改的數(shù)據(jù)207保存在存儲(chǔ)系統(tǒng)中時(shí),其被保存在不同于原始數(shù)據(jù)201的單元并不蓋寫原始數(shù)據(jù)。因而,原始數(shù)據(jù)201在存儲(chǔ)系統(tǒng)上保持不變。
應(yīng)該意識(shí)到的是,本發(fā)明的阻止數(shù)據(jù)一旦寫入就不能修改的實(shí)施例并不限于與內(nèi)容可尋址系統(tǒng)一起使用,因?yàn)榭刹捎迷谙到y(tǒng)中使用其它類型的尋址方案的其它技術(shù)來(lái)阻止對(duì)先前寫入的數(shù)據(jù)的修改。例如,主機(jī)和/或文件系統(tǒng)可預(yù)防對(duì)先前寫入的數(shù)據(jù)的寫,并可要求任何修改的數(shù)據(jù)映射到不同的存儲(chǔ)單元。
如上所提及的,除了阻止數(shù)據(jù)修改外,可能還希望在先前定義的保存期期滿前阻止刪除數(shù)據(jù)。本發(fā)明的一實(shí)施例致力于確保數(shù)據(jù)在先前指明的保存期期間不能被刪除的技術(shù)。如上所述,本發(fā)明的一實(shí)施例可連同在CAS申請(qǐng)中描述的體系結(jié)構(gòu)一起使用。圖3示出了其中數(shù)據(jù)根據(jù)該體系結(jié)構(gòu)保存的方式。
在CAS申請(qǐng)中定義的體系結(jié)構(gòu)中的數(shù)據(jù)單元被稱為二進(jìn)制大對(duì)象(如二進(jìn)制大對(duì)象303)。二進(jìn)制大對(duì)象303可以是,例如,將由主機(jī)(如圖1中的主機(jī)105)保存在存儲(chǔ)系統(tǒng)(如存儲(chǔ)系統(tǒng)105)上的二進(jìn)位數(shù)據(jù),如,病人的X光照片、公司財(cái)務(wù)記錄、或任何其它類型的數(shù)據(jù)。當(dāng)二進(jìn)制大對(duì)象303被保存到內(nèi)容可尋址存儲(chǔ)系統(tǒng)時(shí),以上述方式基于二進(jìn)制大對(duì)象303的內(nèi)容為其產(chǎn)生一唯一的地址。
每一二進(jìn)制大對(duì)象303具有至少一與其關(guān)聯(lián)的內(nèi)容描述符文件(CDF)。CDF301可包括元數(shù)據(jù)305和多個(gè)引用307a、307b、…、307n。CDF可引用一個(gè)或多個(gè)二進(jìn)制大對(duì)象或CDF。因而,引用307可以是,例如,引用到由CDF301引用的二進(jìn)制大對(duì)象和/或CDF。元數(shù)據(jù)305可包括,例如,CDF301的生成日期(如CDF301被保存在存儲(chǔ)系統(tǒng)上的日期)及二進(jìn)制大對(duì)象303的內(nèi)容的描述。根據(jù)本發(fā)明的一實(shí)施例,元數(shù)據(jù)還包括指明關(guān)于所關(guān)聯(lián)的二進(jìn)制大對(duì)象303的保存期的信息。保存期可以被指明為自二進(jìn)制大對(duì)象303和/或CDF301的生成日期開(kāi)始的一段時(shí)間,其間二進(jìn)制大對(duì)象303及CDF301不可被刪除。因而,例如,如果包括在CDF301中的保存期為2年,存儲(chǔ)系統(tǒng)在自包括在CDF301的元數(shù)據(jù)305中的生成日期之日起的兩年內(nèi)將不允許CDF301和二進(jìn)制大對(duì)象303的刪除。
根據(jù)本發(fā)明的一實(shí)施例,在元數(shù)據(jù)305中定義的保存期直接涉及CDF301,并僅間接地涉及二進(jìn)制大對(duì)象303。本發(fā)明的該方面適于用在這樣的系統(tǒng)體系結(jié)構(gòu)中,其中主機(jī)不尋求直接刪除二進(jìn)制大對(duì)象303(即,任何這樣的請(qǐng)求均被拒絕),但可僅尋求刪除CDF301,且其中無(wú)用單元收集實(shí)用程序(將在下面詳細(xì)描述)被采用在存儲(chǔ)系統(tǒng)上以清除已被指明刪除的二進(jìn)制大對(duì)象。如果沒(méi)有CDF引用其,二進(jìn)制大對(duì)象可被指明刪除。在這方面,該體系結(jié)構(gòu)的一個(gè)方面是只要二進(jìn)制大對(duì)象被至少一CDF301引用,則其不能被刪除,但未被CDF引用的任何二進(jìn)制大對(duì)象均可被刪除。
應(yīng)該意識(shí)到的是,本發(fā)明并不限于用在具有上述體系結(jié)構(gòu)的系統(tǒng)中,因?yàn)樯鲜龅脑S多體系結(jié)構(gòu)特征僅僅是實(shí)施細(xì)節(jié)。沒(méi)有必要實(shí)施本發(fā)明。例如,二進(jìn)制大對(duì)象的保存期可被另外直接定義,而不是僅定義CDF的保存期。如果二進(jìn)制大對(duì)象本身攜帶保存期,則可能允許主計(jì)算機(jī)直接刪除保存期已期滿的二進(jìn)制大對(duì)象。
包括在元數(shù)據(jù)305中的二進(jìn)制大對(duì)象303的描述可包括描述二進(jìn)制大對(duì)象303的內(nèi)容的信息。例如,如果二進(jìn)制大對(duì)象303為X光照片,元數(shù)據(jù)305可包括病人的名字、進(jìn)行X光照射的數(shù)據(jù)、附加的醫(yī)生關(guān)于X光照片或病人的注釋、或其它信息。應(yīng)該意識(shí)到的是,上面給定的元數(shù)據(jù)的類型僅僅是可被包括在CDF301的元數(shù)據(jù)305中的元數(shù)據(jù)類型的例子。事實(shí)上,任何關(guān)于二進(jìn)制大對(duì)象303的數(shù)據(jù)可被包括在元數(shù)據(jù)305中,因?yàn)楸景l(fā)明并不限于這方面。
CDF301還可包括一個(gè)或多個(gè)引用307。這些引用可以是,例如,引用到二進(jìn)制大對(duì)象或其它CDF。例如,引用307a可包括二進(jìn)制大對(duì)象303的內(nèi)容地址或文件系統(tǒng)位置,使得CDF301通過(guò)引用307a“指向”二進(jìn)制大對(duì)象303。因此,二進(jìn)制大對(duì)象303可由主機(jī)使用CDF301的內(nèi)容地址或文件系統(tǒng)位置訪問(wèn),因?yàn)樽xCDF301的內(nèi)容提供二進(jìn)制大對(duì)象303的內(nèi)容地址或文件系統(tǒng)位置。在所示的實(shí)施例中,CDF301還包括“指向”其自身的引用307b,即引用307b包括CDF301的內(nèi)容地址或文件系統(tǒng)位置。提供該循環(huán)引用以有利于下面將詳細(xì)描述的無(wú)用單元收集過(guò)程的一實(shí)施例。然而,本發(fā)明并不限于無(wú)用單元收集過(guò)程的使用,或限于每一CDF中的循環(huán)引用的使用,因?yàn)槠渌鼘?shí)施方式均是可能的。CDF301可包括多個(gè)指向其它CDF或二進(jìn)制大對(duì)象的其它引用,使得那些CDF或二進(jìn)制大對(duì)象還可使用CDF301的內(nèi)容地址訪問(wèn)。
在圖3的例子中,只有一個(gè)CDF(即CDF301)被示出“指向”二進(jìn)制大對(duì)象303。然而,應(yīng)該意識(shí)到的是,多個(gè)CDF可包括引用到同一二進(jìn)制大對(duì)象的引用。也就是說(shuō),兩個(gè)或多個(gè)CDF可“指向”同一二進(jìn)制大對(duì)象。當(dāng)多個(gè)CDF包括指向同一二進(jìn)制大對(duì)象的引用時(shí),這些多個(gè)CDF可包括不同的元數(shù)據(jù),包括不同的生成日期和/或不同的保存期。例如,一個(gè)“指向”二進(jìn)制大對(duì)象的CDF可指明兩年的保存期,自其2003年7月15日的生成日期之日起,第二個(gè)CDF可指明自同一生成日期之日起的3年保存期。根據(jù)本發(fā)明的一實(shí)施例,存儲(chǔ)系統(tǒng)可堅(jiān)持最長(zhǎng)保存期。因而,在2005年7月15日,存儲(chǔ)系統(tǒng)可允許第一CDF的刪除,但將不允許第二CDF或因而引用的二進(jìn)制大對(duì)象的刪除。然而,在2006年7月15日,存儲(chǔ)系統(tǒng)將允許第一CDF(如果尚未刪除)和第二CDF的刪除,從而考慮二進(jìn)制大對(duì)象的無(wú)用單元收集。
采用所指明的二進(jìn)制大對(duì)象的最長(zhǎng)保存期的本發(fā)明的實(shí)施例那樣做以確保用戶不能通過(guò)為指明較短的保存期的二進(jìn)制大對(duì)象簡(jiǎn)單創(chuàng)建一新CDF而繞過(guò)先前指明的保存期。在本發(fā)明的一實(shí)施例中,二進(jìn)制大對(duì)象的最長(zhǎng)保存期通過(guò)上述執(zhí)行而堅(jiān)持,其中只要二進(jìn)制大對(duì)象被任一CDF引用,其將不能被刪除。然而,應(yīng)該意識(shí)到的是,本發(fā)明的關(guān)于堅(jiān)持所確定的保存期的最長(zhǎng)期限的方面并不限于該實(shí)施,因?yàn)槠渌夹g(shù)也是可能的。
當(dāng)主機(jī)將二進(jìn)制大對(duì)象保存在存儲(chǔ)系統(tǒng)上時(shí),其可以下面將詳細(xì)描述的方式將二進(jìn)制大對(duì)象及與該二進(jìn)制大對(duì)象關(guān)聯(lián)的CDF提供給存儲(chǔ)系統(tǒng)。主機(jī)可使用CDF的內(nèi)容地址訪問(wèn)CDF,并因而訪問(wèn)二進(jìn)制大對(duì)象元數(shù)據(jù)及包括在那里的引用。主機(jī)接著可使用從CDF獲得的二進(jìn)制大對(duì)象引用(即二進(jìn)制大對(duì)象的內(nèi)容地址或文件系統(tǒng)位置)訪問(wèn)二進(jìn)制大對(duì)象(數(shù)據(jù))本身?;蛘?,在寫二進(jìn)制大對(duì)象之后,主機(jī)可保留二進(jìn)制大對(duì)象的內(nèi)容地址并使用該內(nèi)容地址直接訪問(wèn)二進(jìn)制大對(duì)象。
在創(chuàng)建二進(jìn)制大對(duì)象之后,一個(gè)或多個(gè)另外的引用其的CDF可被創(chuàng)建。例如,如果希望將另外的元數(shù)據(jù)與二進(jìn)制大對(duì)象關(guān)聯(lián),如增加二進(jìn)制大對(duì)象的保存期的元數(shù)據(jù)或添加與該二進(jìn)制大對(duì)象關(guān)聯(lián)的附加描述信息,其可被執(zhí)行。這些另外的CDF可引用第一CDF、二進(jìn)制大對(duì)象自身或同時(shí)引用二者。
在上述的例子中,保存期被指明為自CDF的生成日期之日起的以年為單位的一段時(shí)間。然而,應(yīng)該理解的是,保存期可以更精密的間隔指明。例如,保存期可按年、月、日、小時(shí)、分鐘、秒、或這些(或任何其它)時(shí)間長(zhǎng)度的任意結(jié)合。此外,保存期不必被指明為自CDF的生成日期之日起的一段時(shí)間。例如,保存期可被指明為CDF或所引用的二進(jìn)制大對(duì)象可被刪除的日期和/或時(shí)間。在下面詳細(xì)描述的一實(shí)施例中,保存期可被指明為自所指明的事件發(fā)生的一段時(shí)間。
如上所述,當(dāng)主機(jī)創(chuàng)建CDF以存儲(chǔ)在存儲(chǔ)系統(tǒng)上時(shí),主機(jī)可指定保存期,其包括在CDF的內(nèi)容中。保存期可被指定為自CDF的生成日期開(kāi)始的一段時(shí)間。在一實(shí)施例中,存儲(chǔ)系統(tǒng)尋求在整個(gè)保存期保持控制以確保在所指定的保存期期滿之前主機(jī)不能刪除數(shù)據(jù)。因而,當(dāng)保存期基于CDF的生成日期時(shí),希望從信任的存儲(chǔ)系統(tǒng)的時(shí)鐘為基礎(chǔ)創(chuàng)建數(shù)據(jù),以防止主機(jī)欺騙不正確的生成日期而繞過(guò)強(qiáng)加于數(shù)據(jù)上的保存期。例如,假定CDF在2003年9月15日被保存且保存期為2年。因而,計(jì)劃的CDF的期滿日為2005年9月15日。然而,如果主機(jī)欺騙CDF的2002年9月15日的生成日期時(shí)間戳,則CDF將在2004年9月15日過(guò)期,早于CDF的計(jì)劃期滿日一年。因此,根據(jù)本發(fā)明的一實(shí)施例,采用技術(shù)以允許存儲(chǔ)系統(tǒng)確保CDF中的生成日期時(shí)間戳是CDF的實(shí)際生成日期的準(zhǔn)確反映。這可以通過(guò)多種方式實(shí)現(xiàn),因?yàn)橹铝τ谑勾鎯?chǔ)系統(tǒng)驗(yàn)證所保存的數(shù)據(jù)的生成日期的本發(fā)明的各個(gè)方面并不限于下述的特定實(shí)施方式。
在一實(shí)施例中,為確保由主機(jī)提供的生成日期時(shí)間戳的準(zhǔn)確性,主機(jī)被提供以應(yīng)用程序接口(API),其與存儲(chǔ)系統(tǒng)相互作用以幫助確保寫入到存儲(chǔ)系統(tǒng)的任何數(shù)據(jù)的生成日期的準(zhǔn)確性。在一實(shí)施例中,主機(jī)API與存儲(chǔ)系統(tǒng)通信以從存儲(chǔ)系統(tǒng)獲得當(dāng)前的時(shí)間(如從存儲(chǔ)系統(tǒng)的時(shí)鐘或存儲(chǔ)系統(tǒng)信任的任何源),并比較來(lái)自存儲(chǔ)系統(tǒng)的時(shí)鐘的當(dāng)前時(shí)間與主機(jī)的當(dāng)前時(shí)間(如來(lái)自主機(jī)的時(shí)鐘)進(jìn)行比較。根據(jù)該比較結(jié)果,主機(jī)確定指示存儲(chǔ)系統(tǒng)的時(shí)鐘和主機(jī)的時(shí)鐘之間的時(shí)間差的增量值。關(guān)于存儲(chǔ)系統(tǒng)的時(shí)鐘的信息可以多種方式的任一種通信到主機(jī)。在一實(shí)施例中,無(wú)論存儲(chǔ)系統(tǒng)在何時(shí)發(fā)送信息給主機(jī),來(lái)自存儲(chǔ)系統(tǒng)的時(shí)鐘的當(dāng)前時(shí)間均被添加在信息上。因而,每次主機(jī)從存儲(chǔ)系統(tǒng)接收信息,主機(jī)可比較從存儲(chǔ)系統(tǒng)接收的當(dāng)前時(shí)間和根據(jù)主機(jī)時(shí)鐘的當(dāng)前時(shí)間,并因而更新增量值。當(dāng)主機(jī)創(chuàng)建CDF并將其發(fā)送給存儲(chǔ)系統(tǒng)存儲(chǔ)時(shí),生成日期時(shí)間戳可通過(guò)將增量值添加到主機(jī)時(shí)鐘指明的當(dāng)前時(shí)間而被寫入到CDF,使得生成日期可由存儲(chǔ)系統(tǒng)基于其自己的時(shí)鐘進(jìn)行驗(yàn)證。
在本發(fā)明的一實(shí)施例中,在生成日期時(shí)間戳寫入到CDF之前,主機(jī)進(jìn)行檢查以確保在合理的時(shí)間段內(nèi)增量值已被檢查。例如,如果主機(jī)在最后10秒尚未接收存儲(chǔ)系統(tǒng)的時(shí)鐘,主機(jī)可直接詢問(wèn)存儲(chǔ)系統(tǒng)其當(dāng)前時(shí)間以用于CDF中的日期時(shí)間戳的創(chuàng)建。
在本發(fā)明的一實(shí)施例中,存儲(chǔ)系統(tǒng)可可選地在從主機(jī)接收CDF的基礎(chǔ)上驗(yàn)證CDF的生成日期,以進(jìn)一步使主機(jī)免于企圖對(duì)被寫的數(shù)據(jù)欺騙假的生成時(shí)間。也就是說(shuō),存儲(chǔ)系統(tǒng)可對(duì)CDF中的生成日期時(shí)間戳與在存儲(chǔ)系統(tǒng)接收到寫請(qǐng)求時(shí)的時(shí)間進(jìn)行比較。如果兩個(gè)時(shí)間在一定的合理公差(如10秒)內(nèi)不匹配,則存儲(chǔ)系統(tǒng)可拒絕保存CDF的請(qǐng)求。公差可以任何適當(dāng)?shù)姆绞蕉x,因?yàn)楸景l(fā)明的該方面并不限于任何方面。例如,公差可指定不可由CDF的生成日期時(shí)間戳和根據(jù)存儲(chǔ)系統(tǒng)時(shí)鐘的時(shí)間之間的差超出的極限值。例如,公差可以是固定的一段時(shí)間,如10秒,或任何其它合理的一段時(shí)間?;蛘撸羁烧扔贑DF的保存期,使得如果保存期較短,公差也較?。欢绻鸆DF的保存期較長(zhǎng),公差也可相對(duì)較大。任何適當(dāng)?shù)暮瘮?shù)可被用于確定保存期的長(zhǎng)度和公差之間的關(guān)系,因?yàn)楸景l(fā)明并不限于該方面。
如上所述,根據(jù)本發(fā)明的一實(shí)施例,二進(jìn)制大對(duì)象不能由主機(jī)直接刪除。根據(jù)該實(shí)施例,來(lái)自主機(jī)的任何直接刪除二進(jìn)制大對(duì)象的請(qǐng)求將被存儲(chǔ)系統(tǒng)拒絕。根據(jù)本發(fā)明的一實(shí)施例,采用技術(shù)來(lái)識(shí)別保存在存儲(chǔ)系統(tǒng)上的數(shù)據(jù)單元是否是二進(jìn)制大對(duì)象或CDF,以辨別刪除請(qǐng)求是否是針對(duì)二進(jìn)制大對(duì)象的且將被拒絕,或是否是針對(duì)CDF的并可在滿足下述的某些條件的情況下可被授權(quán)。本發(fā)明的該方面可以多種方式的任一方式實(shí)施。
根據(jù)本發(fā)明的一實(shí)施例,保存在存儲(chǔ)系統(tǒng)上的任何數(shù)據(jù)的內(nèi)容地址包括至少一位,其附加于以上述方式產(chǎn)生自數(shù)據(jù)單元的內(nèi)容的散列,該附加位用于識(shí)別與內(nèi)容地址相關(guān)聯(lián)的數(shù)據(jù)是二進(jìn)制大對(duì)象還是CDF。如此,當(dāng)主機(jī)尋求訪問(wèn)數(shù)據(jù)單元時(shí),提供給存儲(chǔ)系統(tǒng)的內(nèi)容地址識(shí)別數(shù)據(jù)單元是二進(jìn)制大對(duì)象還是CDF,且存儲(chǔ)系統(tǒng)可使用該信息不同地處理這些刪除請(qǐng)求。在這方面,致力于二進(jìn)制大對(duì)象的刪除請(qǐng)求將被拒絕,且致力于CDF的刪除請(qǐng)求將以下面結(jié)合圖4描述的方式處理。
根據(jù)本發(fā)明的一實(shí)施例,內(nèi)容地址由存儲(chǔ)系統(tǒng)自身產(chǎn)生,并被返回給主機(jī)。在這方面,存儲(chǔ)系統(tǒng)采用上述的技術(shù)產(chǎn)生內(nèi)容地址,并是真正產(chǎn)生這樣的地址的令人信任的源。通過(guò)使內(nèi)容地址由存儲(chǔ)系統(tǒng)產(chǎn)生,確保主機(jī)不能欺騙存儲(chǔ)系統(tǒng),其可能通過(guò)虛假地識(shí)別內(nèi)容數(shù)據(jù)(即二進(jìn)制大對(duì)象)作為CDF以使其隨后能夠被直接刪除。在這方面,本發(fā)明的一實(shí)施例致力于提供可滿足嚴(yán)格要求的存儲(chǔ)系統(tǒng),以確保保持政策均被滿足,不管連接到其的主機(jī)的行為。這樣的環(huán)境的一個(gè)例子是提供與SEC規(guī)則17a-4要求一致的存儲(chǔ)系統(tǒng),以將財(cái)務(wù)記錄保留規(guī)定的一段時(shí)間。
圖4為根據(jù)本發(fā)明的一實(shí)施例的示出處理從存儲(chǔ)系統(tǒng)刪除CDF的請(qǐng)求的過(guò)程的流程圖。該過(guò)程可由存儲(chǔ)系統(tǒng)自身執(zhí)行,或由在主機(jī)和存儲(chǔ)系統(tǒng)之間提供接口的單獨(dú)的計(jì)算機(jī)執(zhí)行。該過(guò)程開(kāi)始于行動(dòng)403,其接收在存儲(chǔ)系統(tǒng)刪除CDF的請(qǐng)求。如上所述,請(qǐng)求可以,例如,通過(guò)其內(nèi)容地址識(shí)別CDF。在本發(fā)明的一實(shí)施例中,采用技術(shù)以確保刪除請(qǐng)求的主題事實(shí)上為CDF。那些步驟可在圖4所示的過(guò)程啟動(dòng)前執(zhí)行,或者,可被集成到該過(guò)程中,其通過(guò)執(zhí)行另外的驗(yàn)證步驟,且如果不是致力于CDF則拒絕請(qǐng)求。在接收請(qǐng)求后,過(guò)程前進(jìn)到行動(dòng)405,其中CDF從存儲(chǔ)系統(tǒng)讀取。過(guò)程接著前進(jìn)到行動(dòng)407,其中過(guò)程檢查CDF的元數(shù)據(jù)并估計(jì)保存期以確定保存期是否期滿。當(dāng)保存期已期滿時(shí),存儲(chǔ)系統(tǒng)在行動(dòng)409刪除CDF,并繼而在行動(dòng)413終止。CDF的刪除可以幾種不同的方式執(zhí)行,如下面將更加詳細(xì)描述的那樣。如上所提及的,CDF的刪除可導(dǎo)致(間接地)由CDF引用的任何二進(jìn)制大對(duì)象以下面詳述的方式刪除。當(dāng)在行動(dòng)407確定保存期尚未期滿時(shí),過(guò)程拒絕刪除CDF的請(qǐng)求。存儲(chǔ)系統(tǒng)可可選地返回一錯(cuò)誤消息給請(qǐng)求人(如主機(jī))。接著,過(guò)程在行動(dòng)413終止。
關(guān)于CDF和二進(jìn)制大對(duì)象的信息可以任何適當(dāng)?shù)姆绞奖4?,因?yàn)楸景l(fā)明并不限于任何特定的實(shí)施技術(shù)。根據(jù)本發(fā)明的一實(shí)施例,該信息被保存在適于與自由變量長(zhǎng)度記錄一起使用的數(shù)據(jù)庫(kù)的表內(nèi)。每一二進(jìn)制大對(duì)象和CDF可具有相關(guān)聯(lián)的表,其保存二進(jìn)制大對(duì)象或CDF的內(nèi)容地址、引用(或指向)二進(jìn)制大對(duì)象或CDF的任何CDF的內(nèi)容地址、及其它信息,如哪一物理存儲(chǔ)位置(如磁盤)保存二進(jìn)制大對(duì)象或CDF、創(chuàng)建時(shí)間戳、二進(jìn)制大對(duì)象或CDF的任何錯(cuò)誤的物理位置等。CDF的參考表不必包括識(shí)別CDF指向哪一二進(jìn)制大對(duì)象的項(xiàng),因?yàn)镃DF本身的內(nèi)容包含該信息。參考表可包括將被用于無(wú)用單元收集過(guò)程的引用計(jì)數(shù)。引用計(jì)數(shù)可指示有多少CDF引用特定的二進(jìn)制大對(duì)象或CDF。例如,無(wú)用單元收集程序可檢查與特定二進(jìn)制大對(duì)象或CDF關(guān)聯(lián)的引用計(jì)數(shù)以確定是否有CDF參考特定的二進(jìn)制大對(duì)象或CDF。如果二進(jìn)制大對(duì)象或CDF未被參考,無(wú)用單元收集程序可將其刪除。許多其它類型的信息可被保存在表中,因?yàn)楸景l(fā)明并不限于該方面。應(yīng)該意識(shí)到的是,整個(gè)表不必保存在單一存儲(chǔ)系統(tǒng)上的單一位置中,且表的部分可通過(guò)一個(gè)或多個(gè)存儲(chǔ)系統(tǒng)的不同位置分布。另外,應(yīng)該理解的是,不必采用單一的數(shù)據(jù)庫(kù)來(lái)保存所有二進(jìn)制大對(duì)象及CDF的表,因?yàn)槿魏芜m當(dāng)?shù)慕Y(jié)構(gòu)均可被使用,包括根本不使用數(shù)據(jù)庫(kù)表的結(jié)構(gòu)。
從前述的內(nèi)容應(yīng)該意識(shí)到的是,本發(fā)明的實(shí)施例可被用在CDF不僅指向數(shù)據(jù)的二進(jìn)制大對(duì)象、且還指向其它CDF的系統(tǒng)中。這種體系結(jié)構(gòu)在創(chuàng)建所保存從信息的層級(jí)時(shí)是有用的。例如,二進(jìn)制大對(duì)象可包含個(gè)人的X光照片,使得第一級(jí)CDF可指向X光照片并識(shí)別其屬于特定的個(gè)人。另外,該X光照片可與該個(gè)人或其家庭的多個(gè)X光照片成組,具有指向多個(gè)較低層級(jí)的CDF的較高層級(jí)的CDF以創(chuàng)建邏輯層級(jí)。
根據(jù)本發(fā)明的一實(shí)施例,當(dāng)指向一個(gè)或多個(gè)較低層級(jí)的CDF的較高層級(jí)的CDF被創(chuàng)建時(shí),對(duì)較低層級(jí)的CDF的參考被包括在較高層級(jí)的CDF的內(nèi)容中,使得較高層級(jí)的CDF邏輯地指向較低層級(jí)的CDF。在一實(shí)施例中,對(duì)較低層級(jí)的CDF的參考可簡(jiǎn)單地作為元數(shù)據(jù)或描述符包括在較高層級(jí)的CDF的內(nèi)容中,因?yàn)樵擉w系結(jié)構(gòu)并不注視以在此所述的CDF指向二進(jìn)制大對(duì)象的方式指向另一二進(jìn)制大對(duì)象的CDF(即較高層級(jí)的CDF的地址并不提供在較低層級(jí)的CDF的參考表中)。然而,在本發(fā)明的另一實(shí)施例中,該參考可被提供,使得較高層級(jí)的CDF可指向較低層級(jí)的CDF并使其地址提供在較低層級(jí)的CDF的參考表中。根據(jù)該實(shí)施方式,較低層級(jí)的CDF在其被較高層級(jí)的CDF指向時(shí)不能被刪除,使得刪除較低層級(jí)的CDF將要求先刪除較高層級(jí)的CDF。
如上所述,根據(jù)本發(fā)明的一實(shí)施例,采用了無(wú)用單元收集技術(shù),其刪除未被CDF引用的任何二進(jìn)制大對(duì)象。根據(jù)本發(fā)明的一實(shí)施例,當(dāng)二進(jìn)制大對(duì)象被寫入到存儲(chǔ)系統(tǒng)時(shí),其在其對(duì)應(yīng)的CDF之前被寫。因而,當(dāng)寫二進(jìn)制大對(duì)象時(shí),其CDF的內(nèi)容地址可能尚未產(chǎn)生,使得其不可作為引用包括在與二進(jìn)制大對(duì)象關(guān)聯(lián)的表中。根據(jù)本發(fā)明的一實(shí)施例,采用技術(shù)來(lái)確保在其CDF之前寫的二進(jìn)制大對(duì)象不作為未被引用的二進(jìn)制大對(duì)象呈現(xiàn)給無(wú)用單元收集程序,從而導(dǎo)致無(wú)用單元收集實(shí)用程序刪除最新寫的二進(jìn)制大對(duì)象。
根據(jù)本發(fā)明的一實(shí)施例,二進(jìn)制大對(duì)象和CDF的寫被認(rèn)為構(gòu)成一事務(wù),且一標(biāo)識(shí)符分配給該事務(wù)。當(dāng)寫二進(jìn)制大對(duì)象時(shí),事務(wù)標(biāo)識(shí)符被用作二進(jìn)制大對(duì)象的參考表中的占位符,以代替CDF的尚未產(chǎn)生的、將參考二進(jìn)制大對(duì)象的內(nèi)容地址。無(wú)用單元收集程序承認(rèn)該占位符且將不刪除二進(jìn)制大對(duì)象。當(dāng)CDF隨后被寫且其內(nèi)容地址被計(jì)算時(shí),二進(jìn)制大對(duì)象參考表中的事務(wù)數(shù)字被CDF的內(nèi)容地址代替。
應(yīng)該意識(shí)到的是,本發(fā)明并不限于采用上面提及的在初始寫二進(jìn)制大對(duì)象時(shí)提供臨時(shí)事務(wù)數(shù)字的技術(shù),因?yàn)槠渌m當(dāng)?shù)募夹g(shù)可被采用來(lái)確保二進(jìn)制大對(duì)象將不被無(wú)用單元收集程序刪除。此外,在使用于不采用無(wú)用單元收集程序的系統(tǒng)中的本發(fā)明的實(shí)施例中,并不必采用該技術(shù);其采用使用不同技術(shù)的無(wú)用單元收集程序來(lái)確定哪一二進(jìn)制大對(duì)象應(yīng)被刪除(而不是尋找未被任何CDF參考的二進(jìn)制大對(duì)象),或在它們相關(guān)聯(lián)的CDF之前不寫二進(jìn)制大對(duì)象到存儲(chǔ)系統(tǒng)的系統(tǒng)。
如上所述,本發(fā)明的一實(shí)施例適于與無(wú)用單元收集程序一起使用。無(wú)用單元收集程序可以是,例如,在存儲(chǔ)系統(tǒng)上執(zhí)行的后臺(tái)處理以重新要求先前已被分配用于存儲(chǔ)、但不再需要的磁盤空間(如因?yàn)楸4嬖谠摽臻g中的CDF或二進(jìn)制大對(duì)象已被標(biāo)記為刪除)。在本發(fā)明的一實(shí)施例中,無(wú)用單元收集程序搜索二進(jìn)制大對(duì)象和CDF的參考表以尋找未被任何CDF參考的二進(jìn)制大對(duì)象或CDF。當(dāng)無(wú)用單元收集程序發(fā)現(xiàn)這樣的二進(jìn)制大對(duì)象或CDF時(shí),無(wú)用單元收集程序?qū)⑺鼈儎h除并將它們的對(duì)應(yīng)項(xiàng)從參考表中移除。應(yīng)該意識(shí)到的是,當(dāng)無(wú)用單元收集程序“刪除”特定的CDF或二進(jìn)制大對(duì)象時(shí),包括CDF或二進(jìn)制大對(duì)象的文件可從存儲(chǔ)系統(tǒng)的文件系統(tǒng)簡(jiǎn)單地移去?;蛘?,在本發(fā)明的適于與希望更多安全刪除的應(yīng)用一起使用的一實(shí)施例中,保存二進(jìn)制大對(duì)象或CDF數(shù)據(jù)的物理位置可被數(shù)據(jù)(如隨機(jī)位或指定的位序列)蓋寫,使得二進(jìn)制大對(duì)象或CDF的實(shí)際二進(jìn)位數(shù)據(jù)被使用任何適當(dāng)?shù)募夹g(shù)擦掉或電子地“扯碎”。
在本發(fā)明的一實(shí)施例中,與每一未被標(biāo)記為刪除的CDF關(guān)聯(lián)的參考表具有對(duì)CDF自身的循環(huán)引用,以確保如果CDF未被其它參考,無(wú)用單元收集程序?qū)⒉灰陨鲜龅姆绞綄⑵渥鳛槲幢粎⒖嫉腃DF刪除。應(yīng)該意識(shí)到的是,本發(fā)明并不限于該方面,因?yàn)槠渌灰蕾囉诹硪籆DF的參考的缺少來(lái)作為刪除CDF的無(wú)用單元收集技術(shù)可被使用。例如,當(dāng)用在根據(jù)本發(fā)明的實(shí)施例時(shí),其采用唯一的標(biāo)識(shí)符來(lái)在CDF和二進(jìn)制大對(duì)象之間區(qū)分,無(wú)用單元收集程序可注意該唯一的標(biāo)識(shí)符并認(rèn)可未被參考的CDF不應(yīng)被刪除,而只有未被參考的二進(jìn)制大對(duì)象應(yīng)被刪除。
如上所述,在本發(fā)明的一實(shí)施例中,主機(jī)不被允許直接刪除二進(jìn)制大對(duì)象。也就是說(shuō),任何想直接刪除二進(jìn)制大對(duì)象的企圖(如通過(guò)發(fā)送刪除指令給具有二進(jìn)制大對(duì)象的內(nèi)容地址的存儲(chǔ)系統(tǒng))將被存儲(chǔ)系統(tǒng)拒絕。該限制獨(dú)立于應(yīng)用程序或發(fā)出請(qǐng)求的主機(jī)的實(shí)用程序,或請(qǐng)求人的訪問(wèn)特權(quán)(例如,即使來(lái)自主機(jī)的系統(tǒng)管理員的請(qǐng)求也將被拒絕)。因而,主機(jī)僅可通過(guò)刪除所有引用二進(jìn)制大對(duì)象的CDF而刪除二進(jìn)制大對(duì)象,且一旦二進(jìn)制大對(duì)象不再被任何CDF引用,其將被無(wú)用單元收集程序刪除。
如上所述,在本發(fā)明的一實(shí)施例中,存儲(chǔ)系統(tǒng)能夠區(qū)分刪除二進(jìn)制大對(duì)象的請(qǐng)求和刪除CDF的請(qǐng)求。在一實(shí)施例中,當(dāng)主機(jī)發(fā)送刪除請(qǐng)求給存儲(chǔ)系統(tǒng)時(shí),主機(jī)可包括將被刪除的數(shù)據(jù)的內(nèi)容地址,連同指示內(nèi)容地址是否對(duì)應(yīng)于二進(jìn)制大對(duì)象或CDF的信息(如布爾值)。如果主機(jī)指出內(nèi)容地址對(duì)應(yīng)于二進(jìn)制大對(duì)象,則存儲(chǔ)系統(tǒng)將拒絕刪除請(qǐng)求,如本發(fā)明一實(shí)施例中直接刪除二進(jìn)制大對(duì)象被禁止那樣。然而,如果布爾值指出內(nèi)容地址對(duì)應(yīng)于CDF,存儲(chǔ)系統(tǒng)將處理該請(qǐng)求以刪除對(duì)應(yīng)于由主機(jī)提供的內(nèi)容地址的數(shù)據(jù)。在存儲(chǔ)系統(tǒng)刪除任何數(shù)據(jù)之前,存儲(chǔ)系統(tǒng)檢查與被請(qǐng)求刪除的數(shù)據(jù)關(guān)聯(lián)的元數(shù)據(jù),以確定該數(shù)據(jù)的保存期是否已期滿。在一實(shí)施例中,存儲(chǔ)系統(tǒng)可在CDF自身的內(nèi)容中發(fā)現(xiàn)與CDF關(guān)聯(lián)的保存期。如果保存期已期滿,存儲(chǔ)系統(tǒng)可刪除CDF。如果由主機(jī)提供的內(nèi)容地址對(duì)應(yīng)于二進(jìn)制大對(duì)象(使得布爾值中的其對(duì)應(yīng)于CDF的指示是錯(cuò)誤的),存儲(chǔ)系統(tǒng)將不能在二進(jìn)制大對(duì)象的內(nèi)容中發(fā)現(xiàn)保存期。當(dāng)在將被刪除的數(shù)據(jù)的內(nèi)容中沒(méi)有發(fā)現(xiàn)保存期時(shí),存儲(chǔ)系統(tǒng)將拒絕刪除請(qǐng)求。因而,任何刪除二進(jìn)制大對(duì)象的請(qǐng)求將失敗,因?yàn)榇鎯?chǔ)系統(tǒng)不能在二進(jìn)制大對(duì)象的內(nèi)容中查找到保存期。這防止了主機(jī)通過(guò)直接刪除二進(jìn)制大對(duì)象本身而繞過(guò)在CDF中建立的保存期。
在另一實(shí)施例中,存儲(chǔ)系統(tǒng)可基于添加到內(nèi)容地址的另外的信息區(qū)分刪除二進(jìn)制大對(duì)象的請(qǐng)求和刪除CDF的請(qǐng)求。如上所述,內(nèi)容地址可源自二進(jìn)制大對(duì)象或CDF的數(shù)據(jù)的散列。內(nèi)容地址可包括另外的標(biāo)識(shí)符來(lái)指示內(nèi)容地址是否是二進(jìn)制大對(duì)象或CDF的地址。標(biāo)識(shí)符可位于內(nèi)容地址內(nèi)的任何地方。例如,當(dāng)使用26字符散列值作為內(nèi)容地址時(shí),標(biāo)識(shí)符可以是安排的另外的字符,使得散列值的13字符在標(biāo)識(shí)符之前,及散列值的13字符在標(biāo)識(shí)符之后。
刪除CDF及關(guān)聯(lián)的二進(jìn)制大對(duì)象可以多種方式的任一方式執(zhí)行。下面描述的技術(shù)可被認(rèn)為是用于采用在特定系統(tǒng)結(jié)構(gòu)內(nèi)的另外的技術(shù),因?yàn)橹豢商峁┮粋€(gè)技術(shù)用于刪除CDF及其關(guān)聯(lián)的二進(jìn)制大對(duì)象。然而,根據(jù)本發(fā)明的一實(shí)施例,兩個(gè)或多個(gè)下述的刪除技術(shù)被提供在一個(gè)系統(tǒng)上(如由存儲(chǔ)系統(tǒng)實(shí)施),使得用戶被提供以用于執(zhí)行刪除的選擇。如下面詳述的,某些方法可能要求相當(dāng)小量的初始處理并為無(wú)用單元收集程序留下相當(dāng)大量的處理,而其它方法可能要求相當(dāng)大量的初始處理而留下較少的工作讓無(wú)用單元收集程序處理(如果無(wú)用單元收集程序被根本使用的話)。應(yīng)該意識(shí)到的是,下述的刪除技術(shù)僅在其確定(例如,在圖4中的行動(dòng)407)保存期已期滿時(shí)執(zhí)行1次。因而,下面的技術(shù)可被執(zhí)行以實(shí)施在圖4的過(guò)程中在行動(dòng)409的刪除CDF的行動(dòng)。
第一方法被稱為雇傭和遺忘(fire and forget)。如上所述,在一實(shí)施例中,CDF包括對(duì)其自身的循環(huán)引用(如,保存在引用表中的CDF的記錄中)。響應(yīng)于刪除CDF的請(qǐng)求,在驗(yàn)證保存期已期滿時(shí),雇傭和遺忘方法簡(jiǎn)單地除去對(duì)CDF的循環(huán)引用。只要CDF未被任何其它CDF引用(在那種情況下,刪除將不被授權(quán)),在無(wú)用單元收集程序發(fā)現(xiàn)CDF未被引用時(shí),其將以上述的方式最后刪除CDF。當(dāng)無(wú)用單元收集程序刪除CDF時(shí),其還搜引用用表以查找任何其它由所刪除的CDF引用的二進(jìn)制大對(duì)象或CDF,并除去任何引用表記錄,其識(shí)別那些正由所刪除的CDF引用的二進(jìn)制大對(duì)象和CDF。該移除可導(dǎo)致由CDF引用的二進(jìn)制大對(duì)象不再由任何CDF引用,其將導(dǎo)致無(wú)用單元收集程序一旦發(fā)現(xiàn)二進(jìn)制大對(duì)象未被引用而最后刪除任何這樣的二進(jìn)制大對(duì)象。
雇傭和遺忘技術(shù)在開(kāi)始是非??斓模?yàn)榇鎯?chǔ)系統(tǒng)在響應(yīng)于主機(jī)CDF被刪除之前只做相當(dāng)少的處理,并留給無(wú)用單元收集程序大量的處理。雇傭和遺忘技術(shù)的特征在于當(dāng)主機(jī)尋求通過(guò)刪除其對(duì)應(yīng)的CDF刪除二進(jìn)制大對(duì)象時(shí),從存儲(chǔ)系統(tǒng)返回的CDF已被刪除的指示不是相應(yīng)的二進(jìn)制大對(duì)象(即使其現(xiàn)在未被引用)已被刪除的指示,因?yàn)閷?duì)于無(wú)用單元收集程序有一些滯后時(shí)間以搜索所有二進(jìn)制大對(duì)象和CDF引用表并刪除標(biāo)識(shí)新近刪除的CDF的所有表記錄,其后才發(fā)現(xiàn)二進(jìn)制大對(duì)象現(xiàn)在未被引用并刪除它。作為該滯后時(shí)間的結(jié)果,即使在刪除已被確認(rèn)后數(shù)據(jù)仍可被讀。
刪除的第二方法被稱為異步刪除。如在雇傭和遺忘中那樣,異步刪除也將循環(huán)引用從CDF移除。然而,在異步刪除中,CDF接著被移到不同的位置,其指明CDF已被刪除并使CDF不再可由主機(jī)讀。CDF的新位置可以是特殊的文件系統(tǒng)位置如“刪除的文件夾”。應(yīng)該意識(shí)到的是,刪除的CDF可以任何適當(dāng)?shù)姆绞健耙苿?dòng)”,包括與CDF關(guān)聯(lián)的實(shí)際物理移動(dòng),其通過(guò)改變CDF的文件系統(tǒng)位置或使CDF具有一指出其現(xiàn)在在刪除的文件夾中的指示符而實(shí)現(xiàn)。無(wú)用單元收集程序可訪問(wèn)刪除的文件夾中的CDF并讀那些刪除的CDF的內(nèi)容以確定哪一CDF和/或二進(jìn)制大對(duì)象被引用。無(wú)用單元收集程序接著可從引用表中將任何引用刪除的CDF的引用刪除,作為前述刪除的結(jié)果,且還刪除任何未被引用的二進(jìn)制大對(duì)象。
與雇傭和遺忘技術(shù)相比,在存儲(chǔ)系統(tǒng)返回CDF已被刪除的指示給主機(jī)之前,異步刪除技術(shù)要求存儲(chǔ)系統(tǒng)進(jìn)行更超前的處理(即,將CDF移到刪除的文件夾)。然而,該另外的超前處理減少了必須由無(wú)用單元收集程序處理的量,因?yàn)闊o(wú)用單元收集程序不必搜索所有CDF及二進(jìn)制大對(duì)象引用表以確定哪一二進(jìn)制大對(duì)象和/或CDF被刪除的CDF引用,既然其可通過(guò)檢查刪除的文件夾中的刪除的CDF的內(nèi)容而直接獲得信息。由于使用雇傭和遺忘技術(shù),在被通知CDF已被刪除的主機(jī)和引用的二進(jìn)制大對(duì)象的刪除結(jié)果之間有滯后時(shí)間,從而,根據(jù)無(wú)用單元收集程序被要求的處理較少的事實(shí),當(dāng)使用異步技術(shù)時(shí)滯后時(shí)間可以更少。
第三種刪除方法被稱為同步刪除。在同步刪除中,響應(yīng)于刪除CDF的請(qǐng)求,存儲(chǔ)系統(tǒng)執(zhí)行下述的超前的處理功能(1)移除CDF的循環(huán)引用;(2)刪除CDF;(3)從引用表移除任何確定其它二進(jìn)制大對(duì)象或CDF被刪除的CDF引用的記錄;及(4)刪除當(dāng)前未被任何CDF引用的任何二進(jìn)制大對(duì)象。應(yīng)該意識(shí)到的是,根據(jù)本發(fā)明的實(shí)施例,無(wú)用單元收集程序是不必要的,因?yàn)樯鲜龅耐絼h除技術(shù)的實(shí)施采取了必要的所有行動(dòng)以實(shí)現(xiàn)刪除,沒(méi)有為無(wú)用單元收集實(shí)用程序留下任何工作。
與上述的其它刪除技術(shù)相比,在指示主機(jī)刪除已被完成之前,同步刪除涉及到相當(dāng)多的由存儲(chǔ)系統(tǒng)進(jìn)行的超前處理,但不會(huì)遭受上面提及的在刪除被CDF引用的二進(jìn)制大對(duì)象時(shí)的滯后,并消除了對(duì)無(wú)用單元實(shí)用程序的需要。因而,應(yīng)該意識(shí)到的是,在此描述的本發(fā)明的實(shí)施例不限于與無(wú)用單元收集程序一起使用,因?yàn)槠渌鼊h除技術(shù)也是可能的。
同步刪除技術(shù)的一個(gè)變異是上面提及的功能的前三個(gè)可在初始執(zhí)行,在指示主機(jī)CDF已被刪除之前,第四步(移除任何未被引用的二進(jìn)制大對(duì)象)可留給無(wú)用單元收集實(shí)用程序。
應(yīng)該意識(shí)到的是,上述的刪除方法僅為給出的例子。許多其它刪除方法可被使用,因?yàn)楸景l(fā)明的各個(gè)方面并不限于任何特定刪除技術(shù)的使用。
在本發(fā)明的一實(shí)施例中,存儲(chǔ)系統(tǒng)提供給主機(jī)這樣的能力,即使用清除指令直接刪除二進(jìn)制大對(duì)象。清除指令允許主機(jī)直接刪除二進(jìn)制大對(duì)象,但僅在二進(jìn)制大對(duì)象未被任何CDF引用的前提下才行。刪除CDF引用的二進(jìn)制大對(duì)象的限制再次確保了存儲(chǔ)系統(tǒng)的保持方案不可通過(guò)使用清除指令而被繞過(guò)。不像上述的其中CDF的內(nèi)容地址被提供給存儲(chǔ)系統(tǒng)以用于刪除的刪除方法,清除指令允許二進(jìn)制大對(duì)象的內(nèi)容地址可被直接提供給存儲(chǔ)系統(tǒng)以用于刪除。通過(guò)使用清除指令,不必等待無(wú)用單元收集程序刪除二進(jìn)制大對(duì)象,因?yàn)槎M(jìn)制大對(duì)象可被直接刪除。
如上所述,本發(fā)明的一實(shí)施例致力于滿足全球定義的保持標(biāo)準(zhǔn)的存儲(chǔ)系統(tǒng),其的一個(gè)例子為上面提及的SEC Rule 17a-4。這樣的實(shí)施例可被稱為定義順從系統(tǒng),其遵守外部建立的保持方針。在本發(fā)明的一實(shí)施例中,該順從的存儲(chǔ)系統(tǒng)防止主機(jī)、系統(tǒng)管理員或其它人進(jìn)行與存儲(chǔ)系統(tǒng)執(zhí)行的保持方針不一致的修改或行動(dòng),以與全球定義的保持方針一致。
本發(fā)明的另一實(shí)施例致力于不必與任何全球定義的保持方針一致的系統(tǒng)。這樣的實(shí)施例被稱為定義非順從系統(tǒng)。在本發(fā)明的一實(shí)施例中,非順從存儲(chǔ)系統(tǒng)可提供一接口,以任何適當(dāng)?shù)姆绞?,其允許管理員確定想要的任何用戶許可及保持政策。例如,一套保持政策可被建立,但主機(jī)或存儲(chǔ)系統(tǒng)上的具有系統(tǒng)管理特權(quán)的用戶可被授予直接刪除數(shù)據(jù)單元的權(quán)力,盡管其與所定義的保持政策相違背。
申請(qǐng)人已意識(shí)到,某些存儲(chǔ)系統(tǒng)可能存在二進(jìn)制大對(duì)象和相關(guān)的CDF沒(méi)有使用所描述的保持技術(shù)就被建立的情況,使得沒(méi)有CDF具有與它們關(guān)聯(lián)的保持信息,并使得某些系統(tǒng)用戶可發(fā)現(xiàn)使用在此描述的保持技術(shù)升級(jí)這樣的系統(tǒng)是更想要的。這樣的升級(jí)可以由多種方式之一完成。例如,任何沒(méi)有保存期的早先存在的CDF可被選擇為期滿、具有無(wú)限的保存期、或具有以任何適當(dāng)方式定義的保存期。
在上述例子中,二進(jìn)制大對(duì)象的保存期被保存在與二進(jìn)制大對(duì)象關(guān)聯(lián)的CDF中,然而,應(yīng)該意識(shí)到的是,保存期可被保存在二進(jìn)制大對(duì)象自身內(nèi)。另外,在此描述的本發(fā)明的各個(gè)方面并不限于使用在采用CDF保存與二進(jìn)制大對(duì)象關(guān)聯(lián)的元數(shù)據(jù)的系統(tǒng)中,因?yàn)槠渌夹g(shù)(如保存這樣的信息在二進(jìn)制大對(duì)象自身內(nèi))是可能的。
應(yīng)該意識(shí)到的是,上面討論的本發(fā)明的各個(gè)方面可以多種方式之一實(shí)施。例如,在此描述的幾個(gè)保持政策均被論述為由存儲(chǔ)系統(tǒng)實(shí)施。這些方面可被實(shí)施在一個(gè)或多個(gè)存儲(chǔ)箱自身上面,存儲(chǔ)箱包括存儲(chǔ)裝置(如,帶驅(qū)動(dòng)機(jī)構(gòu)),或者,可被實(shí)施在不同的存儲(chǔ)箱上面,其被布置為一個(gè)或多個(gè)主機(jī)和一個(gè)或多個(gè)數(shù)據(jù)保存于其上的存儲(chǔ)系統(tǒng)之間的一個(gè)接口。在這種情況下,本發(fā)明的各個(gè)方面可被實(shí)施在系統(tǒng)中的任何計(jì)算機(jī)上。如在此所用的,術(shù)語(yǔ)計(jì)算機(jī)意于覆蓋包括處理數(shù)據(jù)的處理器的任何設(shè)備,并可包括存儲(chǔ)系統(tǒng)、網(wǎng)絡(luò)部件、或任何其它計(jì)算裝置。
本發(fā)明的上述實(shí)施例可以多種方式之一實(shí)施。例如,實(shí)施例可通過(guò)使用硬件、軟件或它們的結(jié)合實(shí)施。當(dāng)實(shí)施在軟件中時(shí),軟件編碼可在任何適當(dāng)?shù)奶幚砥骰蛱幚砥魅荷蠄?zhí)行,無(wú)論是提供在一個(gè)計(jì)算機(jī)中還是分布在多個(gè)計(jì)算機(jī)中。應(yīng)該意識(shí)到的是,執(zhí)行上述功能的任何部件或部件群可被一般地認(rèn)為是一個(gè)或多個(gè)控制器,其控制上述功能。一個(gè)或多個(gè)控制器可以多種方式實(shí)施,如使用專門的硬件、或使用一般目的的硬件(如一個(gè)或多個(gè)處理器),其被使用微碼或軟件編程以執(zhí)行上面提及的功能。
在這種情況下,應(yīng)該意識(shí)到的是,本發(fā)明的實(shí)施例中的一個(gè)實(shí)施包括至少一計(jì)算機(jī)可讀的介質(zhì)(如計(jì)算機(jī)存儲(chǔ)器、軟盤、光盤、磁帶等),其被編碼以計(jì)算機(jī)程序(即多個(gè)指令),其中,當(dāng)在處理器上執(zhí)行時(shí),執(zhí)行本發(fā)明的實(shí)施例的上述功能。計(jì)算機(jī)可讀的介質(zhì)是可運(yùn)輸?shù)模沟帽4嬗谄渖系某绦蚩杀谎b載到任何計(jì)算機(jī)系統(tǒng)資源上以實(shí)施在此論述的本發(fā)明的各個(gè)方面。此外,應(yīng)該意識(shí)到的是,當(dāng)被執(zhí)行時(shí),對(duì)執(zhí)行上述功能的計(jì)算機(jī)程序的引用并不限于在主計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。而是,術(shù)語(yǔ)計(jì)算機(jī)程序以其一般意義使用于此,以指任何類型的計(jì)算機(jī)代碼(如軟件或微碼),其可被采用來(lái)編程處理器以實(shí)施本發(fā)明的上述各個(gè)方面。
應(yīng)該意識(shí)到的是,根據(jù)本發(fā)明的幾個(gè)實(shí)施例,其中程序被實(shí)施在計(jì)算機(jī)可讀介質(zhì)中,在它們執(zhí)行期間,計(jì)算機(jī)實(shí)施的程序可手動(dòng)接收輸入(如從用戶)。
在此使用的措詞及術(shù)語(yǔ)均為描述的目的并不應(yīng)被認(rèn)為是限制。“包括”、“包含”或“具有”、“包含”、“涉及”及其同義詞的使用意味著包括其后列出的項(xiàng)目及另外的項(xiàng)目。
上面已具體描述了本發(fā)明的幾個(gè)實(shí)施例,對(duì)于本領(lǐng)域的那些技術(shù)人員,可進(jìn)行各中修改和改進(jìn)。這樣的修改和改進(jìn)被認(rèn)為是在本發(fā)明的實(shí)質(zhì)和范圍內(nèi)。因而,前述描述僅是示例性的,并不意為限制。本發(fā)明僅被限制為下述權(quán)利要求及其等價(jià)物所定義的內(nèi)容。
權(quán)利要求
1.編碼有指令的至少一計(jì)算機(jī)可讀介質(zhì),當(dāng)指令在計(jì)算機(jī)系統(tǒng)上執(zhí)行時(shí)執(zhí)行一方法,計(jì)算機(jī)系統(tǒng)包括至少一主機(jī)和至少一存儲(chǔ)系統(tǒng),該方法包括行動(dòng)(A)從主機(jī)接收一刪除存儲(chǔ)在存儲(chǔ)系統(tǒng)上的數(shù)據(jù)單元的請(qǐng)求;(B)確定先前定義的該數(shù)據(jù)單元的保存期是否已期滿;及(C)當(dāng)在行動(dòng)(B)確定該數(shù)據(jù)單元的保存期尚未期滿時(shí),拒絕刪除數(shù)據(jù)單元的請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的至少一計(jì)算機(jī)可讀介質(zhì),其中所述方法還包括行動(dòng)(D)當(dāng)在行動(dòng)(B)確定該數(shù)據(jù)單元的保存期已期滿時(shí),刪除數(shù)據(jù)單元。
3.根據(jù)權(quán)利要求1所述的至少一計(jì)算機(jī)可讀介質(zhì),其中行動(dòng)(A)、(B)、(C)均由存儲(chǔ)系統(tǒng)執(zhí)行。
4.根據(jù)權(quán)利要求1所述的至少一計(jì)算機(jī)可讀介質(zhì),其中數(shù)據(jù)單元包括確定數(shù)據(jù)單元是何時(shí)保存在存儲(chǔ)系統(tǒng)上的時(shí)間戳信息,其中行動(dòng)(B)包括檢查時(shí)間戳信息,且其中所述方法還包括從信任的源將時(shí)間信息發(fā)送給至少一主機(jī)的行動(dòng),使得至少一主機(jī)在創(chuàng)建時(shí)間戳?xí)r可使用該時(shí)間信息。
5.用于包括至少一主機(jī)和存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)包括至少一存儲(chǔ)裝置,以保存從至少一主機(jī)接收的數(shù)據(jù);及至少一控制器,其從主機(jī)接收一刪除存儲(chǔ)在存儲(chǔ)系統(tǒng)上的數(shù)據(jù)單元的請(qǐng)求;確定先前定義的該數(shù)據(jù)單元的保存期是否已期滿;及當(dāng)確定該數(shù)據(jù)單元的保存期尚未期滿時(shí),拒絕刪除數(shù)據(jù)單元的請(qǐng)求。
6.根據(jù)權(quán)利要求5所述的存儲(chǔ)系統(tǒng),其中至少一控制器接收指明數(shù)據(jù)單元的保存期的信息。
7.根據(jù)權(quán)利要求5所述的存儲(chǔ)系統(tǒng),其中至少一控制器接收數(shù)據(jù)單元并將數(shù)據(jù)單元寫到至少一存儲(chǔ)裝置。
8.用于包括至少一主機(jī)和存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)包括至少一存儲(chǔ)裝置,以保存從至少一主機(jī)接收的數(shù)據(jù);及至少一控制器,其從主機(jī)接收至少一請(qǐng)求,以將數(shù)據(jù)單元保存在存儲(chǔ)系統(tǒng)中至少直到在至少一請(qǐng)求中指明的保存期期滿;將數(shù)據(jù)單元保存在至少一存儲(chǔ)裝置中;及將指明保存期的信息保存在至少一存儲(chǔ)裝置中。
9.一種在包括至少一主機(jī)和至少一存儲(chǔ)系統(tǒng)的計(jì)算機(jī)系統(tǒng)中處理數(shù)據(jù)的方法,該方法包括行動(dòng)(A)將至少一請(qǐng)求從主機(jī)傳輸?shù)酱鎯?chǔ)系統(tǒng),其請(qǐng)求存儲(chǔ)系統(tǒng)保存數(shù)據(jù)單元至少直到至少一請(qǐng)求中指明的保存期期滿。
10.根據(jù)權(quán)利要求9所述的方法,其中行動(dòng)(A)包括當(dāng)傳輸請(qǐng)求時(shí)傳輸至少一指明保存期的請(qǐng)求,保存期至少部分基于生成時(shí)間,且還包括行動(dòng)(B)從至少一存儲(chǔ)系統(tǒng)指明的源接收時(shí)間信息;及(C)在建立生成時(shí)間時(shí)使用該時(shí)間信息。
全文摘要
本發(fā)明提供了一種用于存儲(chǔ)系統(tǒng)上的數(shù)據(jù)保持的系統(tǒng)和方法。應(yīng)用程序把將被存儲(chǔ)在存儲(chǔ)系統(tǒng)上的數(shù)據(jù)提供給存儲(chǔ)系統(tǒng)。應(yīng)用程序還提供保存期給存儲(chǔ)系統(tǒng),其指明數(shù)據(jù)不可被刪除的時(shí)段。當(dāng)存儲(chǔ)系統(tǒng)接收到刪除數(shù)據(jù)的請(qǐng)求時(shí),其首先估計(jì)與該數(shù)據(jù)關(guān)聯(lián)的保存期,以確定保存期是否已期滿。如果保存期尚未期滿,存儲(chǔ)系統(tǒng)則拒絕刪除數(shù)據(jù)的請(qǐng)求。
文檔編號(hào)G06F1/00GK1629826SQ20041009853
公開(kāi)日2005年6月22日 申請(qǐng)日期2004年12月9日 優(yōu)先權(quán)日2003年12月9日
發(fā)明者邁克爾·基利恩, 馬克·埃弗里, 斯蒂芬·托德, 湯姆·特格爾斯, 弗朗西斯·馬滕斯, 簡(jiǎn)·布魯恩東克斯 申請(qǐng)人:伊姆西公司