專利名稱:分布式存儲(chǔ)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式存儲(chǔ)系統(tǒng)。
背景技術(shù):
作為用于管理網(wǎng)絡(luò)上的數(shù)據(jù)的存儲(chǔ)系統(tǒng),集中式管理類型的網(wǎng)絡(luò)文件系 統(tǒng)己廣為人知。圖10是一種常用的集中式管理類型的網(wǎng)絡(luò)文件系統(tǒng)的示意 圖。在這種集中式管理類型的網(wǎng)絡(luò)文件系統(tǒng)中,在多個(gè)用戶終端(客戶端)
202之外還單獨(dú)提供有用于存儲(chǔ)數(shù)據(jù)的文件服務(wù)器201,用戶終端202中的 每一個(gè)都使用文件服務(wù)器201中的文件。文件服務(wù)器201具有管理功能和管 理信息。文件服務(wù)器201與用戶終端202通過(guò)通信網(wǎng)絡(luò)203來(lái)彼此連接。
這種配置存在一個(gè)問(wèn)題,如果文件服務(wù)器201中發(fā)生錯(cuò)誤,那么在恢復(fù) 之前所有的資源都不能夠被訪問(wèn),因此,這種配置極易受到錯(cuò)誤的影響,作 為系統(tǒng)來(lái)講其可靠性很低。
分布式存儲(chǔ)系統(tǒng)是一種已知的能夠避免這種問(wèn)題的系統(tǒng)。專利文件1中 公開(kāi)了分布式存儲(chǔ)系統(tǒng)的一個(gè)示例。圖11示出了其配置的示例。分布式管 理類型的網(wǎng)絡(luò)文件系統(tǒng)包括網(wǎng)絡(luò)302和多個(gè)與其進(jìn)行連接的用戶終端(客戶 端)301。
在每個(gè)用戶終端301各自的存儲(chǔ)器中都具有文件共享區(qū)域301a,并且其 中包括由用戶終端301自己管理的主文件、作為由另一個(gè)用戶終端301管理 的主文件的副本的緩存(cache)文件、以及包含對(duì)通過(guò)通信網(wǎng)絡(luò)302進(jìn)行傳 播的文件的信息進(jìn)行跟蹤所需的管理信息的管理信息表。每個(gè)用戶終端301 都與其它用戶終端301中的至少一者建立引用(reference)關(guān)系,并且基于 該引用關(guān)系來(lái)交換并更正管理信息。網(wǎng)絡(luò)上的所有用戶終端301以相同的方式來(lái)執(zhí)行這些操作,并且該信息相繼進(jìn)行傳播,在一段時(shí)間之內(nèi)會(huì)聚起來(lái), 從而使得所有用戶終端301能夠具有相同的管理信息。當(dāng)用戶實(shí)際訪問(wèn)文件
時(shí),用戶的用戶終端301從其中所具有的管理信息表中獲取管理信息,并隨 后選擇具有將被訪問(wèn)的文件的用戶終端301 (緩存客戶端)。接下來(lái),所述用 戶的用戶終端301從作為主客戶端的用戶終端301和所述緩存客戶端獲得文 件信息,并對(duì)其進(jìn)行比較。如果相匹配,則從所選擇的用戶終端獲取所述文 件。如果不匹配,則從主客戶端獲取所述文件。此外,在不匹配的情況下, 還要將不匹配通知給所述緩存客戶端。接收到該通知的緩存客戶端刪除所述 文件,并從主客戶端獲取該文件,并執(zhí)行處理來(lái)改變管理文件表。 專利文件l: JP 2002-324004 A
發(fā)明內(nèi)容
然而,在常規(guī)的分布式存儲(chǔ)系統(tǒng)中,為了提高可靠性,管理變得復(fù)雜了, 從而可能帶來(lái)各種問(wèn)題。
例如,在專利文件l中所示的配置中,為了提高可靠性,需要對(duì)一個(gè)文 件的多個(gè)副本進(jìn)行存儲(chǔ),并從而當(dāng)構(gòu)建大容量存儲(chǔ)器時(shí)會(huì)需要大量的用戶終 端301。從而,隨著用戶終端301的數(shù)目越來(lái)越多,管理信息的會(huì)聚所需要 的時(shí)間也越來(lái)越長(zhǎng)。另外,由于用戶終端301之間的管理信息和實(shí)際文件的 交換,會(huì)消耗用戶終端301的大量硬件資源并增加網(wǎng)絡(luò)負(fù)荷。
為了解決上述問(wèn)題而做出本發(fā)明,因此,本發(fā)明的目標(biāo)是提供一種能夠 在提高可靠性和連續(xù)操作能力的同時(shí)最小化管理工作負(fù)荷的增長(zhǎng)的分布式 存儲(chǔ)系統(tǒng)。
為了解決上述問(wèn)題,根據(jù)本發(fā)明,所提供的分布式存儲(chǔ)系統(tǒng)包括多個(gè) 用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置;以及多個(gè)用于控制所述存儲(chǔ)裝置的接口處理器, 其中所述接口處理器和所述存儲(chǔ)裝置能夠根據(jù)IP協(xié)議通過(guò)通信網(wǎng)絡(luò)來(lái)互
6相通信;所述接口處理器中的每一個(gè)接口處理器都存儲(chǔ)節(jié)點(diǎn)列表,該節(jié)點(diǎn)列 表包含所述存儲(chǔ)裝置中的至少一者在所述網(wǎng)絡(luò)中的IP地址;所述存儲(chǔ)裝置 中的每一個(gè)存儲(chǔ)裝置向不同的接口處理器請(qǐng)求節(jié)點(diǎn)列表;請(qǐng)求所針對(duì)的接口 處理器將所述節(jié)點(diǎn)列表發(fā)送給發(fā)出所述請(qǐng)求的存儲(chǔ)裝置;以及所述請(qǐng)求所針 對(duì)的接口處理器將發(fā)出所述請(qǐng)求的存儲(chǔ)裝置的IP地址添加到所述節(jié)點(diǎn)列表 中。
所述分布式存儲(chǔ)系統(tǒng)還可以包括連接到所述通信網(wǎng)絡(luò)的DNS服務(wù)器, 其中所述DNS服務(wù)器存儲(chǔ)預(yù)定的主機(jī)名和與該預(yù)定的主機(jī)名相關(guān)聯(lián)的多 個(gè)接口處理器的IP地址;所述DNS服務(wù)器響應(yīng)于對(duì)所述預(yù)定的主機(jī)名的詢 問(wèn)而對(duì)所述多個(gè)接口處理器的IP地址之一進(jìn)行循環(huán)通知;所述存儲(chǔ)裝置向 所述DNS服務(wù)器詢問(wèn)所述預(yù)定的主機(jī)名;以及所述存儲(chǔ)裝置基于所通知的 接口處理器的IP地址來(lái)請(qǐng)求所述節(jié)點(diǎn)列表。
所述接口處理器中的每一個(gè)接口處理器可以存儲(chǔ)包含在所述節(jié)點(diǎn)列表 中的存儲(chǔ)裝置的IP地址中的至少一者,其中該IP地址與指示時(shí)間點(diǎn)的信息 相關(guān)聯(lián);以及所述接口處理器中的每一個(gè)接口處理器可以根據(jù)預(yù)定條件將與 指示最早的時(shí)間點(diǎn)的信息相關(guān)聯(lián)的存儲(chǔ)裝置的IP地址從所述節(jié)點(diǎn)列表中刪 除。
所述存儲(chǔ)裝置中的每一個(gè)存儲(chǔ)裝置可以存儲(chǔ)包含其它存儲(chǔ)裝置的至少 一者的IP地址的節(jié)點(diǎn)列表;以及所述接口處理器中的每一個(gè)接口處理器和 存儲(chǔ)裝置中的每一個(gè)存儲(chǔ)裝置可以向包含在它們的節(jié)點(diǎn)列表中的存儲(chǔ)裝置 中的至少一者發(fā)送關(guān)于對(duì)所述存儲(chǔ)裝置中的至少一者進(jìn)行控制的信息。
關(guān)于所述存儲(chǔ)裝置中的一個(gè)存儲(chǔ)裝置以及包括在所述一個(gè)存儲(chǔ)裝置的 節(jié)點(diǎn)列表中的另一個(gè)存儲(chǔ)裝置所述一個(gè)存儲(chǔ)裝置可以從其節(jié)點(diǎn)列表中刪除 另一個(gè)存儲(chǔ)裝置;所述另一個(gè)存儲(chǔ)裝置可以向其節(jié)點(diǎn)列表中添加所述一個(gè)存 儲(chǔ)裝置;以及所述一個(gè)存儲(chǔ)裝置和所述另一個(gè)存儲(chǔ)裝置可以對(duì)包含在它們的節(jié)點(diǎn)列表中的所有存儲(chǔ)裝置(除了所述一個(gè)存儲(chǔ)裝置和所述另一個(gè)存儲(chǔ)裝 置)進(jìn)行交換。
所述存儲(chǔ)裝置中的每一個(gè)存儲(chǔ)裝置可以基于發(fā)自所述接口處理器的節(jié) 點(diǎn)列表來(lái)更新它們各自的節(jié)點(diǎn)列表。
如果所述接口處理器中每一個(gè)接口處理器接收到從外界寫(xiě)入數(shù)據(jù)的請(qǐng) 求,則所述接口處理器中每一個(gè)接口處理器可以傳輸/接收關(guān)于去往/來(lái)自另 一個(gè)接口處理器的數(shù)據(jù)的寫(xiě)入許可的信息;以及根據(jù)對(duì)關(guān)于所述寫(xiě)入許可的
信息進(jìn)行傳輸/接收的結(jié)果,每個(gè)已經(jīng)接收到進(jìn)行寫(xiě)入的請(qǐng)求的接口處理器可 以向所述存儲(chǔ)裝置給出存儲(chǔ)數(shù)據(jù)的指令,或不給出指令。
根據(jù)本發(fā)明所涉及的分布式存儲(chǔ)系統(tǒng),每個(gè)存儲(chǔ)裝置的IP地址包含在 多個(gè)接口處理器的節(jié)點(diǎn)列表中。因此,即使在一些接口處理器不運(yùn)行的狀態(tài) 下,也可以通過(guò)使用剩余的接口處理器來(lái)對(duì)文件進(jìn)行讀寫(xiě)。從而,能夠在提 高可靠性和連續(xù)操作能力的同時(shí)最小化管理工作負(fù)荷的增長(zhǎng)。
圖1是示出了包括根據(jù)本發(fā)明的分布式存儲(chǔ)系統(tǒng)的構(gòu)造的圖; 圖2是描述圖1的接口處理器和存儲(chǔ)裝置的邏輯連接狀態(tài)的圖; 圖3示出了表示圖2中的圖的節(jié)點(diǎn)列表的示例;
圖4是示出了所述接口處理器對(duì)數(shù)據(jù)執(zhí)行擦除修正編碼的步驟的圖; 圖5是示出了在存儲(chǔ)裝置和接口處理器更新各自的節(jié)點(diǎn)列表時(shí)執(zhí)行的進(jìn) 程流的流程圖6是示出了在圖5的步驟S103a和S103b中執(zhí)行的更新進(jìn)程的圖; 圖7是示出了包括在圖1的分布式存儲(chǔ)系統(tǒng)從用戶終端接收文件并在其 中存儲(chǔ)該文件時(shí)執(zhí)行的操作的進(jìn)程流的流程圖8是示出了包括在圖1的分布式存儲(chǔ)系統(tǒng)從用戶終端接收文件讀取請(qǐng)求并傳送文件時(shí)執(zhí)行的操作的進(jìn)程流的流程圖9是示出了在圖1的分布式存儲(chǔ)系統(tǒng)從用戶終端接收所述文件并在其
中存儲(chǔ)該文件時(shí)執(zhí)行的排它控制進(jìn)程流的流程圖IO是集中式管理類型的常規(guī)網(wǎng)絡(luò)文件系統(tǒng)的示意圖;以及 圖11是分布式管理類型的常規(guī)網(wǎng)絡(luò)文件系統(tǒng)的示意圖。
具體實(shí)施例方式
下面通過(guò)參考附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行描述。 第一實(shí)施方式
圖1是示出了包括根據(jù)本發(fā)明的分布式存儲(chǔ)系統(tǒng)100的構(gòu)造的圖。分布 式存儲(chǔ)系統(tǒng)100經(jīng)由因特網(wǎng)51與用戶終端10進(jìn)行通信連接,其中所述用戶 終端10是由分布式存儲(chǔ)系統(tǒng)100的用戶使用的計(jì)算機(jī),所述因特網(wǎng)51是公 共通信網(wǎng)絡(luò)。
分布式存儲(chǔ)系統(tǒng)100包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置組30和用于根據(jù)來(lái) 自用戶終端10的請(qǐng)求來(lái)控制存儲(chǔ)裝置組30的接口處理器組20。所述接口處 理器組20和所述存儲(chǔ)裝置組30經(jīng)由局域網(wǎng)(LAN) 52通信連接,其中所 述LAN 52是通信網(wǎng)絡(luò)。
所述接口處理器組20包括多個(gè)接口處理器。在該實(shí)施方式中,示出了 五個(gè)接口處理器21-25,但數(shù)目也可有所不同。
存儲(chǔ)裝置組30包括多個(gè)存儲(chǔ)裝置。存儲(chǔ)裝置的數(shù)目可以是例如1000個(gè), 但為了簡(jiǎn)化,該實(shí)施方式中只使用了九個(gè)存儲(chǔ)裝置31 39。
用戶終端10、接口處理器21 25、和存儲(chǔ)裝置31 39中的每一個(gè)都具有 與公知計(jì)算機(jī)相同的結(jié)構(gòu),并包括用于接收外部輸入的輸入設(shè)備、用于執(zhí)行 外部輸出的輸出設(shè)備、用于執(zhí)行操作的操作設(shè)備、以及用于存儲(chǔ)信息的存儲(chǔ) 設(shè)備。所述輸入設(shè)備包括鍵盤(pán)和鼠標(biāo);所述輸出設(shè)備包括顯示器和打印機(jī);所述操作裝置包括中央處理器(CPU);所述存儲(chǔ)裝置包括存儲(chǔ)器和硬盤(pán)驅(qū) 動(dòng)器(HDD)。此外,所述計(jì)算機(jī)執(zhí)行存儲(chǔ)在各自存儲(chǔ)設(shè)備中的程序,由此 實(shí)現(xiàn)此處所描述的功能。
用戶終端IO包括作為針對(duì)因特網(wǎng)51的輸入設(shè)備和輸出設(shè)備的網(wǎng)卡。存 儲(chǔ)裝置31 39中的每一個(gè)都包括作為針對(duì)LAN 52的輸入設(shè)備和輸出設(shè)備的 網(wǎng)卡。接口處理器21 25中的每一個(gè)都包括兩個(gè)網(wǎng)卡。其中一個(gè)網(wǎng)卡是針對(duì) 因特網(wǎng)51的輸入設(shè)備和輸出設(shè)備,另一個(gè)網(wǎng)卡是針對(duì)LAN 52的輸入設(shè)備 和輸出設(shè)備。
所述用戶終端10、接口處理器21 25和存儲(chǔ)裝置31 39中的每一個(gè)都
被分配與其中的網(wǎng)卡相關(guān)聯(lián)的IP地址。
為了給出示例,對(duì)于LAN52,接口處理器21 25和存儲(chǔ)裝置31 39的
IP地址被指定如下
接口處理器21-——192.168.10.21
接口處理器22-——192.168.10.22
接口處理器23-——192,168.10.23
接口處理器24-——192.168,10.24
接口處理器25-——192.168.10.25
存儲(chǔ)裝置31——-192.168.10.31;
存儲(chǔ)裝置32——-192.168.10.32;
存儲(chǔ)裝置33——-192.168.10.33;
存儲(chǔ)裝置34———192.168.10.34;
存儲(chǔ)裝置35———192.168.10.35;
存儲(chǔ)裝置36———192.168.10.36;
存儲(chǔ)裝置37———192.168.10.37;
存儲(chǔ)裝置38———192.168.10.38;存儲(chǔ)裝置39——192.168.10.39。
類似地,對(duì)于因特網(wǎng)51,用戶終端10和接口處理器21 25的IP地址也 被指定。這里省略了具體示例,但其中僅需要要求各個(gè)IP地址各不相同。
DNS服務(wù)器41與因特網(wǎng)51通信連接,其中DNS服務(wù)器41是具有公知 結(jié)構(gòu)的DNS服務(wù)器。DNS服務(wù)器41存儲(chǔ)單個(gè)主機(jī)名和與該單個(gè)主機(jī)名相關(guān) 聯(lián)的針對(duì)因特網(wǎng)51的接口處理器21 25中的每一個(gè)的IP地址,并根據(jù)所謂 的輪循(round-robin) DNS方法來(lái)進(jìn)行操作。具體地,響應(yīng)于所述用戶終端 10關(guān)于單個(gè)主機(jī)名所作的詢問(wèn),DNS服務(wù)器41按順序循環(huán)將所述5個(gè)IP 地址通知給用戶終端10,這些IP地址分別對(duì)應(yīng)于接口處理器21 25。
類似地,DNS服務(wù)器42與LAN 52通信連接,其中DNS服務(wù)器42是 具有公知結(jié)構(gòu)的DNS服務(wù)器。DNS服務(wù)器42存儲(chǔ)單個(gè)主機(jī)名和與該單個(gè)主 機(jī)名相關(guān)聯(lián)的針對(duì)LAN 52的接口處理器21 25中的每一個(gè)的IP地址。響應(yīng) 于所述存儲(chǔ)裝置31 39關(guān)于單個(gè)主機(jī)名所作的詢問(wèn),DNS服務(wù)器42根據(jù)所 述輪循DNS方法按順序?qū)⒔涌谔幚砥?1~25的IP地址通知給存儲(chǔ)裝置 31 39。
圖2是描述圖1的接口處理器21 25和存儲(chǔ)裝置31 39的邏輯連接狀態(tài) 的圖。所述邏輯連接狀態(tài)被顯示為由節(jié)點(diǎn)和連接所述節(jié)點(diǎn)的各自具有方向的 線組成的有向圖,其中所述節(jié)點(diǎn)表示接口處理器21 25和存儲(chǔ)裝置31 39。 應(yīng)該注意到,為了簡(jiǎn)化,圖2只示出了接口處理器21,但實(shí)際上,其它接口 處理器22 25也包括在圖中。
該圖中包括方向?yàn)閺慕涌谔幚砥?1 (同樣適用于接口處理器22 25)到 存儲(chǔ)裝置31~39中的至少一者(例如到存儲(chǔ)裝置31、 36、 37和38)的線。 另一方面,圖中不包括方向?yàn)閺拇鎯?chǔ)裝置31~39到接口處理器21 (同樣適用 于接口處理器22 25)的線。此外,在存儲(chǔ)裝置之間可能沒(méi)有線,也可存在 單向線或雙向線。
ii應(yīng)該注意到該圖并不是固定不變的,它可根據(jù)分布式存儲(chǔ)系統(tǒng)100的操 作來(lái)進(jìn)行改變。隨后會(huì)給出其描述。
在分布式存儲(chǔ)系統(tǒng)100中,所述邏輯連接狀態(tài)被示為一組節(jié)點(diǎn)列表。節(jié)
點(diǎn)列表是為每個(gè)節(jié)點(diǎn)創(chuàng)建的。
圖3示出了表示圖2中的圖的節(jié)點(diǎn)列表的示例。如果圖中存在方向?yàn)閺?一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的線,作為該線的起點(diǎn)的節(jié)點(diǎn)的節(jié)點(diǎn)列表包含表示作 為該線的終點(diǎn)的節(jié)點(diǎn)的信息,例如LAN 52的IP地址。
圖3 (a)示出了為圖2中所示的接口處理器21 (具有IP地址 192.168.10.21)所創(chuàng)建的節(jié)點(diǎn)列表。該節(jié)點(diǎn)列表被存儲(chǔ)在接口處理器21的存 儲(chǔ)設(shè)備中。所述節(jié)點(diǎn)列表包含表示存儲(chǔ)裝置31、 36、 37和38的IP地址。
類似地,圖3 (b)示出了為圖2中所示的存儲(chǔ)裝置31 (具有IP地址 192.168.10.31)所創(chuàng)建的節(jié)點(diǎn)列表。該節(jié)點(diǎn)列表被存儲(chǔ)在存儲(chǔ)裝置31的存儲(chǔ) 設(shè)備中。所述節(jié)點(diǎn)列表包含表示存儲(chǔ)裝置32、 34和35的IP地址。
接口處理器21 25中的每一個(gè)都具有通過(guò)公知方法來(lái)對(duì)數(shù)據(jù)執(zhí)行擦除 修正編碼的功能。
圖4示出了所述接口處理器21 (同樣適用于接口處理器22 25)對(duì)數(shù)據(jù) 執(zhí)行擦除修正編碼的步驟。圖4(a)表示原始數(shù)據(jù),并示出了信息作為一整 塊而被提供的狀態(tài)。接口處理器21將原始數(shù)據(jù)進(jìn)行劃分,以創(chuàng)建多個(gè)信息 包。圖4 (b)示出了創(chuàng)建例如100個(gè)信息包的狀態(tài)。此外,接口處理器21 向信息包提供冗余,從而創(chuàng)建編碼數(shù)據(jù)文件,這些編碼數(shù)據(jù)文件比信息包的 數(shù)量要多。圖4 (c)示出了創(chuàng)建例如150個(gè)編碼數(shù)據(jù)文件的狀態(tài)。
這150個(gè)編碼數(shù)據(jù)文件被構(gòu)造以使得可通過(guò)從這150個(gè)編碼數(shù)據(jù)文件中 選出例如105個(gè)編碼數(shù)據(jù)文件進(jìn)行組合來(lái)重建原始數(shù)據(jù)。上述編碼和解碼方 法是基于公知技術(shù)的,例如擦除修正碼或錯(cuò)誤修正碼。編碼數(shù)據(jù)文件的數(shù)目 或重建原始數(shù)據(jù)所需的編碼數(shù)據(jù)文件的最小數(shù)目可以適當(dāng)?shù)馗淖?。接口處理?1在其存儲(chǔ)設(shè)備中存儲(chǔ)用于執(zhí)行上述編碼和解碼的程序, 并通過(guò)執(zhí)行這些程序來(lái)起到編碼設(shè)備和解碼設(shè)備的作用。
所述分布式存儲(chǔ)系統(tǒng)100具有動(dòng)態(tài)更新圖2所示的邏輯連接狀態(tài)的功能。
圖5和圖6是示出了在存儲(chǔ)裝置31 39和接口處理器21~25更新各自的 節(jié)點(diǎn)列表時(shí)執(zhí)行的進(jìn)程流的圖。
所述存儲(chǔ)裝置中的每一個(gè)(此后,以存儲(chǔ)裝置31為例)在給定的時(shí)間 (例如每?jī)煞昼?開(kāi)始執(zhí)行圖5的流程圖所示的進(jìn)程。開(kāi)始了所述執(zhí)行的存 儲(chǔ)裝置也已經(jīng)開(kāi)始了更新進(jìn)程。
首先,存儲(chǔ)裝置31將其自己的節(jié)點(diǎn)列表中包含的節(jié)點(diǎn)中的一個(gè)選擇為 所述更新進(jìn)程的目標(biāo)(步驟S101a)。這里,選擇到目前為止還未被選擇過(guò)的 節(jié)點(diǎn)或者選擇最長(zhǎng)時(shí)間沒(méi)有被選擇的節(jié)點(diǎn)。在存在多個(gè)節(jié)點(diǎn)滿足這一條件的 情況下,從這些節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)。盡管圖中沒(méi)有示出,但是所選擇 的節(jié)點(diǎn)的IP地址與指示時(shí)間點(diǎn)的時(shí)間戳相關(guān)聯(lián)地被存儲(chǔ),其中該時(shí)間點(diǎn)被 視為該進(jìn)程下一次執(zhí)行的選擇參考。應(yīng)該注意到,作為替換,IP地址和時(shí)間 戳不必彼此相關(guān)聯(lián)。在這種情況下,如果節(jié)點(diǎn)將在步驟S101a中被選擇,則 從包含在節(jié)點(diǎn)列表中的節(jié)點(diǎn)之間隨機(jī)選擇一個(gè)節(jié)點(diǎn)。
此后,作為示例,假定選擇存儲(chǔ)裝置32。
接下來(lái),存儲(chǔ)裝置31向所選擇的節(jié)點(diǎn)傳送指示所述節(jié)點(diǎn)已被選為更新 進(jìn)程的目標(biāo)的節(jié)點(diǎn)交換消息(步驟S102a)。存儲(chǔ)裝置32接收節(jié)點(diǎn)交換消息 (步驟S102b),并認(rèn)識(shí)到存儲(chǔ)裝置32已被選為將由存儲(chǔ)裝置31所執(zhí)行的 更新進(jìn)程的目標(biāo)。
接下來(lái),存儲(chǔ)裝置31和32對(duì)相互連接信息執(zhí)行修剪,由此更新它們的 節(jié)點(diǎn)列表(步驟S103a和S103b)。
圖6是示出了在步驟S103a和S103b中執(zhí)行的更新進(jìn)程的圖。圖6 (x)示出了在那些步驟開(kāi)始之前存儲(chǔ)裝置31和32的節(jié)點(diǎn)列表。這對(duì)應(yīng)于圖2的 連接狀態(tài)。存儲(chǔ)裝置31的節(jié)點(diǎn)列表包含存儲(chǔ)裝置32、 34和35,其中存儲(chǔ)裝 置32的節(jié)點(diǎn)列表只包含存儲(chǔ)裝置33。
在步驟S103a和S103b中,存儲(chǔ)裝置31和32首先將方向?yàn)閺拇鎯?chǔ)裝置 31到存儲(chǔ)裝置32的線的方向反轉(zhuǎn),其中存儲(chǔ)裝置31已經(jīng)開(kāi)始了更新進(jìn)程, 存儲(chǔ)裝置32已被選為所述更新進(jìn)程的目標(biāo)。具體地,存儲(chǔ)裝置32被從存儲(chǔ) 裝置31的節(jié)點(diǎn)列表中刪除,存儲(chǔ)裝置31被添加到存儲(chǔ)裝置32的節(jié)點(diǎn)列表 中(如果存儲(chǔ)裝置31已包含在其中,則無(wú)需改變)。此時(shí),節(jié)點(diǎn)列表指示圖 6 (y)所示的內(nèi)容。
此外,存儲(chǔ)裝置31和32交換它們的節(jié)點(diǎn)列表中的其它節(jié)點(diǎn)。存儲(chǔ)裝置 34和35被從存儲(chǔ)裝置31的節(jié)點(diǎn)列表中刪除,并隨后被添加到存儲(chǔ)裝置32 的節(jié)點(diǎn)列表中。此外,存儲(chǔ)裝置33被從存儲(chǔ)裝置32的節(jié)點(diǎn)列表中刪除,并 隨后被添加到存儲(chǔ)裝置31的節(jié)點(diǎn)列表中。在此時(shí),節(jié)點(diǎn)列表指示圖6 (z) 所示的內(nèi)容。
這里,在對(duì)步驟S103a和S103b中執(zhí)行的相互連接信息進(jìn)行修剪的過(guò)程 中,所有存儲(chǔ)裝置的節(jié)點(diǎn)列表中包含的節(jié)點(diǎn)總數(shù)(即圖2的圖中所示出的存 儲(chǔ)裝置之間的線的總數(shù))可以不改變或可以減少,但不會(huì)增加。這是因?yàn)榉?向?yàn)閺拈_(kāi)始更新進(jìn)程的存儲(chǔ)裝置到被選為更新進(jìn)程的目標(biāo)的存儲(chǔ)裝置的線 總是被刪除,但與它的方向相反的線則可能被添加也可能不被添加(即線已 經(jīng)存在的情況)。
以這種方式,存儲(chǔ)裝置31和32在步驟S103a和S103b中執(zhí)行對(duì)相互連 接信息的修剪。在此之后,所選擇的存儲(chǔ)裝置32結(jié)束所述進(jìn)程。
接下來(lái),存儲(chǔ)裝置31確定包含在存儲(chǔ)裝置31的節(jié)點(diǎn)列表中的節(jié)點(diǎn)數(shù)目 是否等于或小于給定的數(shù)目,例如,四個(gè)(圖5中的步驟S104a)。如果節(jié)點(diǎn) 數(shù)目大于給定數(shù)目,則所述存儲(chǔ)裝置31結(jié)束所述進(jìn)程。如果節(jié)點(diǎn)數(shù)目等于或小于給定數(shù)目,則所述存儲(chǔ)裝置31請(qǐng)求接口處理
器21 25中的一個(gè)傳送節(jié)點(diǎn)信息(即節(jié)點(diǎn)列表),并且在獲取節(jié)點(diǎn)列表之后, 將包含在該節(jié)點(diǎn)列表中的節(jié)點(diǎn)添加到其自身的節(jié)點(diǎn)列表中(步驟S105a)。被 選為請(qǐng)求的目標(biāo)的接口處理器響應(yīng)于所述請(qǐng)求,將其自身的節(jié)點(diǎn)列表傳送到 存儲(chǔ)裝置31 (步驟105c)。如圖3 (a)所示,節(jié)點(diǎn)列表包含存儲(chǔ)裝置31 39 的IP地址的至少一者。
這里,存儲(chǔ)裝置31向使用預(yù)定主機(jī)名的DNS服務(wù)器42進(jìn)行詢問(wèn),并 從具有所獲取的IP地址的接口處理器獲取節(jié)點(diǎn)信息。DNS服務(wù)器42根據(jù)上 述的輪循方法來(lái)執(zhí)行通知,并且因此存儲(chǔ)裝置31在每次執(zhí)行步驟S105a時(shí) 從不同的接口處理器獲取節(jié)點(diǎn)信息。此后,假定例如DNS服務(wù)器42將接口 處理器21的IP地址通知給存儲(chǔ)裝置31。
接下來(lái),存儲(chǔ)裝置31和接口處理器21根據(jù)步驟S105a和S105c (步驟 S106a和S106b)的結(jié)果分別對(duì)各自的節(jié)點(diǎn)列表進(jìn)行更新。
此外,接口處理器21將作為請(qǐng)求源節(jié)點(diǎn)的存儲(chǔ)裝置31添加到其自身的 節(jié)點(diǎn)列表。這里,接口處理器21存儲(chǔ)所添加的節(jié)點(diǎn),所添加的節(jié)點(diǎn)與指示 節(jié)點(diǎn)被添加的時(shí)間點(diǎn)的信息(例如時(shí)間戳)相關(guān)聯(lián)。隨后,如果滿足預(yù)定條 件,例如如果節(jié)點(diǎn)列表中的節(jié)點(diǎn)數(shù)目變成等于或大于給定數(shù)目,則接口處理 器從節(jié)點(diǎn)列表中刪除與最早時(shí)間戳相關(guān)聯(lián)的節(jié)點(diǎn)。應(yīng)該注意到,作為替換, 接口處理器21還可以不將節(jié)點(diǎn)與時(shí)間戳相關(guān)聯(lián)。在這種情況下,在從節(jié)點(diǎn) 列表中選擇將被刪除的節(jié)點(diǎn)的過(guò)程中,從包含在節(jié)點(diǎn)列表中的節(jié)點(diǎn)中隨機(jī)選 擇一個(gè)節(jié)點(diǎn)。此外,接口處理器21可以將節(jié)點(diǎn)列表存儲(chǔ)為具有特定順序的 列表。具體地,可以按照如下方式來(lái)構(gòu)造節(jié)點(diǎn)列表節(jié)點(diǎn)被添加到節(jié)點(diǎn)列表 的順序可被確定。在這種情況下,在從節(jié)點(diǎn)列表中選擇將被刪除的節(jié)點(diǎn)時(shí), 也可按照向節(jié)點(diǎn)列表中添加節(jié)點(diǎn)的順序從最早的節(jié)點(diǎn)開(kāi)始執(zhí)行,也就是使用 先入先出(FIFO)方法。以這種方式,所述分布式存儲(chǔ)系統(tǒng)ioo對(duì)節(jié)點(diǎn)之間的邏輯連接狀態(tài)進(jìn)行
動(dòng)態(tài)更新。
此外,如果未被包括在圖1中的存儲(chǔ)裝置被新添加到分布式存儲(chǔ)系統(tǒng)
100中,新的存儲(chǔ)裝置首先從接口處理器中的一者獲取節(jié)點(diǎn)列表,并將該節(jié)
點(diǎn)列表保持為初始節(jié)點(diǎn)列表。也就是在這種情況下,所添加的存儲(chǔ)裝置具有
空的節(jié)點(diǎn)列表,并因此不執(zhí)行步驟S101a、 S102a、 S102b、 S103a和S103b。 此外,在步驟S104a中,節(jié)點(diǎn)信息不包含任何項(xiàng),很明顯滿足等于或小于預(yù) 定數(shù)目的條件,并且因此執(zhí)行圖5中的步驟S105a和S105c以及步驟S106a 和S106c。
以這種方式,通過(guò)反復(fù)地在預(yù)定的時(shí)間分別在每個(gè)存儲(chǔ)裝置處對(duì)圖5和 圖6所描述的節(jié)點(diǎn)列表執(zhí)行更新,起初不具有任何線的新添加的存儲(chǔ)裝置開(kāi) 始具有單向線或雙向線,由此具有各種圖案的圖被構(gòu)建。
圖7是示出了包括在分布式存儲(chǔ)系統(tǒng)100從用戶終端10接收文件并在 其中存儲(chǔ)該文件時(shí)執(zhí)行的操作的進(jìn)程流的流程圖。
首先,根據(jù)用戶給出的指令,用戶終端10向分布式存儲(chǔ)系統(tǒng)IOO傳送 將要被存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)100中的寫(xiě)入文件(步驟S201a)。
這里,用戶終端10向使用預(yù)定主機(jī)名的DNS服務(wù)器41進(jìn)行詢問(wèn),并 隨后將寫(xiě)入文件發(fā)送到具有所獲取的IP地址的接口處理器。DNS服務(wù)器41 根據(jù)上述輪循方法來(lái)執(zhí)行所述通知,并且因此用戶終端10每次向不同的接 口處理器傳送寫(xiě)入文件。此后,舉例來(lái)講,假定所述寫(xiě)入文件被傳送到接口 處理器21。
這里,在將執(zhí)行文件的寫(xiě)入進(jìn)程的接口處理器已被確定且其IP地址被 存儲(chǔ)在用戶終端10中的情況下,用戶終端10不向DNS服務(wù)器41進(jìn)行詢問(wèn), 并通過(guò)直接使用IP地址來(lái)執(zhí)行傳輸。例如,下列狀態(tài)對(duì)應(yīng)于這種情況作 為排它控制進(jìn)程(隨后結(jié)合圖9來(lái)描述)的結(jié)果,特定的接口處理器具有允許對(duì)文件進(jìn)行寫(xiě)入的令牌。
一旦接收到所述寫(xiě)入文件(步驟S201b),接口處理器21對(duì)所述寫(xiě)入文 件進(jìn)行分割,并在其上執(zhí)行擦除修正編碼,由此創(chuàng)建多個(gè)子文件(步驟
S202b)。這是通過(guò)使用參考圖4所描述的方法來(lái)執(zhí)行的。
接下來(lái),接口處理器21向存儲(chǔ)裝置31 39傳送請(qǐng)求以進(jìn)行寫(xiě)入(寫(xiě)入 請(qǐng)求)(步驟S203b),并且存儲(chǔ)裝置31~39接收所述寫(xiě)入請(qǐng)求(步驟S203c)。 根據(jù)圖2中示出的圖,所述寫(xiě)入請(qǐng)求被從接口處理器21傳送到其節(jié)點(diǎn)列表 中所指定的存儲(chǔ)裝置,并進(jìn)一步被傳送到這些存儲(chǔ)裝置的每一個(gè)的節(jié)點(diǎn)列表 中指定的節(jié)點(diǎn)列表。對(duì)其進(jìn)行重復(fù)以在存儲(chǔ)裝置之間傳輸所述寫(xiě)入請(qǐng)求。
所述寫(xiě)入請(qǐng)求包含下列數(shù)據(jù)
-已經(jīng)傳送了寫(xiě)入請(qǐng)求的接口處理器的IP地址;
-用于單獨(dú)識(shí)別所述寫(xiě)入請(qǐng)求的消息ID;
-表示所述寫(xiě)入請(qǐng)求已被傳輸?shù)拇螖?shù)的跳躍計(jì)數(shù)(hop count);以及 -表示每個(gè)存儲(chǔ)裝置必須對(duì)所述寫(xiě)入請(qǐng)求進(jìn)行響應(yīng)的概率的響應(yīng)概率。 這里,所述跳躍計(jì)數(shù)的初始值是(例如)1。此外,接口處理器21基于 存儲(chǔ)裝置的總數(shù)和子文件的數(shù)目來(lái)確定響應(yīng)概率,從而將要響應(yīng)的存儲(chǔ)裝置 的數(shù)目等于或大于子文件的數(shù)目的概率相當(dāng)高。例如,假定存儲(chǔ)裝置的數(shù)目 (預(yù)先指定,并存儲(chǔ)在接口處理器21的存儲(chǔ)設(shè)備中)是1000且子文件的數(shù) 目是150,響應(yīng)概率可以被設(shè)定為150/1000=0.15,以使得獲得的響應(yīng)存儲(chǔ)裝 置的數(shù)目的期望值等于子文件的數(shù)目。然而,如果響應(yīng)存儲(chǔ)裝置的數(shù)目等于 或大于子文件的數(shù)目的概率將被設(shè)定為足夠高,則所述響應(yīng)概率可被設(shè)定為 (例如)0.15X1.2=0.18,給出20%的余量。
應(yīng)該注意到,作為替換,所述寫(xiě)入請(qǐng)求也可不包含任何跳躍計(jì)數(shù)。 作為特定示例,下列算法被用于所述寫(xiě)入請(qǐng)求的傳輸/接收。 (1)傳送節(jié)點(diǎn)(例如接口處理器21)向包含在其自身節(jié)點(diǎn)列表中
17的所有節(jié)點(diǎn)傳送寫(xiě)入請(qǐng)求。
(2) 接收節(jié)點(diǎn)(例如存儲(chǔ)裝置31)參考所接收到的寫(xiě)入請(qǐng)求的消 息ID,并確定所述寫(xiě)入請(qǐng)求是否是己知的,也就是說(shuō),所述 寫(xiě)入請(qǐng)求是否已被接收。
(3) 如果所述寫(xiě)入請(qǐng)求是己知的,則所述接收節(jié)點(diǎn)結(jié)束該進(jìn)程。
(4) 如果所述寫(xiě)入請(qǐng)求不是己知的,則所述接收節(jié)點(diǎn)以與(1)中 的情況相類似的方式作為傳送節(jié)點(diǎn)來(lái)傳送所述寫(xiě)入請(qǐng)求。一 旦如此,寫(xiě)入請(qǐng)求的跳躍計(jì)數(shù)加一。
以這種方式,由所述圖連接的所有存儲(chǔ)裝置31~39接收所述寫(xiě)入請(qǐng)求。
接下來(lái),存儲(chǔ)裝置31~39中的每一個(gè)確定是否對(duì)所接收的寫(xiě)入請(qǐng)求進(jìn)行 響應(yīng)(步驟S204c)。所述確定是根據(jù)響應(yīng)概率而隨機(jī)作出的。例如,如果響 應(yīng)概率是0.18,則存儲(chǔ)裝置31 39中的每一個(gè)確定以0.18的概率進(jìn)行響應(yīng), 并確定以1-0.18=0.82的概率不進(jìn)行響應(yīng)。
如果確定不進(jìn)行響應(yīng),則存儲(chǔ)裝置結(jié)束所述進(jìn)程。
如果確定進(jìn)行響應(yīng),則存儲(chǔ)裝置向包含在所述寫(xiě)入請(qǐng)求中的接口處理器 的IP地址(這里為192.168.10.21)傳送響應(yīng)(步驟S205c)。所述響應(yīng)包含 所述存儲(chǔ)裝置的IP地址。
所述接口處理器21 (也就是所述寫(xiě)入請(qǐng)求的傳輸源)接收響應(yīng)(步驟 S205b),并隨后向包含在所述響應(yīng)中的IP地址(也就是向所述響應(yīng)存儲(chǔ)裝 置)傳輸子文件(步驟S206b)。這里,向一個(gè)存儲(chǔ)裝置傳送一個(gè)子文件。
如果響應(yīng)存儲(chǔ)裝置的數(shù)目大于子文件的數(shù)目,則接口處理器21根據(jù)預(yù) 定標(biāo)準(zhǔn)來(lái)選擇存儲(chǔ)裝置。例如,標(biāo)準(zhǔn)被設(shè)定以使得數(shù)據(jù)盡可能的按照地理來(lái) 分布,也就是使得包括在一個(gè)位置的存儲(chǔ)裝置的最大數(shù)目減少。
己經(jīng)對(duì)所述寫(xiě)入請(qǐng)求作出響應(yīng)的存儲(chǔ)裝置接收子文件(步驟S206c)。盡 管未在圖7中示出,但已經(jīng)作出響應(yīng)但還未接收到子文件的存儲(chǔ)裝置結(jié)束所述進(jìn)程。
已經(jīng)接收到子文件的存儲(chǔ)裝置在其自身的存儲(chǔ)設(shè)備中存儲(chǔ)子文件(步驟
S207c)。這意味著所述子文件已經(jīng)被寫(xiě)入分布式存儲(chǔ)系統(tǒng)100。
在那之后,每個(gè)存儲(chǔ)裝置向接口處理器21傳送子文件寫(xiě)入結(jié)束通知(步驟S208c)。接口處理器21從所述子文件已經(jīng)傳送到的所有存儲(chǔ)裝置接收該通知(步驟S208b)。這意味著全部原始數(shù)據(jù)都已被寫(xiě)入所述分布式存儲(chǔ)系統(tǒng)100。
在那之后,接口處理器21向用戶終端10傳送文件寫(xiě)入結(jié)束通知(步驟S209b),并且用戶終端10接收該通知(步驟S209a)以結(jié)束所述文件寫(xiě)入進(jìn)程(步驟S210a)。
圖8是示出了包括在分布式存儲(chǔ)系統(tǒng)100從用戶終端10接收文件讀取請(qǐng)求并傳送文件時(shí)執(zhí)行的操作的進(jìn)程流的流程圖。
首先,用戶終端10接收指令以從用戶讀取特定文件,并且根據(jù)該指令,向分布式存儲(chǔ)系統(tǒng)100傳送文件讀取請(qǐng)求(步驟S301a)。
這里,類似于圖7的步驟S201a,通過(guò)使用輪循方法來(lái)進(jìn)行DNS詢問(wèn)。也就是,用戶終端10每次向不同的接口處理器傳送文件讀取請(qǐng)求。此后,舉例來(lái)講,假定文件讀取請(qǐng)求被傳送到接口處理器21。
接口處理器21接收所述文件讀取請(qǐng)求(步驟S301b),并隨后向存儲(chǔ)裝置31 39傳送文件存在檢查請(qǐng)求(步驟S302b)。存儲(chǔ)裝置31 39接收該請(qǐng)求(步驟S302c)。所述文件存在檢查請(qǐng)求是使用類似于圖7的步驟S203b中的寫(xiě)入請(qǐng)求的方法來(lái)進(jìn)行傳送/接收的。也就是,根據(jù)圖2中所示的圖,文件存在檢查請(qǐng)求被從接口處理器21傳送到其節(jié)點(diǎn)列表中所指定的存儲(chǔ)裝置,并進(jìn)一步被傳送到這些存儲(chǔ)裝置各自的節(jié)點(diǎn)列表中所指定的節(jié)點(diǎn)列表。對(duì)其進(jìn)行重復(fù)以在存儲(chǔ)裝置之間傳輸文件存在檢査請(qǐng)求。
所述文件存在檢査請(qǐng)求包含下列數(shù)據(jù)-用于對(duì)文件進(jìn)行識(shí)別的信息(例如文件名),該文件是文件讀取請(qǐng)求的目標(biāo);
-已經(jīng)傳送了文件存在檢查請(qǐng)求的接口處理器的IP地址;-用于單獨(dú)識(shí)別所述文件存在檢查請(qǐng)求的消息ID;以及-表示所述文件存在檢査請(qǐng)求已被傳輸?shù)拇螖?shù)的跳躍計(jì)數(shù)。這里,所述跳躍計(jì)數(shù)的初始值是(例如)1。可替換地,文件存在檢査請(qǐng)求還可以不包含任何跳躍計(jì)數(shù)。
接下來(lái),存儲(chǔ)裝置31~39中的每一個(gè)都確定所述文件的子文件是否被存儲(chǔ)在其中(步驟S303c)。
如果子文件未被存儲(chǔ),則所述存儲(chǔ)裝置結(jié)束所述進(jìn)程。
如果子文件己被存儲(chǔ),則所述存儲(chǔ)裝置向包含在所述文件存在檢査請(qǐng)求中的接口處理器的IP地址(這里為192.168.10.21)傳送指示文件存在的存在響應(yīng)(步驟S304c)。所述響應(yīng)包含所述存儲(chǔ)裝置的IP地址。
所述接口處理器21 (也就是所述文件存在檢查請(qǐng)求的傳輸源)接收所述存在響應(yīng)(步驟S304b),并向包含在所述存在響應(yīng)中的IP地址(也就是向所述響應(yīng)存儲(chǔ)裝置)傳輸子文件讀取請(qǐng)求(步驟S305b)。
已經(jīng)傳送了所述存在響應(yīng)的存儲(chǔ)裝置接收所述子文件讀取請(qǐng)求(步驟S305c),并隨后從其自身的存儲(chǔ)設(shè)備讀取子文件(步驟S306c),以及將所述子文件傳送到接口處理器21 (步驟S307c)。
接口處理器21從已經(jīng)傳送了子文件的存儲(chǔ)裝置的至少一部分接收子文件(步驟S307b)。此外,基于所接收到的子文件,接口處理器21在其上執(zhí)行擦除修正解碼,由此對(duì)由所述用戶終端10所請(qǐng)求的文件進(jìn)行重建(步驟S308b)。所述解碼過(guò)程是使用與參考圖4描述的編碼方法相對(duì)應(yīng)的己知方法來(lái)執(zhí)行的。注意到由于子文件是冗余的,因此所述原始文件可以在沒(méi)有獲得所有子文件的情況下被重建。在那之后,接口處理器21向用戶終端10傳送所述解碼文件(步驟
S309b),并且用戶終端10接收該文件(步驟S309a)以結(jié)束所述文件讀取進(jìn)程(步驟S310a)。
圖9是示出了在分布式存儲(chǔ)系統(tǒng)100從用戶終端10接收文件并在其中存儲(chǔ)該文件時(shí)執(zhí)行的排它控制進(jìn)程流的流程圖。所述排它控制進(jìn)程被執(zhí)行,從而阻止從多個(gè)接口處理器同時(shí)對(duì)相同文件進(jìn)行寫(xiě)入。
在該控制中使用令牌。每個(gè)令牌與一個(gè)文件相關(guān)聯(lián)并指示對(duì)所述文件進(jìn)行寫(xiě)入是被允許還是被禁止。對(duì)于每個(gè)文件,不多于一個(gè)接口處理器可以在存儲(chǔ)設(shè)備中存儲(chǔ)所述令牌,并因此只有存儲(chǔ)了所述令牌的接口處理器可以對(duì)所述文件進(jìn)行寫(xiě)入(這包括保存新文件和更新現(xiàn)有的文件)。
首先,響應(yīng)于來(lái)自用戶的指令,用戶終端10向分布式存儲(chǔ)系統(tǒng)IOO傳送用于對(duì)文件進(jìn)行寫(xiě)入的寫(xiě)入請(qǐng)求(步驟S401a)。
這里,與圖7的步驟S203a類似,使用輪循方法來(lái)進(jìn)行DNS詢問(wèn)。此后,舉例來(lái)講,假定文件寫(xiě)入請(qǐng)求被傳送到接口處理器21。
接口處理器21接收所述寫(xiě)入請(qǐng)求(步驟S401b),并隨后向其它接口處理器22~25傳送用于排它控制的令牌獲取請(qǐng)求(步驟S402b)。所述令牌獲取請(qǐng)求包含下列數(shù)據(jù)
-己經(jīng)傳送了令牌獲取請(qǐng)求的接口處理器的IP地址;
-用于對(duì)文件進(jìn)行識(shí)別的信息(例如文件名),該文件是令牌獲取請(qǐng)求的目標(biāo);以及
-指示令牌獲取請(qǐng)求被創(chuàng)建的時(shí)間點(diǎn)的時(shí)間戳。
其它接口處理器22 25中的每一個(gè)都接收令牌獲取請(qǐng)求(步驟S402c),并隨后確定所述接口處理器是否持有該文件的令牌(步驟S403c)。
關(guān)于其它的接口處理器22~25,如果它們確定都不持有該文件的令牌,則它們結(jié)束該進(jìn)程。
21如果其中一個(gè)接口處理器確定持有該文件的令牌,則該接口處理器向已經(jīng)傳送了所述令牌獲取請(qǐng)求的接口處理器21傳送指示令牌已被獲取的令牌
獲取拒絕響應(yīng)(步驟S404c)。
接口處理器21等待令牌獲取拒絕響應(yīng),并在任何響應(yīng)被傳送時(shí)接收該響應(yīng)(步驟S404b)。這里,接口處理器21在執(zhí)行了步驟S402b之后等待一段給定的時(shí)間(例如100ms),在這段時(shí)間期間可以接受所述令牌獲取拒絕響應(yīng)。
接下來(lái),接口處理器21確定所述令牌獲取拒絕響應(yīng)是否已在步驟S404b中被接收(步驟S405b)。如果確定已經(jīng)接收到令牌獲取拒絕響應(yīng),則接口處理器21向用戶終端10傳送不可寫(xiě)入的通知(步驟S411b),并且用戶終端IO接收該不可寫(xiě)入的通知(步驟S411a)。在這種情況中,用戶終端10對(duì)該文件執(zhí)行寫(xiě)入,并通過(guò)已知方法來(lái)執(zhí)行用戶的不可寫(xiě)入的通知。換言之,用戶終端10不執(zhí)行圖7的步驟S201a。
如果在步驟S405b確定還未接收到令牌獲取拒絕響應(yīng),則接口處理器21確定在從步驟S401b的執(zhí)行的開(kāi)始到步驟S405b的執(zhí)行的完成這段時(shí)間期間是否已從其它接口處理器22 25接收到令牌獲取請(qǐng)求(步驟S406b)。
如果未從其它接口處理器22 25接收到令牌獲取請(qǐng)求,則接口處理器21獲取與該文件相應(yīng)的令牌(步驟S408b)。具體地,接口處理器21創(chuàng)建令牌,并隨后將令牌存儲(chǔ)在存儲(chǔ)設(shè)備中。
在從任何其它接口處理器22 25中接收到令牌獲取請(qǐng)求的情況下,接口處理器21對(duì)其己傳送的令牌獲取請(qǐng)求和已經(jīng)從其它接口處理器接收的其它令牌獲取請(qǐng)求進(jìn)行時(shí)間點(diǎn)比較(步驟S407b)。該比較通過(guò)比較包含在各個(gè)令牌獲取請(qǐng)求中的時(shí)間戳來(lái)執(zhí)行。
在步驟S407b中,如果其自身的令牌獲取請(qǐng)求是最早的,即如果時(shí)間戳是最早的,則接口處理器21進(jìn)入到步驟S408b并按如上所述來(lái)獲取所述令牌。否則,接口處理器21進(jìn)入到步驟S411b并按如上所述來(lái)傳送所述不可寫(xiě)入的通知。
當(dāng)在步驟S408b中獲取所述令牌后,接口處理器21向用戶終端10傳送可寫(xiě)入的通知(步驟S409b),并且用戶終端IO接收該可寫(xiě)入的通知(步驟S409a)。在那之后,用戶終端10執(zhí)行寫(xiě)入操作(步驟S410a)。具體地,用戶終端10執(zhí)行圖7的步驟S201a,并在此之后執(zhí)行圖7的流程圖。
應(yīng)該注意到在步驟S408b中獲取的令牌(例如)在圖7的步驟S208b完成之時(shí)被釋放,并且接口處理器21從其存儲(chǔ)設(shè)備中刪除所述令牌。
在下文,描述了如上所述的由分布式存儲(chǔ)系統(tǒng)100執(zhí)行的進(jìn)程流的示例。
在分布式存儲(chǔ)系統(tǒng)100被構(gòu)造并開(kāi)始運(yùn)行之后,在接口處理器21 25和存儲(chǔ)裝置31 39之間形成圖2中所示的邏輯連接狀態(tài)。不管是否存在來(lái)自用戶終端10的指令,都會(huì)通過(guò)圖5中所示的進(jìn)程在合適的時(shí)間對(duì)所述連接狀態(tài)進(jìn)行自動(dòng)和動(dòng)態(tài)地更新。因此,即使在所述節(jié)點(diǎn)中的任何一個(gè)或節(jié)點(diǎn)之間的通信路徑中發(fā)生錯(cuò)誤,都會(huì)產(chǎn)生繞開(kāi)所述錯(cuò)誤的路徑,從而所得到的系統(tǒng)具有很高的容錯(cuò)性。
在隨時(shí)間的流逝對(duì)圖5的進(jìn)程進(jìn)行重復(fù)的同時(shí),也就是對(duì)在步驟S103a和S103b中的相互連接信息的修剪進(jìn)行重復(fù)的同時(shí),包含在每個(gè)存儲(chǔ)裝置的節(jié)點(diǎn)列表中的節(jié)點(diǎn)數(shù)目逐漸減少。換言之,圖2的圖由于線的數(shù)目的逐漸減少而變得稀疏。這里,在圖5的步驟S105a中,當(dāng)包含在每個(gè)存儲(chǔ)裝置的節(jié)點(diǎn)列表中的節(jié)點(diǎn)信息的片段(piece)的數(shù)目變得等于或小于閾值(例如4)時(shí),所述節(jié)點(diǎn)信息被另外地獲取,由此節(jié)點(diǎn)信息的片段的數(shù)目增加。通過(guò)設(shè)定該閾值,使得調(diào)整圖2的圖的平均最短路徑長(zhǎng)度(即在從接口處理器21 25向存儲(chǔ)裝置31 39傳送消息的過(guò)程中的平均跳躍計(jì)數(shù))成為可能。所述平均最短路徑長(zhǎng)度被表示為+l/2其中n表示節(jié)點(diǎn)數(shù)目,y表示歐拉常數(shù)(約為0.5772), <1^>表示包含在節(jié)點(diǎn) 列表中的節(jié)點(diǎn)信息的片段數(shù)目的平均值,ln表示自然對(duì)數(shù)。
應(yīng)該注意到,在平均最短路徑長(zhǎng)度可以通過(guò)測(cè)量獲得的情況下,存儲(chǔ)裝 置的數(shù)目可以通過(guò)對(duì)上述表達(dá)式中的N進(jìn)行求解來(lái)而反推出來(lái)。在圖7的步 驟S203b中,接口處理器21事先對(duì)存儲(chǔ)裝置的數(shù)目進(jìn)行存儲(chǔ),由此確定將 被包含在寫(xiě)入請(qǐng)求中的響應(yīng)概率。然而,作為替換,可以通過(guò)這樣的反推過(guò) 程來(lái)獲得存儲(chǔ)裝置的數(shù)目。在這種情況下, 一旦傳輸了圖7的步驟S203b中 的寫(xiě)入請(qǐng)求且一旦傳輸了圖8的步驟S302b中的文件存在檢查請(qǐng)求,每個(gè)存 儲(chǔ)裝置將所述跳躍計(jì)數(shù)通知給接口處理器21,并且接口處理器21對(duì)所有存 儲(chǔ)裝置的跳躍計(jì)數(shù)取平均值,從而獲得所述平均最短路徑長(zhǎng)度的測(cè)量值。
此外,當(dāng)存儲(chǔ)裝置31 39如上所述對(duì)節(jié)點(diǎn)列表進(jìn)行請(qǐng)求時(shí),已經(jīng)接收到 所述請(qǐng)求的接口處理器傳送所述節(jié)點(diǎn)列表,并且還將已經(jīng)作出所述傳輸請(qǐng)求 的存儲(chǔ)裝置的IP地址添加到其自身的節(jié)點(diǎn)列表中(步驟S106c)。這里,響 應(yīng)于關(guān)于接口處理器的IP地址的詢問(wèn)(其中該詢問(wèn)由存儲(chǔ)裝置31~39來(lái)做 出),DNS服務(wù)器42每次將不同的接口處理器的IP地址通知給存儲(chǔ)裝置 31 39,并因此存儲(chǔ)裝置31~39每次向不同的接口處理器請(qǐng)求節(jié)點(diǎn)列表。通 過(guò)這種構(gòu)造,所有存儲(chǔ)裝置31-39的IP地址被包含在多個(gè)不同接口處理器 的節(jié)點(diǎn)列表中。
這里,舉例來(lái)講,假定分布式存儲(chǔ)系統(tǒng)100的用戶通過(guò)用戶終端10來(lái) 指示所述分布式存儲(chǔ)系統(tǒng)100對(duì)具有文件名"ABCD"的文件進(jìn)行存儲(chǔ)。響 應(yīng)于此,所述分布式存儲(chǔ)系統(tǒng)100執(zhí)行圖9中示出的排它控制進(jìn)程,并且接 口處理器21 (例如)獲取文件ABCD的令牌。這里使用了這樣一種機(jī)制 接口處理器21~25中的每一個(gè)獨(dú)立地執(zhí)行令牌獲取操作并且不提供任何單獨(dú) 的用于管理令牌的系統(tǒng),并且因此分布式存儲(chǔ)系統(tǒng)100可以不需要任何集中 管理機(jī)制而被構(gòu)建。在接口處理器21獲取所述令牌之后,用戶終端IO和分布式存儲(chǔ)系統(tǒng)100 執(zhí)行圖7中所示的寫(xiě)入進(jìn)程。這里,接口處理器21將文件ABCD分成100 個(gè)信息包,并進(jìn)一步對(duì)這些信息包提供冗余,從而形成150個(gè)子文件(步驟 S202b)。此外,接口處理器21向所有存儲(chǔ)裝置傳送寫(xiě)入請(qǐng)求,其中在該寫(xiě) 入請(qǐng)求中響應(yīng)概率被指定為0.18 (步驟S203b)。所述寫(xiě)入請(qǐng)求是通過(guò)使用 根據(jù)圖2中所示的圖的組桶式(bucketbrigade)方法來(lái)傳輸?shù)摹C總€(gè)存儲(chǔ)裝 置使用指定的概率0.18來(lái)傳送響應(yīng)(步驟S205c)。此時(shí),接口處理器21的 IP地址被包含在寫(xiě)入請(qǐng)求中,并且因此存儲(chǔ)裝置不再需要事先知道接口處理 器21的IP地址(和其它接口處理器22 25的IP地址)。
接口處理器21基于所接收的響應(yīng)來(lái)執(zhí)行子文件的傳輸,并且各個(gè)存儲(chǔ) 裝置在存儲(chǔ)設(shè)備中存儲(chǔ)子文件(步驟S207c)。
這里,不需要接口處理器21~25來(lái)管理哪個(gè)存儲(chǔ)裝置存儲(chǔ)文件ABCD 的子文件,并且因此分布式存儲(chǔ)系統(tǒng)IOO可以不需要任何集中管理機(jī)制而被 構(gòu)建。
此外,即使一些存儲(chǔ)裝置由于一些因素(諸如單個(gè)存儲(chǔ)裝置的故障、斷 電或維修)或由于網(wǎng)絡(luò)線路中斷而未能正常運(yùn)行,也能夠通過(guò)使用所述擦除 修正編碼技術(shù)從剩余的運(yùn)行存儲(chǔ)裝置中獲取所需數(shù)量的子文件。這樣,原始 文件可通過(guò)解碼來(lái)被精確地生成,因此能夠獲得高可靠性和連續(xù)操作能力。
此外,分布式存儲(chǔ)系統(tǒng)100的用戶通過(guò)用戶終端10指示分布式存儲(chǔ)系 統(tǒng)IOO在期望的時(shí)間點(diǎn)對(duì)存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)100中的文件ABCD進(jìn)行讀 取。響應(yīng)于此,接口處理器21 (例如)按圖8中所示來(lái)傳送文件存在檢査請(qǐng) 求(步驟S302b),并從響應(yīng)存儲(chǔ)裝置接收子文件(步驟S307b)。這里,與 所述寫(xiě)入迸程的情況相似,接口處理器21的IP地址被包含在文件存在檢查 請(qǐng)求中,并且因此存儲(chǔ)裝置不需要事先知道IP地址。此外,接口處理器21 不需要管理哪個(gè)存儲(chǔ)裝置存儲(chǔ)文件ABCD的子文件,并且因此分布式存儲(chǔ)系
25統(tǒng)100可以不需要任何集中管理機(jī)制而被構(gòu)建。
接口處理器21基于所接收的子文件來(lái)重建文件ABCD (步驟S308b), 并且隨后將該文件傳送到用戶終端10。
如上所述,根據(jù)本發(fā)明所涉及的分布式存儲(chǔ)系統(tǒng)100,接口處理器21~25 和存儲(chǔ)裝置31 39中的每一個(gè)存儲(chǔ)包含存儲(chǔ)裝置31~39的IP地址中的至少 一者的節(jié)點(diǎn)列表。接口處理器21 25基于節(jié)點(diǎn)列表來(lái)控制存儲(chǔ)裝置31 39。
這里,存儲(chǔ)裝置31-39每次向不同的接口處理器作出節(jié)點(diǎn)列表請(qǐng)求,并 且因此所有存儲(chǔ)裝置31 39的IP地址將被包含在多個(gè)接口處理器的節(jié)點(diǎn)列 表中。因此,即使在接口處理器21 25中的一些沒(méi)有運(yùn)行的狀態(tài)中,也可以 通過(guò)使用剩余接口處理器來(lái)執(zhí)行文件的寫(xiě)入和讀取,這在最小化管理工作負(fù) 荷的增加的同時(shí)提高了可靠性和連續(xù)工作能力。
此外,DNS輪循方法使得負(fù)荷能夠被分布到多個(gè)接口處理器21 25,并 且因此能夠避免某一個(gè)接口處理器或其周圍的網(wǎng)絡(luò)上的負(fù)荷急劇增加的情 況。
此外,接口處理器21 25使用擦除修正編碼技術(shù)來(lái)創(chuàng)建多個(gè)子文件,并 且多個(gè)存儲(chǔ)裝置中的每個(gè)都存儲(chǔ)一個(gè)子文件。因此,即使存儲(chǔ)裝置31 39中 的一些未在運(yùn)行,也可通過(guò)使用剩余存儲(chǔ)裝置來(lái)執(zhí)行文件的讀取,這將進(jìn)一 步提高可靠性和連續(xù)工作能力。
另外,存儲(chǔ)裝置31 39和新添加的存儲(chǔ)裝置對(duì)接口處理器21 25的節(jié)點(diǎn) 列表作出請(qǐng)求,并基于這些節(jié)點(diǎn)列表來(lái)自動(dòng)地更新或創(chuàng)建它們自己的節(jié)點(diǎn)列 表。因此,對(duì)設(shè)定進(jìn)行改變的操作(由于新的存儲(chǔ)裝置的添加,將被另外需 求)是不需要的,由此減少了針對(duì)改變所述配置的工作負(fù)荷。特別地,將被 添加的新的存儲(chǔ)裝置只需要對(duì)在接口處理器21~25之間共享的DNS服務(wù)器 42的IP地址和單個(gè)主機(jī)名進(jìn)行存儲(chǔ),并且不需要存儲(chǔ)各個(gè)接口處理器21 25 的不同IP地址。
26此外,根據(jù)本發(fā)明所涉及的分布式存儲(chǔ)系統(tǒng)ioo,與常規(guī)分布式存儲(chǔ)系 統(tǒng)相比,可獲得下列效果。
子文件被存儲(chǔ)在與用戶終端互相獨(dú)立的分布式存儲(chǔ)系統(tǒng)ioo中,因此任 何來(lái)自用戶的惡意或錯(cuò)誤操作的影響都可以被抑制。此外,如果需要更大的 存儲(chǔ)容量來(lái)存儲(chǔ)文件,則只需要添加存儲(chǔ)裝置即可,并且不需要準(zhǔn)備更多數(shù) 量的用戶終端。此外,不需要等待信息(諸如存儲(chǔ)裝置之間的管理信息)傳
遞的會(huì)聚(convergence)。此外,接口處理器21 25可以通過(guò)文件存在檢査 請(qǐng)求來(lái)獲知哪個(gè)存儲(chǔ)裝置存儲(chǔ)相應(yīng)的子文件(圖8的步驟S302b),并因此 不需要管理文件(和子文件)與存儲(chǔ)裝置之間的對(duì)應(yīng)關(guān)系。
此外,用戶終端10和因特網(wǎng)51位于分布式存儲(chǔ)系統(tǒng)100之外,從而不 受由分布式存儲(chǔ)系統(tǒng)100內(nèi)部執(zhí)行的信息傳輸/接收引起的網(wǎng)絡(luò)負(fù)荷增加的 影響。此外,用戶終端10是由不同于存儲(chǔ)裝置31 39的硬件來(lái)構(gòu)造的,因 此文件或子文件的傳輸/接收不會(huì)消耗用戶終端10的硬件資源。
此外,接口處理器21 25通過(guò)使用令牌來(lái)執(zhí)行排它控制進(jìn)程,因此即使 兩個(gè)或多個(gè)用戶同時(shí)針對(duì)相同文件作出寫(xiě)入進(jìn)程的請(qǐng)求,將被寫(xiě)入的文件的 完整性也將得以保持。
根據(jù)上述第一實(shí)施方式,DNS服務(wù)器42連接到LAN 52,存儲(chǔ)裝置31 39 向DNS服務(wù)器42作出請(qǐng)求以獲取接口處理器21 25的IP地址。作為替換, 每個(gè)存儲(chǔ)裝置31 39可以存儲(chǔ)所有接口處理器21 25的IP地址,從而不用 提供DNS服務(wù)器42。此外,每個(gè)存儲(chǔ)裝置31~39可以存儲(chǔ)接口處理器21~25 的IP地址的范圍,例如表示"192.168.10.21"到"192.168.10.25"的信息。 在這種情況下,當(dāng)每個(gè)存儲(chǔ)裝置31~39在圖5的步驟S105a中向接口處理器 作出請(qǐng)求時(shí),可以循環(huán)地在接口處理器21 25之間作出選擇。即使使用這種 構(gòu)造,所有存儲(chǔ)裝置31~39的IP地址都被包含在多個(gè)接口處理器的節(jié)點(diǎn)列 表中,因此,與第一實(shí)施方式類似,能夠提高可靠性和連續(xù)操作能力。
權(quán)利要求
1.一種分布式存儲(chǔ)系統(tǒng),該分布式存儲(chǔ)系統(tǒng)包括多個(gè)用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置;以及多個(gè)用于控制所述存儲(chǔ)裝置的接口處理器,其中所述接口處理器和所述存儲(chǔ)裝置能夠根據(jù)IP協(xié)議經(jīng)由通信網(wǎng)絡(luò)來(lái)互相通信;所述接口處理器中的每一個(gè)接口處理器都存儲(chǔ)節(jié)點(diǎn)列表,該節(jié)點(diǎn)列表包含所述存儲(chǔ)裝置中的至少一者在所述網(wǎng)絡(luò)中的IP地址;所述存儲(chǔ)裝置中的每一個(gè)存儲(chǔ)裝置向不同的接口處理器請(qǐng)求所述節(jié)點(diǎn)列表;所述請(qǐng)求所針對(duì)的接口處理器將所述節(jié)點(diǎn)列表傳送到作出所述請(qǐng)求的存儲(chǔ)裝置;以及所述請(qǐng)求所針對(duì)的接口處理器將作出所述請(qǐng)求的存儲(chǔ)裝置的IP地址添加到所述節(jié)點(diǎn)列表。
2. 根據(jù)權(quán)利要求1所述的分布式存儲(chǔ)系統(tǒng),該分布式存儲(chǔ)系統(tǒng)還包括 連接到所述通信網(wǎng)絡(luò)的DNS服務(wù)器,其中所述DNS服務(wù)器存儲(chǔ)預(yù)定的主機(jī)名和與該預(yù)定的主機(jī)名相關(guān)聯(lián)的多個(gè) 接口處理器的IP地址;所述DNS服務(wù)器響應(yīng)于對(duì)所述預(yù)定的主機(jī)名的詢問(wèn)而對(duì)所述多個(gè)接口 處理器的IP地址之一進(jìn)行循環(huán)通知;所述存儲(chǔ)裝置向所述DNS服務(wù)器詢問(wèn)所述預(yù)定的主機(jī)名;以及所述存儲(chǔ)裝置基于所通知的接口處理器的IP地址來(lái)請(qǐng)求所述節(jié)點(diǎn)列表。
3. 根據(jù)權(quán)利要求1或2所述的分布式存儲(chǔ)系統(tǒng),其中-所述接口處理器中的每一個(gè)接口處理器存儲(chǔ)包含在所述節(jié)點(diǎn)列表中的存儲(chǔ)裝置的IP地址中的至少一者,其中該IP地址與指示時(shí)間點(diǎn)的信息相關(guān) 聯(lián);以及所述接口處理器中的每一個(gè)接口處理器根據(jù)預(yù)定條件將與指示最早的 時(shí)間點(diǎn)的信息相關(guān)聯(lián)的存儲(chǔ)裝置的IP地址從所述節(jié)點(diǎn)列表中刪除。
4. 根據(jù)權(quán)利要求l-3中的任一權(quán)利要求所述的分布式存儲(chǔ)系統(tǒng),其中 所述存儲(chǔ)裝置中的每一個(gè)存儲(chǔ)裝置存儲(chǔ)包含其它存儲(chǔ)裝置的至少一者的IP地址的節(jié)點(diǎn)列表;以及所述接口處理器中的每一個(gè)接口處理器和所述存儲(chǔ)裝置中的每一個(gè)存 儲(chǔ)裝置向包含在其節(jié)點(diǎn)列表中的存儲(chǔ)裝置中的至少一者發(fā)送關(guān)于對(duì)所述存 儲(chǔ)裝置中的至少一者進(jìn)行控制的信息。
5. 根據(jù)權(quán)利要求4所述的分布式存儲(chǔ)系統(tǒng),其中,關(guān)于所述存儲(chǔ)裝置 中的一個(gè)存儲(chǔ)裝置以及包括在所述一個(gè)存儲(chǔ)裝置的節(jié)點(diǎn)列表中的另一個(gè)存 儲(chǔ)裝置所述一個(gè)存儲(chǔ)裝置從其節(jié)點(diǎn)列表中刪除所述另一個(gè)存儲(chǔ)裝置; 所述另一個(gè)存儲(chǔ)裝置向其節(jié)點(diǎn)列表中添加所述一個(gè)存儲(chǔ)裝置;以及 所述一個(gè)存儲(chǔ)裝置和所述另一個(gè)存儲(chǔ)裝置對(duì)包含在其節(jié)點(diǎn)列表中的除 去所述一個(gè)存儲(chǔ)裝置和所述另 一個(gè)存儲(chǔ)裝置之外的所有存儲(chǔ)裝置進(jìn)行交換。
6. 根據(jù)權(quán)利要求1-5中的任一權(quán)利要求所述的分布式存儲(chǔ)系統(tǒng),其中 所述存儲(chǔ)裝置中的每一個(gè)存儲(chǔ)裝置基于傳送自所述接口處理器的節(jié)點(diǎn)列表 來(lái)更新它們各自的節(jié)點(diǎn)列表。
7. 根據(jù)權(quán)利要求l-6中的任一權(quán)利要求所述的分布式存儲(chǔ)系統(tǒng),其中如果所述接口處理器中的每一個(gè)接口處理器接收到從外界寫(xiě)入數(shù)據(jù)的 請(qǐng)求,則所述接口處理器中的每一個(gè)接口處理器對(duì)關(guān)于去往/來(lái)自另一個(gè)接口處理器的數(shù)據(jù)的寫(xiě)入許可的信息進(jìn)行傳輸/接收;以及根據(jù)對(duì)關(guān)于所述寫(xiě)入許可的信息進(jìn)行傳輸/接收的結(jié)果,每個(gè)已經(jīng)接收 到寫(xiě)入請(qǐng)求的接口處理器向所述存儲(chǔ)裝置給出存儲(chǔ)數(shù)據(jù)的指令,或不給出指
全文摘要
提供了一種能夠在最小化管理工作負(fù)荷增長(zhǎng)的同時(shí)提高可靠性和連續(xù)工作能力的分布式存儲(chǔ)系統(tǒng)。分布式存儲(chǔ)系統(tǒng)(100)包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置(31~39)和用于根據(jù)來(lái)自用戶終端(10)的請(qǐng)求來(lái)控制所述存儲(chǔ)裝置(31~39)的接口處理器(21~25)。存儲(chǔ)裝置(31~39)和接口處理器(21~25)中的每一個(gè)存儲(chǔ)包括至少一個(gè)存儲(chǔ)裝置(31~39)的IP地址的節(jié)點(diǎn)列表。接口處理器(21~25)基于所述節(jié)點(diǎn)列表來(lái)控制存儲(chǔ)裝置(31~39)。所述存儲(chǔ)裝置(31~39)中的每一個(gè)存儲(chǔ)裝置每次向不同的接口處理器請(qǐng)求節(jié)點(diǎn)列表。接收到所述請(qǐng)求的接口處理器將任何已經(jīng)作出請(qǐng)求的存儲(chǔ)裝置的IP地址添加到其自身的節(jié)點(diǎn)列表。
文檔編號(hào)G06F12/00GK101663651SQ20078005237
公開(kāi)日2010年3月3日 申請(qǐng)日期2007年6月21日 優(yōu)先權(quán)日2007年3月30日
發(fā)明者石川康雄, 福田筑 申請(qǐng)人:完美天空J(rèn)sat株式會(huì)社