專利名稱:在介質(zhì)存儲設(shè)備上提供存取保護的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲設(shè)備,更具體地說,本發(fā)明涉及管理存取磁帶設(shè)備的系統(tǒng)。
在任何數(shù)據(jù)處理系統(tǒng)中,數(shù)據(jù)的完整性是一個關(guān)鍵考慮因素。在大部分數(shù)據(jù)處理環(huán)境中,由于對數(shù)據(jù)的非授權(quán)存取,需要防止出現(xiàn)數(shù)據(jù)完整性問題。某些程序允許系統(tǒng)輸入對數(shù)據(jù)集的存取準則及對用戶的存取權(quán)限。然后,系統(tǒng)利用這些信息管理數(shù)據(jù)的存取。對磁帶設(shè)備,這個保護機制是典型地限于對稱為“文卷”的整個磁帶的存取管理。
然而,磁帶設(shè)備習(xí)慣地在同一文卷上支持多個數(shù)據(jù)集的存貯,即使單數(shù)據(jù)集也要另外考慮可能有殘余的數(shù)據(jù)留在介質(zhì)上,這些數(shù)據(jù)是以前使用過的,它留在最后一次寫入的數(shù)據(jù)集結(jié)尾之前。存取這些剩余的信息,在某些場合稱為“object reuse(對象重使用)”如果對介質(zhì)的存取不管理用戶授權(quán)的介質(zhì)上數(shù)據(jù)的范圍,這二種情況均體現(xiàn)潛在的秘密暴露。這里只是典型地單個數(shù)據(jù)集情況。
在某些環(huán)境中,磁帶應(yīng)用程序允許發(fā)出輸入/輸出(I/O)命令(如,通道程序),典型地沒有多少控制程序的管理。在另一些環(huán)境中,控制程序負責(zé)完成標號和文件格式化,而應(yīng)用程序負責(zé)文件的讀和寫數(shù)據(jù)部分。盡管某些設(shè)備提供保護輔助機制,以拒絕某些由控制程序所保留使用的命令,這保護并不用于存取介質(zhì)的控制命令。利用引入的命令,允許隨機地在介質(zhì)上對不同塊或分區(qū)定位。一個應(yīng)用程序有能力對超出單個文件范圍的定位,這單個文件已由控制程序結(jié)合保密軟件給予過對其的管理。另外還有標準應(yīng)用程序限制在單文件范圍內(nèi)利用這些功能,具有明顯的性能改進,所以,它從應(yīng)用程序發(fā)生的這些命令不具有簡單更改能力。
第一種目前所用防止目標重使用的解決辦法是在文卷上只存貯一個文件,并擦除在數(shù)據(jù)集后的文卷的其余部分。這種解決辦法有下述問題。
首先,只能有單個文件存貯在文卷上,多個文件將面臨應(yīng)用程序存取數(shù)據(jù)超過一個文件的問題,隨著文卷容量增加,為了充分利用這些容量存貯多個文件已成為存貯管理的標準部分。平均文件大小通常明顯小于文卷的整個容量。
第二,應(yīng)用程序可以重寫文卷上格式化的部分,而該文卷不應(yīng)該被重寫,如數(shù)據(jù)集的標號組。
第三,應(yīng)用程序可以試圖去寫格式化信息,如帶標,這將導(dǎo)致介質(zhì)上出現(xiàn)無效文件格式。
第四,應(yīng)用程序可以試圖在控制程序結(jié)束介質(zhì)上文件格式化之前卸載介質(zhì)??梢允箲?yīng)用程序去卸載當前介質(zhì)及存取某些其它介質(zhì)。例如,某些設(shè)備提供一裝載命令。某些設(shè)備裝載器具有自動裝載方式,當當前的文卷被卸載時,引起其他文卷裝載。
第五,實現(xiàn)清除功能的時間需求可能是巨大的。在大部分磁帶設(shè)備中,這個功能需要設(shè)備在文件結(jié)束后,重寫文卷的任何部分。隨著文卷容量增加,實現(xiàn)這個功能所需時間線性增加。例如,擦除一個設(shè)備上10千兆位文卷,以每秒1兆位數(shù)據(jù)率寫時,大約需要10,000秒即3小時。如果,大量的處理文件需要這種處理類型,那么,對正常處理的磁帶設(shè)備的可用性被嚴重沖擊。
第二種方案是對控制程序貫穿每個通道程序進行掃描,通道程序是從應(yīng)用程序接收到的,用來決定是否有任何命令可能有不合乎需要的作用,這種解決辦法有下述問題。
首先,存在同每個通道程序掃描有關(guān)的開銷。
第二,通道程序通常在用戶地址空間中,這引起額外的復(fù)雜的存貯器保護鍵及地址空間的傳輸問題。
第三,控制程序需要檢查同命令有關(guān)的參數(shù)數(shù)據(jù),以使評價它的作用,這包括設(shè)備命令集的詳細的知識必須縮碼到控制程序中。這也產(chǎn)生當新功能每次被引入時,必須更新控制程序的問題,以致它們不能被控制程序中執(zhí)行的檢查拒絕。(例如,一個未知功能或命令被假定為可能的存取違例,因此,它必須被拒絕)。這可以通過直接的在應(yīng)用程序中而無需控制程序的知識,提供支持,以防止過早引入新功能。
第四,這程序可能不能評估命令是否產(chǎn)生問題。例如,一定位命令指定某些邏輯塊遠在介質(zhì)的后端??刂瞥绦蚩赡苤酪部赡懿恢喇斍坝行?shù)據(jù)集的限度(如,邏輯塊的范圍)。
因此,可能不能確定是否存取是超出數(shù)據(jù)集的范圍。
因此,在本領(lǐng)域需要一種快速,低價的技術(shù)以限制對磁帶文卷存取,而不浪費未使用的容量。
為解決現(xiàn)有技術(shù)中的必需,本發(fā)明目的在于提供用于限制對諸如磁帶驅(qū)動裝置的介質(zhì)存儲器設(shè)備存取的方法和系統(tǒng)。根據(jù)本發(fā)明的方法,控制參數(shù)集為給定的應(yīng)用程序?qū)υO(shè)備而產(chǎn)生,磁帶控制裝置用這些參數(shù)去處理來自應(yīng)用程序的命令,并由此控制對磁帶的存取。在所說明應(yīng)用中,在磁帶上所定義的限度及所定義的控制,管理在此限度內(nèi)允許的存取類型。該系統(tǒng)拒絕任何企圖存取定義限度之外的介質(zhì)的命令。在限度內(nèi)的寫和格式化命令受到限制,且分區(qū)改變,裝載和卸載命令被禁止。
圖1為計算機設(shè)備輸入輸出系統(tǒng)的方框圖,該系統(tǒng)利用本發(fā)明的教導(dǎo)。
圖2為本發(fā)明系統(tǒng)中所用的控制程序邏輯流程圖。
圖3為本發(fā)明系統(tǒng)中所用的設(shè)備控制邏輯的流程圖。
所舉例的實施例及典型應(yīng)用,將根據(jù)附圖來說明,在附圖中公開了本發(fā)明占優(yōu)勢的技術(shù)。
而本發(fā)明在此所說明的參數(shù)實施例為特殊應(yīng)用。應(yīng)該了解,本發(fā)明并不限于此。在本領(lǐng)域具有一般技術(shù)的人利用在此提供的教導(dǎo),將承認在此范圍內(nèi)的改進,應(yīng)用及實施例,且本發(fā)明將明顯地可利用到另外的領(lǐng)域。
圖1為利用了本發(fā)明教導(dǎo)的計算機設(shè)備的輸入輸出系統(tǒng)的方框圖。系統(tǒng)10包括計算機12,設(shè)備控制單元14,介質(zhì)存貯設(shè)備16和介質(zhì)18。用戶應(yīng)用程序20在計算機10上運行,產(chǎn)生輸入輸出(I/O)請求,這些請求通過計算機控制程序22被接收和解釋。在典型的執(zhí)行過程中,應(yīng)用程序可以是字處理程序,由控制程序可以是操作系統(tǒng)程序,如DOS或UNIX。
根據(jù)本發(fā)明的教導(dǎo),在應(yīng)有請求的開始時,控制程序22識別應(yīng)用程序(24)的屬性及程序正在工作的數(shù)據(jù)集的屬性,并產(chǎn)生控制集以訪問設(shè)備控制單元14的監(jiān)視器和控制程序28。典型的應(yīng)用屬性包括具有訪問特權(quán)的(如只讀,讀—寫等)數(shù)據(jù)組的表,典型的數(shù)據(jù)集屬性包括一數(shù)據(jù)組,利用這數(shù)據(jù)組屬性被聯(lián)系起來并可能限制訪問(如只讀,讀寫等)控制單元14是一個具有微處理器(沒有顯示)的設(shè)備管理器,微處理器把具有計算機12的協(xié)議的信號格式轉(zhuǎn)換成輸入輸出設(shè)備16的協(xié)議信號格式??刂茊卧?4也控制I/O設(shè)備16去格式化并定位介質(zhì)18,同時去分別訪問文件30,32和34。在圖示實施例中,I/O設(shè)備16是磁帶驅(qū)動裝置,而介質(zhì)18是磁帶。
本發(fā)明的工作在流程圖2和3中說明。圖2是用在本發(fā)明的系統(tǒng)中的控制程序邏輯流程圖。圖3是用在本發(fā)明的系統(tǒng)中的設(shè)備控制邏輯流程圖。
如圖2中說明所示,在流程圖40的步42上,控制程序22接收請求去運行應(yīng)用程序20。在步44上,程序22分別去取應(yīng)用屬性和數(shù)據(jù)集屬性24和26。接著,在步46上,程序22根據(jù)屬性確定合適的控制。例如,若程序已讀訪問數(shù)據(jù)組,這數(shù)據(jù)組被數(shù)據(jù)集與其相聯(lián)系,控制應(yīng)指定限制讀存取,并限制在與此數(shù)據(jù)集相關(guān)的介質(zhì)部分。
在步48上,控制送到控制單元1 4的訪問監(jiān)視器及控制程序28,并存貯到存貯器中(沒有顯示出來),然后,執(zhí)行應(yīng)用程序(步50)。在步52和54,通過在訪問監(jiān)視器和控制程序28中圖3的設(shè)備控制邏輯程序60處理I/O請求。如果檢測出保護違例,I/O請求結(jié)束,在某些情況下,應(yīng)用程序被終止且程序結(jié)束(步58)。如果沒有發(fā)生保護建例,應(yīng)用程序被允許去訪問設(shè)備16。
如圖3所說明那樣,訪問監(jiān)視器和控制程序28的設(shè)備控制邏輯程序處理來自應(yīng)用程序的I/O請求,并用存儲器中初始檢查檢測保護違例,以便決定是否提供設(shè)備控制(步64)。如果沒有提供,命令被處理。如果設(shè)備控制被提供在存儲器中,程序60在步66恢復(fù)控制。然后,I/O命令針對每個控制(步68,70等)被檢查。如果沒有一個控制是違例的,命令被處理(在步72)且良好狀態(tài)被返回到控制程序(步74),然而,如果任一控制違例,命令失敗(步76),保護違例被指示在控制程序上(圖2的步54)。
控制可以如下定義。首先,在介質(zhì)18上定義一個限度,看作在介質(zhì)18上邏輯上連續(xù)存儲位置的范圍。例如,僅作為讀訪問的磁帶卷,邏輯塊的范圍是在給定介質(zhì)分區(qū)中一個邏輯塊開始,通過一系列相同分區(qū)的連續(xù)邏輯塊構(gòu)成,或者是一個或多個連續(xù)介質(zhì)區(qū)。對作為寫訪問的磁帶卷,其限度典型地將是指定起始位置,如一個區(qū)分或跟著的某些指定邏輯塊的開始,并產(chǎn)生結(jié)束位置,例如相同或某些后續(xù)區(qū)的結(jié)束。
根據(jù)本發(fā)明的教導(dǎo),這新命令被產(chǎn)生(如“定義限度”),這命令用來指定所保護的介質(zhì)限度的開始和結(jié)束位置。為了管理不同情況,起始位置參數(shù)可用下述方法中任何一種指定限度的開始1)介質(zhì)的開始;2)分區(qū)的開始;3)當前介質(zhì)位置(如,在正向中,下一塊之前);4)在前面帶標記之后的位置;5)在介質(zhì)上指定分區(qū)號或邏輯塊號。其中方法1和2典型地用于應(yīng)用程序分別對全部介質(zhì)或全部分區(qū)訪問的情況。方法3典型地用于當介質(zhì)處于所訪問文件的開始。方法4典型地相同于方法3用在文件正向被訪問的情況下,方法4亦可以用于當介質(zhì)處于文件結(jié)束時,指定文件的開始。方法5可用來定義介質(zhì)上任意起始點。除了方法4以外所有情況,設(shè)備可結(jié)合限度的起點確定一具體的分區(qū)號和邏輯塊號。對方式4,設(shè)備只是在如果它已經(jīng)訪問了在前面帶標和當前位置之間的所有邏輯塊時,可結(jié)合限度的起點確定一具體的分區(qū)號和邏輯塊號。
為了管理不同情況,結(jié)束位置參數(shù)可用下述方法中任何一種指定限度的結(jié)束1)介質(zhì)的結(jié)束;2)分區(qū)的結(jié)束;3)當前介質(zhì)的位置(如,在反向中下一塊之后);4)在后續(xù)帶標之前的位置;5)數(shù)據(jù)的結(jié)束(如,所寫的最后有效塊之后);6)在介質(zhì)上指定分區(qū)號和邏輯號。
方法1和2將典型地分別用于二種寫情況,即應(yīng)用程序已訪問了跟隨在限度開始后整個介質(zhì)上的所有數(shù)據(jù),或者是全部分區(qū)。方法3典型用于當介質(zhì)處在所要訪問文件的結(jié)束位置時,方法4典型用于當介質(zhì)位于文件開始時,此文件被作讀訪問,且控制程序并不知道此文件結(jié)束的正確位置(如通過正向下一個帶標,標示位置)。方法5用于存取數(shù)據(jù),直到寫到介質(zhì)上的最后一個塊的最后一個記錄。這將典型地用于當應(yīng)用程序要對介質(zhì)上所有有效數(shù)據(jù)進行存取,(例如包括在文件尾的任何標簽或帶標志)。這種選擇在設(shè)備上不提供,設(shè)備不支持數(shù)據(jù)標志的結(jié)束,也就是說在這種情況下,數(shù)據(jù)結(jié)束的標志不被寫入。方式6能用來定義在介質(zhì)上的任何結(jié)束點。對除了用方式4和5的所有情況,設(shè)備可結(jié)合限度的結(jié)束確定一具體的分區(qū)號和邏輯塊號。對方式4和5,設(shè)備只是在如果它已經(jīng)訪問了當前介質(zhì)位置和指定限度的結(jié)束之間所有邏輯塊,相關(guān)于限度的結(jié)束確定指定分區(qū)號和邏輯塊號。
其次,控制確定對介質(zhì)的操作哪一種存取類型是允許的。在沒有下列控制的情況下,應(yīng)用程序通常對介質(zhì)的任何部分具有完全的讀和寫訪問限度保護(extent protect)。
當其起作用時,任何企圖定位介質(zhì)超出指定限度的命令均被拒絕,這限度由已發(fā)出的最后的定義限度的命令指定。實際上,介質(zhì)的定位必須保持在所定義的限度內(nèi)。如果,當發(fā)生命令時,介質(zhì)沒有定位在限度之內(nèi),此控制就不應(yīng)使其起作用。如果設(shè)備不能把運動方向上的限度邊界和如上面討論的所指定邏輯塊號相關(guān)起來,定位命令的執(zhí)行就受到限制。在這種情況下,設(shè)備通常必須順序訪問當前位置和目標位置之間所有塊,以保證不遇到限度邊界情況。在此情況下,定位操作性能的降低是可能的。在考慮中的附加的應(yīng)用取決于定位命令,限度邊界說明應(yīng)該采用,它能夠同邏輯塊號相關(guān)。這個問題在文件的讀存取時最為典型。在那里,文件的限度尾被指定在下一個帶標之前。對于這種情況,建議控制程序保留起始和結(jié)束位置(如,邏輯塊號)。以使,當一個文件被產(chǎn)生時,它們能在以后時問里使用指定的限度范圍。
寫保護當其有效時,寫類型命令是拒絕的。在這種情況下,程序?qū)纱嫒【聿糠钟弥蛔x存取(例如,整個文卷或限度取決于限度保護)。
標記保護當有效時,任何形成磁帶標記或其它格式化標記的命令是被拒絕。在其無效時,這些命令可以被接收。
分區(qū)保護(Partition Protect)在其有效時,任何引起介質(zhì)改變當前活動分區(qū)的命令被拒絕。當無效時,引起介質(zhì)改變分區(qū)的命令可以被接收。
級保護(Stage Protect)當有效時,任何引起介質(zhì)裝載或卸載的命令是拒絕的。這包括,如反繞卸載命令。當不起作用時,引起介質(zhì)裝載或卸載命令可以被接收。
所有上述控制均可彼此獨立地使用,而除限度保護之外,定義限度的命令獨立被使用??刂埔话阃ㄟ^方式設(shè)備類命令提供,并將一旦發(fā)出既保持,直到被程序改變,或者可能直到當前文卷卸載。
第三點,方式設(shè)置和定義限度命令作為控制程序的保留命令被處理,以提供一種機制使應(yīng)用程序不修改上面的控制或限度的定義。結(jié)果,控制程序22,當需要時可禁止定義限度命令和方式設(shè)備命令到應(yīng)用程序中使用。因此,控制程序能作下面所有事1)限制存取于指定的介質(zhì)限度;2)限制文卷存取的范圍(更具體的說,可選擇只讀或讀—寫存取);3)通過使無能力改變介質(zhì)或分區(qū),限制對單個文卷或分區(qū)的存??;4)限制文卷的格式化,而只能修改數(shù)據(jù)。
因此,本發(fā)明消除了清除老數(shù)據(jù)以防止對象重新使用的要求,文卷上的多個分區(qū)或分區(qū)內(nèi)的多個文件能被支持而不存在對未授權(quán)存取的暴露??刂瞥绦蛟谔幚黹_始建立約束集,防止應(yīng)用程序執(zhí)行任何動作導(dǎo)致非授權(quán)存取,文件格式化完整性錯誤,或文卷完整性錯誤。這些約束不需要控制程序去監(jiān)視通道程序的內(nèi)容且開銷限于對每個激活(例如打開)文件建立一次約束。
這樣,本發(fā)明在此已經(jīng)說明關(guān)于為特殊應(yīng)用的特殊實施例。那些在本領(lǐng)域有一般技術(shù)的人,利用本發(fā)明的教導(dǎo)將認識另外的修改應(yīng)用和本范圍內(nèi)實施例。例如,本發(fā)明并不限于用磁帶設(shè)備。本發(fā)明的技術(shù)可用任何存貯介質(zhì)。而且,本發(fā)明不限于在說明實施例中定義的命令。本發(fā)明能定義各種命令,并常常適合特殊應(yīng)用。
因此,根據(jù)附屬的權(quán)利要求書,打算囊括任何的以及全部的屬于本發(fā)明范圍的這類應(yīng)用,改進和實施方案。
權(quán)利要求
1.一個限制對介質(zhì)存貯器設(shè)備存取的系統(tǒng),包括第一裝置,用來為所說的設(shè)備產(chǎn)生控制參數(shù)集,所說的設(shè)備對應(yīng)于一個應(yīng)用程序;第二裝置,用來從所說的應(yīng)用程序接收存取所說的設(shè)備的命令;第三個裝置,用所說的參數(shù)去處理所說的命令,以通過應(yīng)用程序去控制存取所說的設(shè)備。
2.權(quán)利要求1的系統(tǒng),其特征在于所說的第一裝置是一個控制程序。
3.權(quán)利要求2的系統(tǒng),其特征在于所說的控制程序處理應(yīng)用屬性,以產(chǎn)生所說的控制參數(shù)。
4.權(quán)利要求3的系統(tǒng),其特征在于所說的控制程序處理數(shù)據(jù)集屬性,以產(chǎn)生所說的控制參數(shù)。
5.權(quán)利要求4的系統(tǒng),其特征在于所說的設(shè)備是一磁帶設(shè)備。
6.權(quán)利要求5的系統(tǒng),其特征在于所說控制參數(shù)中的一個定義了在所說磁帶設(shè)備內(nèi)磁帶限度。
7.權(quán)利要求6的系統(tǒng),其特征在于所說第二個控制參數(shù)指示通過所說的應(yīng)用程序?qū)λf磁帶的所述限度允許的存取類型。
8.權(quán)利要求7的系統(tǒng),其特征在于控制參數(shù)提供了一個存取能力集,它可以根據(jù)應(yīng)用的屬性而選擇。
9.權(quán)利要求8的系統(tǒng),其特征在于第三個裝置所用控制參數(shù)是為了管理存貯在順序存取文卷上數(shù)據(jù)的存取,而順序存取文卷保持多個數(shù)據(jù)集,有剩余數(shù)據(jù),有指定的文件格式并可以從設(shè)備上更換。
10.權(quán)利要求7的系統(tǒng),其特征在于所說的第三個裝置是一個磁帶設(shè)備控制裝置。
11.一個限制對磁帶設(shè)備存取的系統(tǒng),包括第一個裝置,用來對所說的磁帶設(shè)備產(chǎn)生控制參數(shù)集,這對于應(yīng)用程序定義了一個允許的存取類型。第二個裝置,用來從所說應(yīng)用程序接收存取所說的設(shè)備的命令;第三個裝置,包括一磁帶設(shè)備控制裝置,處理所說參數(shù),通過所說應(yīng)用程序去控制存取所說磁帶設(shè)備。
12.一種限制存取磁帶設(shè)備的方法,包括步驟為對應(yīng)一個應(yīng)用程序的所說磁帶設(shè)備產(chǎn)生控制參數(shù)集;從所說應(yīng)用程序接收存取所說磁帶設(shè)備的命令;且處理所說參數(shù),通過所說應(yīng)用程序去控制存取所說磁帶設(shè)備。
全文摘要
一個方法和系統(tǒng),用來限制對介質(zhì)存貯設(shè)備,如磁帶驅(qū)動裝置的存取,根據(jù)本發(fā)明的方法,為設(shè)備對給定應(yīng)用程序產(chǎn)生控制參數(shù)集。磁帶控制裝置用這些參數(shù)去處理來自應(yīng)用程序的命令,從而控制對磁帶的存取。在所說明的應(yīng)用中,在磁帶上定義一個限度,控制被定義,以管理在限度以內(nèi)允許的存取類型。系統(tǒng)拒絕任何企圖存取定義限度之外的介質(zhì)。在限度之內(nèi)的寫和格式化命令被限制,而分區(qū)改變,加載,卸載被禁止。
文檔編號G06F21/24GK1128374SQ9510477
公開日1996年8月7日 申請日期1995年4月25日 優(yōu)先權(quán)日1994年7月27日
發(fā)明者理查德·安東尼·里普伯格 申請人:國際商業(yè)機器公司