專利名稱:計(jì)算機(jī)系統(tǒng)以及緩存控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文件系統(tǒng)、或者以鍵值存儲(chǔ)器等為代表的對象存儲(chǔ)器的數(shù)據(jù)緩存的控制方法。
背景技術(shù):
在經(jīng)由廣域網(wǎng)(WAN)在數(shù)據(jù)中心與據(jù)點(diǎn)(拠點(diǎn))之間進(jìn)行數(shù)據(jù)訪問的情況下,根據(jù)距離而發(fā)生轉(zhuǎn)送延遲、或者廣域網(wǎng)的有效帶寬比合同帶寬小很多而轉(zhuǎn)送速度較慢等的問題。為了應(yīng)對上述問題而使用緩存。在緩存中,有用來使沒有被更新的文件或更新頻率較低的文件的參照高速化的讀緩存、和用來使更新頻率較高的文件的參照及文件的更新變快的寫緩存。在多個(gè)用戶對相同的數(shù)據(jù)進(jìn)行更新的環(huán)境中,需要控制實(shí)際的數(shù)據(jù)與緩存的數(shù)據(jù)的一貫性。[通常的緩存]實(shí)現(xiàn)一貫性控制的方法是使用保持?jǐn)?shù)據(jù)的服務(wù)器取同步的方法(例如參照非專利文獻(xiàn)1)。以下,利用圖30、圖31及圖32,以使用文件服務(wù)器作為保持?jǐn)?shù)據(jù)的服務(wù)器使用的情況為例進(jìn)行說明。圖30是表示具備以往的文件服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)例的框圖。計(jì)算機(jī)系統(tǒng)由中央據(jù)點(diǎn)3000、據(jù)點(diǎn)A3010及據(jù)點(diǎn)B3020構(gòu)成,經(jīng)由廣域網(wǎng) (WAN) 3030相互連接。在中央據(jù)點(diǎn)3000中包括文件服務(wù)器3001。文件服務(wù)器3001保存從各據(jù)點(diǎn)參照或更新的文件3005。在據(jù)點(diǎn)A3010中包括緩存服務(wù)器A3011及終端A3012-1。緩存服務(wù)器A3010和終端A3012-1直接或者經(jīng)由LAN(Local Area Network)等連接。終端A3012-1經(jīng)由緩存服務(wù)器A3011參照及更新保存在中央據(jù)點(diǎn)3000的文件服務(wù)器3001中的文件3005。在據(jù)點(diǎn)B3020中包括緩存服務(wù)器B3021及終端B3012-2。緩存服務(wù)器B3021和終端B3012-2直接或者經(jīng)由LAN(Local Area Network)等連接。終端B3012-2經(jīng)由緩存服務(wù)器B3021參照及更新保存在中央據(jù)點(diǎn)3000的文件服務(wù)器3001中的文件3005。以下,對緩存服務(wù)器A3011保存與保存在文件服務(wù)器3001中的文件3005對應(yīng)的文件的緩存3015的情況進(jìn)行說明。另外,該文件的緩存3015是最新的。圖31是說明以往的緩存服務(wù)器執(zhí)行的文件參照處理的流程圖。緩存服務(wù)器從終端受理包括文件名的文件參照請求,開始文件參照處理(S3101)。首先,緩存服務(wù)器檢索與從終端接受到的文件名對應(yīng)的文件的緩存(S3102),判斷是否存在該文件的緩存(S3103)。在緩存服務(wù)器A3011的情況下,判斷為存在與從終端A3012-1接受到的文件名對應(yīng)的文件的緩存3015,此外,在緩存服務(wù)器B3021的情況下,判斷為不存在與從終端 A3012-1接受到的文件名對應(yīng)的文件的緩存3015。
在判斷為存在與從終端接受到的文件名對應(yīng)的文件的緩存的情況下,緩存服務(wù)器從文件服務(wù)器取得與從終端接受到的文件名對應(yīng)的文件(S3104)。緩存服務(wù)器判斷保存在該緩存服務(wù)器中的文件的緩存是否是最新的(S3105)。具體而言,緩存服務(wù)器從文件服務(wù)器取得與從終端接受到的文件名對應(yīng)的文件的指紋,參照所取得的指紋,判斷保存在該緩存服務(wù)器中的文件的緩存是否是最新的。為了嚴(yán)密地判斷文件的緩存是否為最新,需要從文件服務(wù)器接收文件本身,但在此情況下,由于即使使用緩存也不能實(shí)現(xiàn)高速化,所以使用文件的指紋。這里,所謂文件的指紋,是指表示文件內(nèi)容的特征的較短的數(shù)據(jù)。文件的指紋具有即使文件的內(nèi)容稍稍不同也大幅變化的性質(zhì)。因此,使用文件的指紋能夠進(jìn)行緩存是否為最新的判斷,此外,指紋的數(shù)據(jù)量比文件本身少就足夠。因而,文件的指紋的取得時(shí)間也較少就足夠。作為計(jì)算這樣的指紋的方法已知有MD5等(例如參照非專利文獻(xiàn)2)。在使用了 MD5的情況下,在S3104中取得的數(shù)據(jù)量為128位。在判斷為保存在緩存服務(wù)器中的文件的緩存是最新的情況下,緩存服務(wù)器從該文件的緩存取得文件的數(shù)據(jù)(S3106),將所取得的文件的數(shù)據(jù)發(fā)送給用戶,結(jié)束處理 (S3107)。在S3103中判斷為不存在與從終端接受到的文件名對應(yīng)的文件的緩存的情況下, 或者在S3105中判斷為保存在緩存服務(wù)器中的文件的緩存不是最新的情況下,緩存服務(wù)器從文件服務(wù)器取得文件的數(shù)據(jù)(S3108),將所取得的文件的數(shù)據(jù)發(fā)送給用戶,結(jié)束處理 (S3107)。圖32是說明以往的緩存服務(wù)器執(zhí)行的文件參照處理的流程的時(shí)序圖。在圖32中,終端A3012-1經(jīng)由緩存服務(wù)器A3011對文件服務(wù)器3001訪問,表示緩存命中的情況、即從緩存取得文件的數(shù)據(jù)的情況的處理步驟的圖。終端A3012-1將包括文件名的文件參照請求發(fā)送給緩存服務(wù)器A3011 (S3201)。接收到包括文件名的文件參照請求的緩存服務(wù)器A3011開始文件參照處理 (S3202),檢索與包含在文件參照請求中的文件名對應(yīng)的文件的緩存(S3203)。這里,緩存服務(wù)器A3011由于保存與包含在文件參照請求中的文件名對應(yīng)的文件的緩存,所以接著將該文件的元數(shù)據(jù)的取得請求發(fā)送給文件服務(wù)器3001 (S3204)。緩存服務(wù)器A3011從文件服務(wù)器3001接收與包含在文件參照請求中的文件名對應(yīng)的文件的元數(shù)據(jù)(S3205)。緩存服務(wù)器A3011由于保存的文件的緩存是最新的,所以從該文件的緩存取得文件的數(shù)據(jù)(S3207),將所取得的文件的數(shù)據(jù)發(fā)送給終端A3012-1 (S3208),結(jié)束處理。在圖30所示的計(jì)算機(jī)系統(tǒng)中,終端A3012-1及終端B3012-2有可能對保存在文件服務(wù)器3001中的所有文件訪問。因而,需要通過伴隨著由框線3206包圍的S3204及S3205 的處理的、從緩存服務(wù)器A3011向文件服務(wù)器3001的通信來控制一貫性。但是,在圖32所示的處理中,由于文件的緩存是最新的,所以由框線3206包圍的 S3204及S3205的處理產(chǎn)生處理的延遲。進(jìn)而,在圖30所示的計(jì)算機(jī)系統(tǒng)中,由于緩存服務(wù)器A3011和文件服務(wù)器3001經(jīng)由廣域網(wǎng)(WAN)3030連接,所以延遲較大,例如發(fā)生幾百毫秒到1秒的延遲。因而,在經(jīng)由廣域網(wǎng)(WAN) 3030的指紋的取得中,即使在取得的數(shù)據(jù)量較小的情況下,也發(fā)生例如幾百毫秒的延遲。因而,緩存服務(wù)器A3011內(nèi)的處理(例如S3202、S3207)能夠幾毫秒到幾十毫秒高速地處理,所以希望有不執(zhí)行由框線3206包圍的處理的一貫性控制方式。另外,如在S3105中取得的指紋那樣,在文件中包括文件的內(nèi)容以外的信息。作為文件的內(nèi)容以外的信息,可以考慮例如文件的作者、文件的制作日時(shí)、文件的最終更新日時(shí)、文件的訪問權(quán)等。以下將文件的內(nèi)容以外的信息一起稱作元數(shù)據(jù)。此外,將文件的內(nèi)容稱作實(shí)數(shù)據(jù)。此外,以下將目錄也作為文件的一種。因而,只要沒有特別否定,文件包括狹義的文件和目錄。[Wire FS]作為上述那樣的、以往技術(shù)的考慮到延遲的一貫性控制的方法,有通過根據(jù)向處于文件服務(wù)器內(nèi)的子樹的緩存服務(wù)器間的訪問的偏倚(偏D )、由適當(dāng)?shù)木彺娣?wù)器管理該子樹的元數(shù)據(jù)管理權(quán)和實(shí)數(shù)據(jù)、來削減一貫性控制所需要的經(jīng)由廣域網(wǎng)的通信的次數(shù)、 使文件訪問高速化的方法(例如參照專利文獻(xiàn)1)。在專利文獻(xiàn)1中記載的方法中,有對于文件服務(wù)器內(nèi)的包括目錄的各文件具有 home和owner的作用的緩存服務(wù)器。對某個(gè)文件頻繁地訪問的緩存服務(wù)器為該文件的home,管理該文件的元數(shù)據(jù)。此外,對該文件訪問的緩存服務(wù)器每次從作為home的緩存服務(wù)器帶有期限地租借owner的權(quán)利而成為owner,具有關(guān)于該文件的臨時(shí)的元數(shù)據(jù)的管理權(quán)和實(shí)數(shù)據(jù)的緩存。另外,由于對文件頻繁訪問的緩存服務(wù)器為home,所以通常home和owner為相同的緩存服務(wù)器。此外,在對該文件頻繁訪問的緩存服務(wù)器不是當(dāng)前的home的情況下,使 home移動(dòng)到頻繁訪問的緩存服務(wù)器。此時(shí),訪問偏倚的統(tǒng)計(jì)值的計(jì)算及home移動(dòng)的判斷由配置在中央據(jù)點(diǎn)的管理服務(wù)器進(jìn)行。如果使用在專利文獻(xiàn)1中記載的方法,則來自特定的緩存服務(wù)器的統(tǒng)計(jì)性地訪問較多的成為了文件的owner的緩存服務(wù)器在owner的權(quán)利到期之前,在一貫性控制的執(zhí)行時(shí)不進(jìn)行經(jīng)由廣域網(wǎng)的通信,能夠總是判斷自己保持的緩存是最新的。即,不再需要進(jìn)行由圖32的框線3206包圍的處理。但是,在專利文獻(xiàn)1中記載的方法中,在從許多據(jù)點(diǎn)受到在統(tǒng)計(jì)上均等的訪問那樣的文件的處理方面成為問題。S卩,專利文獻(xiàn)1中記載的方法中,如果使取得用來計(jì)算統(tǒng)計(jì)值的信息的期間足夠長、或者使得在有充分的訪問的偏倚的情況下能夠檢測到偏倚,則不能檢測到關(guān)于該文件的訪問偏倚,所以不能確定作為該文件的home的緩存服務(wù)器。S卩,在統(tǒng)計(jì)上從許多據(jù)點(diǎn)均等地受到訪問那樣的文件的一貫性控制的執(zhí)行時(shí),不能減少經(jīng)由廣域網(wǎng)的處理的執(zhí)行。對于上述問題,可以考慮通過使取得用來計(jì)算統(tǒng)計(jì)值的信息的期間變短、或使得在有較小的訪問的偏倚的情況下能夠檢測到訪問偏倚、將特定的緩存服務(wù)器作為home的方法。但是,在該方法中,在對某個(gè)文件從某個(gè)緩存服務(wù)器的訪問臨時(shí)增加等情況下等,較強(qiáng)地受到噪音那樣的訪問的影響,所以需要頻繁地進(jìn)行home的移動(dòng)。但是,在專利文獻(xiàn)1中記載的方法中,因?yàn)橐韵滤龅睦碛啥荒苁箯哪硞€(gè)終端訪問的文件的home移動(dòng)。由于特定的緩存服務(wù)器為home的文件是頻繁地受到訪問的文件, 所以某個(gè)終端是訪問中的可能性較高,不能使訪問中的文件的home移動(dòng)的影響較大。即, 不能實(shí)現(xiàn)從許多據(jù)點(diǎn)在統(tǒng)計(jì)上受到均等的訪問那樣的文件的一貫性控制所需要的經(jīng)由廣域網(wǎng)的處理的減少。關(guān)于某個(gè)文件的home移動(dòng),記載在專利文獻(xiàn)1中,將全部的緩存(即home和owner 具有的緩存)無效化,將home移動(dòng)通知從home發(fā)送給中央據(jù)點(diǎn)的管理服務(wù)器。然后,將該文件的元數(shù)據(jù)和home權(quán)限發(fā)送給新的home。S卩,能夠使所有的緩存無效化的是owner權(quán)利的期限到期之后。另一方面,作為 owner的緩存服務(wù)器在任一個(gè)終端對文件訪問中的情況下,將owner權(quán)利更新,所以owner 權(quán)利的期限不會(huì)到期。因此,不能使任一個(gè)終端訪問中的文件的home移動(dòng)。進(jìn)而,在專利文獻(xiàn)1中記載的方法中,在進(jìn)行伴隨著某個(gè)緩存服務(wù)器的維護(hù)或更換的計(jì)劃停止的情況下,也因?yàn)榕c上述同樣的理由,在任一個(gè)終端對該緩存服務(wù)器為home 的文件訪問中的情況下,不能使該緩存服務(wù)器停止。如上所述,在以往的方法中,存在以下的問題在經(jīng)由廣域網(wǎng)在中央據(jù)點(diǎn)與據(jù)點(diǎn)之間進(jìn)行訪問的情況下,即使為了消除延遲而使用緩存,對于在統(tǒng)計(jì)上從許多據(jù)點(diǎn)均等地受到訪問那樣的文件不能消除用于一貫性控制的通信延遲。另外,這里作為數(shù)據(jù)訪問的一例而舉文件訪問為例,但如果對象是其他數(shù)據(jù)對象也在本質(zhì)上沒有差異,會(huì)發(fā)生同樣的問題。[專利文獻(xiàn)1]美國專利申請公開第2007/0162462號說明書[非專利文獻(xiàn) l]Nelson,"Caching in the Sprite Network File System”,ACM Transactions on Computer Systems, Volume6,Issuel (Feburauaryl988), p. 134-154[非專利文獻(xiàn) 2]RFC 1321, "The MD5 Message-Digest Algorithm”
發(fā)明內(nèi)容
本發(fā)明要解決的問題是如果使用以往方法用緩存服務(wù)器管理文件的元數(shù)據(jù),則即使想要將該文件的元數(shù)據(jù)從該緩存服務(wù)器移動(dòng)到別的緩存服務(wù)器中,在任一個(gè)終端對該文件訪問中的情況下也不能移動(dòng)。如果表示本發(fā)明的代表性的一例,則為以下這樣。即一種計(jì)算機(jī)系統(tǒng),具備文件服務(wù)器,具備第1處理器和連接在上述第1處理器上的第1存儲(chǔ)器,該文件服務(wù)器保存多個(gè)文件;緩存服務(wù)器,具備第2處理器和連接在上述第2處理器上的第2存儲(chǔ)器,該緩存服務(wù)器保存上述文件的緩存數(shù)據(jù);以及緩存管理服務(wù)器,具備第3處理器和連接在上述第3處理器上的第3存儲(chǔ)器,該緩存管理服務(wù)器管理上述緩存服務(wù)器,該計(jì)算機(jī)系統(tǒng)的特征在于,上述文件的緩存數(shù)據(jù)包括能夠確定上述文件的數(shù)據(jù)或者構(gòu)成上述文件的數(shù)據(jù)的至少任意一方;上述緩存管理服務(wù)器管理權(quán)限信息,該權(quán)限信息表示上述緩存服務(wù)器對保存在上述文件服務(wù)器中的上述文件的緩存數(shù)據(jù)的管理權(quán)限;上述緩存服務(wù)器包括第1緩存服務(wù)器、第2 緩存服務(wù)器以及第3緩存服務(wù)器;上述第1緩存服務(wù)器具備第1鎖定管理信息,該第1鎖定管理信息管理表示可否訪問該第1緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述第2 緩存服務(wù)器具備第2鎖定管理信息,該第2鎖定管理信息管理表示可否訪問該第2緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述第3緩存服務(wù)器具備第3鎖定管理信息,該第3鎖定管理信息管理表示可否訪問該第3緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述文件包括第1文件;上述第1緩存服務(wù)器在從連接在該第1緩存服務(wù)器上的客戶端終端接收到對上述第1文件的處理命令的情況下,從上述緩存管理服務(wù)器取得上述權(quán)限信息;參照上述取得的權(quán)限信息,判斷上述第1緩存服務(wù)器是否具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限;在判斷為上述第1緩存服務(wù)器具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限的情況下, 執(zhí)行對上述第1文件的處理命令;在判斷為上述第1緩存服務(wù)器不具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限的情況下,向具有該第1文件的上述管理權(quán)限的上述第2緩存服務(wù)器發(fā)送對上述第1文件的處理命令,從上述第2緩存服務(wù)器接收對上述第1文件的處理命令的執(zhí)行結(jié)果;上述緩存管理服務(wù)器向上述第1緩存服務(wù)器發(fā)送將上述第1緩存服務(wù)器具有的上述第1文件的緩存數(shù)據(jù)的上述管理權(quán)限變更為上述第3緩存服務(wù)器的更新命令;上述第 1緩存服務(wù)器在接收到上述更新命令之后,將上述更新命令發(fā)送給上述第3緩存服務(wù)器,執(zhí)行更新上述第1鎖定管理信息以使上述第1文件的鎖定狀態(tài)移動(dòng)到上述第3緩存服務(wù)器中的第1更新處理;上述第3緩存服務(wù)器在接收到上述更新命令之后,執(zhí)行更新上述第3鎖定管理信息以使上述第1文件的鎖定狀態(tài)移動(dòng)到上述第3緩存服務(wù)器的第2更新處理;上述緩存管理服務(wù)器更新上述權(quán)限信息,以將上述第1文件的緩存數(shù)據(jù)的管理權(quán)限從上述第1 緩存服務(wù)器變更為上述第3緩存服務(wù)器。根據(jù)本發(fā)明,由于對有訪問偏倚的文件能夠按照時(shí)間由適當(dāng)?shù)木彺娣?wù)器保持該文件的管理權(quán)限,所以能夠消除一貫性控制所需要的通信延遲。此外,作為本發(fā)明的其他效果,能夠在任意的定時(shí)變更管理權(quán)限,所以能夠容易地實(shí)現(xiàn)計(jì)劃停止等應(yīng)用。
圖1是說明本發(fā)明的實(shí)施方式的計(jì)算機(jī)系統(tǒng)的框圖。圖2是說明本發(fā)明的實(shí)施方式的文件服務(wù)器的結(jié)構(gòu)例的框圖。圖3是說明本發(fā)明的實(shí)施方式的緩存管理服務(wù)器的結(jié)構(gòu)例的框圖。圖4是說明本發(fā)明的實(shí)施方式的緩存服務(wù)器的結(jié)構(gòu)例的框圖。圖5是表示本發(fā)明的實(shí)施方式的鎖定管理表的一例的說明圖。圖6是表示本發(fā)明的實(shí)施方式的受理停止管理表的一例的說明圖。圖7是表示本發(fā)明的實(shí)施方式的主導(dǎo)(7 7夕)管理表的一例的說明圖。圖8是說明本發(fā)明的實(shí)施方式的文件服務(wù)器在起動(dòng)后執(zhí)行的處理的流程圖。圖9是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部具備的文件的元數(shù)據(jù)參照功能執(zhí)行的處理的流程圖。圖10是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部具備的文件的鎖定取得功能執(zhí)行的處理的流程圖。圖11是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部具備的文件打開功能執(zhí)行的處理的流程圖。圖12是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部具備的文件更新功能執(zhí)行的處理的流程圖。圖13是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部具備的文件關(guān)閉功能執(zhí)行的處理的流程圖。圖14是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部具備的文件的鎖定釋放功能執(zhí)行的處理的流程圖。圖15是說明本發(fā)明的實(shí)施方式的緩存服務(wù)器在起動(dòng)時(shí)執(zhí)行的處理的流程圖。圖16是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件的元數(shù)據(jù)參照功能執(zhí)行的處理的流程圖。圖17是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件的鎖定取得功能執(zhí)行的處理的流程圖。圖18A是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件打開功能執(zhí)行的處理的流程圖。圖18B是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件打開功能執(zhí)行的處理的流程圖。圖19A是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件的實(shí)數(shù)據(jù)更新功能執(zhí)行的處理的流程圖。圖19B是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件的實(shí)數(shù)據(jù)更新功能執(zhí)行的處理的流程圖。圖20是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件的關(guān)閉功能執(zhí)行的處理的流程圖。圖21是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部具備的文件的鎖定釋放功能執(zhí)行的處理的流程圖。圖22是說明通過本發(fā)明的實(shí)施方式的緩存管理服務(wù)器在起動(dòng)后執(zhí)行的處理的流程圖。圖23是說明通過本發(fā)明的實(shí)施方式的主導(dǎo)管理表控制UI部具備的主導(dǎo)場所變更 UI功能以及緩存服務(wù)器控制部具備的主導(dǎo)變更功能執(zhí)行的處理的概要的時(shí)序圖。圖24是說明本發(fā)明的實(shí)施方式的主導(dǎo)場所更新處理執(zhí)行時(shí)的、主導(dǎo)管理表控制 UI部執(zhí)行的處理的詳細(xì)情況的流程圖。圖25是說明本發(fā)明的實(shí)施方式的主導(dǎo)場所更新處理執(zhí)行時(shí)的、舊緩存服務(wù)器的舊緩存服務(wù)器控制部執(zhí)行的處理的詳細(xì)情況的流程圖。圖26是說明本發(fā)明的實(shí)施方式的主導(dǎo)場所更新處理執(zhí)行時(shí)的、新緩存服務(wù)器的新緩存服務(wù)器控制部執(zhí)行的處理的詳細(xì)情況的流程圖。圖27是說明通過本發(fā)明的實(shí)施方式的緩存管理服務(wù)器的主導(dǎo)管理表控制UI部 313具備的訪問偏倚合計(jì)UI功能執(zhí)行的處理的流程圖。圖28是說明本發(fā)明的實(shí)施方式的緩存服務(wù)器在接收到訪問履歷的發(fā)送命令時(shí)執(zhí)行的處理的流程圖。圖29是說明本發(fā)明的實(shí)施方式的控制終端具備的時(shí)間表的流程圖。圖30是表示具備以往的文件服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)例的框圖。圖31是說明以往的緩存服務(wù)器執(zhí)行的文件參照處理的流程圖。圖32是說明以往的緩存服務(wù)器執(zhí)行的文件參照處理的流程的時(shí)序圖。附圖標(biāo)記說明
12本地網(wǎng)101中央據(jù)點(diǎn)102 據(jù)點(diǎn) A103 據(jù)點(diǎn) B104控制終端105文件服務(wù)器106緩存服務(wù)器107緩存管理服務(wù)器108緩存服務(wù)器109 終端110緩存服務(wù)器111 終端112廣域網(wǎng)113本地網(wǎng)200CPU210主存儲(chǔ)部211文件保持部212鎖定管理部213文件服務(wù)器控制部214鎖定管理表220 二次存儲(chǔ)部230 網(wǎng)絡(luò)接口300CPU310主存儲(chǔ)部311緩存管理服務(wù)器控制部312隊(duì)列管理部313主導(dǎo)管理表控制UI部314主導(dǎo)管理表控制部315主導(dǎo)管理表320 二次存儲(chǔ)部330 網(wǎng)絡(luò)接口400CPU410主存儲(chǔ)部411緩存服務(wù)器控制部412鎖定管理部413緩存保持部414訪問履歷保持部415隊(duì)列管理部416鎖定管理表
417受理停止管理表420 二次存儲(chǔ)部430 網(wǎng)絡(luò)接口501文件名502用戶名503鎖定信息601子目錄路徑名701子目錄路徑名702主導(dǎo)據(jù)點(diǎn)名2900 時(shí)間表
具體實(shí)施例方式本實(shí)施方式是在位于多個(gè)據(jù)點(diǎn)中的終端經(jīng)由延遲較大的廣域網(wǎng)(WAN)對配置在中央據(jù)點(diǎn)中的文件服務(wù)器訪問的情況下采用了緩存服務(wù)器的一例。在本實(shí)施方式中,將具備包含在文件服務(wù)器中的任意的子樹中的目錄下的文件的實(shí)數(shù)據(jù)及元數(shù)據(jù)的管理權(quán)和鎖定管理表的緩存服務(wù)器定義為主導(dǎo)。另外,這里,設(shè)管理權(quán)的定義為“在關(guān)于某個(gè)文件的元數(shù)據(jù)或?qū)崝?shù)據(jù)保存在緩存中的情況下,可以將保存在該緩存中的信息為最新的權(quán)限”。根據(jù)各子樹的訪問統(tǒng)計(jì)的計(jì)算結(jié)果,在有訪問偏倚的情況下,或者在有用戶的指示的情況,對該子樹能夠定義主導(dǎo)。主導(dǎo)的定義通過主導(dǎo)管理表管理。此外,設(shè)置用戶接口, 以便用戶能夠按照子樹定義主導(dǎo)。鎖定管理表具備緩存服務(wù)器,該緩存服務(wù)器保存關(guān)于作為主導(dǎo)管理的全部子樹中的、取得了鎖定的文件的鎖定信息。在對任意的子樹變更了主導(dǎo)的情況下,與主導(dǎo)具有的權(quán)利一起,將鎖定管理表中關(guān)于包含在該子樹中的文件的行從作為變更前的主導(dǎo)的緩存服務(wù)器發(fā)送給作為變更后的主導(dǎo)的緩存服務(wù)器。圖1是說明本發(fā)明的實(shí)施方式的計(jì)算機(jī)系統(tǒng)的框圖。計(jì)算機(jī)系統(tǒng)由中央據(jù)點(diǎn)101、據(jù)點(diǎn)A102及據(jù)點(diǎn)B103構(gòu)成,中央據(jù)點(diǎn)101、據(jù)點(diǎn)A102 及據(jù)點(diǎn)B103經(jīng)由廣域網(wǎng)112相互連接。中央據(jù)點(diǎn)101包括文件服務(wù)器105、緩存服務(wù)器106以及緩存管理服務(wù)器107。文件服務(wù)器105保存各種文件,執(zhí)行該文件的參照及更新處理。另外,在本實(shí)施方式中,假設(shè)文件為使用全路徑唯一識別的。關(guān)于文件服務(wù)器105的結(jié)構(gòu),使用圖2在后面敘述。緩存服務(wù)器106保存關(guān)于保存在文件服務(wù)器105中的文件的緩存。關(guān)于緩存服務(wù)器106的結(jié)構(gòu),使用圖4在后面敘述。緩存管理服務(wù)器107管理各緩存服務(wù)器保存的緩存。此外,在緩存管理服務(wù)器107 上連接著控制終端104,管理者使用控制終端104操作緩存管理服務(wù)器。關(guān)于緩存管理服務(wù)器107的結(jié)構(gòu),使用圖3在后面敘述。據(jù)點(diǎn)A102包括緩存服務(wù)器108、以及終端109_1、109_2。緩存服務(wù)器108及終端109-1、109-2經(jīng)由本地網(wǎng)12連接。緩存服務(wù)器108與緩存服務(wù)器106是相同的。終端109-1、109_2發(fā)送從文件服務(wù)器105參照或更新文件的請求。終端109_1、 109-2具備CPU(圖示省略)、主存儲(chǔ)部(圖示省略)以及二次存儲(chǔ)部(圖示省略)。此外, 在主存儲(chǔ)部(圖示省略)中,至少保存有對文件訪問的程序。據(jù)點(diǎn)B103是與據(jù)點(diǎn)A102相同的結(jié)構(gòu)。S卩,據(jù)點(diǎn)B103包括緩存服務(wù)器110、以及終端111-1、111-2。緩存服務(wù)器110、以及終端111-1、111-2經(jīng)由本地網(wǎng)113連接。另外,在圖1所示的例子中,據(jù)點(diǎn)A102和據(jù)點(diǎn)B103是相同的結(jié)構(gòu),但也可以是不同的結(jié)構(gòu)。圖2是說明本發(fā)明的實(shí)施方式的文件服務(wù)器105的結(jié)構(gòu)例的框圖。文件服務(wù)器105具備CPU200、主存儲(chǔ)部210、二次存儲(chǔ)部220以及網(wǎng)絡(luò)接口 230。 CPU200、主存儲(chǔ)部210、二次存儲(chǔ)部220以及網(wǎng)絡(luò)接口 230通過內(nèi)部總線等相互連接。CPU200將保存在主存儲(chǔ)部210中各種程序讀出,執(zhí)行所讀出的程序。主存儲(chǔ)部210保存由CPU200執(zhí)行的程序以及在該程序的執(zhí)行中需要的信息。主存儲(chǔ)部210可以考慮例如存儲(chǔ)器等。主存儲(chǔ)部210保存文件保持部211、鎖定管理部212、文件服務(wù)器控制部213以及鎖定管理表214。文件保持部211管理文件的實(shí)數(shù)據(jù)及元數(shù)據(jù)。文件保持部211具備文件實(shí)數(shù)據(jù)取得功能、文件元數(shù)據(jù)取得功能、文件實(shí)數(shù)據(jù)更新功能以及文件元數(shù)據(jù)更新功能。文件實(shí)數(shù)據(jù)取得功能以文件的全路徑為自變量而取得文件的實(shí)數(shù)據(jù)。文件元數(shù)據(jù)取得功能以文件的全路徑為自變量而取得文件的元數(shù)據(jù)。文件實(shí)數(shù)據(jù)更新功能以文件的全路徑和實(shí)數(shù)據(jù)為自變量而更新文件的實(shí)數(shù)據(jù)。文件元數(shù)據(jù)更新功能以文件的全路徑和元數(shù)據(jù)為自變量而更新文件的元數(shù)據(jù)。鎖定管理部212管理文件的鎖定狀態(tài)。另外,在本實(shí)施方式中,為了使說明變得簡單而對排他鎖定進(jìn)行說明。此外,在本實(shí)施方式中,鎖定管理部212按照文件的全路徑管理該文件的鎖定狀態(tài)。鎖定管理部212具備鎖定取得功能及鎖定釋放功能。鎖定取得功能是以文件的全路徑為自變量而取得文件的鎖定的功能。即,是用來設(shè)為除了取得了鎖定的用戶以外不能操作文件的狀態(tài)的功能。鎖定釋放功能是用來以文件的全路徑為自變量而釋放文件的鎖定的功能。文件服務(wù)器控制部213控制文件服務(wù)器105整體。具體而言,具備文件的元數(shù)據(jù)參照功能、文件的鎖定取得功能、文件打開功能、文件更新功能、文件關(guān)閉功能以及文件的鎖定釋放功能。關(guān)于通過各功能實(shí)現(xiàn)的處理,使用圖8 圖14在后面敘述。鎖定管理表214將保存在文件服務(wù)器105中的文件的鎖定狀態(tài)保存。具體而言, 將關(guān)于保存在文件服務(wù)器105中的文件中的、取得了鎖定的文件的信息。二次存儲(chǔ)部220將讀出到主存儲(chǔ)部210中的程序及各種數(shù)據(jù)保存。二次存儲(chǔ)部 220可以考慮例如HDD等。網(wǎng)絡(luò)接口 230是用來與其他裝置通信的接口,在本實(shí)施方式中與廣域網(wǎng)112連接。
另外,保存在主存儲(chǔ)部210中的文件保持部211、鎖定管理部212及文件服務(wù)器控制部213也可以通過硬件實(shí)現(xiàn)。圖3是說明本發(fā)明的實(shí)施方式的緩存管理服務(wù)器107的結(jié)構(gòu)例的框圖。緩存管理服務(wù)器107具備CPU300、主存儲(chǔ)部310、二次存儲(chǔ)部320及網(wǎng)絡(luò)接口 330。 CPU300、主存儲(chǔ)部310、二次存儲(chǔ)部320及網(wǎng)絡(luò)接口 330通過內(nèi)部總線等相互連接。CPU300將保存在主存儲(chǔ)部310中的各種程序讀出,執(zhí)行所讀出的程序。主存儲(chǔ)部310保存由CPU300執(zhí)行的程序以及該程序的執(zhí)行所需要的信息。主存儲(chǔ)部310可以考慮例如存儲(chǔ)器等。主存儲(chǔ)部310保存緩存管理服務(wù)器控制部311、隊(duì)列管理部312、主導(dǎo)管理表控制 UI部313、主導(dǎo)管理表控制部314以及主導(dǎo)管理表315。緩存管理服務(wù)器控制部311控制緩存管理服務(wù)器107整體。緩存管理服務(wù)器控制部311具備主導(dǎo)場所變更功能以及訪問偏倚合計(jì)功能。另外,關(guān)于由各功能實(shí)現(xiàn)的處理,使用圖22 圖28在后面敘述。隊(duì)列管理部312管理在與主導(dǎo)管理表控制UI部313或其他緩存服務(wù)器108、110 之間的通信中使用的隊(duì)列。各部可以根據(jù)需要而使用隊(duì)列管理部312制作新的隊(duì)列。在本實(shí)施方式中,隊(duì)列通過端口號碼識別,但作為其他實(shí)裝方式,也可以考慮對消息的頭賦予作為目的地的隊(duì)列的識別碼而發(fā)送、接收側(cè)的隊(duì)列管理部312使用該識別碼對適當(dāng)?shù)年?duì)列分配的方法。主導(dǎo)管理表控制UI部313是用來操作主導(dǎo)管理表315的用戶接口。主導(dǎo)管理表控制UI部具備主導(dǎo)場所變更UI功能以及訪問偏倚合計(jì)UI功能。主導(dǎo)場所變更UI功能是提供變更作為任意的子目錄的主導(dǎo)的緩存服務(wù)器的UI的功能。訪問偏倚合計(jì)UI是對包含在文件服務(wù)器105提供的文件系統(tǒng)的樹中的全部子目錄提供將各緩存服務(wù)器的訪問數(shù)合計(jì)的UI的功能。這里,所謂主導(dǎo),是指保持保存在緩存服務(wù)器106、108、110中的緩存(文件的實(shí)數(shù)據(jù)及元數(shù)據(jù))的管理權(quán)限的緩存服務(wù)器106、108、110。主導(dǎo)按照子目錄設(shè)定。即,對于作為主導(dǎo)的緩存服務(wù)器106、108、110,賦予管理保存在該子目錄屬下的文件的最新的實(shí)數(shù)據(jù)及元數(shù)據(jù)的權(quán)限。主導(dǎo)管理表控制部314管理主導(dǎo)管理表315。主導(dǎo)管理表控制部314按照來自其他結(jié)構(gòu)部或緩存服務(wù)器106、108、110的請求,對主導(dǎo)管理表315執(zhí)行處理。具體而言,主導(dǎo)管理表控制部314具備主導(dǎo)管理表發(fā)送功能。主導(dǎo)管理表發(fā)送功能是發(fā)送主導(dǎo)管理表315 的功能。主導(dǎo)管理表315保存作為主導(dǎo)而保持管理權(quán)限的子目錄與包括作為主導(dǎo)的緩存服務(wù)器106、108、110的據(jù)點(diǎn)的對應(yīng)關(guān)系。主導(dǎo)管理表315使用圖7在后面敘述。另外,主導(dǎo)管理表315也可以保存到二次存儲(chǔ)部320中、在需要的情況下讀出到主存儲(chǔ)部310中。此外,在主導(dǎo)管理表315的數(shù)據(jù)量增加的情況下,也可以從主存儲(chǔ)部310儲(chǔ)存到二次存儲(chǔ)部320中。二次存儲(chǔ)部320將讀出到主存儲(chǔ)部310中的程序以及各種數(shù)據(jù)保存。二次存儲(chǔ)部 320可以考慮例如HDD等。網(wǎng)絡(luò)接口 330是用來與其他裝置通信的接口,在本實(shí)施方式中與廣域網(wǎng)112連接。
另外,保存在主存儲(chǔ)部310中的緩存管理服務(wù)器控制部311、隊(duì)列管理部312、主導(dǎo)管理表控制UI部313以及主導(dǎo)管理表控制部314也可以通過硬件實(shí)現(xiàn)。圖4是說明本發(fā)明的實(shí)施方式的緩存服務(wù)器108的結(jié)構(gòu)例的框圖。緩存服務(wù)器108具備CPU400、主存儲(chǔ)部410、二次存儲(chǔ)部420及網(wǎng)絡(luò)接口 430。 CPU400、主存儲(chǔ)部410、二次存儲(chǔ)部420及網(wǎng)絡(luò)接口 430通過內(nèi)部總線等相互連接。CPU400將保存在主存儲(chǔ)部410中的各種程序讀出,執(zhí)行所讀出的程序。主存儲(chǔ)部410將由CPU400執(zhí)行的程序以及在該程序的執(zhí)行中需要的信息保存。主存儲(chǔ)部410可以考慮例如存儲(chǔ)器等。主存儲(chǔ)部410保存緩存服務(wù)器控制部411、鎖定管理部412、緩存保持部413、訪問履歷保持部414、隊(duì)列管理部415、鎖定管理表416以及受理停止管理表417。緩存服務(wù)器控制部411控制緩存服務(wù)器108整體。緩存服務(wù)器控制部411具備文件的元數(shù)據(jù)參照功能、文件的鎖定取得功能、文件打開功能、文件的實(shí)數(shù)據(jù)更新功能、文件關(guān)閉功能以及文件的鎖定釋放功能。另外,關(guān)于由各功能實(shí)現(xiàn)的處理的詳細(xì)情況,使用圖 15 圖21在后面敘述。進(jìn)而,緩存服務(wù)器控制部411具備用來執(zhí)行變更主導(dǎo)的處理的主導(dǎo)變更功能。鎖定管理部412具備與文件服務(wù)器105的鎖定管理部212相同的功能。緩存保持部413將文件的實(shí)數(shù)據(jù)及元數(shù)據(jù)保存。訪問履歷保持部414保存文件的訪問履歷。隊(duì)列管理部415具備與緩存管理服務(wù)器107的隊(duì)列管理部312相同的功能,還具備將鎖定的狀態(tài)寫出到鎖定管理表416中的功能、和使任意的文件的鎖定無效化的功能。將鎖定的狀態(tài)寫出到鎖定管理表416中的功能,是在取得了鎖定的情況下、對鎖定管理表416追加關(guān)于該鎖定的信息、此外在鎖定被釋放的情況下從鎖定管理表416將關(guān)于該鎖定的信息刪除的功能。鎖定的無效化功能是不對鎖定管理表416加以干預(yù)、從鎖定管理部412的內(nèi)部狀態(tài)中將關(guān)于任意的文件的行刪除的功能。鎖定管理表416將關(guān)于作為主導(dǎo)的緩存服務(wù)器108管理的文件中的、取得了鎖定的文件的信息保存。另外,鎖定管理表416使用圖5在后面敘述。受理停止管理表417在變更作為主導(dǎo)的緩存服務(wù)器的情況下、將關(guān)于對該作為主導(dǎo)的緩存服務(wù)器管理的子目錄的訪問的信息保存。另外,受理停止管理表417使用圖6在后面敘述。二次存儲(chǔ)部420保存讀出到主存儲(chǔ)部410中的程序及各種數(shù)據(jù)。二次存儲(chǔ)部420 可以考慮例如HDD等。網(wǎng)絡(luò)接口 430是用來與其他裝置通信的接口,在本實(shí)施方式中與廣域網(wǎng)112連接。緩存服務(wù)器106及緩存服務(wù)器110是與緩存服務(wù)器108相同的結(jié)構(gòu),所以省略說明。圖5是表示本發(fā)明的實(shí)施方式的鎖定管理表416的一例的說明圖。鎖定管理表416包括文件名501、用戶名502及鎖定信息503。文件名501是取得了鎖定的文件的名稱。用戶名502是識別取得了對應(yīng)于文件名 501的文件的鎖定的用戶的信息。例如,用戶名502可以考慮是操作終端的用戶名。鎖定信息503是所取得的鎖定的識別信息。鎖定的識別信息可以考慮例如鎖定的序列號等。另外,文件服務(wù)器105中的鎖定管理表214相當(dāng)于將各緩存服務(wù)器106、108、110 具備的鎖定管理表416全部相加后的表。圖6是表示本發(fā)明的實(shí)施方式的受理停止管理表417的一例的說明圖。受理停止管理表417包括子目錄路徑名601。子目錄路徑名601是緩存服務(wù)器106、108、110為主導(dǎo)管理的子目錄路徑的名稱。 在子目錄路徑名601中,保存在主導(dǎo)移動(dòng)時(shí)有訪問的文件的子目錄路徑名。圖7是表示本發(fā)明的實(shí)施方式的主導(dǎo)管理表315的一例的說明圖。主導(dǎo)管理表315包括子目錄路徑名701及主導(dǎo)據(jù)點(diǎn)名702。子目錄路徑名701是緩存服務(wù)器106、108、110為主導(dǎo)管理的子目錄路徑的名稱。 主導(dǎo)據(jù)點(diǎn)名702是用來識別包括作為主導(dǎo)管理保存在子目錄路徑名701中的子目錄的緩存服務(wù)器的據(jù)點(diǎn)的信息。在以下的說明中,在由文件服務(wù)器105使用的文件共享協(xié)議中,對終端具備的文件訪問的程序通過以下的步驟動(dòng)作。在第1步驟中,終端取得作為對象的文件的鎖定。在第2步驟中,終端將該文件打開(開)。在第3步驟中,終端將該文件更新任意的次數(shù)。在第4步驟中,終端將該文件關(guān)閉(關(guān))。在第5步驟中,終端將該文件的鎖定釋放。根據(jù)文件共享協(xié)議,有在與文件打開命令的同時(shí)將文件鎖定、或在與文件關(guān)閉命令的同時(shí)將文件的鎖定釋放等的變形。但是,上述方法可以通過同時(shí)執(zhí)行第1步驟和第2 步驟、同時(shí)執(zhí)行第4步驟和第5步驟等、通過上述步驟的簡單的組合來實(shí)現(xiàn)。另外,在本實(shí)施方式中,在第1步驟中取得的鎖定為排他鎖定。即,對于如果某個(gè)用戶取得排他鎖定則其他用戶不能取得排他鎖定的、排他的訪問權(quán)進(jìn)行說明。因而,在用戶不能取得排他鎖定的情況下,也變得不能將文件打開,所以結(jié)果不能夠進(jìn)行文件的參照。另外,一般在鎖定中有共享鎖定或排他鎖定等多個(gè)種類。例如,還有鎖定的組合的方法,以使某個(gè)用戶取得了共享鎖定的文件能夠由別的用戶再施加共享鎖定、某個(gè)用戶取得了排他鎖定的文件不能由別的用戶取得共享鎖定。鎖定的管理方法、將鎖定信息傳遞給用戶的方法以及鎖定的組合的管理方法是公知技術(shù),所以省略說明。此外,本發(fā)明不論使用怎樣的鎖定的管理方法、將鎖定信息傳遞給用戶的方法以及鎖定的組合的管理方法都能夠?qū)嵤4送?,在本?shí)施方式中,文件服務(wù)器105的鎖定信息由鎖定管理部212 —元地管理。此外,執(zhí)行對文件訪問的一般的程序的終端為了取得對文件尺寸等文件訪問的程序的動(dòng)作所需要的信息,在取得文件的鎖定之前參照文件的元數(shù)據(jù)。接著,對文件服務(wù)器105進(jìn)行說明。圖8是說明本發(fā)明的實(shí)施方式的文件服務(wù)器105在起動(dòng)后執(zhí)行的處理的流程圖。文件服務(wù)器105開始起動(dòng)后處理(S801),將鎖定管理部212初始化(S802)。
接著,文件服務(wù)器105從緩存服務(wù)器106、108、110接收命令(S803),并執(zhí)行接收到的命令(S804)。即,執(zhí)行對應(yīng)于所取出的命令的處理。文件服務(wù)器105反復(fù)執(zhí)行S803 S804的處理。以下,利用圖9 圖14對文件服務(wù)器105的文件服務(wù)器控制部213具備的各功能進(jìn)行說明。圖9是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部213具備的文件的元數(shù)據(jù)參照功能執(zhí)行的處理的流程圖。圖9所示的處理是在S803中接收到的命令是元數(shù)據(jù)參照處理的執(zhí)行命令的情況下執(zhí)行的處理。在S803中接收到的命令中,包括參照元數(shù)據(jù)的文件的全路徑、參照該元數(shù)據(jù)的用戶的用戶名以及鎖定的序列號。在以下的說明中,設(shè)參照元數(shù)據(jù)的文件為文件X,此外,設(shè)參照元數(shù)據(jù)的用戶的用戶名為用戶Y。取得了包含于在S803中接收到的命令中的文件X的全路徑和用戶Y的文件服務(wù)器控制部213開始元數(shù)據(jù)參照處理(S901),從文件保持部211取得文件X的元數(shù)據(jù)(S902)。 另外,在元數(shù)據(jù)中,包含有表示文件的訪問權(quán)限(許可)的信息。文件服務(wù)器控制部213判斷用戶Y是否具有文件X的訪問權(quán)(S903)。具體而言, 文件服務(wù)器控制部213參照包含在所取得的元數(shù)據(jù)中的文件的訪問權(quán)限,判斷用戶Y是否具有該文件的訪問權(quán)限。在判斷為用戶Y具有文件X的訪問權(quán)的情況下,文件服務(wù)器控制部213對發(fā)送在 S803中接收到的命令的緩存服務(wù)器106、108、110發(fā)送文件X的元數(shù)據(jù),結(jié)束處理(S904)。在判斷為用戶Y不具有文件X的訪問權(quán)的情況下,文件服務(wù)器控制部213對用戶 Y發(fā)送錯(cuò)誤,結(jié)束處理(S905)。另外,作為文件服務(wù)器105執(zhí)行用戶的訪問權(quán)的認(rèn)證的變形,也可以在S803中接收到的命令中還包括認(rèn)證鍵或口令等的認(rèn)證所需要的信息。此外,對文件服務(wù)器105的認(rèn)證處理也可以僅在初次訪問時(shí)的執(zhí)行。在此情況下,由于在初次訪問時(shí)執(zhí)行使用認(rèn)證專用命令的認(rèn)證,所以在S803中接收到的命令中也可以不包含用戶名。在以下說明的處理中, 在用戶的訪問權(quán)的認(rèn)證處理中,使用哪種變形都可以。圖10是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部213具備的文件的鎖定取得功能執(zhí)行的處理的流程圖。圖10所示的處理是當(dāng)在S803中接收到的命令是鎖定取得處理的執(zhí)行命令的情況下執(zhí)行的處理。在S803中接收到的命令中,包括被取得鎖定的文件的全路徑、以及取得該文件的鎖定的用戶的用戶名。在以下的說明中,設(shè)被取得鎖定的文件為文件X,設(shè)取得該文件X的鎖定的用戶的用戶名為用戶Y。取得了包含于在S803中接收到的命令中的文件X的全路徑和用戶Y的文件服務(wù)器控制部213開始鎖定取得處理(S1001),從文件保持部211取得文件X的元數(shù)據(jù)(S1002)。文件服務(wù)器控制部213判斷用戶Y是否具有文件X的訪問權(quán)(S1003)。該處理是與S903相同的處理。在判斷為用戶Y不具有文件X的訪問權(quán)的情況下,文件服務(wù)器控制部213對用戶
20Y返回錯(cuò)誤,結(jié)束處理(S1008)。在判斷為用戶Y具有文件X的訪問權(quán)的情況下,文件服務(wù)器控制部213取得文件 X的鎖定(S1004)。具體而言,文件服務(wù)器控制部213對鎖定管理部212指示鎖定的取得, 接受到該指示的鎖定管理部212使用鎖定取得功能執(zhí)行鎖定的取得。這里,鎖定管理部212 參照鎖定管理表214,在其他用戶沒有取得文件X的鎖定的情況下對鎖定管理表214追加用戶Y的行,設(shè)為鎖定取得成功。另一方面,在已經(jīng)由其他用戶取得了文件X的鎖定的情況下,鎖定管理部212不將用戶Y的行追加到鎖定管理表214中,設(shè)為鎖定取得失敗。文件服務(wù)器控制部213判斷是否能夠取得鎖定(S1005)。即,判斷是否其他用戶已經(jīng)取得了文件X的鎖定。具體而言,在步驟S1004執(zhí)行后,文件服務(wù)器控制部213從鎖定管理部212接受鎖定的取得可否。在判斷為不能取得鎖定的情況下,文件服務(wù)器控制部213對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1008)。在判斷為能夠取得鎖定的情況下,文件服務(wù)器控制部213將在S1002中取得的文件X的元數(shù)據(jù)更新(S1006),將鎖定信息發(fā)送給用戶Y,結(jié)束處理(S1007)。這里,發(fā)送的鎖定信息是用來在文件服務(wù)器105與用戶Y之間確認(rèn)取得了鎖定的鍵對,作為該鍵而使用連續(xù)號碼或隨機(jī)數(shù)值等。在本實(shí)施方式中,在文件X的元數(shù)據(jù)的更新中,將最終訪問日時(shí)更新。以下,在本實(shí)施方式中,只要沒有特別拒絕,元數(shù)據(jù)的更新就指最終訪問日時(shí)的更新。另外,作為將文件X的元數(shù)據(jù)更新處理的變形,也可以將最終訪問日時(shí)和最終訪問用戶更新,也可以將最終訪問日時(shí)的尺寸分為最終更新日時(shí)和最終參照日時(shí)。本發(fā)明使用哪種變形都可以。圖11是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部213具備的文件打開功能執(zhí)行的處理的流程圖。圖11所示的處理是在S803中接收到的命令是文件打開處理的情況下執(zhí)行的處理。在S803中接收到的命令中,包括被打開的文件的全路徑、識別打開該文件的用戶的信息、以及被該用戶賦予的鎖定信息。在以下的說明中,設(shè)被打開的文件為文件X,設(shè)打開該文件X的用戶的用戶名為用戶Y。取得了包含于在S803中接收到的命令中的文件X的全路徑、用戶Y以及鎖定信息的文件服務(wù)器控制部213開始文件打開處理(SllOl),判斷所取得的鎖定信息是否是適當(dāng)?shù)?Si102)。具體而言,文件服務(wù)器控制部213參照鎖定管理表214,判斷所取得的鎖定信息是否與對應(yīng)于文件X的鎖定信息503相同。在判斷為所取得的鎖定信息不適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(Si 106)。在判斷為所取得的鎖定信息適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213從文件保持部 211取得文件X的實(shí)數(shù)據(jù)(S1103),進(jìn)而將文件X的元數(shù)據(jù)更新(S1104)。文件服務(wù)器控制部213對用戶Y發(fā)送所取得的文件X的實(shí)數(shù)據(jù),結(jié)束處理
21(S1105)。圖12是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部213具備的文件更新功能執(zhí)行的處理的流程圖。圖12所示的處理是在S803中接收到的命令是文件更新處理的執(zhí)行命令的情況下執(zhí)行的處理。在S803中接收到的命令中,包括被更新的文件的全路徑、更新該文件的用戶的用戶名、以及鎖定信息。在以下的說明中,設(shè)被更新的文件為文件X,設(shè)更新該文件X的用戶的用戶名為用戶Y。取得了包含于在S803中接收到的命令中的文件X的全路徑、用戶Y以及鎖定信息的文件服務(wù)器控制部213開始文件更新處理(S1201)、判斷所取得的鎖定信息是否是適當(dāng)?shù)?S1202)。該判斷是與S1102相同的處理。在判斷為所取得的鎖定信息不適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1206)。在判斷所取得的鎖定信息是適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213將文件X的實(shí)數(shù)據(jù)更新(S1203),進(jìn)而,將文件X的元數(shù)據(jù)更新(S1204)。文件服務(wù)器控制部213將表示更新處理成功的更新成功發(fā)送給用戶Y,結(jié)束處理 (S1205)。圖13是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部213具備的文件關(guān)閉功能執(zhí)行的處理的流程圖。圖13所示的處理是在S803中接收到的命令是文件關(guān)閉處理的執(zhí)行命令的情況下執(zhí)行的處理。在S803中接收到的命令中,包括被關(guān)閉的文件的全路徑、將該文件關(guān)閉的用戶的用戶名、以及被該用戶賦予的鎖定信息。在以下的說明中,設(shè)被更新的文件為文件X、此外設(shè)更新文件X的用戶的用戶名為用戶Y。取得了包含于在S803中接收到的命令中的文件X的全路徑、用戶Y以及鎖定信息的文件服務(wù)器控制部213開始文件關(guān)閉處理(S1301),判斷所取得的鎖定信息是否適當(dāng) (S1302)。該判斷是與S1102相同的處理。在判斷所取得的鎖定信息為適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213將文件X的元數(shù)據(jù)更新(S1303),將表示文件關(guān)閉處理已成功的關(guān)閉成功發(fā)送給用戶Y,結(jié)束處理 (S1304)。在判斷所取得的鎖定信息為不適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1305)。圖14是說明通過本發(fā)明的實(shí)施方式的文件服務(wù)器控制部213具備的文件的鎖定釋放功能執(zhí)行的處理的流程圖。圖14所示的處理是在S803中接收到的命令是鎖定釋放處理的情況下執(zhí)行的處理。在S803中接收到的命令中,包括被關(guān)閉的文件的全路徑、將該文件關(guān)閉的用戶的用戶名、以及被該用戶賦予的鎖定信息。在以下的說明中,設(shè)被更新的文件為文件X,此外設(shè)更新文件X的用戶的用戶名為用戶Y。取得了包含于在S803中接收到的命令中的文件X的全路徑、用戶Y以及鎖定信息的文件服務(wù)器控制部213開始鎖定釋放處理(S1401),判斷所取得的鎖定信息是否是適當(dāng)?shù)?S1402)。該判斷是與S1102相同的處理。在判斷所取得的鎖定信息為不適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1406)。在判斷所取得的鎖定信息為適當(dāng)?shù)那闆r下,文件服務(wù)器控制部213將文件X的元數(shù)據(jù)更新(S1403),釋放文件X的鎖定(S1404)。文件服務(wù)器控制部213將表示鎖定釋放處理已成功的鎖定釋放成功信息發(fā)送給用戶,結(jié)束處理(S1405)。接著,對緩存服務(wù)器108進(jìn)行說明。另外,緩存服務(wù)器106、110與緩存服務(wù)器108 是相同的,所以省略說明。圖15是說明本發(fā)明的實(shí)施方式的緩存服務(wù)器108在起動(dòng)時(shí)執(zhí)行的處理的流程圖。緩存服務(wù)器108開始起動(dòng)后處理(S1501),將訪問履歷保持部414、隊(duì)列管理部 415、鎖定管理表416以及受理停止管理表417初始化(S1502)。在初始化處理中,緩存服務(wù)器108對隊(duì)列管理部415指示命令隊(duì)列和受理停止隊(duì)列的制作。命令隊(duì)列是用來從終端109、111或其他緩存服務(wù)器受理命令的隊(duì)列。停止隊(duì)列是用來臨時(shí)保持從終端109、111或其他緩存服務(wù)器向停止了訪問的受理的子目錄路徑發(fā)送的命令的隊(duì)列。緩存服務(wù)器108從命令隊(duì)列取出命令(S1503),判斷所取出的命令是否是向受理停止中的子目錄路徑的訪問(S1504)。具體而言,緩存服務(wù)器108參照受理停止管理表417,判斷由所取出的命令訪問的文件的路徑是否是包含在保存于子目錄路徑名601中的子目錄路徑中。在判斷為該文件的路徑包含在保存于子目錄路徑名601中的子目錄路徑中的情況下,判斷為所取出的命令是向受理停止中的子目錄路徑的訪問。例如,在受理停止管理表417的子目錄路徑名601中保存有“/a/b”、由所取出的命令訪問的文件的全路徑是“/a/b/c. txt”的情況下,判斷為該命令是向受理停止中的子目錄路徑的訪問。在判斷為所取出的命令是向受理停止中的子目錄路徑的訪問的情況下,緩存服務(wù)器108將該命令追加到受理停止隊(duì)列的末尾(S1505),返回S1503,重復(fù)執(zhí)行S1503 S1506 的處理。在判斷為所取出的命令是向受理停止中的子目錄路徑的訪問的情況下,緩存服務(wù)器108新生成線程并執(zhí)行該命令(S1506),返回S1503,重復(fù)執(zhí)行S1503 S1506的處理。 即,執(zhí)行對應(yīng)于所取出的命令的處理。另外,在執(zhí)行所取出的命令的情況下,也可以除了新生成線程以外還預(yù)先生成多個(gè)線程,不使用所生成的線程而使用線程池。由此,在所取出的命令的執(zhí)行時(shí)每次生成新的線程的成本較高的情況下能夠削減成本。接著,使用圖16 圖21,對緩存服務(wù)器108的緩存服務(wù)器控制部411具備的各功能進(jìn)行說明。圖16是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部411具備的文件的元數(shù)據(jù)參照功能執(zhí)行的處理的流程圖。圖16所示的處理是在S1503中取出的命令是元數(shù)據(jù)參照處理的執(zhí)行命令的情況下執(zhí)行的處理。在S1503中取出的命令中,包括參照元數(shù)據(jù)的文件的全路徑、參照該元數(shù)據(jù)的用戶的用戶名以及該用戶位于的據(jù)點(diǎn)的據(jù)點(diǎn)名。在以下的說明中,設(shè)參照元數(shù)據(jù)的文件為文件X,設(shè)參照該文件X的用戶的用戶名為用戶Y,設(shè)該用戶Y位于的據(jù)點(diǎn)的據(jù)點(diǎn)名為據(jù)點(diǎn)Z。取得了包含于在S1503中取出的命令中的文件X的全路徑、用戶Y及據(jù)點(diǎn)Z的緩存服務(wù)器控制部411開始元數(shù)據(jù)參照處理(S1601)。另外,在S1503中取出的命令中,也可以不包括據(jù)點(diǎn)名,在此情況下,使據(jù)點(diǎn)名為緩存服務(wù)器108自身位于的據(jù)點(diǎn)的據(jù)點(diǎn)名而執(zhí)行處理。緩存服務(wù)器控制部411從緩存管理服務(wù)器107取得主導(dǎo)管理表315(S1602)。具體而言,緩存服務(wù)器控制部411對緩存管理服務(wù)器107的主導(dǎo)管理表控制部314 請求主導(dǎo)管理表315的發(fā)送,接受到了該請求的主導(dǎo)管理表控制部314接收使用主導(dǎo)管理表發(fā)送功能發(fā)送的主導(dǎo)管理表315。取得主導(dǎo)管理表315的理由是因?yàn)?,在本?shí)施方式中,設(shè)想了頻繁地變更主導(dǎo)的情況,所以需要在處理的開始時(shí)確認(rèn)主導(dǎo)。另外,作為主導(dǎo)管理表315的管理方法,可以考慮緩存服務(wù)器控制部411將接收到的主導(dǎo)管理表315臨時(shí)保持、當(dāng)從緩存管理服務(wù)器107接受到主導(dǎo)管理表315被更新的通知時(shí)使主導(dǎo)管理表315的緩存無效化的方法。在此情況下,緩存服務(wù)器控制部411也可以在需要主導(dǎo)管理表315時(shí)再次從緩存管理服務(wù)器107取得主導(dǎo)管理表315,也可以在接受到主導(dǎo)管理表315被更新的通知之后、 從緩存管理服務(wù)器107取得主導(dǎo)管理表315。緩存服務(wù)器控制部411參照所取得的主導(dǎo)管理表315,判斷文件X的主導(dǎo)是否是自據(jù)點(diǎn)(S1603)。具體而言,執(zhí)行以下這樣的判斷處理。首先,緩存服務(wù)器控制部411判斷文件X的全路徑是否包含在保存于子目錄路徑名701中的子目錄中。接著,在判斷文件X的全路徑包含在保存于子目錄路徑名701中的子目錄中的情況下,緩存服務(wù)器控制部411參照主導(dǎo)管理表315,判斷對應(yīng)于該子目錄的行的主導(dǎo)據(jù)點(diǎn)名 702是否是自據(jù)點(diǎn)的據(jù)點(diǎn)名。在判斷為文件X的主導(dǎo)是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的元數(shù)據(jù)(S1604)。在判斷為在緩存保持部413中沒有保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的元數(shù)據(jù)(S1609),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S1610),前進(jìn)到S1605。在判斷為在緩存保持部413中保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從緩存保持部413取得文件X的元數(shù)據(jù)(S1605)。緩存服務(wù)器控制部411判斷用戶Y是否具有文件X的訪問權(quán)(S1606)。在判斷為用戶Y不具有文件X的訪問權(quán)的情況下,緩存服務(wù)器控制部411對用戶 Y發(fā)送錯(cuò)誤,結(jié)束處理(S1613)。在判斷為用戶Y具有文件X的訪問權(quán)的情況下,緩存服務(wù)器控制部411記錄表示從據(jù)點(diǎn)Z參照了文件X的元數(shù)據(jù)的訪問履歷(S1607)。具體而言,緩存服務(wù)器控制部411將訪問履歷保存到訪問履歷保持部414中。緩存服務(wù)器控制部411將文件X的元數(shù)據(jù)發(fā)送給文件服務(wù)器105,結(jié)束處理 (S1608)。在S1603中,在判斷文件X的主導(dǎo)不是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411 參照主導(dǎo)管理表315,對作為文件X的主導(dǎo)的其他緩存服務(wù)器請求元數(shù)據(jù)參照處理的執(zhí)行 (S1611)。具體而言,緩存服務(wù)器控制部411對作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送包括文件X的全路徑、用戶Y及據(jù)點(diǎn)Z的元數(shù)據(jù)參照處理的執(zhí)行請求。接收到該執(zhí)行請求的、 作為文件X的主導(dǎo)的其他緩存服務(wù)器執(zhí)行S1601 S1613的處理,將該處理的執(zhí)行結(jié)果發(fā)送給緩存服務(wù)器控制部411。緩存服務(wù)器控制部411判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是否是錯(cuò)誤(S1612)。在判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果不是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1608。在判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是錯(cuò)誤的情況下, 緩存服務(wù)器控制部411前進(jìn)到S1613。圖17是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部411具備的文件的鎖定取得功能執(zhí)行的處理的流程圖。圖17所示的處理是在S1503中取出的命令是鎖定取得處理的執(zhí)行命令的情況下執(zhí)行的處理。在S1503中取出的命令中,包括參照元數(shù)據(jù)的文件的全路徑、參照該元數(shù)據(jù)的用戶的用戶名以及該用戶位于的據(jù)點(diǎn)的據(jù)點(diǎn)名。在以下的說明中,設(shè)被取得鎖定的文件為文件X,設(shè)取得該文件X的鎖定的用戶的用戶名為用戶Y,設(shè)該用戶Y位于的據(jù)點(diǎn)的據(jù)點(diǎn)名為據(jù)點(diǎn)Z。取得了包含于在S1503中取出的命令中的文件X的全路徑、用戶Y及據(jù)點(diǎn)Z的緩存服務(wù)器控制部411開始鎖定取得處理(S1701)。另外,在S1503中取出的命令中,也可以不包括據(jù)點(diǎn)名,在此情況下,使據(jù)點(diǎn)名為緩存服務(wù)器108自身位于的據(jù)點(diǎn)的據(jù)點(diǎn)名而執(zhí)行處理。緩存服務(wù)器控制部411從緩存管理服務(wù)器107取得主導(dǎo)管理表315(S1702)。另外,該處理與S1602是相同的。緩存服務(wù)器控制部411參照所取得的主導(dǎo)管理表315,判斷文件X的主導(dǎo)是否是自
25據(jù)點(diǎn)(S1703)。另外,該處理是與S1603相同的處理。在判斷文件X的主導(dǎo)是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的元數(shù)據(jù)(S1704)。另外,該處理是與S1604相同的處理。在判斷在緩存保持部413中沒有保存文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的元數(shù)據(jù)(S1712),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S1713),前進(jìn)到S1706。另外,S1712及S1713的處理是與S1609及 S1610相同的處理。在判斷為在緩存保持部413中保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從緩存保持部413取得文件X的元數(shù)據(jù)(S1705),判斷用戶Y是否具有文件X的訪問權(quán)(S1706)。S1705及S1706的處理是與S1605及S1606相同的處理。在判斷為用戶Y不具有文件X的訪問權(quán)的情況下,緩存服務(wù)器控制部411對用戶 Y發(fā)送錯(cuò)誤,結(jié)束處理(S1716)。該處理是與S1613相同的處理。在判斷為用戶Y具有文件X的訪問權(quán)的情況下,緩存服務(wù)器控制部411取得文件 X的鎖定(S1707)。具體而言,緩存服務(wù)器控制部411對鎖定管理部412指示鎖定取得。接受到鎖定取得的指示的鎖定管理部412使用鎖定取得功能取得文件X的鎖定。 具體而言,鎖定管理部412參照鎖定管理表416,在其他用戶沒有取得文件X的鎖定的情況下將用戶Y的行追加到鎖定管理表416中,設(shè)為鎖定取得成功。另一方面,在已經(jīng)由其他用戶取得了文件X的鎖定的情況下,鎖定管理部412不將用戶Y的行追加到鎖定管理表416 中,設(shè)為鎖定取得失敗。緩存服務(wù)器控制部411判斷是否能夠鎖定(S1708)。即,判斷其他用戶是否已經(jīng)取得了文件X的鎖定。具體而言,在步驟S1707執(zhí)行后,文件服務(wù)器控制部213從鎖定管理部212接受鎖定的取得可否。在判斷為不能取得鎖定的情況下,緩存服務(wù)器控制部411對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1716)。在判斷為能夠取得鎖定的情況下,緩存服務(wù)器控制部411更新文件X的元數(shù)據(jù)
(51709)。即,將最終訪問日時(shí)更新。緩存服務(wù)器控制部411記錄表示從據(jù)點(diǎn)Z取得了文件X的鎖定的訪問履歷
(51710)。另外,該處理是與S1607相同的處理。緩存服務(wù)器控制部411將文件X的元數(shù)據(jù)發(fā)送給文件服務(wù)器105,結(jié)束處理
(51711)。在S1703中判斷為文件X的主導(dǎo)不是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411 參照主導(dǎo)管理表315,對作為文件X的主導(dǎo)的其他緩存服務(wù)器請求鎖定取得處理的執(zhí)行 (S1714)。具體而言,緩存服務(wù)器控制部411對作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送包括文件X的全路徑、用戶Y以及據(jù)點(diǎn)Z的鎖定取得處理的執(zhí)行請求。接收到該執(zhí)行請求的、 作為文件X的主導(dǎo)的其他緩存服務(wù)器執(zhí)行S1701 S1716的處理,將該處理的執(zhí)行結(jié)果發(fā)送給緩存服務(wù)器控制部411。緩存服務(wù)器控制部411判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是否是錯(cuò)誤的(S1715)。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果不是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1711。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1716。另外,作為用來使在后面敘述的主導(dǎo)場所更新處理的S2014高速化的變形,有在實(shí)數(shù)據(jù)更新處理執(zhí)行后、將保存在緩存服務(wù)器中的元數(shù)據(jù)發(fā)送給文件服務(wù)器105的方法。圖18A及圖18B是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部411具備的文件打開功能執(zhí)行的處理的流程圖。圖18A及圖18B所示的處理是在S1503中取出的命令是文件打開處理的執(zhí)行命令的情況下執(zhí)行的處理。在S1503中取出的命令中,包括被打開的文件的全路徑、識別將該文件打開的用戶的信息、關(guān)于該用戶位于的據(jù)點(diǎn)的信息及鎖定信息。在以下的說明中,設(shè)被取得鎖定的文件為文件X,設(shè)取得該文件X的鎖定的用戶的用戶名為用戶Y,設(shè)該用戶Y位于的據(jù)點(diǎn)的據(jù)點(diǎn)名為據(jù)點(diǎn)Z。取得了包含于在S1503中取出的命令中的文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的緩存服務(wù)器控制部411開始文件打開處理(S1801)。另外,在S1503中取出的命令中,也可以不包括據(jù)點(diǎn)名,在此情況下,使據(jù)點(diǎn)名為緩存服務(wù)器108自身位于的據(jù)點(diǎn)的據(jù)點(diǎn)名而執(zhí)行處理。緩存服務(wù)器控制部411取得從緩存管理服務(wù)器107到主導(dǎo)管理表315 (S1802)。另外,該處理與S1602相同。緩存服務(wù)器控制部411參照所取得的主導(dǎo)管理表315,判斷文件X的主導(dǎo)是否是自據(jù)點(diǎn)(S1803)。另外,該處理是與S1603相同的處理。在判斷為文件X的主導(dǎo)是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411判斷所取得的鎖定信息是否是適當(dāng)?shù)?S1804)。具體而言,使用所取得的文件X的全路徑,參照鎖定管理表416,判斷對應(yīng)于文件X 的全路徑的行的鎖定信息503是否與所取得的鎖定信息一致。在判斷所取得的鎖定信息為不適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1817)。該處理是與S1613相同的處理。在判斷所取得的鎖定信息為適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的實(shí)數(shù)據(jù)(S1805)。在判斷為在緩存保持部413中沒有保存文件X的實(shí)數(shù)據(jù)的情況下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的元數(shù)據(jù)(S1810)。另外,該處理是與 S1604相同的處理。在判斷為在緩存保持部413中沒有保存文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的元數(shù)據(jù)(S1813),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S1814),前進(jìn)到S1811。另外,S1813及S1814的處理是與S1609及 S1610相同的處理。在判斷為在緩存保持部413中保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的實(shí)數(shù)據(jù)(S1811),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S1812),前進(jìn)到S1806。在S1805中,在判斷為在緩存保持部413中保存有文件X的實(shí)數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從緩存保持部413取得文件X的實(shí)數(shù)據(jù)(S1806)。緩存服務(wù)器控制部411將文件X的元數(shù)據(jù)更新(S1807)。該處理是與S1709相同的處理。緩存服務(wù)器控制部411記錄表示從據(jù)點(diǎn)Z打開了文件X的訪問履歷(S1808)。另外,該處理是與S1607相同的處理。緩存服務(wù)器控制部411將文件X的實(shí)數(shù)據(jù)發(fā)送給文件服務(wù)器105,結(jié)束處理 (S1809)。在S1803中,在判斷為文件X的主導(dǎo)不是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411 參照主導(dǎo)管理表315,對作為文件X的主導(dǎo)的其他緩存服務(wù)器請求文件打開處理的執(zhí)行 (S1815)。具體而言,緩存服務(wù)器控制部411對作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送包括文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的鎖定取得處理的執(zhí)行請求。接收到該執(zhí)行請求的、作為文件X的主導(dǎo)的其他緩存服務(wù)器執(zhí)行S1801 S1817的處理,將該處理的執(zhí)行結(jié)果發(fā)送給緩存服務(wù)器控制部411。緩存服務(wù)器控制部411判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是否是錯(cuò)誤的(S1816)。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果不是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1809。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1817。另外,作為用來使后面敘述的主導(dǎo)場所更新處理的S2014高速化的變形,有在實(shí)數(shù)據(jù)更新處理執(zhí)行后、將保存在緩存服務(wù)器中的元數(shù)據(jù)發(fā)送給文件服務(wù)器105的方法。圖19A及圖19B是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部411具備的文件的實(shí)數(shù)據(jù)更新功能執(zhí)行的處理的流程圖。圖19A及圖19B所示的處理是在S1503中取出的命令是實(shí)數(shù)據(jù)更新處理的執(zhí)行命令的情況下執(zhí)行的處理。在S1503中取出的命令中,包括被打開的文件的全路徑、將該文件打開的用戶的用戶名、該用戶位于的據(jù)點(diǎn)的據(jù)點(diǎn)名及鎖定信息。在以下的說明中,設(shè)被取得鎖定的文件為文件X,設(shè)取得該文件X的鎖定的用戶的用戶名為用戶Y,設(shè)該用戶Y位于的據(jù)點(diǎn)的據(jù)點(diǎn)名為據(jù)點(diǎn)Z。取得了包含于在S1503中取出的命令中的文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的緩存服務(wù)器控制部411開始實(shí)數(shù)據(jù)更新處理(S1901)。另外,在S1503中取出的命令中也可以不包括據(jù)點(diǎn)名,在此情況下,使據(jù)點(diǎn)名為緩存服務(wù)器108自身位于的據(jù)點(diǎn)的據(jù)點(diǎn)名而執(zhí)行處理。緩存服務(wù)器控制部411從緩存管理服務(wù)器107取得主導(dǎo)管理表315 6190 。另外,該處理與S1602是相同的。
緩存服務(wù)器控制部411參照所取得的主導(dǎo)管理表315,判斷文件X的主導(dǎo)是否是自據(jù)點(diǎn)(S1903)。另外,該處理是與S1603相同的處理。在判斷為文件X的主導(dǎo)是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411判斷所取得的鎖定信息是否是適當(dāng)?shù)?S1904)。該處理是與S1804相同的處理。在判斷所取得的鎖定信息為不適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S1917)。該處理是與S1613相同的處理。在判斷所取得的鎖定信息為適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的實(shí)數(shù)據(jù)(S1905)。在判斷為在緩存保持部413中沒有保存文件X的實(shí)數(shù)據(jù)的情況下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的元數(shù)據(jù)(S1910)。另外,該處理是與 S1604相同的處理。在判斷為在緩存保持部413中沒有保存文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的元數(shù)據(jù)(S19i;3),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S1914),前進(jìn)到S1911。另外,S1913及S1914的處理是S1609及 S1610相同的處理。在判斷為在緩存保持部413中保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的實(shí)數(shù)據(jù)(S1911),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S1912),前進(jìn)到S1906。另外,S1911及S1912的處理是與S1811及 S1812相同的處理。在S1905中,在判斷為在緩存保持部413中保存有文件X的實(shí)數(shù)據(jù)的情況下,緩存服務(wù)器控制部411將保存在緩存保持部413中的文件X的實(shí)數(shù)據(jù)更新(S1906)。緩存服務(wù)器控制部411將文件X的元數(shù)據(jù)更新(S1907)。該處理是與S1709相同的處理。緩存服務(wù)器控制部411記錄表示從據(jù)點(diǎn)Z更新了文件X的訪問履歷(S1908)。另外,該處理是與S1607相同的處理。緩存服務(wù)器控制部411將文件X的實(shí)數(shù)據(jù)發(fā)送給文件服務(wù)器105,結(jié)束處理 (S1909)。在S1903中,在判斷為文件X的主導(dǎo)不是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411 參照主導(dǎo)管理表315,對作為文件X的主導(dǎo)的其他緩存服務(wù)器請求文件打開處理的執(zhí)行 (S1915)。具體而言,緩存服務(wù)器控制部411對作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送包括文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的實(shí)數(shù)據(jù)更新處理的執(zhí)行請求。接收到該執(zhí)行請求的、作為文件X的主導(dǎo)的其他緩存服務(wù)器執(zhí)行S1901 S1917的處理,將該處理的執(zhí)行結(jié)果發(fā)送給緩存服務(wù)器控制部411。緩存服務(wù)器控制部411判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是否是錯(cuò)誤的(S1916)。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果不是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1909。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S1917。另外,作為用來使后面敘述的主導(dǎo)場所更新處理的S2014高速化的變形,有在實(shí)數(shù)據(jù)更新處理執(zhí)行后、將保存在緩存服務(wù)器中的元數(shù)據(jù)發(fā)送給文件服務(wù)器105的方法。圖20是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部411具備的文件的關(guān)閉功能執(zhí)行的處理的流程圖。圖20所示的處理是在S1503中取出的命令是文件關(guān)閉處理的執(zhí)行命令的情況下執(zhí)行的處理。在S1503中取出的命令中,包括被關(guān)閉的文件的全路徑、將文件關(guān)閉的用戶的用戶名、該用戶位于的據(jù)點(diǎn)的據(jù)點(diǎn)名以及鎖定信息。在以下的說明中,設(shè)被關(guān)閉的文件為文件X,設(shè)將該文件X關(guān)閉的用戶的用戶名為用戶Y,設(shè)該用戶Y位于的據(jù)點(diǎn)的據(jù)點(diǎn)名為據(jù)點(diǎn)Z。取得了包含于在S1503中取出的命令中的文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的緩存服務(wù)器控制部411開始文件關(guān)閉處理(S2001)。另外,在S1503中取出的命令中也可以不包括據(jù)點(diǎn)名,在此情況下,使據(jù)點(diǎn)名為緩存服務(wù)器108自身位于的據(jù)點(diǎn)的據(jù)點(diǎn)名而執(zhí)行處理。緩存服務(wù)器控制部411從緩存管理服務(wù)器107取得主導(dǎo)管理表315 6200 。另外,該處理與S1602相同。緩存服務(wù)器控制部411參照所取得的主導(dǎo)管理表315,判斷文件X的主導(dǎo)是否是自據(jù)點(diǎn)(S2003)。另外,該處理是與S1603相同的處理。在判斷為文件X的主導(dǎo)是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411判斷所取得的鎖定信息是否是適當(dāng)?shù)?S2004)。另外,該處理是與S1804相同的處理。在判斷所取得的鎖定信息為不適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411對用戶Y發(fā)送錯(cuò)誤,結(jié)束處理(S2013)。另外,該處理是與S1613相同的處理。在判斷所取得的鎖定信息為適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的元數(shù)據(jù)(S2005)。另外,該處理是與S1604相同的處理。在判斷為在緩存保持部413中沒有保存文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的元數(shù)據(jù)(S2009),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S2010),前進(jìn)到S2006。另外,S2009及S2010的處理是與S1609及 S1610相同的處理。在判斷為在緩存保持部413中保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411將文件X的元數(shù)據(jù)更新(S2006)。另外,該處理是與S1709相同的處理。緩存服務(wù)器控制部411記錄表示從據(jù)點(diǎn)Z關(guān)閉了文件X的訪問履歷(S2007)。另外,該處理是與S1607相同的處理。緩存服務(wù)器控制部411將表示文件關(guān)閉處理完成的文件關(guān)閉完成發(fā)送給用戶,結(jié)束處理(S2008)。在S2003中,在判斷為文件X的主導(dǎo)不是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411 參照主導(dǎo)管理表315,對作為文件X的主導(dǎo)的其他緩存服務(wù)器請求文件關(guān)閉處理的執(zhí)行 (S2011)。具體而言,緩存服務(wù)器控制部411對作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送包
30括文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的文件關(guān)閉處理的執(zhí)行請求。接收到該執(zhí)行請求的、作為文件X的主導(dǎo)的其他緩存服務(wù)器執(zhí)行S2001 S2013的處理,將該處理的執(zhí)行結(jié)果發(fā)送給緩存服務(wù)器控制部411。緩存服務(wù)器控制部411判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是否是錯(cuò)誤的(S2012)。在判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果不是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S2008。在判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是錯(cuò)誤的情況下, 緩存服務(wù)器控制部411前進(jìn)到S2013。另外,作為用來使后面敘述的主導(dǎo)場所更新處理的S2014高速化的變形,有在實(shí)數(shù)據(jù)更新處理執(zhí)行后、將保存在緩存服務(wù)器中的元數(shù)據(jù)發(fā)送給文件服務(wù)器105的方法。圖21是說明通過本發(fā)明的實(shí)施方式的緩存服務(wù)器控制部411具備的文件的鎖定釋放功能執(zhí)行的處理的流程圖。圖21所示的處理是在S1503中取出的命令是鎖定釋放處理的執(zhí)行命令的情況下執(zhí)行的處理。在S1503中取出的命令中,包括鎖定被釋放的文件的全路徑、將文件的鎖定釋放的用戶的用戶名、該用戶位于的據(jù)點(diǎn)的據(jù)點(diǎn)名及鎖定信息。在以下的說明中,設(shè)鎖定被釋放的文件為文件X,設(shè)將該文件X的鎖定釋放的用戶的用戶名為用戶Y,設(shè)該用戶Y位于的據(jù)點(diǎn)的據(jù)點(diǎn)名為據(jù)點(diǎn)Z。取得了包含于在S1503中取出的命令中的文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的緩存服務(wù)器控制部411開始鎖定釋放處理(S2101)。另外,在S1503中取出的命令中也可以不包括據(jù)點(diǎn)名,在此情況下,使據(jù)點(diǎn)名為緩存服務(wù)器108自身位于的據(jù)點(diǎn)的據(jù)點(diǎn)名而執(zhí)行處理。緩存服務(wù)器控制部411從緩存管理服務(wù)器107取得主導(dǎo)管理表315 6210 。另外,該處理與S1602是相同的。緩存服務(wù)器控制部411參照所取得的主導(dǎo)管理表315,判斷文件X的主導(dǎo)是否是自據(jù)點(diǎn)(S2103)。另外,該處理是與S1603相同的處理。在判斷為文件X的主導(dǎo)是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411判斷所取得的鎖定信息是否是適當(dāng)?shù)?S2104)。另外,該處理是與S1804相同的處理。在判斷為所取得的鎖定信息為不適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411對用戶Y 發(fā)送錯(cuò)誤,結(jié)束處理(S2114)。另外,該處理是與S1613相同的處理。在判斷所取得的鎖定信息為適當(dāng)?shù)那闆r下,緩存服務(wù)器控制部411判斷在緩存保持部413中是否保存有文件X的元數(shù)據(jù)(S2105)。另外,該處理是與S1604相同的處理。在判斷為在緩存保持部413中沒有保存文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411從文件服務(wù)器105取得文件X的元數(shù)據(jù)(S2110),將所取得的文件X的元數(shù)據(jù)保存到緩存保持部413中(S2111),前進(jìn)到S2106。另外,S2110及S2111的處理是與S1609及 S1610相同的處理。在判斷為在緩存保持部413中保存有文件X的元數(shù)據(jù)的情況下,緩存服務(wù)器控制部411將文件X的鎖定釋放(S2106)。具體而言,緩存服務(wù)器控制部411從鎖定管理表416中刪除對應(yīng)于文件X的行。緩存服務(wù)器控制部411將文件X的元數(shù)據(jù)更新(S2107)。另外,該處理是與S1709 相同的處理。緩存服務(wù)器控制部411記錄表示從據(jù)點(diǎn)Z釋放了文件X的鎖定的訪問履歷 (S2108)。另外,該處理是與S1607相同的處理。緩存服務(wù)器控制部411將表示鎖定釋放處理完成的鎖定完成發(fā)送給用戶,結(jié)束處理(S2109)。在S2103中,在判斷為文件X的主導(dǎo)不是自據(jù)點(diǎn)的情況下,緩存服務(wù)器控制部411 參照主導(dǎo)管理表315,對作為文件X的主導(dǎo)的其他緩存服務(wù)器請求鎖定釋放處理的執(zhí)行 (S2112)。具體而言,緩存服務(wù)器控制部411對作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送包括文件X的全路徑、用戶Y、據(jù)點(diǎn)Z及鎖定信息的鎖定釋放處理的執(zhí)行請求。接收到該執(zhí)行請求的、作為文件X的主導(dǎo)的其他緩存服務(wù)器執(zhí)行S2101 S2114的處理,將該處理的執(zhí)行結(jié)果發(fā)送給緩存服務(wù)器控制部411。緩存服務(wù)器控制部411判斷從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是否是錯(cuò)誤的(S2113)。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果不是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S2109。在判斷為從作為文件X的主導(dǎo)的其他緩存服務(wù)器發(fā)送的處理結(jié)果是錯(cuò)誤的情況下,緩存服務(wù)器控制部411前進(jìn)到S2114。另外,作為用來使后面敘述的主導(dǎo)場所更新處理的S2014高速化的變形,有在實(shí)數(shù)據(jù)更新處理執(zhí)行后、將保存在緩存服務(wù)器中的元數(shù)據(jù)發(fā)送給文件服務(wù)器105的方法。接著,對緩存管理服務(wù)器107進(jìn)行說明。圖22是說明本發(fā)明的實(shí)施方式的緩存管理服務(wù)器107在起動(dòng)后執(zhí)行的處理的流程圖。緩存管理服務(wù)器107在起動(dòng)后開始處理(S2201),將隊(duì)列管理部312、主導(dǎo)管理表控制UI部313以及主導(dǎo)管理表315初始化(S2202)。在初始化處理中,緩存管理服務(wù)器107對隊(duì)列管理部312指示管理隊(duì)列和控制隊(duì)列的制作。管理隊(duì)列是用來從主導(dǎo)管理表控制UI部313受理管理命令的隊(duì)列。另外,所謂管理命令,為不是文件的實(shí)數(shù)據(jù)及元數(shù)據(jù)的取得或更新的命令,在本實(shí)施方式中是指示主導(dǎo)場所更新處理和偏倚合計(jì)處理的命令。控制隊(duì)列是用來從緩存服務(wù)器受理控制信息的隊(duì)列。另外,所謂控制信息,是在管理命令執(zhí)行中、在各處理中交換的信息。緩存管理服務(wù)器107從管理隊(duì)列取出命令(S2203),執(zhí)行所取出的命令(S2204), 回到S2203,重復(fù)執(zhí)行S2203 S2204的處理。即,執(zhí)行對應(yīng)于所取出的命令的處理。接著,使用圖23 圖觀對緩存管理服務(wù)器107的主導(dǎo)管理表控制UI部313具備的各功能進(jìn)行說明。圖23是說明通過本發(fā)明的實(shí)施方式的主導(dǎo)管理表控制UI部313具備的主導(dǎo)場所變更UI功能以及緩存服務(wù)器控制部具備的主導(dǎo)變更功能執(zhí)行的處理的概要的時(shí)序圖。
32
在本實(shí)施方式中,對主導(dǎo)被從緩存服務(wù)器108變更為緩存服務(wù)器110的情況進(jìn)行說明。以下,將緩存服務(wù)器108記載為舊緩存服務(wù)器108,將緩存服務(wù)器110記載為新緩存服務(wù)器110。此外,將緩存服務(wù)器108的緩存服務(wù)器控制部411記載為舊緩存服務(wù)器控制部 411-1,將緩存服務(wù)器110的緩存服務(wù)器控制部411記載為新緩存服務(wù)器控制部411-2。主導(dǎo)管理表控制UI部313開始主導(dǎo)場所變更UI功能的執(zhí)行,對當(dāng)前作為主導(dǎo)的舊緩存服務(wù)器108的舊緩存服務(wù)器控制部411-1發(fā)送更新處理開始命令(S2301)。另外,在更新處理開始命令中,包括舊緩存服務(wù)器108為主導(dǎo)管理的子目錄的子目錄路徑名、舊緩存服務(wù)器108的識別碼及新緩存服務(wù)器110的識別碼。在本實(shí)施方式中, 舊緩存服務(wù)器108的識別碼及新緩存服務(wù)器110的識別碼為緩存服務(wù)器108及緩存服務(wù)器 110的名稱。在以下的說明中,設(shè)包含在更新處理開始命令中子目錄路徑名為子目錄路徑A,設(shè)舊緩存服務(wù)器108的名稱為緩存服務(wù)器B,設(shè)新緩存服務(wù)器110的名稱為緩存服務(wù)器C。從主導(dǎo)管理表控制UI部313接收到更新處理開始命令的舊緩存服務(wù)器控制部 411-1開始主導(dǎo)場所的更新處理。首先,舊緩存服務(wù)器控制部411-1通過參照包含在更新處理開始命令中的新緩存服務(wù)器110的名稱,確定新緩存服務(wù)器110,對新緩存服務(wù)器110的新緩存服務(wù)器控制部 411-2發(fā)送更新處理開始命令(S2302)。另外,在更新處理開始命令中包括子目錄路徑A。舊緩存服務(wù)器控制部411-1將受理停止管理表417更新(S230!3)。此外,從舊緩存服務(wù)器控制部411-1接收到更新處理開始命令的新緩存服務(wù)器控制部411-2也同樣,將受理停止管理表417更新(S2305)。具體而言,舊緩存服務(wù)器控制部411-1及新緩存服務(wù)器控制部411-2對受理停止管理表417的子目錄路徑名601追加子目錄路徑A。通過S2303及S2305的處理,將對追加在受理停止管理表417中的子目錄路徑A 以下的文件的命令保存到受理停止隊(duì)列中。即,舊緩存服務(wù)器控制部411-1及新緩存服務(wù)器控制部411-2能夠受理來自其他緩存服務(wù)器的訪問。由此,能夠不將來自其他緩存服務(wù)器的命令停止而變更主導(dǎo)。舊緩存服務(wù)器控制部411-1將保存在緩存保持部413中的子目錄路徑A以下的文件的緩存(實(shí)數(shù)據(jù)以及元數(shù)據(jù))寫回到文件服務(wù)器105中(回寫)(S2304)。另外,也可以將子目錄路徑A以下的文件的緩存發(fā)送給新緩存服務(wù)器110。舊緩存服務(wù)器控制部411-1使鎖定管理表416的該當(dāng)行移動(dòng)到緩存服務(wù)器控制部 411-2 中(S2306)。具體而言,舊緩存服務(wù)器控制部411-1從鎖定管理表416提取保存有對應(yīng)于子目錄路徑A以下的文件的信息的行,將包含在所提取的行中的信息發(fā)送給新緩存服務(wù)器控制部411-2,此外,從鎖定管理表416中刪除該行。新緩存服務(wù)器控制部411-2基于對應(yīng)于子目錄路徑A以下的文件的信息而更新鎖定管理表416(S2307)。具體而言,新緩存服務(wù)器控制部411-2將對應(yīng)于子目錄路徑A以下的文件的信息追加到鎖定管理表416中。通過該處理,將主導(dǎo)從舊緩存服務(wù)器108變更為新緩存服務(wù)器 110。
舊緩存服務(wù)器控制部411-1將對子目錄路徑A以下的文件的訪問的受理開始命令對新緩存服務(wù)器控制部411-2發(fā)送(S2308)。另外,該受理開始命令被保存到新緩存服務(wù)器控制部411-2的控制隊(duì)列中。舊緩存服務(wù)器控制部411-1將受理停止管理表417更新(S2309)。此外,接收到受理開始命令的新緩存服務(wù)器控制部411-2也同樣,將受理停止管理表417更新(S2311)。具體而言,舊緩存服務(wù)器控制部411-1及新緩存服務(wù)器控制部411-2從受理停止管理表417的子目錄路徑名601中刪除子目錄路徑A。舊緩存服務(wù)器控制部411-1將保存在受理停止隊(duì)列中的命令插入(壓入)到命令隊(duì)列的開頭中(S2310)。由于子目錄路徑A的主導(dǎo)是新緩存服務(wù)器控制部411-2,所以將對保存在受理停止隊(duì)列中的子目錄路徑A以下的文件的命令發(fā)送給新緩存服務(wù)器控制部411-2。新緩存服務(wù)器控制部411-2將保存在受理停止隊(duì)列中的命令插入(壓入)到命令隊(duì)列的開頭中(S2312)。由于新緩存服務(wù)器控制部411-2自身是子目錄路徑A的主導(dǎo),所以新緩存服務(wù)器控制部411-2執(zhí)行對保存在受理停止隊(duì)列中的子目錄路徑A以下的文件的命令。另外,在該時(shí)點(diǎn),僅舊緩存服務(wù)器控制部411-1及新緩存服務(wù)器控制部411-2識別出主導(dǎo)被變更的情況,而其他緩存服務(wù)器不能識別主導(dǎo)被變更的情況。舊緩存服務(wù)器控制部411-1將主導(dǎo)場所更新處理的完成通知發(fā)送給主導(dǎo)管理表控制UI部313(S23i;3)。該通知被輸入到緩存管理服務(wù)器107的控制隊(duì)列中。接收到完成通知的主導(dǎo)管理表控制UI部313將主導(dǎo)管理表315更新,結(jié)束處理 (S2314)。通過將主導(dǎo)管理表315更新,其他緩存服務(wù)器能夠識別出主導(dǎo)被從舊緩存服務(wù)器控制部411-1變更為新緩存服務(wù)器控制部411-2。通過以上說明的處理,即使舊緩存服務(wù)器108及新緩存服務(wù)器110以外的緩存服務(wù)器沒有識別出主導(dǎo)的變更,也能夠不給該緩存服務(wù)器帶來影響而進(jìn)行主導(dǎo)的變更。以下,對主導(dǎo)管理表控制UI部313、舊緩存服務(wù)器控制部411_1及新緩存服務(wù)器控制部411-2各自的處理的詳細(xì)情況進(jìn)行說明。圖M是本發(fā)明的實(shí)施方式的主導(dǎo)場所更新處理執(zhí)行時(shí)的、主導(dǎo)管理表控制UI部 313執(zhí)行的處理的詳細(xì)情況的流程圖。主導(dǎo)管理表控制UI部313從控制終端104接收主導(dǎo)場所更新處理的開始命令,開始主導(dǎo)場所更新處理(SMOl)。在該主導(dǎo)場所更新處理的開始命令中,包括子目錄路徑A、 緩存服務(wù)器B及緩存服務(wù)器C。主導(dǎo)管理表控制UI部313對舊緩存服務(wù)器控制部411-1發(fā)送主導(dǎo)場所更新處理開始命令(S2402)。具體而言,主導(dǎo)管理表控制UI部313以子目錄路徑A和緩存服務(wù)器C為自變量, 將主導(dǎo)場所更新處理開始命令保存到舊緩存服務(wù)器108的命令隊(duì)列中,指示主導(dǎo)場所更新處理的開始。主導(dǎo)管理表控制UI部313從控制隊(duì)列取出控制信息(SM03),判斷所取出的控制信息是否是主導(dǎo)場所更新處理的完成通知(S2404)。在判斷為所取出的控制信息不是主導(dǎo)場所更新處理的完成通知的情況下,主導(dǎo)管理表控制UI部313使所取出的控制信息回到控制隊(duì)列的開頭(S2407),執(zhí)行S2403 S2407 的處理。在判斷為所取出的控制信息是主導(dǎo)場所更新處理的完成通知的情況下,主導(dǎo)管理表控制UI部313將主導(dǎo)管理表315更新(S240O,結(jié)束處理(S2406)。圖25是說明本發(fā)明的實(shí)施方式的主導(dǎo)場所更新處理執(zhí)行時(shí)的、舊緩存服務(wù)器108 的舊緩存服務(wù)器控制部411-1執(zhí)行的處理的詳細(xì)情況的流程圖。 主導(dǎo)管理表控制UI部313接收到更新處理開始命令的舊緩存服務(wù)器控制部411-1 開始主導(dǎo)場所更新處理(S2501)。具體而言,更新處理開始命令被輸入到命令隊(duì)列中,舊緩存服務(wù)器控制部411-1開始圖15所示的處理。在此情況下,在S1504中,判斷所取出的命令為向受理停止中的子目錄路徑的訪問。另外,在該更新處理開始命令中,包括子目錄路徑A及緩存服務(wù)器C。舊緩存服務(wù)器控制部411-1對新緩存服務(wù)器控制部411-2發(fā)送更新處理開始命令 (S2502)。另外,在該更新處理開始命令中包括目錄路徑A。舊緩存服務(wù)器控制部411-1對受理停止管理表417追加子目錄路徑A (S2503)。舊緩存服務(wù)器控制部411-1將保存在緩存保持部413中的子目錄路徑A以下的文件的緩存寫回到文件服務(wù)器105中(回寫)(S2504)。另外,也可以將子目錄路徑A以下的文件的緩存發(fā)送給新緩存服務(wù)器110。舊緩存服務(wù)器控制部411-1將子目錄路徑A以下的文件的鎖定信息發(fā)送給新緩存服務(wù)器控制部411-2(S2505)。具體而言,舊緩存服務(wù)器控制部411-1提取鎖定管理表416的包含有對應(yīng)于子目錄路徑A以下的文件的信息的行,將包含在所提取的行中的信息發(fā)送給新緩存服務(wù)器控制部411-2,并且從鎖定管理表416中刪除該行。另外,將鎖定管理表416的對應(yīng)于子目錄路徑A以下的文件的行的信息輸入到新緩存服務(wù)器110的控制隊(duì)列中。舊緩存服務(wù)器控制部411-1對新緩存服務(wù)器控制部411-2發(fā)送對目錄路徑A以下的文件的命令的受理開始請求(S2506)。另外,該受理開始請求被輸入到新緩存服務(wù)器110 的控制隊(duì)列中。舊緩存服務(wù)器控制部411-1從受理停止管理表417中刪除目錄路徑A (S2507)。舊緩存服務(wù)器控制部411-1將對子目錄路徑A以下的文件的命令插入到命令隊(duì)列的開頭中(S2508)。具體而言,舊緩存服務(wù)器控制部411-2從受理停止隊(duì)列中檢索對子目錄路徑A以下的文件的命令,將檢索到的對子目錄路徑A以下的文件的命令插入到命令隊(duì)列的開頭中。舊緩存服務(wù)器控制部411-1將主導(dǎo)場所更新處理的完成通知發(fā)送給主導(dǎo)管理表控制UI部313,結(jié)束處理(S2509)。圖沈是說明本發(fā)明的實(shí)施方式的主導(dǎo)場所更新處理執(zhí)行時(shí)的、新緩存服務(wù)器110 的新緩存服務(wù)器控制部411-2執(zhí)行的處理的詳細(xì)情況的流程圖。新緩存服務(wù)器控制部411-2從舊緩存服務(wù)器控制部411-1接收主導(dǎo)場所更新處理的開始請求,開始主導(dǎo)場所更新處理(S2601)。
另外,該開始請求被輸入到命令隊(duì)列中,新緩存服務(wù)器控制部411-2開始圖15所示的處理。在此情況下,在S1504中,判斷為所取出的命令是向受理停止中的子目錄路徑的訪問ο另外,在該開始請求中包含有子目錄路徑A。新緩存服務(wù)器控制部411-2對受理停止管理表417追加子目錄路徑A (S2602)。新緩存服務(wù)器控制部411-2從控制隊(duì)列取出控制信息(S^K)3),判斷所取出的控制信息是否是關(guān)于鎖定繼續(xù)的信息(S^KM)。具體而言,新緩存服務(wù)器控制部411-2判斷所取出的控制信息是否是關(guān)于子目錄路徑A以下的文件的鎖定的信息。在判斷為所取出的控制信息不是關(guān)于鎖定繼續(xù)的信息的情況下,新緩存服務(wù)器控制部411-2使所取出的控制信息回到控制隊(duì)列的開頭(S^ll),執(zhí)行S^Ol S2612的處理。在判斷為所取出的控制信息是關(guān)于鎖定繼續(xù)的信息的情況下,新緩存服務(wù)器控制部411-2將鎖定管理表416更新(S2605)。具體而言,新緩存服務(wù)器控制部411-2將關(guān)于子目錄路徑A以下的文件的鎖定的信息追加到鎖定管理表416中。新緩存服務(wù)器控制部411-2從控制隊(duì)列中取出控制信息(S^K)6),判斷所取出的控制信息是否是對子目錄路徑A以下的文件的命令的受理開始命令(S^K)7)。在判斷為所取出的控制信息不是對子目錄路徑A以下的文件的命令的受理開始命令的情況下,新緩存服務(wù)器控制部411-2使所取出的控制信息回到控制隊(duì)列的開頭
,執(zhí)行S2606 S2612的處理。在判斷為所取出的控制信息是對子目錄路徑A以下的文件的命令的受理開始命令的情況下,新緩存服務(wù)器控制部411-2將受理停止管理表417更新(S2608)。具體而言,新緩存服務(wù)器控制部411-2將對應(yīng)于子目錄路徑A的行從受理停止管理表417中刪除。新緩存服務(wù)器控制部411-2將對子目錄路徑A以下的文件的命令插入到命令隊(duì)列的開頭中(S2609),結(jié)束處理(S2610) 0具體而言,新緩存服務(wù)器控制部411-2從受理停止隊(duì)列中檢索對子目錄路徑A以下的文件的命令,將對檢索到的子目錄路徑A以下的文件的命令插入到命令隊(duì)列的開頭中。圖27是說明通過本發(fā)明的實(shí)施方式的緩存管理服務(wù)器107的主導(dǎo)管理表控制UI 部313具備的訪問偏倚合計(jì)UI功能執(zhí)行的處理的流程圖。主導(dǎo)管理表控制UI部313從控制終端104接收偏倚合計(jì)處理的開始請求,開始偏倚合計(jì)處理(S2701)。另外,主導(dǎo)管理表控制UI部313也可以周期性地執(zhí)行該處理。主導(dǎo)管理表控制UI部313對所有的緩存服務(wù)器(在本實(shí)施方式中是緩存服務(wù)器 106、108、110)發(fā)送訪問履歷的發(fā)送命令(S2702)。訪問履歷的發(fā)送命令被輸入到各緩存服務(wù)器(在本實(shí)施方式中是緩存服務(wù)器 106、108、110)的命令隊(duì)列中。對訪問履歷的發(fā)送命令的處理結(jié)果被輸出到緩存管理服務(wù)器 107的控制隊(duì)列中。此外,主導(dǎo)管理表控制UI部313從緩存管理服務(wù)器107的控制隊(duì)列中取得訪問履歷。主導(dǎo)管理表控制UI部313從緩存管理服務(wù)器107的控制隊(duì)列中取得控制信息 (S2703),判斷所取得的控制信息是否是訪問履歷(S2704)。在判斷為所取得的控制信息不是訪問履歷的情況下,主導(dǎo)管理表控制UI部313使所取出的控制信息回到控制隊(duì)列的開頭(S2708),執(zhí)行S2704 S2708的處理。在判斷為所取得的控制信息是訪問履歷的情況下,主導(dǎo)管理表控制UI部313判斷是否從所有的緩存服務(wù)器(在本實(shí)施方式中是緩存服務(wù)器106、108、110)接收到了訪問履歷(S2705)。該判斷例如可以根據(jù)訪問履歷的接收次數(shù)與計(jì)算機(jī)系統(tǒng)內(nèi)的緩存服務(wù)器的數(shù)量是否相同來進(jìn)行。在判斷為沒有從所有的緩存服務(wù)器(在本實(shí)施方式中是緩存服務(wù)器106、108、 110)接收到訪問履歷的情況下,主導(dǎo)管理表控制UI部313回到S2704,執(zhí)行S2704 S2708 的處理。在判斷為從所有的緩存服務(wù)器(在本實(shí)施方式中是緩存服務(wù)器106、108、110)接收到訪問履歷的情況下,主導(dǎo)管理表控制UI部313按照所有的文件的全路徑合計(jì)訪問履歷 (S2706),生成用來輸出合計(jì)結(jié)果的輸出信息,結(jié)束處理(S2707)。具體而言,主導(dǎo)管理表控制UI部313計(jì)算對各緩存服務(wù)器的文件的全路徑的訪問數(shù)。例如,對于文件的全路徑“/a/b/c. txt”,計(jì)算來自據(jù)點(diǎn)A102的緩存服務(wù)器108的訪問為95次、來自據(jù)點(diǎn)B103的緩存服務(wù)器110的訪問為5次。此外,在“/a/b/”等子目錄的路徑的情況下,計(jì)算對包含在子目錄屬下的所有文件的訪問數(shù)。圖觀是說明在本發(fā)明的實(shí)施方式的緩存服務(wù)器108、110接收到訪問履歷的發(fā)送命令時(shí)執(zhí)行的處理的流程圖。緩存服務(wù)器108、110的緩存服務(wù)器控制部411從緩存管理服務(wù)器107接收訪問履歷的發(fā)送命令,開始訪問履歷發(fā)送處理(S^Ol)。緩存服務(wù)器控制部411將保存在訪問履歷保持部414中的所有的訪問履歷發(fā)送給緩存管理服務(wù)器107的控制隊(duì)列(S2802)。緩存服務(wù)器控制部411將保存在訪問履歷保持部414中的所有的訪問履歷刪除, 結(jié)束處理(S2803)。通過以上的處理,能夠求出對各緩存服務(wù)器的所有子目錄的訪問數(shù)。在本實(shí)施方式中,在初次時(shí),所有文件的主導(dǎo)是中央據(jù)點(diǎn)101的緩存服務(wù)器106。 從該狀態(tài)起開始處理的執(zhí)行后,從訪問偏倚較大、即訪問數(shù)較多的子目錄起依次將主導(dǎo)變更為其他據(jù)點(diǎn)的緩存服務(wù)器。此外,主導(dǎo)的變更的觸發(fā)信號被從控制終端104輸出。在此情況下,可以考慮以下這樣的使用案例。1、管理者使用控制終端104,執(zhí)行主導(dǎo)管理表控制UI部313具備的訪問偏倚合計(jì) UI功能,取得各子目錄的訪問履歷。2、管理者基于所取得的訪問履歷,確定訪問偏倚較大的子目錄。3、按照管理者確定的子目錄,使用控制終端104執(zhí)行主導(dǎo)管理表控制UI部313具備的主導(dǎo)場所變更UI功能,變更主導(dǎo)。此外,作為其他使用案例,可以考慮自動(dòng)執(zhí)行主導(dǎo)的變更的使用案例。在此情況
37下,需要預(yù)先設(shè)定訪問偏倚的判斷條件。例如、作為訪問偏倚的判斷條件,可以考慮以下這樣的條件。1、訪問偏倚合計(jì)間隔每1小時(shí)。2、訪問偏倚閾值向系統(tǒng)整體的訪問的90%以上。3、訪問均勻閾值向系統(tǒng)整體的訪問的70%以上。可以考慮利用上述判斷條件如以下這樣自動(dòng)管理的方法。1、控制終端104基于控制終端104具備的定時(shí)器,在經(jīng)過訪問偏倚合計(jì)間隔時(shí)間之后執(zhí)行處理。2、控制終端104從主導(dǎo)管理表控制UI部313取得主導(dǎo)管理表。3、控制終端104執(zhí)行主導(dǎo)管理表控制UI部313具備的訪問偏倚合計(jì)UI功能,取得各子目錄的訪問履歷。4、控制終端104基于所取得的訪問履歷,提取比訪問偏倚閾值大、并且與記載在該偏倚的緩存服務(wù)器在步驟2中取得的主導(dǎo)管理表中的緩存服務(wù)器不同的子目錄。5、控制終端104將所提取的子目錄中的、處于直接的母子關(guān)系的子目錄將上位的子目錄作為變更對象。具體而言,在提取了 “/a/b/c”和“/a/b”的情況下,如果將“/a/b” 作為變更的對象,則“/a/b/c”也自動(dòng)成為變更的對象。6、控制終端104通過執(zhí)行主導(dǎo)管理表控制UI部313具備的訪問偏倚合計(jì)UI功能, 將變更對象的子目錄,使主導(dǎo)從記載在主導(dǎo)管理表中的緩存服務(wù)器變更為在步驟4中提取的緩存服務(wù)器7、控制終端104基于所取得的訪問履歷,提取低于訪問均勻閾值、并且與其中訪問頻率最高的緩存服務(wù)器在步驟2中取得的主導(dǎo)管理表中記載的緩存服務(wù)器不同的子目錄。8、控制終端104將在步驟7中提取出的子目錄中的、處于直接的母子關(guān)系的子目錄的上位目錄作為變更對象。具體而言,在提取了“/a/b/c”和“/a/b”的情況下,如果將“/ a/b”作為變更的對象,則“/a/b/c”也自動(dòng)地成為變更的對象。9、控制終端104通過執(zhí)行主導(dǎo)管理表控制UI部313具備的訪問偏倚合計(jì)UI功能, 將在步驟8中提取的子目錄、使主導(dǎo)從記載在主導(dǎo)管理表中的緩存服務(wù)器變更為中央據(jù)點(diǎn) 101的緩存服務(wù)器106。此外,作為其他使用案例,還可以考慮以時(shí)刻為觸發(fā)信號而將對于文件系統(tǒng)的子樹的主導(dǎo)的場所周期性地變更的使用案例。例如,可以考慮在全世界具有多個(gè)據(jù)點(diǎn)的企業(yè)等中、在根據(jù)時(shí)差等而據(jù)點(diǎn)工作的時(shí)間帶錯(cuò)開的情況下使用的方法。在此情況下,管理者預(yù)先將圖四所示的時(shí)間表四00登錄到控制終端104中。圖四是說明本發(fā)明的實(shí)施攜帶的控制終端104具備的時(shí)間表四00的流程圖。時(shí)間表四00以控制終端104的時(shí)區(qū)或GMT為基準(zhǔn),按照子目錄的路徑保存時(shí)刻和作為主導(dǎo)的據(jù)點(diǎn)。在圖四所示的例子中,每3小時(shí)管理主導(dǎo)的位置。具體而言,子目錄路徑名是“/management/board”以下的子目錄表示在0時(shí) 12 時(shí)中據(jù)點(diǎn)A是主導(dǎo)、在12時(shí)到M時(shí)中據(jù)點(diǎn)B是主導(dǎo)。
38
此外,子目錄路徑名是“/office/personnel”以下的子目錄表示從0時(shí)到9時(shí)據(jù)點(diǎn)C是主導(dǎo)、從9時(shí)到18時(shí)據(jù)點(diǎn)D是主導(dǎo)、從18時(shí)到21時(shí)據(jù)點(diǎn)E是主導(dǎo)。在該使用案例中,當(dāng)管理者更新了時(shí)間表時(shí),控制終端104通過執(zhí)行以下這樣的處理,能夠進(jìn)行管理以使主導(dǎo)的場所周期性地變更。1、控制終端104參照時(shí)間表四00,按照子目錄的路徑名,提取作為主導(dǎo)的據(jù)點(diǎn)被變更的時(shí)刻、和從哪個(gè)據(jù)點(diǎn)變更為哪個(gè)據(jù)點(diǎn)。在圖四所示的例子中,對于“/management/ board",在12時(shí)主導(dǎo)被從據(jù)點(diǎn)A向據(jù)點(diǎn)B變更,此外在M時(shí)主導(dǎo)被從據(jù)點(diǎn)B變更為據(jù)點(diǎn)A。 此外,對于“/office/personnel”,在9時(shí)主導(dǎo)被從據(jù)點(diǎn)C向據(jù)點(diǎn)D變更,在18時(shí)主導(dǎo)被從據(jù)點(diǎn)D向據(jù)點(diǎn)E變更,在M時(shí)主導(dǎo)被從據(jù)點(diǎn)E向據(jù)點(diǎn)C變更。2、控制終端104使用所提取的子目錄的路徑名、時(shí)刻、主導(dǎo)被從哪個(gè)據(jù)點(diǎn)變更為哪個(gè)據(jù)點(diǎn)的信息,將主導(dǎo)場所更新處理(參照圖的執(zhí)行登錄到控制終端104的定時(shí)器中。在圖四所示的例子中,通過以下的自變量將主導(dǎo)場所更新處理的執(zhí)行登錄到定時(shí)器中。12時(shí)子樹路徑=/management/board,舊主導(dǎo)緩存服務(wù)器據(jù)點(diǎn)=據(jù)點(diǎn)A,新主導(dǎo)緩存服務(wù)器=據(jù)點(diǎn)B0時(shí)子樹路徑=/management/board,舊主導(dǎo)緩存服務(wù)器據(jù)點(diǎn)=據(jù)點(diǎn)B,新主導(dǎo)緩存服務(wù)器=據(jù)點(diǎn)A9時(shí)子樹路徑=/office/personnel,舊主導(dǎo)緩存服務(wù)器據(jù)點(diǎn)=據(jù)點(diǎn)C,新主導(dǎo)緩存服務(wù)器=據(jù)點(diǎn)D18時(shí)子樹路徑=/office/personnel,舊主導(dǎo)緩存服務(wù)器據(jù)點(diǎn)=據(jù)點(diǎn)D,新主導(dǎo)緩存服務(wù)器=據(jù)點(diǎn)E24時(shí)子樹路徑=/office/personnel,舊主導(dǎo)緩存服務(wù)器據(jù)點(diǎn)=據(jù)點(diǎn)E,新主導(dǎo)緩存服務(wù)器=據(jù)點(diǎn)C另外,在本實(shí)施方式中,鎖定管理表214、主導(dǎo)管理表315、受理停止管理表417、時(shí)間表四00等都被作為表形式的信息保存,但本發(fā)明并不限定于此,只要知道各信息的對應(yīng)關(guān)系,以怎樣的形式保持信息都可以。根據(jù)本發(fā)明的一技術(shù)方案,在具有子目錄屬下的文件的管理權(quán)限的主導(dǎo)的移動(dòng)時(shí),在保持該主導(dǎo)管理的子目錄屬下的文件的鎖定狀態(tài)的同時(shí),能夠不給其他緩存服務(wù)器帶來影響而執(zhí)行主導(dǎo)的變更。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng),具備文件服務(wù)器,具備第1處理器和連接在上述第1處理器上的第1存儲(chǔ)器,該文件服務(wù)器保存多個(gè)文件;緩存服務(wù)器,具備第2處理器和連接在上述第2處理器上的第2存儲(chǔ)器,該緩存服務(wù)器保存上述文件的緩存數(shù)據(jù);以及緩存管理服務(wù)器,具備第3處理器和連接在上述第3處理器上的第3存儲(chǔ)器,該緩存管理服務(wù)器管理上述緩存服務(wù)器, 該計(jì)算機(jī)系統(tǒng)的特征在于,上述文件的緩存數(shù)據(jù)包括能夠確定上述文件的數(shù)據(jù)或者構(gòu)成上述文件的數(shù)據(jù)的至少任意一方;上述緩存管理服務(wù)器管理權(quán)限信息,該權(quán)限信息表示上述緩存服務(wù)器對保存在上述文件服務(wù)器中的上述文件的緩存數(shù)據(jù)的管理權(quán)限;上述緩存服務(wù)器包括第1緩存服務(wù)器、第2緩存服務(wù)器以及第3緩存服務(wù)器; 上述第1緩存服務(wù)器具備第1鎖定管理信息,該第1鎖定管理信息管理表示可否訪問該第1緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述第2緩存服務(wù)器具備第2鎖定管理信息,該第2鎖定管理信息管理表示可否訪問該第2緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述第3緩存服務(wù)器具備第3鎖定管理信息,該第3鎖定管理信息管理表示可否訪問該第3緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài); 上述文件包括第1文件;上述第1緩存服務(wù)器在從連接在該第1緩存服務(wù)器上的客戶端終端接收到對上述第1 文件的處理命令的情況下,從上述緩存管理服務(wù)器取得上述權(quán)限信息;參照上述取得的權(quán)限信息,判斷上述第1緩存服務(wù)器是否具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限;在判斷為上述第1緩存服務(wù)器具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限的情況下,執(zhí)行對上述第1文件的處理命令;在判斷為上述第1緩存服務(wù)器不具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限的情況下, 向具有該第1文件的上述管理權(quán)限的上述第2緩存服務(wù)器發(fā)送對上述第1文件的處理命令,從上述第2緩存服務(wù)器接收對上述第1文件的處理命令的執(zhí)行結(jié)果;上述緩存管理服務(wù)器向上述第1緩存服務(wù)器發(fā)送將上述第1緩存服務(wù)器具有的上述第 1文件的緩存數(shù)據(jù)的上述管理權(quán)限變更為上述第3緩存服務(wù)器的更新命令;上述第1緩存服務(wù)器在接收到上述更新命令之后,將上述更新命令發(fā)送給上述第3緩存服務(wù)器,執(zhí)行更新上述第1鎖定管理信息以使上述第1文件的鎖定狀態(tài)移動(dòng)到上述第3 緩存服務(wù)器中的第1更新處理;上述第3緩存服務(wù)器在接收到上述更新命令之后,執(zhí)行更新上述第3鎖定管理信息以使上述第1文件的鎖定狀態(tài)移動(dòng)到上述第3緩存服務(wù)器的第2更新處理;上述緩存管理服務(wù)器更新上述權(quán)限信息,以將上述第1文件的緩存數(shù)據(jù)的管理權(quán)限從上述第1緩存服務(wù)器變更為上述第3緩存服務(wù)器。
2.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其特征在于,在上述第1更新處理中,從上述第1鎖定管理信息中提取關(guān)于上述第1文件的鎖定狀態(tài)的信息;更新上述第1鎖定管理信息,以將上述提取出的關(guān)于第1文件的鎖定狀態(tài)的信息刪除;將上述提取出的關(guān)于第1文件的鎖定狀態(tài)的信息發(fā)送給上述第3緩存服務(wù)器; 將對于上述更新命令的響應(yīng)發(fā)送給上述緩存管理服務(wù)器;在上述第2更新處理中,更新上述第3鎖定管理信息,以追加從上述第1緩存服務(wù)器發(fā)送的關(guān)于第1文件的鎖定狀態(tài)的信息;在接收到從上述第1緩存服務(wù)器發(fā)送來的對上述更新命令的響應(yīng)之后,執(zhí)行更新上述權(quán)限信息的處理。
3.如權(quán)利要求2所述的計(jì)算機(jī)系統(tǒng),其特征在于,在上述第1更新處理中,在將對于上述更新命令的響應(yīng)發(fā)送給上述緩存管理服務(wù)器之前或之后,將上述第1文件的緩存數(shù)據(jù)發(fā)送給上述文件服務(wù)器。
4.如權(quán)利要求2所述的計(jì)算機(jī)系統(tǒng),其特征在于,在上述第1更新處理中,在將上述更新命令發(fā)送給上述第3緩存服務(wù)器之后,將上述第 1文件的緩存數(shù)據(jù)發(fā)送給上述第3緩存服務(wù)器。
5.如權(quán)利要求2所述的計(jì)算機(jī)系統(tǒng),其特征在于,上述第1緩存服務(wù)器具備第1受理管理信息,該第1受理管理信息用來判斷是否是從上述終端或其他上述緩存服務(wù)器對上述文件的訪問;上述第2緩存服務(wù)器具備第2受理管理信息,該第2受理管理信息用來判斷是否是從上述終端或其他上述緩存服務(wù)器對上述文件的訪問;上述第3緩存服務(wù)器具備第3受理管理信息,該第3受理管理信息用來判斷是否是從上述終端或其他上述緩存服務(wù)器對上述文件的訪問; 在上述第1更新處理中,更新上述第1受理管理信息以追加關(guān)于上述第1文件的信息; 然后,在從上述終端或上述其他緩存服務(wù)器接收到對上述文件的處理命令的情況下, 參照上述第1受理管理信息,判斷從上述終端或上述其他緩存服務(wù)器對上述文件的訪問是否是對上述第1文件的處理命令;在判斷為從上述終端或上述其他緩存服務(wù)器對文件的訪問是對上述第1文件的處理命令的情況下,將對上述第1文件的處理命令臨時(shí)儲(chǔ)存;在更新了上述第1鎖定管理信息以使上述提取出的關(guān)于第1文件的鎖定狀態(tài)的信息移動(dòng)到上述第3緩存服務(wù)器之后,向上述第2緩存服務(wù)器發(fā)送用來開始對上述第1文件的訪問的受理的受理開始命令;在發(fā)送了上述受理開始命令之后,更新上述第1受理管理信息,以將關(guān)于上述第1文件的信息刪除,執(zhí)行上述臨時(shí)儲(chǔ)存的來自終端或其他緩存服務(wù)器的對第1文件的處理命令; 在上述第2更新處理中,在接收到從上述第1緩存服務(wù)器發(fā)送的上述更新命令之后,更新上述第3受理管理信息,以追加關(guān)于上述第1文件的信息;在從上述終端或上述其他緩存服務(wù)器接收到對上述文件的處理命令的情況下,參照上述第3受理管理表,判斷來自上述終端或上述其他緩存服務(wù)器的對上述文件的處理請求是否是對上述第1文件的處理請求;在判斷為來自上述終端或上述其他緩存服務(wù)器的對文件的處理命令是對上述第1文件的處理命令的情況下,將對上述第1文件的處理請求臨時(shí)儲(chǔ)存;在接收到上述受理開始命令之后,更新上述第3受理管理信息,以將關(guān)于上述第1文件的信息刪除,執(zhí)行上述臨時(shí)儲(chǔ)存的來自終端或其他緩存服務(wù)器的對第1文件的處理命令。
6.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其特征在于,上述權(quán)限信息是保存有使文件系統(tǒng)的子目錄與上述緩存服務(wù)器對應(yīng)的信息的權(quán)限管理表;上述鎖定管理信息是保存上述文件的識別碼、取得了上述文件的鎖定的用戶名、和上述取得的鎖定的識別信息的鎖定管理表;上述受理管理信息是保存上述文件系統(tǒng)的子目錄的受理管理表; 上述緩存服務(wù)器具有關(guān)于保存在上述權(quán)限管理表所示的上述子目錄屬下的多個(gè)文件的上述管理權(quán)限;上述緩存服務(wù)器將對于保存在上述受理管理表所示的上述子目錄屬下的多個(gè)文件的處理命令臨時(shí)儲(chǔ)存。
7.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其特征在于,上述緩存管理服務(wù)器按每個(gè)上述文件計(jì)算上述處理命令的執(zhí)行時(shí)的訪問數(shù); 基于輸入到上述緩存管理服務(wù)器中的上述處理命令的執(zhí)行時(shí)的訪問次數(shù)的條件,將上述更新命令發(fā)送給上述第1緩存服務(wù)器。
8.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其特征在于, 上述緩存管理服務(wù)器管理上述計(jì)算機(jī)系統(tǒng)的時(shí)間;具備用來基于上述計(jì)算機(jī)系統(tǒng)的時(shí)間變更保持上述管理權(quán)限的上述緩存服務(wù)器的時(shí)刻信息;在經(jīng)過了在上述時(shí)刻信息中表示的上述計(jì)算機(jī)系統(tǒng)的時(shí)間之后,將上述更新命令發(fā)送給上述第1緩存服務(wù)器。
9.一種計(jì)算機(jī)系統(tǒng)的緩存控制方法,所述計(jì)算機(jī)系統(tǒng)具備文件服務(wù)器,具備第1處理器和連接在上述第1處理器上的第1存儲(chǔ)器,該文件服務(wù)器保存多個(gè)文件;緩存服務(wù)器,具備第2處理器和連接在上述第2處理器上的第2存儲(chǔ)器,該緩存服務(wù)器保存上述文件的緩存數(shù)據(jù);以及緩存管理服務(wù)器,具備第3處理器和連接在上述第3處理器上的第3存儲(chǔ)器, 該緩存管理服務(wù)器管理上述緩存服務(wù)器,該緩存控制方法的特征在于,上述文件的緩存數(shù)據(jù)包括能夠確定上述文件的數(shù)據(jù)、或者構(gòu)成上述文件的數(shù)據(jù)及能夠確定上述文件的數(shù)據(jù)的至少一方;上述緩存管理服務(wù)器管理權(quán)限信息,該權(quán)限信息表示上述緩存服務(wù)器對保存在上述文件服務(wù)器中的上述文件的緩存數(shù)據(jù)的管理權(quán)限;上述緩存服務(wù)器包括第1緩存服務(wù)器、第2緩存服務(wù)器以及第3緩存服務(wù)器; 上述第1緩存服務(wù)器具備第1鎖定管理信息,該第1鎖定管理信息管理表示可否訪問該第1緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述第2緩存服務(wù)器具備第2鎖定管理信息,該第2鎖定管理信息管理表示可否訪問該第2緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài);上述第3緩存服務(wù)器具備第3鎖定管理信息,該第3鎖定管理信息管理表示可否訪問該第3緩存服務(wù)器具有管理權(quán)限的文件的鎖定狀態(tài); 上述文件包括第1文件; 上述方法包括第1步驟,上述第1緩存服務(wù)器在從連接在該第1緩存服務(wù)器上的客戶端終端接收到對上述第1文件的處理命令的情況下,從上述緩存管理服務(wù)器取得上述權(quán)限信息;第2步驟,上述第1緩存服務(wù)器參照上述取得的權(quán)限信息,判斷上述第1緩存服務(wù)器是否具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限;第3步驟,在判斷為上述第1緩存服務(wù)器具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限的情況下,上述第1緩存服務(wù)器執(zhí)行對上述第1文件的處理命令;第4步驟,在判斷為上述第1緩存服務(wù)器不具有上述第1文件的緩存數(shù)據(jù)的管理權(quán)限的情況下,向具有該第1文件的上述管理權(quán)限的上述第2緩存服務(wù)器發(fā)送對上述第1文件的處理命令,從上述第2緩存服務(wù)器接收對上述第1文件的處理命令的執(zhí)行結(jié)果;第5步驟,上述緩存管理服務(wù)器向上述第1緩存服務(wù)器發(fā)送將上述第1緩存服務(wù)器具有的上述第1文件的緩存數(shù)據(jù)的上述管理權(quán)限變更為上述第3緩存服務(wù)器的更新命令;第6步驟,上述第1緩存服務(wù)器在接收到上述更新命令之后,將上述更新命令發(fā)送給上述第3緩存服務(wù)器,執(zhí)行更新上述第1鎖定管理信息以使上述第1文件的鎖定狀態(tài)移動(dòng)到上述第3緩存服務(wù)器中的第1更新處理;第7步驟,上述第3緩存服務(wù)器在接收到上述更新命令之后,執(zhí)行更新上述第3鎖定管理信息以使上述第1文件的鎖定狀態(tài)移動(dòng)到上述第3緩存服務(wù)器的第2更新處理;以及第8步驟,上述緩存管理服務(wù)器更新上述權(quán)限信息,以將上述第1文件的緩存數(shù)據(jù)的管理權(quán)限從上述第1緩存服務(wù)器變更為上述第3緩存服務(wù)器。
10.如權(quán)利要求9所述的緩存控制方法,其特征在于, 上述第6步驟包括上述第1緩存服務(wù)器從上述第1鎖定管理信息中提取關(guān)于上述第1文件的鎖定狀態(tài)的信息的步驟;上述第1緩存服務(wù)器更新上述第1鎖定管理信息以將上述提取的關(guān)于第1文件的鎖定狀態(tài)的信息刪除的步驟;上述第1緩存服務(wù)器將上述提取的關(guān)于第1文件的鎖定狀態(tài)的信息發(fā)送給上述第3緩存服務(wù)器的步驟;以及上述第1緩存服務(wù)器將對上述更新命令的響應(yīng)發(fā)送給上述緩存管理服務(wù)器的步驟; 上述第7步驟包括上述第3緩存服務(wù)器更新上述第3鎖定管理信息以追加從上述第1 緩存服務(wù)器發(fā)送的關(guān)于第1文件的鎖定狀態(tài)的信息的步驟;上述第8步驟包括上述緩存管理服務(wù)器在接收到從上述第1緩存服務(wù)器發(fā)送的對上述更新命令的響應(yīng)之后更新上述權(quán)限信息的步驟。
11.如權(quán)利要求10所述的緩存控制方法,其特征在于,上述第6步驟包括上述第1緩存服務(wù)器在將對上述更新命令的響應(yīng)發(fā)送給上述緩存管理服務(wù)器之前或之后,將上述第1文件的緩存數(shù)據(jù)發(fā)送給上述文件服務(wù)器的步驟。
12.如權(quán)利要求10所述的緩存控制方法,其特征在于,上述第6步驟包括上述第1緩存服務(wù)器在將上述更新命令發(fā)送給上述第3緩存服務(wù)器之后,將上述第1文件的緩存數(shù)據(jù)發(fā)送給上述第3緩存服務(wù)器的步驟。
13.如權(quán)利要求10所述的緩存控制方法,其特征在于,上述第1緩存服務(wù)器具備第1受理管理信息,該第1受理管理信息用來判斷是否是從上述終端或其他上述緩存服務(wù)器對上述文件的訪問;上述第2緩存服務(wù)器具備第2受理管理信息,該第2受理管理信息用來判斷是否是從上述終端或其他上述緩存服務(wù)器對上述文件的訪問;上述第3緩存服務(wù)器具備第3受理管理信息,該第3受理管理信息用來判斷是否是從上述終端或其他上述緩存服務(wù)器對上述文件的訪問; 上述第6步驟包括上述第1緩存服務(wù)器更新上述第1受理管理信息以追加關(guān)于上述第1文件的信息的步驟;然后,上述第1緩存服務(wù)器在從上述終端或上述其他緩存服務(wù)器接收到對上述文件的處理命令的情況下,參照上述第1受理管理信息,判斷來自上述終端或上述其他緩存服務(wù)器對上述文件的訪問是否是對上述第1文件的處理命令的步驟;上述第1緩存服務(wù)器在判斷為來自上述終端或上述其他緩存服務(wù)器的對文件的訪問是對上述第1文件的處理命令的情況下,將對上述第1文件的處理命令臨時(shí)儲(chǔ)存的步驟;上述第1緩存服務(wù)器在更新了上述第1鎖定管理信息以將上述提取的關(guān)于第1文件的鎖定狀態(tài)的信息移動(dòng)到上述第3緩存服務(wù)器中之后,向上述第2緩存服務(wù)器發(fā)送用來開始對上述第1文件的訪問的受理的受理開始命令的步驟;以及上述第1緩存服務(wù)器在發(fā)送了上述受理開始命令之后,更新上述第1受理管理信息以將關(guān)于上述第1文件的信息刪除,執(zhí)行上述臨時(shí)儲(chǔ)存的來自終端或其他緩存服務(wù)器的對第 1文件的處理命令的步驟; 上述第7步驟包括上述第3緩存服務(wù)器在接收到從上述第1緩存服務(wù)器發(fā)送的上述更新命令之后,更新上述第3受理管理信息以追加關(guān)于上述第1文件的信息的步驟;上述第3緩存服務(wù)器在從上述終端或上述其他緩存服務(wù)器接收到對上述文件的處理命令的情況下,參照上述第3受理管理表,判斷來自上述終端或上述其他緩存服務(wù)器的對上述文件的處理請求是否是對上述第1文件的處理請求的步驟;上述第3緩存服務(wù)器在判斷與來自上述終端或上述其他緩存服務(wù)器的對文件的處理命令是對上述第1文件的處理命令的情況下,將對上述第1文件的處理請求臨時(shí)儲(chǔ)存的步驟·’以及上述第3緩存服務(wù)器在接收到上述受理開始命令之后,更新上述第3受理管理信息以將關(guān)于上述第1文件的信息刪除,執(zhí)行上述臨時(shí)儲(chǔ)存的來自終端或其他緩存服務(wù)器的對第 1文件的處理命令的步驟。
14.如權(quán)利要求13所述的緩存控制方法,其特征在于,上述權(quán)限信息是保存使文件系統(tǒng)的子目錄與上述緩存服務(wù)器對應(yīng)的信息的權(quán)限管理表;上述鎖定管理信息是保存上述文件的識別碼、取得了上述文件的鎖定的用戶名、和上述取得的鎖定的識別信息的鎖定管理表;上述受理管理信息是保存上述文件系統(tǒng)的子目錄的受理管理表; 上述緩存服務(wù)器具有關(guān)于保存在上述權(quán)限管理表所示的上述子目錄屬下的多個(gè)文件的上述管理權(quán)限;上述緩存服務(wù)器將對保存在上述受理管理表所示的上述子目錄屬下的多個(gè)文件的處理命令臨時(shí)儲(chǔ)存。
15.如權(quán)利要求9所述的緩存控制方法,其特征在于,上述緩存管理服務(wù)器按每個(gè)上述文件計(jì)算上述處理命令的執(zhí)行時(shí)的訪問數(shù); 基于輸入到上述緩存管理服務(wù)器中的上述處理命令的執(zhí)行時(shí)的訪問次數(shù)的條件,將上述更新命令發(fā)送給上述第1緩存服務(wù)器。
16.如權(quán)利要求9所述的緩存控制方法,其特征在于, 上述緩存管理服務(wù)器管理上述計(jì)算機(jī)系統(tǒng)的時(shí)間;具備用來基于上述計(jì)算機(jī)系統(tǒng)的時(shí)間變更保持上述管理權(quán)限的上述緩存服務(wù)器的時(shí)刻信息;在上述第5步驟中,上述緩存管理服務(wù)器在經(jīng)過了在上述時(shí)刻信息中表示的上述計(jì)算機(jī)系統(tǒng)的時(shí)間之后,將上述更新命令發(fā)送給上述第1緩存服務(wù)器。
全文摘要
本發(fā)明提供一種計(jì)算機(jī)系統(tǒng)以及緩存控制方法。在以往的緩存管理方法中,在將文件的元數(shù)據(jù)從緩存服務(wù)器移動(dòng)到別的緩存服務(wù)器中的情況下,在是任一個(gè)終端對文件訪問中的情況下不能移動(dòng)。一種具備文件服務(wù)器、緩存服務(wù)器和緩存管理服務(wù)器的計(jì)算機(jī)系統(tǒng),緩存管理服務(wù)器管理表示文件的緩存數(shù)據(jù)的管理權(quán)限的權(quán)限信息;第1緩存服務(wù)器更新鎖定管理信息,以使文件的鎖定狀態(tài)移動(dòng)到第3緩存服務(wù)器;第3緩存服務(wù)器更新第3鎖定管理信息,以使文件的鎖定狀態(tài)移動(dòng)到第3緩存服務(wù)器;緩存管理服務(wù)器更新權(quán)限信息,以將第1文件的緩存數(shù)據(jù)的管理權(quán)限從第1緩存服務(wù)器變更為第3緩存服務(wù)器。
文檔編號G06F17/30GK102193959SQ20101055113
公開日2011年9月21日 申請日期2010年11月17日 優(yōu)先權(quán)日2010年3月11日
發(fā)明者伊藤大輔, 對馬雄次, 早川仁 申請人:株式會(huì)社日立制作所