專利名稱:用于多個(gè)地理位置的自優(yōu)化網(wǎng)絡(luò)附接存儲(chǔ)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有多個(gè)地理上分散的文件服務(wù)器的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)中的文件位置的管理。
背景技術(shù):
當(dāng)公司擁有在多個(gè)位置的辦公室時(shí),優(yōu)選將信息存儲(chǔ)在其最經(jīng)常被訪問(wèn)的位置。例如,將用戶手冊(cè)的法語(yǔ)翻譯的電子文檔文件存儲(chǔ)在法國(guó),以及將其日語(yǔ)翻譯的存儲(chǔ)在日本是有意義的。該類型的文件組織考慮所述文件可能偶爾被在其它地理位置的人員訪問(wèn),但將被在該文件被存儲(chǔ)所在的位置的那些人員最經(jīng)常訪問(wèn)。因此,通過(guò)將所述文件放置在地域上靠近期望用戶中的多數(shù)的文件服務(wù)器中,多數(shù)用戶訪問(wèn)所述文件的時(shí)延被最小化,其將最大時(shí)延和帶寬消耗負(fù)擔(dān)放置在遠(yuǎn)程的、地理上遠(yuǎn)離的用戶上。
例如,考慮圖3的圖解,其中分布式文件系統(tǒng)布置(30)包括網(wǎng)絡(luò)(35),該網(wǎng)絡(luò)互連位于例如印度的班加羅爾(31)、德克薩斯的奧斯汀(34)和意大利的羅馬(33)的三個(gè)地理上分散的位置的文件服務(wù)器。每個(gè)服務(wù)器(310、330、340)具有本地文件系統(tǒng)和數(shù)據(jù)存儲(chǔ)裝置(311、331、341)以及到局域網(wǎng)(“LAN”)(312、332、342)的連接,這允許大量用戶使用其例如個(gè)人計(jì)算機(jī)(“PC”)、個(gè)人數(shù)字助理(“PDA”)、智能手機(jī)和其它設(shè)備的工作站(313、333、343)來(lái)本地以及經(jīng)由所述網(wǎng)絡(luò)(35)遠(yuǎn)程訪問(wèn)所存儲(chǔ)的文件和數(shù)據(jù)。
現(xiàn)在,考慮初始或“授權(quán)”文件,該文件或許因?yàn)槠渥畛跤砂嗉恿_爾的職員(313)創(chuàng)建或者在產(chǎn)品預(yù)發(fā)行活動(dòng)中最初被班加羅爾職員(313)最經(jīng)常地需要,而被最初存儲(chǔ)(399)在班加羅爾的服務(wù)器(310)。在此最初時(shí)期內(nèi),對(duì)所述文件的多數(shù)訪問(wèn)將是本地的,其涉及僅基于所述班加羅爾LAN(312)的流量。來(lái)自遠(yuǎn)程用戶(343、333)的一些訪問(wèn)仍然是可能的,但其由于相應(yīng)LAN(332、342)以及包括例如因特網(wǎng)或虛擬專用網(wǎng)(“VPN”)的中間網(wǎng)(35)而將引起時(shí)延,并且將消耗網(wǎng)絡(luò)帶寬。
現(xiàn)在,考慮隨后的時(shí)期,例如產(chǎn)品發(fā)行后時(shí)期,當(dāng)或許所述產(chǎn)品被主要部署在印度市場(chǎng),并且由所述印度職員(333)維護(hù)時(shí)。在該時(shí)期內(nèi),所述授權(quán)文件可從班加羅爾的服務(wù)器(310)移動(dòng)到由羅馬服務(wù)器(330)本地存儲(chǔ)(399″)。在該時(shí)期內(nèi),意大利職員對(duì)所述文件的數(shù)量越來(lái)越多的訪問(wèn)經(jīng)歷最小化的時(shí)延,但奧斯汀職員(343)或班加羅爾職員(313)的訪問(wèn)引起很大時(shí)延。
目前,該類型的地理位置優(yōu)化典型是手動(dòng)地或借助于存儲(chǔ)額外拷貝的高速緩存代理來(lái)達(dá)到。手動(dòng)方法是勞動(dòng)密集型的,并且通常直到遠(yuǎn)程用戶的顯著不便已被引起之后才導(dǎo)致文件的重新放置。
高速緩存代理通過(guò)在幾次訪問(wèn)已被檢測(cè)到之后產(chǎn)生所述文件的本地拷貝可以更迅速地響應(yīng)于對(duì)被遠(yuǎn)程存儲(chǔ)的文件的本地需求。然而,高速緩存代理根據(jù)定義僅創(chuàng)建“只讀”或不可修改的該文件的拷貝。例如,如圖3中所示,如果文件的所述授權(quán)拷貝在班加羅爾(399),高速緩存代理在一個(gè)或更多對(duì)該文件的遠(yuǎn)程訪問(wèn)已由奧斯汀職員(343)產(chǎn)生之后,將自動(dòng)把該文件的拷貝存儲(chǔ)在奧斯汀的服務(wù)器中(399′)。
對(duì)于需要編輯或改變例如文檔文件或數(shù)據(jù)庫(kù)文件的所述文件的遠(yuǎn)程用戶,所述是不可用的解決方案。此外,使用高速緩存代理服務(wù)器導(dǎo)致更高的存儲(chǔ)需求(例如存儲(chǔ)相同文件的多個(gè)拷貝),以及當(dāng)所述高速緩存被初始加載和當(dāng)其被刷新時(shí)增加網(wǎng)絡(luò)帶寬消耗。高速緩存代理還可遭受過(guò)期或“失效”數(shù)據(jù),因此包括時(shí)間可變信息的數(shù)據(jù)庫(kù)應(yīng)用可能不適于使用所述數(shù)據(jù)庫(kù)文件的高速緩存拷貝。
大量高速緩存和網(wǎng)路管理技術(shù)在本技術(shù)領(lǐng)域內(nèi)是已知的,但沒有一個(gè)提供用于在所述地理上分布式的文件系統(tǒng)中自動(dòng)地將文件的授權(quán)拷貝從一個(gè)服務(wù)器遷移到另一個(gè)的自動(dòng)、智能的機(jī)制。例如,例如在美國(guó)專利6,823,377和6,754,699以及美國(guó)已出版專利申請(qǐng)2002/0083187、2002/0055972和2004/0221019中描述的那些系統(tǒng)處理文件的高速緩存,而不是移動(dòng)所述授權(quán)拷貝,因此其對(duì)于遠(yuǎn)程用戶僅提供只讀訪問(wèn)。例如在已出版美國(guó)專利申請(qǐng)2002/0138744中描述的其它技術(shù)配備了點(diǎn)到點(diǎn)文件分布,其也對(duì)遠(yuǎn)程用戶允許只讀訪問(wèn),但不允許文件修改。例如在已出版美國(guó)專利申請(qǐng)2002/0065938和2002/0009079中所示的另外的其它技術(shù)集成了提供用于建立防火墻和/或高速緩存的方法的功能。
由于這些原因,在本領(lǐng)域中存在對(duì)于用于自動(dòng)地將授權(quán)文件重新放置或從一個(gè)服務(wù)器遷移到另一個(gè)的系統(tǒng)和方法的需求,其中,所述服務(wù)器是地理上分散的,并且其中,遠(yuǎn)程用戶和程序?qū)λ鍪跈?quán)拷貝的修改操作必須被允許,其通過(guò)自動(dòng)將每個(gè)授權(quán)拷貝放置在靠近最新近和最通常的用戶或訪問(wèn)者的文件服務(wù)器中而具有最小化的時(shí)延和網(wǎng)絡(luò)資源消耗。
發(fā)明內(nèi)容
本發(fā)明提供一種用于自動(dòng)地將授權(quán)文件從一個(gè)服務(wù)器向另一個(gè)服務(wù)器重新放置或遷移的系統(tǒng)和方法,其中所述服務(wù)器是地理上分散的,并且其中對(duì)所述授權(quán)拷貝的修改操作必須被遠(yuǎn)程用戶和程序允許,其通過(guò)自動(dòng)將每個(gè)授權(quán)拷貝放置在靠近最新近和最通常的用戶或訪問(wèn)者的文件服務(wù)器中而具有最小化的時(shí)延和網(wǎng)絡(luò)資源消耗。所述系統(tǒng)在所述地理上分散的文件服務(wù)器之間利用分布式管理控制,其中,所述分布式管理控制維護(hù)每個(gè)授權(quán)文件的當(dāng)前位置的信息,使用時(shí)間衰減分析函數(shù)確定何時(shí)一組遠(yuǎn)程用戶變成每個(gè)授權(quán)文件的最通常用戶,以及自動(dòng)遷移將被本地存儲(chǔ)在與所述最通常用戶相同的地理區(qū)域或最靠近的可用區(qū)域中的每個(gè)授權(quán)文件。所述分布式控制在整個(gè)系統(tǒng)內(nèi)自動(dòng)更新以便在其被執(zhí)行時(shí)記錄所述文件移動(dòng)。
這樣,被特定地理區(qū)域內(nèi)的用戶最經(jīng)常使用的文件被自動(dòng)地與那些頻繁用戶協(xié)同放置,以便最小化訪問(wèn)時(shí)延,以及最小化存儲(chǔ)和網(wǎng)絡(luò)資源消耗。
下面的詳細(xì)描述當(dāng)結(jié)合這里呈現(xiàn)的附圖時(shí)提供了對(duì)本發(fā)明的完全公開。
圖1示出了本發(fā)明的系統(tǒng)視圖。
圖2a和2b示出了一般化的計(jì)算平臺(tái)體系結(jié)構(gòu),以及所述計(jì)算平臺(tái)體系結(jié)構(gòu)的軟件和固件的一般化組織。
圖3提供了對(duì)具有在地理上分散的區(qū)域內(nèi)的服務(wù)器和用戶的分布式文件系統(tǒng)的描述。
圖4闡明了配置一個(gè)或更多NAS服務(wù)器來(lái)根據(jù)本發(fā)明操作的邏輯過(guò)程。
圖5闡明了根據(jù)本發(fā)明自動(dòng)遷移文件的邏輯過(guò)程。
具體實(shí)施例方式
本發(fā)明被優(yōu)選實(shí)現(xiàn)為與網(wǎng)絡(luò)附接存儲(chǔ)(“NAS”)服務(wù)器協(xié)作的軟件功能。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可選實(shí)施例在本發(fā)明的范圍之內(nèi)有效,例如部分或完全的以電路的實(shí)現(xiàn),或者隨需文件管理服務(wù)。
本發(fā)明的一般體系結(jié)構(gòu)轉(zhuǎn)向圖1,分布式存儲(chǔ)環(huán)境的一般化系統(tǒng)視圖被示出(10),其中,每個(gè)NAS服務(wù)器(310、340、330)被修改為包括文件遷移控制器模塊(11)以及可被所述本地文件遷移控制器模塊訪問(wèn)的本地使用統(tǒng)計(jì)(“LUS”)記錄(12、13、14)。所述NAS服務(wù)器和文件遷移控制器模塊通過(guò)使用定制應(yīng)用程序接口(“API”)和/或使用標(biāo)準(zhǔn)化或“開放”接口、協(xié)議和體系結(jié)構(gòu)可以在其間通信,其中,所述接口、協(xié)議和體系結(jié)構(gòu)例如是但并不限于Sun Microsystems的網(wǎng)絡(luò)文件系統(tǒng)(“NFS”)、WebNFS、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、遠(yuǎn)程過(guò)程調(diào)用(“RPC”)、用戶數(shù)據(jù)報(bào)協(xié)議(“UDP”)以及例如輕量目錄訪問(wèn)協(xié)議(“LDAP”)的遠(yuǎn)程目錄服務(wù)和協(xié)議。
NAS服務(wù)器的配置如圖4中所示(40),所述多地理位置分布式文件系統(tǒng)中的每個(gè)NAS服務(wù)器被優(yōu)選配置(41)為用于其本地用戶的典型NAS服務(wù)器,并且然后對(duì)于每個(gè)位置(42、44、45)的每個(gè)服務(wù)器,遷移控制數(shù)據(jù)庫(kù)和表被配置,例如圖1中的本地使用統(tǒng)計(jì)(12、13、14)。然后,一個(gè)服務(wù)器被指定(46)為根設(shè)備,并且所有遷移控制表在所有區(qū)域中被初始化,所述初始化在其操作之前完成了本發(fā)明的配置。表1提供了用于根據(jù)本發(fā)明的該方面的邏輯過(guò)程的示例性偽碼。
表1示例性初始化過(guò)程1a.在多個(gè)位置配置多個(gè)NAS設(shè)備。
1b.在所述NAS設(shè)備的每個(gè)上配置數(shù)據(jù)庫(kù)。
1c.在所述這些數(shù)據(jù)庫(kù)的每個(gè)上,創(chuàng)建具有以下列的表i.文件名(串)ii.位置(所述NAS設(shè)備中的一個(gè)的標(biāo)識(shí)符,其可以是指向具有所述NAS設(shè)備的名字和網(wǎng)絡(luò)標(biāo)識(shí)符的不同表的指針,或者其可以是所述NAS設(shè)備的網(wǎng)絡(luò)標(biāo)識(shí)符,例如主機(jī)名或IP地址)。
iii.衰減平均(實(shí)數(shù))iv.衰減平均從(日期和時(shí)間字段)1d.在所述設(shè)備的每個(gè)上創(chuàng)建根目錄。我們將稱其為根設(shè)備。
1e.在所有所述NAS設(shè)備上,在所述數(shù)據(jù)庫(kù)表中插入具有以下值的行列初始值 說(shuō)明文件名/ 根目錄位置 <根設(shè)備> 指向所述根設(shè)備的指針?biāo)p平均(DA) 0 “零”表示還未發(fā)生任何訪問(wèn)衰減平均日期(DAD) 當(dāng)前時(shí)間在目錄位置的所述數(shù)據(jù)庫(kù)包含到該目錄中的所有文件的鏈接。初始化之后,該屬性僅在空路徑(例如,所述根目錄中不存在文件)下為真。然而,本發(fā)明的所有文件系統(tǒng)操作將保留該屬性,因此其保持為真。在例如所述的過(guò)程完成之后,所述文件系統(tǒng)現(xiàn)在已準(zhǔn)備好使用。
用于遷移控制模塊的控制參數(shù)每個(gè)遷移控制模塊監(jiān)視被本地存儲(chǔ)的文件的使用。通過(guò)使用文件訪問(wèn)請(qǐng)求的返回地址,控制模塊對(duì)針對(duì)每個(gè)文件的每個(gè)訪問(wèn)請(qǐng)求計(jì)數(shù),并且根據(jù)所述請(qǐng)求來(lái)自的位置(例如,哪個(gè)區(qū)域正在請(qǐng)求每個(gè)文件,以及多么頻繁)對(duì)其標(biāo)記時(shí)間戳并進(jìn)行分類。
本發(fā)明優(yōu)選使用時(shí)間衰減平均來(lái)跟蹤哪些位置正在最經(jīng)常地使用或訪問(wèn)每個(gè)文件。衰減函數(shù)通常被稱為分析方法,并且其大量變型適于作為典型時(shí)間衰減平均的替代,其包括但不限于時(shí)間衰減總和、指數(shù)衰減、滑動(dòng)窗口和多項(xiàng)式衰減。
更一般地說(shuō),衰減函數(shù)是非增長(zhǎng)函數(shù)g(x)≥0,并且其中,f(t)是在時(shí)刻t的項(xiàng)的值,其中,在時(shí)刻t被抽樣或檢測(cè)的項(xiàng)在時(shí)刻T的權(quán)重為g(T-t),因此,該項(xiàng)的衰減值為f(t).g(T-t)。時(shí)間衰減平均然后可以被一般表述為大量衰減值的平均。
根據(jù)本發(fā)明的一方面,時(shí)間衰減平均被用于監(jiān)視由每個(gè)區(qū)域中的用戶對(duì)每個(gè)文件的訪問(wèn),由此由遠(yuǎn)程服務(wù)器提供服務(wù)的所有用戶被一起匯總和平均。同樣地,根據(jù)一實(shí)施例,所述控制參數(shù)如表2中所示對(duì)于每個(gè)遷移控制器模塊初始化。
表2示例時(shí)間衰減控制參數(shù)參數(shù) 說(shuō)明T 常數(shù),其優(yōu)選略小于1的值(例如0.9999)。該常數(shù)確定所述衰減平均衰減得多快。
DAmin所述衰減平均的最小值,在其之后文件將被傳輸?shù)搅硪晃恢?。如果所述位置的衰減平均不是至少的Dmin,則該文件仍然被存儲(chǔ)在其當(dāng)前位置,以避免使很少被使用的文件在每次其被訪問(wèn)時(shí)被遷移或移動(dòng)。
DAratioDA將來(lái)位置/DA當(dāng)前位置的最小值,其用于將被自動(dòng)重定位到另一區(qū)域的文件。
文件遷移的操作方法轉(zhuǎn)到圖5,用于請(qǐng)求服務(wù)器或用戶的邏輯過(guò)程(51)以及所述授權(quán)拷貝被存儲(chǔ)所在的服務(wù)器(52)被以一般方式示出。盡管所示的例子可以代表在相互遠(yuǎn)離放置的兩個(gè)獨(dú)立服務(wù)器上協(xié)作執(zhí)行的過(guò)程,但其可以還被同一服務(wù)器執(zhí)行,例如當(dāng)本地用戶請(qǐng)求對(duì)本地存儲(chǔ)的文件的訪問(wèn)時(shí)的情況。
所述請(qǐng)求服務(wù)器從本地用戶和程序接收到對(duì)通常由文件名標(biāo)識(shí)的特定文件的文件操作請(qǐng)求(510)。所述請(qǐng)求服務(wù)器然后通過(guò)檢查其本地遷移控制表確定哪個(gè)NAS服務(wù)器保存了所述授權(quán)拷貝(511)。在該識(shí)別之后,用于執(zhí)行例如讀、修改、刪除等文件操作的請(qǐng)求被發(fā)送到所識(shí)別的授權(quán)服務(wù)器(512)。
所述授權(quán)服務(wù)器然后更新并分析對(duì)于訪問(wèn)被請(qǐng)求的文件的時(shí)間衰減統(tǒng)計(jì)(520)。如果特定閾值被滿足或超過(guò),其指示在所述遠(yuǎn)程(請(qǐng)求)服務(wù)器的用戶已正在比所述授權(quán)服務(wù)器本地的用戶更經(jīng)常和更新近地訪問(wèn)該文件(521)。假如這樣的話,然后所述文件的授權(quán)拷貝被從所述授權(quán)服務(wù)器遷移到所述請(qǐng)求服務(wù)器(522),并且,全部遷移控制表被針對(duì)遍及所述分布式文件系統(tǒng)的全部遷移控制模塊更新。這致使所述請(qǐng)求服務(wù)器成為所述授權(quán)服務(wù)器,因?yàn)樗鑫募F(xiàn)在被與已最新近和最經(jīng)常訪問(wèn)該文件的用戶協(xié)同放置。
如果所述遠(yuǎn)程使用相比于所述授權(quán)服務(wù)器本地的用戶的使用不超過(guò)特定閾值(521),然后僅把用于所述文件的處理程序返回給所述請(qǐng)求服務(wù)器(514),由此所述請(qǐng)求的文件操作可以被遠(yuǎn)程地執(zhí)行。在該情況下,所述文件不遷移,而是保持在所述當(dāng)前授權(quán)服務(wù)器的位置。
這些一般步驟的實(shí)現(xiàn)的許多變型可用于實(shí)現(xiàn)本發(fā)明。表3、4、5、6和7使用偽碼示出了一些普通文件操作的一些實(shí)現(xiàn)。
-表3示例性“尋找文件”操作//該算法尋找作為該文件的權(quán)威來(lái)源的NAS設(shè)備。
//文件也可以是目錄。
3a.如果所述文件在當(dāng)前設(shè)備的數(shù)據(jù)庫(kù)中,則現(xiàn)在從該數(shù)據(jù)庫(kù)獲取該位置。
3b.如果所述文件不在當(dāng)前NAS設(shè)備的數(shù)據(jù)庫(kù)中,則i.尋找位于所述數(shù)據(jù)庫(kù)中的所述目錄的最近的祖先//在最壞的//情況下,所述根目錄將在具有所述根設(shè)備的位置的數(shù)據(jù)庫(kù)表。
ii.將curr_loc設(shè)為所述最近已知祖先的位置,以及將curr_path設(shè)為所述最近已知祖先的值。
iii.在curr_path等于將被列出的目錄之前,基于curr_loc在所述表中的該目錄中尋找下一路徑分量(例如,在路徑/var/spool/mail/root中,如果curr_path是/var/spool,則所述下一分量是mail,并且其完整路徑將是/var/spool/mail)//由于curr_loc是curr_path的位置,則其被保證具有所述分量。
(1)將curr_path設(shè)為curr_path+所述下一分量。
(2)將curr_loc設(shè)為所述新curr_path的位置,其是在curr_loc的當(dāng)前值的數(shù)據(jù)庫(kù)表中可用的。
iv.一旦curr_path是將被列出的目錄,則該curr_loc是正確的位置。
---為完全實(shí)現(xiàn)本發(fā)明的優(yōu)點(diǎn),文件系統(tǒng)最少必須支持下面的操作(a)列出目錄中的文件;(b)打開文件;(c)讀/寫/搜索/關(guān)閉文件;(d)創(chuàng)建新文件或目錄;以及(e)刪除文件。
例如改變所述當(dāng)前目錄的其它操作可以被本地模擬。下面的算法在保持位置信息對(duì)所述終端用戶透明的情況下在所述NAS設(shè)備中的任一個(gè)上實(shí)現(xiàn)了這些操作。在所有下面的實(shí)現(xiàn)中,本地(Local)是當(dāng)前NAS設(shè)備,其是請(qǐng)求用戶被連接到的那個(gè)設(shè)備(例如與請(qǐng)求用戶或程序在同一區(qū)域內(nèi))。
表4示例性“列出目錄內(nèi)容”操作4a.使用本發(fā)明的尋找文件位置(Find File Location)方法來(lái)尋找所述目錄的位置F_Loc。
4b.從位于F_Loc的目錄,獲取該目錄下的全部文件和目錄。//這必須從所述數(shù)據(jù)庫(kù)表而不是遠(yuǎn)程服務(wù)器本身被完成。
4c.向請(qǐng)求所述列表的用戶或程序報(bào)告所述文件和目錄。
表5示例性“打開文件”操作5a.使用本發(fā)明的尋找文件位置(Find File Location)方法來(lái)尋找所述文件的位置F_Loc。
5b.在F_Loc,在針對(duì)所述文件的數(shù)據(jù)庫(kù)行上更新以下i.DA<-DA*T^(now-DAD)。//這意味著所述衰減平均自其最后被//計(jì)算起過(guò)去的每一秒都被T乘。
ii.DAD<-now5c.在Local,如果不存在針對(duì)所述文件的數(shù)據(jù)庫(kù)行,則以DA=1,DAD=now創(chuàng)建它;如果存在,則更新以下i.DA<-DA*T^(now-DAD)+1.//這意味著所述衰減平均自其最//后被計(jì)算起過(guò)去的每一秒都被T乘。然后由于當(dāng)前的訪問(wèn)而加1。
ii.DAD<-now
5d.如果Local.DA>DAmin并且Local.DA/F_Loc.DA>DARatio,則經(jīng)由以下將所述文件遷移到Locali.將所述文件從F_Loc復(fù)制到Local,在Local創(chuàng)建對(duì)于維護(hù)所述文件必要的任何目錄。//例如,當(dāng)遷移/var/spool/mail/root時(shí),可能//有必要?jiǎng)?chuàng)建/、/var,/var/spool,和/var/spool/mail。
ii.向所述系統(tǒng)中的所有NAS廣播該文件現(xiàn)在駐留在Local的消息。所述接收NAS系統(tǒng)可以或者更新合適的行(如果其具有針對(duì)該文件的行),或者忽略該消息。
iii.從F_Loc刪除文件iv.將F_Loc設(shè)為L(zhǎng)ocal。
5e.以合適的模式在F_Loc打開所述文件,其中,F(xiàn)_Loc可以是或者可以不是Local。根據(jù)每個(gè)標(biāo)準(zhǔn)open()系統(tǒng)調(diào)用,返回處理程序或失敗。
表6示例性“讀/寫/搜索/關(guān)閉”操作6a.使用本發(fā)明的尋找文件位置(Find File Location)方法來(lái)尋找所述文件的位置F_loc。
6b.如果Local與所述文件的位置不同,則通過(guò)用Local充當(dāng)用戶和F_Loc之間的請(qǐng)求的代理來(lái)模擬所述文件在Local。//這可以通過(guò)定制//代碼或使用例如連網(wǎng)文件系統(tǒng)(NFS)和微軟文件共享的機(jī)制來(lái)完成。
表7示例性“創(chuàng)建文件”操作
7a.使用本發(fā)明的尋找文件位置(Find File Location)方法來(lái)尋找在其中所述文件將被創(chuàng)建的目錄的位置D_Loc。
//例如,如果所述文件是/var/spool/mail/root,則D_Loc是///var/spool/mail的位置。
7b.驗(yàn)證使用該名字的文件是對(duì)于D_Loc未知的。如果是,則通過(guò)指定該文件已存在的錯(cuò)誤而失敗。
7c.同時(shí)在D_Loc和Local的遷移控制表中創(chuàng)建以下表行i.包含將創(chuàng)建的文件名的Filenameii.Location為L(zhǎng)ocaliii.DA=0 //例如,設(shè)DA為零iv.DAD=now //例如,設(shè)DAD為當(dāng)前時(shí)間7d.在Local創(chuàng)建實(shí)際文件以及通向其的任意目錄。
//例如,如果Local僅具有/var,則創(chuàng)建/var/spool,/var/spool/mail和///var/spool/mail/root,以創(chuàng)建/var/spool/mail/root文件。
表8示例性“刪除文件”操作8a.使用本發(fā)明的尋找文件位置(Find file Location)方法來(lái)尋找所述文件的位置F_Loc。
8b.在F_Loc刪除所述文件。
8c.向參與到所述文件系統(tǒng)中的NAS設(shè)備中的所有遷移控制模塊廣播所述文件已被刪除的消息,一旦接收到該消息,每個(gè)遷移控制模塊就在所述本地遷移控制表中刪除對(duì)應(yīng)的行或條目。
高級(jí)可選實(shí)施例本發(fā)明的前述實(shí)現(xiàn)可以被增強(qiáng)或改進(jìn)為包括文件高速緩存或與文件高速緩存協(xié)作。另一高級(jí)實(shí)施例在用于確定是否文件將被傳輸?shù)叫翹AS設(shè)備的衰減平均判決邏輯中,可以使用所傳輸?shù)臄?shù)據(jù)的量,而不是僅所述文件被打開多少次。
合適的計(jì)算平臺(tái)本發(fā)明被優(yōu)選實(shí)現(xiàn)為熟知的計(jì)算平臺(tái)上已有的軟件的特征和補(bǔ)充,其中,所述熟知的計(jì)算平臺(tái)例如是個(gè)人計(jì)算機(jī)、web服務(wù)器和web瀏覽器。這些通用計(jì)算平臺(tái)可以包括個(gè)人計(jì)算機(jī)以及例如個(gè)人數(shù)字助理(“PDA”)、使能web的無(wú)線電話和其它類型的個(gè)人信息管理(“PIM”)設(shè)備的便攜式計(jì)算平臺(tái)。
因此,回顧計(jì)算平臺(tái)的一般化體系結(jié)構(gòu)是有益的,所述一般化體系結(jié)構(gòu)跨越了從高端web或企業(yè)服務(wù)器平臺(tái)到個(gè)人計(jì)算機(jī)到便攜式PDA或使能web的無(wú)線電話的實(shí)現(xiàn)的范圍。
轉(zhuǎn)向圖2a,包括中央處理單元(21)(“CPU”)的一般化體系結(jié)構(gòu)被呈現(xiàn),其中,所述中央處理單元典型包括關(guān)聯(lián)于隨機(jī)存取存儲(chǔ)器(“RAM”)(24)和只讀存儲(chǔ)器(“ROM”)(25)的微處理器(22)。通常,所述CPU(21)還配備了高速緩沖存儲(chǔ)器(23)和可編程閃速ROM(26)。所述微處理器(22)和所述各種類型的CPU存儲(chǔ)器之間的接口(27)被通常稱為“本地總線”,但還可以是更一般的或工業(yè)標(biāo)準(zhǔn)總線。
許多計(jì)算平臺(tái)也配備了一個(gè)或更多存儲(chǔ)驅(qū)動(dòng)器(29),例如硬盤驅(qū)動(dòng)器(“HDD”)、軟盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器(CD、CD-R、CD-RW、DVD、DVD-R等)以及專有盤和磁帶驅(qū)動(dòng)器(例如Iomega Zip[TM]和Jaz[TM]、Addonics SuperDisk[TM]等)。另外,一些存儲(chǔ)驅(qū)動(dòng)器可能是在計(jì)算機(jī)網(wǎng)絡(luò)上可訪問(wèn)的。
許多計(jì)算平臺(tái)根據(jù)該計(jì)算平臺(tái)的預(yù)計(jì)功能配備了一個(gè)或更多通信接口(210)。例如,個(gè)人計(jì)算機(jī)通常配備了高速串行端口(RS-232、RS-422等)、增強(qiáng)并行端口(“EPP”)以及一個(gè)或更多通用串行總線(“USB”)端口。所述計(jì)算平臺(tái)還可以配備局域網(wǎng)(“LAN”)接口,例如以太網(wǎng)卡,以及例如高性能串行總線IEEE-1394的其它高速接口。
例如無(wú)線電話和無(wú)線連網(wǎng)PDA的計(jì)算平臺(tái)還可以配備帶天線的射頻(“RF”)接口。在一些情況下,所述計(jì)算平臺(tái)也可配備紅外數(shù)據(jù)安排(“IrDA”)接口。
計(jì)算平臺(tái)通常配備了一個(gè)或更多內(nèi)部擴(kuò)展插槽(211),例如工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(“ISA”)、增強(qiáng)工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(“EISA”)、外圍組件互連(“PCI”),或者用于添加例如聲卡、存儲(chǔ)器板和圖形加速器的其它硬件的專有接口插槽。
另外,例如膝上型計(jì)算機(jī)和PDA的許多單元被配備了允許用戶能夠輕松地安裝和移除硬件擴(kuò)展設(shè)備的一個(gè)或更多外部擴(kuò)展插槽(212),其中,所述硬件擴(kuò)展設(shè)備例如是PCMCIA卡、SmartMedia卡以及例如可移除硬盤驅(qū)動(dòng)器、CD驅(qū)動(dòng)器和軟盤驅(qū)動(dòng)器的各種專有模塊。
通常,所述存儲(chǔ)驅(qū)動(dòng)器(29)、通信接口(210)、內(nèi)部擴(kuò)展插槽(211)和外部擴(kuò)展插槽(212)經(jīng)由例如ISA、EISA或PCI的標(biāo)準(zhǔn)或工業(yè)開放總線體系結(jié)構(gòu)(28)與所述CPU(21)互連。在許多情況下,所述總線(28)是屬于專有設(shè)計(jì)的。
計(jì)算平臺(tái)被通常配備了一個(gè)或更多用戶輸入設(shè)備,例如鍵盤或小鍵盤(216)、鼠標(biāo)或指針設(shè)備(217)、和/或觸摸屏顯示器(218)。在個(gè)人計(jì)算機(jī)的情況下,配備全尺寸的鍵盤以及鼠標(biāo)或例如跟蹤球或TrackPoint[TM]的指針設(shè)備。在使能web的無(wú)線電話的情況下,簡(jiǎn)單小鍵盤可被配備一個(gè)或更多對(duì)功能特定的鍵。在PDA的情況下,觸摸屏(218)被通常提供,其通常具有手寫識(shí)別能力。
另外,例如使能了web的無(wú)線電話的麥克風(fēng)或個(gè)人計(jì)算機(jī)的麥克風(fēng)的麥克風(fēng)(219)被提供給所述計(jì)算平臺(tái)。該麥克風(fēng)可以被用于簡(jiǎn)單地報(bào)告音頻和聲音信號(hào),并且其還可以通過(guò)使用語(yǔ)音識(shí)別能力而被用于輸入用戶選擇,例如網(wǎng)站的語(yǔ)音導(dǎo)航或自動(dòng)撥出電話號(hào)碼。
許多計(jì)算平臺(tái)還裝配了相機(jī)設(shè)備(2100),例如靜態(tài)數(shù)碼相機(jī)或完全活動(dòng)視頻數(shù)碼相機(jī)。
例如顯示器(213)的一個(gè)或更多用戶輸出設(shè)備也被配備給多數(shù)計(jì)算平臺(tái)。所述顯示器(213)可以采取許多形式,包括陰極射線管(“CRT”)、薄型平面晶體管(“TFT”)陣列或簡(jiǎn)單發(fā)光二極管(“LED”)組或液晶顯示器(“LCD”)指示器。
一個(gè)或更多揚(yáng)聲器(214)和/或信號(hào)器(215)也被通常關(guān)聯(lián)于計(jì)算平臺(tái)。所述揚(yáng)聲器(214)可以被用于再現(xiàn)音頻和音樂,例如無(wú)線電話的揚(yáng)聲器或個(gè)人計(jì)算機(jī)的揚(yáng)聲器。信號(hào)器(215)可以采取簡(jiǎn)單嗶聲發(fā)射器或蜂鳴器的形式,其一般可在例如PDA和PIM的特定設(shè)備上找到。
這些用戶輸入和輸出設(shè)備可以被經(jīng)由專有總線結(jié)構(gòu)和/或接口直接互連(28′、28″)到所述CPU(21),或者其可以被通過(guò)例如ISA、EISA、PCI等的一個(gè)或更多工業(yè)開放總線互連。
所述計(jì)算平臺(tái)還配備了用于實(shí)現(xiàn)該計(jì)算平臺(tái)的所希望的功能的一個(gè)或更多軟件和固件(2101)程序。
現(xiàn)在轉(zhuǎn)向圖2b,所述計(jì)算平臺(tái)范圍上的軟件和固件(2101)的一般化組織的更多細(xì)節(jié)被給出。一個(gè)或更多操作系統(tǒng)(“OS”)本機(jī)的應(yīng)用程序(223)可以在所述計(jì)算平臺(tái)上被提供,例如字處理器、電子制表軟件、聯(lián)絡(luò)管理實(shí)用程序、地址簿、日歷、電子郵件客戶端、演示軟件、金融和簿記程序。
另外,一個(gè)或更多“便攜式”或獨(dú)立于設(shè)備的程序(224)可以被提供,其必須由OS本機(jī)的對(duì)于平臺(tái)特定的解釋器(225)解釋,例如Java[TM]腳本和程序。
通常,計(jì)算平臺(tái)還被配備了一種形式的web瀏覽器或微瀏覽器(226),其可以還包括對(duì)所述瀏覽器的一個(gè)或更多擴(kuò)展,例如瀏覽器插件(227)。
所述計(jì)算設(shè)備被通常配備了操作系統(tǒng)(220),例如Microsoft Windows[TM]、UNIX、IBM OS/2[TM]、IBM AIX[TM]、開源LINUX、Apple的MAC OS[TM]、或其它對(duì)于平臺(tái)特定的操作系統(tǒng)。例如PDA和無(wú)線電話的較小設(shè)備可以被裝配其它形式的操作系統(tǒng),例如實(shí)時(shí)操作系統(tǒng)(“RTOS”)或掌上計(jì)算(Palm Computing)的PalmOS[TM]。
一組基本輸入和輸出功能(“BIOS”)和硬件設(shè)備驅(qū)動(dòng)器(221)被通常提供,以允許所述操作系統(tǒng)(220)和程序接口到并控制該計(jì)算平臺(tái)所配備的特定硬件功能。
另外,一個(gè)或更多嵌入式固件程序(222)被通常配備給許多計(jì)算平臺(tái),其由作為所述外圍設(shè)備的一部分的板上或“嵌入式”微處理器執(zhí)行,所述微處理器例如微控制器或硬件驅(qū)動(dòng)器、通信處理器、網(wǎng)絡(luò)接口卡、或者聲音或圖形卡。
這樣,圖2a和2b在一般意義上描述了大量計(jì)算平臺(tái)的各個(gè)硬件部件、軟件和固件程序,包括但不限于個(gè)人計(jì)算機(jī)、PDA、PIM、使能了web的電話以及例如WebTV[TM]單元的其它裝置。這樣,我們現(xiàn)在將我們的注意力轉(zhuǎn)向關(guān)于優(yōu)選被實(shí)現(xiàn)為所述計(jì)算平臺(tái)上的軟件和固件的所述過(guò)程和方法的本發(fā)明的公開。本領(lǐng)域的技術(shù)人員將很容易認(rèn)識(shí)到,在不脫離本發(fā)明的精神和范圍的情況下,下面的方法和過(guò)程可以被可選地部分或全部實(shí)現(xiàn)為硬件功能。
本發(fā)明的所述方法和過(guò)程及其相關(guān)聯(lián)部件可以被實(shí)現(xiàn)為如在下面的段落中詳細(xì)描述的、訪問(wèn)和修改特定系統(tǒng)文件和資源的單獨(dú)的可執(zhí)行腳本、Java Bean、應(yīng)用程序、插件等,但在不脫離本發(fā)明的精神和范圍的情況下可以很好地被集成到例如NAS服務(wù)器軟件程序的現(xiàn)有軟件中。另外,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到本發(fā)明的實(shí)現(xiàn)的前述詳細(xì)例子本質(zhì)上是說(shuō)明性的,以及,本發(fā)明的精神和范圍內(nèi)的許多變型有效,其包括但不限于可選編程語(yǔ)言、方法的利用、以及可選計(jì)算平臺(tái)和可選通信和連網(wǎng)協(xié)議的使用。由于這些原因,本發(fā)明的范圍應(yīng)當(dāng)由權(quán)利要求確定。
權(quán)利要求
1.一種方法,包括以下步驟配置多個(gè)地理上分散的網(wǎng)絡(luò)附接文件服務(wù)器來(lái)操作文件遷移控制器以及存儲(chǔ)文件遷移控制表;配置所述文件遷移控制表來(lái)包括條目,所述條目指定對(duì)所述服務(wù)器之一本地存儲(chǔ)的文件的至少一個(gè)時(shí)間衰減訪問(wèn)控制參數(shù)以及根設(shè)備;由第一服務(wù)器接收來(lái)自第二、地理上為遠(yuǎn)程的服務(wù)器的、用于訪問(wèn)由所述第一服務(wù)器存儲(chǔ)的文件的授權(quán)拷貝的請(qǐng)求;更新所述時(shí)間衰減訪問(wèn)控制參數(shù),以便反映所述遠(yuǎn)程服務(wù)器的請(qǐng)求;由服務(wù)器通過(guò)比較來(lái)自所述遠(yuǎn)程服務(wù)器的請(qǐng)求和從所述第一服務(wù)器的用戶接收到的請(qǐng)求來(lái)計(jì)算相對(duì)訪問(wèn)度量;以及響應(yīng)于所述相對(duì)訪問(wèn)度量超過(guò)閾值的判決,遷移將由所述第二服務(wù)器存儲(chǔ)的所述文件的授權(quán)拷貝。
2.根據(jù)權(quán)利要求1所述的方法,其中所述遷移的步驟包括從所述第一服務(wù)器向所述多個(gè)服務(wù)器廣播消息,以及,一旦接收到所述消息,所述多個(gè)服務(wù)器就修改所述遷移控制表,以反映所述文件的授權(quán)拷貝的新位置。
3.根據(jù)權(quán)利要求1所述的方法,其中所述更新所述時(shí)間衰減訪問(wèn)控制參數(shù)的步驟包括更新時(shí)間衰減平均值。
4.根據(jù)權(quán)利要求1所述的方法,其中所述更新所述時(shí)間衰減訪問(wèn)控制參數(shù)的步驟包括根據(jù)選自時(shí)間衰減總和、指數(shù)衰減方法、滑動(dòng)窗口方法和多項(xiàng)式衰減方法的組中的方法來(lái)更新值。
5.根據(jù)權(quán)利要求1所述的方法,其中所述配置多個(gè)地理上分散的網(wǎng)絡(luò)附接文件服務(wù)器的步驟還包括配置一個(gè)或更多高速緩存代理服務(wù)器來(lái)處理文件的非授權(quán)拷貝。
6.根據(jù)權(quán)利要求1所述的方法,其中所述由所述第一服務(wù)器更新所述時(shí)間衰減訪問(wèn)控制參數(shù)的步驟還包括根據(jù)關(guān)聯(lián)于所述文件操作請(qǐng)求的數(shù)據(jù)傳輸?shù)牧縼?lái)更新所述控制參數(shù)。
7.一種系統(tǒng),包括多個(gè)文件遷移控制表,每個(gè)文件遷移控制表被配置為可由多個(gè)地理上分散的網(wǎng)絡(luò)附接文件服務(wù)器中的一個(gè)訪問(wèn),所述表包括條目,所述條目指定對(duì)所述服務(wù)器之一本地存儲(chǔ)的文件的至少一個(gè)時(shí)間衰減訪問(wèn)控制參數(shù)以及根設(shè)備;由第一服務(wù)器從第二、地理上為遠(yuǎn)程的服務(wù)器接收的、用于訪問(wèn)由所述第一服務(wù)器存儲(chǔ)的文件的授權(quán)拷貝的請(qǐng)求;被配置為可由所述第一服務(wù)器操作的第一遷移控制器,其適于更新所述時(shí)間衰減訪問(wèn)控制參數(shù)以反映所述遠(yuǎn)程服務(wù)器的請(qǐng)求,通過(guò)比較來(lái)自所述遠(yuǎn)程服務(wù)器的請(qǐng)求和從所述第一服務(wù)器的用戶接收到的請(qǐng)求來(lái)計(jì)算相對(duì)訪問(wèn)度量,以及響應(yīng)于所述相對(duì)訪問(wèn)度量超過(guò)閾值的判決,啟動(dòng)遷移將由所述第二服務(wù)器存儲(chǔ)的所述文件的授權(quán)拷貝;以及被配置為可由所述第二、遠(yuǎn)程請(qǐng)求服務(wù)器操作的第二遷移控制器,其適于接收并存儲(chǔ)所述授權(quán)文件,由此完成所述遷移。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括從所述第一服務(wù)器到所述多個(gè)服務(wù)器的廣播消息,并且一旦接收到所述消息,所述多個(gè)服務(wù)器就修改所述遷移控制表,以反映所述文件的授權(quán)拷貝的新位置。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述時(shí)間衰減訪問(wèn)控制參數(shù)包括時(shí)間衰減平均值。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述時(shí)間衰減訪問(wèn)控制參數(shù)包括選自時(shí)間衰減總和、指數(shù)衰減參數(shù)、滑動(dòng)窗口參數(shù)和多項(xiàng)式衰減參數(shù)的組中的值。
11.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括一個(gè)或更多被配置為協(xié)作地處理非授權(quán)文件拷貝的高速緩存代理服務(wù)器。
12.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述第一遷移控制器還適于根據(jù)關(guān)聯(lián)于所述文件操作請(qǐng)求的數(shù)據(jù)傳輸?shù)牧縼?lái)更新所述控制參數(shù)。
全文摘要
多個(gè)地理上分散的網(wǎng)絡(luò)附加文件服務(wù)器被配置為存儲(chǔ)文件遷移控制表,每個(gè)表包括條目,所述條目指定對(duì)每個(gè)服務(wù)器本地存儲(chǔ)的文件的至少一個(gè)時(shí)間衰減訪問(wèn)控制參數(shù)以及根設(shè)備。一旦由第一服務(wù)器接收到來(lái)自第二、地理上為遠(yuǎn)程的服務(wù)器的、用于訪問(wèn)由所述第一服務(wù)器存儲(chǔ)的文件的授權(quán)拷貝的請(qǐng)求,則所述第一服務(wù)器更新時(shí)間衰減訪問(wèn)控制參數(shù),以反映遠(yuǎn)程服務(wù)器的請(qǐng)求,并且通過(guò)比較來(lái)自遠(yuǎn)程用戶的請(qǐng)求和來(lái)自本地的新近的請(qǐng)求來(lái)計(jì)算訪問(wèn)比率。如果所述比率超過(guò)閾值,所述閾值指示遠(yuǎn)程用戶比本地用戶對(duì)所述文件的使用更經(jīng)?;蚋毡椋瑒t所述文件的授權(quán)拷貝被自動(dòng)從所述第一服務(wù)器遷移到所述第二、遠(yuǎn)程服務(wù)器。
文檔編號(hào)H04L29/08GK101035138SQ200710004208
公開日2007年9月12日 申請(qǐng)日期2007年1月16日 優(yōu)先權(quán)日2006年1月17日
發(fā)明者O·波梅蘭茲 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司