專利名稱:數(shù)據(jù)轉(zhuǎn)發(fā)存儲(chǔ)中的拆卸/重新組裝的制作方法
數(shù)據(jù)轉(zhuǎn)發(fā)存儲(chǔ)中的拆卸/重新組裝
背景技術(shù):
這里所公開的至少一些實(shí)施例涉及數(shù)據(jù)存儲(chǔ),并且更具體地,涉及數(shù)據(jù)轉(zhuǎn)發(fā)存儲(chǔ)中的拆卸 / 重新組裝(disassembly/reassembly)。個(gè)人、組織機(jī)構(gòu)、商業(yè)公司和政府必須存儲(chǔ)的數(shù)據(jù)量每一年都在增長(zhǎng)。除了跟上需求以外,組織機(jī)構(gòu)還面臨其它的存儲(chǔ)挑戰(zhàn)。伴隨著向在線的實(shí)時(shí)商務(wù)和管理的轉(zhuǎn)移,必須保護(hù)重要的數(shù)據(jù)不會(huì)由于軟件或硬件故障而丟失或不可訪問(wèn)。目前,許多存儲(chǔ)產(chǎn)品并不提供完全的故障保護(hù),并且使得用戶有丟失數(shù)據(jù)或不可使用數(shù)據(jù)的風(fēng)險(xiǎn)。例如,目前市場(chǎng)上的許多存儲(chǔ)解決方案提供針對(duì)某些故障模式(例如,處理器故障)但是不針對(duì)其它故障模式 (例如,光盤驅(qū)動(dòng)器故障)的保護(hù)。許多組織機(jī)構(gòu)有由于它們的數(shù)據(jù)存儲(chǔ)系統(tǒng)中的組件故障而丟失數(shù)據(jù)或不可使用數(shù)據(jù)的風(fēng)險(xiǎn)。數(shù)據(jù)存儲(chǔ)市場(chǎng)通常被劃分為兩個(gè)主要部分,即,直接附加存儲(chǔ)(DAS)和網(wǎng)絡(luò)存儲(chǔ)。 DAS包括與服務(wù)器直接連接的盤。網(wǎng)絡(luò)存儲(chǔ)包括附加到網(wǎng)絡(luò)而不是特定服務(wù)器并因此可以被該網(wǎng)絡(luò)上的其它設(shè)備和應(yīng)用訪問(wèn)和共享的盤。網(wǎng)絡(luò)存儲(chǔ)通常被劃分成兩個(gè)部分,即,存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)和網(wǎng)絡(luò)附加存儲(chǔ)(NAS)。SAN是代表廣大用戶網(wǎng)絡(luò)來(lái)將不同類型的數(shù)據(jù)存儲(chǔ)設(shè)備與相關(guān)聯(lián)的數(shù)據(jù)服務(wù)器互連的高速專用網(wǎng)絡(luò)(或子網(wǎng))。通常,SAN是企業(yè)的整個(gè)計(jì)算資源網(wǎng)絡(luò)的一部分。存儲(chǔ)區(qū)域網(wǎng)絡(luò)通常聚集在其它計(jì)算資源附近,但也可以通過(guò)廣域網(wǎng)(WAN)承載技術(shù)擴(kuò)展到遠(yuǎn)程位置以用于備份和檔案存儲(chǔ)。NAS是這樣的硬盤存儲(chǔ),其被建立有自己的網(wǎng)絡(luò)地址而不是被附加到向網(wǎng)絡(luò)的工作站用戶提供應(yīng)用的本地計(jì)算機(jī)。通過(guò)從本發(fā)明服務(wù)器移除存儲(chǔ)訪問(wèn)及其管理,應(yīng)用程序和文件兩者都可以被更快地提供,這是因?yàn)閼?yīng)用程序和文件不競(jìng)爭(zhēng)同一處理器資源。NAS被附加到局域網(wǎng)(通常,以太網(wǎng))并被指派IP地址。文件請(qǐng)求被主服務(wù)器映射到NAS文件服務(wù)器。以上所有存儲(chǔ)都以多于一種方式共有一個(gè)共同的、可能是致命弱點(diǎn)的特征,S卩,數(shù)據(jù)被存儲(chǔ)在物理介質(zhì)(例如,光盤驅(qū)動(dòng)器、CD驅(qū)動(dòng)器等)上。
發(fā)明內(nèi)容
本發(fā)明提供用于數(shù)據(jù)轉(zhuǎn)發(fā)存儲(chǔ)中的拆卸/重新組裝的方法和裝置,包括計(jì)算機(jī)程
序廣品。一般地,根據(jù)一個(gè)方面,本發(fā)明的特征在于一種方法,所述方法包括從源系統(tǒng)接收用于存儲(chǔ)數(shù)據(jù)的請(qǐng)求;拆卸所述數(shù)據(jù);將拆卸后的數(shù)據(jù)導(dǎo)向計(jì)算機(jī)存儲(chǔ)器;以及在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)所述拆卸后的數(shù)據(jù),而不存儲(chǔ)在所述網(wǎng)絡(luò)中的任何物理存儲(chǔ)設(shè)備上。所述持續(xù)轉(zhuǎn)發(fā)包括基于一個(gè)或多個(gè)因素來(lái)確定可用于接收所述拆卸后的數(shù)據(jù)的節(jié)點(diǎn)的地址;向所述源系統(tǒng)發(fā)送消息,所述消息帶有供請(qǐng)求者轉(zhuǎn)發(fā)所述拆卸后的數(shù)據(jù)的具體節(jié)點(diǎn)的地址;檢測(cè)在所述具體節(jié)點(diǎn)的存儲(chǔ)器中是否存在所述拆卸后的數(shù)據(jù);以及將所述拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)給在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中的節(jié)點(diǎn)的另一計(jì)算機(jī)存儲(chǔ)器,而不存儲(chǔ)在任何物理存儲(chǔ)設(shè)備上。根據(jù)另一個(gè)方面,本發(fā)明的特征在于一種網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括一組互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn),每個(gè)計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)響應(yīng)于來(lái)自請(qǐng)求系統(tǒng)的用于存儲(chǔ)數(shù)據(jù)的請(qǐng)求,接收拆卸后的數(shù)據(jù)并且將所述拆卸后的數(shù)據(jù)逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)而不存儲(chǔ)在任何物理存儲(chǔ)設(shè)備上,并且響應(yīng)于來(lái)自所述請(qǐng)求系統(tǒng)的用于取回?cái)?shù)據(jù)的請(qǐng)求,取回正被逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)的拆卸后的數(shù)據(jù),每個(gè)節(jié)點(diǎn)還被配置成檢測(cè)在其存儲(chǔ)器中是否存在拆卸后的數(shù)據(jù),應(yīng)用時(shí)間戳,并根據(jù)節(jié)點(diǎn)的可用性將所述拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)給所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)中的另一節(jié)點(diǎn)的計(jì)算機(jī)存儲(chǔ)器。以下,將在附圖和說(shuō)明書中闡述本發(fā)明的一個(gè)或多個(gè)實(shí)現(xiàn)方式的細(xì)節(jié)。本發(fā)明的更多特征、方面和優(yōu)點(diǎn)將從說(shuō)明書、附圖和權(quán)利要求中顯而易見。
這些實(shí)施例是以示例而非限制方式在附圖中的示圖中說(shuō)明的,附圖中,類似的標(biāo)號(hào)表示類似的元素。圖1是示例性系統(tǒng)的框圖。圖2是示例性用戶系統(tǒng)的框圖。圖3是示例性網(wǎng)絡(luò)系統(tǒng)的框圖。圖4是處理的流程圖。圖5是處理的流程圖。
具體實(shí)施例方式與使用短暫停留(transient)方式的數(shù)據(jù)轉(zhuǎn)發(fā)使得數(shù)據(jù)最終被存儲(chǔ)在諸如光盤驅(qū)動(dòng)器之類的物理介質(zhì)上的對(duì)等網(wǎng)絡(luò)不同,本發(fā)明是持續(xù)冗余數(shù)據(jù)轉(zhuǎn)發(fā)系統(tǒng),即數(shù)據(jù)被從一個(gè)節(jié)點(diǎn)存儲(chǔ)器向另一節(jié)點(diǎn)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)。如圖1中所示,示例性系統(tǒng)10包括用戶系統(tǒng)12和許多網(wǎng)絡(luò)系統(tǒng)14、16、18、20、22。 可以認(rèn)為網(wǎng)絡(luò)系統(tǒng)14、16、18、20、22中的每一個(gè)是系統(tǒng)10中的一個(gè)節(jié)點(diǎn)并且可以指定一個(gè)這樣的網(wǎng)絡(luò)系統(tǒng)作為中央服務(wù)器,例如網(wǎng)絡(luò)系統(tǒng)14,該網(wǎng)絡(luò)系統(tǒng)可以擔(dān)任系統(tǒng)10中的控制角色。網(wǎng)絡(luò)系統(tǒng)14、16、18、20、22中的每一個(gè)可以被建立為在中央服務(wù)器14的直接控制下被專用地控制的對(duì)等端(peer)的網(wǎng)絡(luò)。對(duì)等的節(jié)點(diǎn)也可以是專用節(jié)點(diǎn)和公用節(jié)點(diǎn)的混合, 并且因此可以不受中央服務(wù)器14的直接物理控制下。系統(tǒng)10也可以是完全公用的,其中, 中央服務(wù)器14(或多個(gè)服務(wù)器)對(duì)任一對(duì)等節(jié)點(diǎn)都沒有直接的擁有權(quán)或直接的物理控制權(quán)。作為受專用控制的網(wǎng)絡(luò),用戶可以免費(fèi)訪問(wèn)對(duì)等節(jié)點(diǎn)或者通過(guò)訂閱服務(wù)或其它配置進(jìn)行付費(fèi)訪問(wèn)。在混合環(huán)境中,即,在具有專用節(jié)點(diǎn)和公用節(jié)點(diǎn)的組合的網(wǎng)絡(luò)中,中央服務(wù)器14可以指示數(shù)據(jù)要被轉(zhuǎn)發(fā)到專用網(wǎng)絡(luò)還是公用網(wǎng)絡(luò)。在一個(gè)示例中,中央服務(wù)器14 識(shí)別數(shù)據(jù)的類型并且根據(jù)所識(shí)別的類型將數(shù)據(jù)轉(zhuǎn)發(fā)給專用網(wǎng)絡(luò)或公用網(wǎng)絡(luò)。例如,表示視頻或音頻文件的數(shù)據(jù)可以被發(fā)送至公用網(wǎng)絡(luò),而表示文檔(例如,Microsoft Word文檔) 可以被發(fā)送至專用網(wǎng)絡(luò)。
在另一示例中,中央服務(wù)器14使得用戶能夠選擇用戶所擁有的數(shù)據(jù)將被轉(zhuǎn)發(fā)到哪里,即,轉(zhuǎn)發(fā)到專用網(wǎng)絡(luò)還是公用網(wǎng)絡(luò)。在一個(gè)示例中,可以認(rèn)為節(jié)點(diǎn)14、16、18、20和22是專用網(wǎng)絡(luò)。在專用網(wǎng)絡(luò)中,管理員控制這些節(jié)點(diǎn)并且可以指定哪個(gè)節(jié)點(diǎn)是中央服務(wù)器。系統(tǒng)10也可以包括一個(gè)或多個(gè)另外的節(jié)點(diǎn)。例如,節(jié)點(diǎn)24、26和28??梢哉J(rèn)為這些節(jié)點(diǎn)24、26和28是管理員對(duì)其有很少的控制權(quán)或幾乎沒有控制權(quán)的一個(gè)或多個(gè)公用網(wǎng)絡(luò)的部分。如圖2中所示,用戶系統(tǒng)12可以包括處理器30、存儲(chǔ)器32和輸入/輸出(I/O)設(shè)備34。存儲(chǔ)器32可以包括操作系統(tǒng)(OS) 36,例如Linux、Apple OS或Windows, ,一個(gè)或多個(gè)應(yīng)用處理38和存儲(chǔ)處理100 (以下詳細(xì)描述)。應(yīng)用處理38可以包括用戶生產(chǎn)力軟件,例如OpenOffice或者M(jìn)icrosoft Office。1/0設(shè)備34可以包括用于顯示給用戶42 的圖形用戶界面(⑶1)40。如圖3中所示,每個(gè)網(wǎng)絡(luò)系統(tǒng)(例如網(wǎng)絡(luò)系統(tǒng)14)都可以包括處理器50和存儲(chǔ)器 52。存儲(chǔ)器52可以包括OS 54 (例如,Linux、Apple OS或Windows )和數(shù)據(jù)轉(zhuǎn)發(fā)處理 200 (以下詳細(xì)描述)。在傳統(tǒng)的系統(tǒng)中,應(yīng)用處理38需要存儲(chǔ)和取回(retrieve)數(shù)據(jù)。在這些傳統(tǒng)系統(tǒng)中,數(shù)據(jù)被存儲(chǔ)在本地的或遠(yuǎn)程的物理設(shè)備上,并且用來(lái)提供冗余的數(shù)據(jù)拷貝被本地地存儲(chǔ)或被存儲(chǔ)在諸如光盤驅(qū)動(dòng)器之類的遠(yuǎn)程物理存儲(chǔ)設(shè)備上。并且在某些系統(tǒng)中,該數(shù)據(jù)可以被劃分成不同數(shù)據(jù)段或數(shù)據(jù)包并被本地或遠(yuǎn)程地存儲(chǔ)在物理存儲(chǔ)介質(zhì)上。使用固定的物理數(shù)據(jù)存儲(chǔ)設(shè)備增加了成本、維護(hù)、管理并且生成數(shù)據(jù)的固定物理記錄,而不論這是否是用戶42所希望的。本發(fā)明不使用固定的物理數(shù)據(jù)存儲(chǔ)裝置來(lái)存儲(chǔ)數(shù)據(jù)并且不使用物理數(shù)據(jù)存儲(chǔ)裝置來(lái)提供數(shù)據(jù)冗余。當(dāng)中央服務(wù)器14接收到來(lái)自存儲(chǔ)處理100的存儲(chǔ)數(shù)據(jù)的請(qǐng)求時(shí),數(shù)據(jù)被中央服務(wù)器14拆卸并導(dǎo)向系統(tǒng)10中的節(jié)點(diǎn),在該節(jié)點(diǎn)處,數(shù)據(jù)隨后通過(guò)每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中的數(shù)據(jù)轉(zhuǎn)發(fā)處理200在系統(tǒng)10中被逐節(jié)點(diǎn)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)而不存儲(chǔ)在諸如光盤驅(qū)動(dòng)器之類的任何物理存儲(chǔ)介質(zhì)上。被轉(zhuǎn)發(fā)的拆卸后的數(shù)據(jù)在系統(tǒng)10中任一節(jié)點(diǎn)的存儲(chǔ)器中僅駐留非常短的時(shí)間段。拆卸后的數(shù)據(jù)(和重新組裝的數(shù)據(jù))不被存儲(chǔ)在任何網(wǎng)絡(luò)節(jié)點(diǎn)中的任何物理存儲(chǔ)介質(zhì)上。如上所述,中央服務(wù)器14可以將拆卸后的數(shù)據(jù)導(dǎo)向?qū)S镁W(wǎng)絡(luò),和公用網(wǎng)絡(luò),或?qū)S镁W(wǎng)絡(luò)和公用網(wǎng)絡(luò)的組合。并且如上所述,請(qǐng)求者可以向中央服務(wù)器14指示一種特定類型的數(shù)據(jù)被導(dǎo)向?qū)S镁W(wǎng)絡(luò)而另一種特定類型的數(shù)據(jù)被導(dǎo)向公用網(wǎng)絡(luò)。轉(zhuǎn)發(fā)到公用網(wǎng)絡(luò)可能要求請(qǐng)求者為訂閱付費(fèi)。中央服務(wù)器14也可以在拆卸之前分析將要轉(zhuǎn)發(fā)的數(shù)據(jù)并且例如根據(jù)類型或請(qǐng)求者的偏好來(lái)將數(shù)據(jù)發(fā)送給專用網(wǎng)絡(luò)或公用網(wǎng)絡(luò)。當(dāng)中央服務(wù)器14接收到來(lái)自存儲(chǔ)處理100的取回?cái)?shù)據(jù)的請(qǐng)求時(shí),正在系統(tǒng)10中被逐節(jié)點(diǎn)存儲(chǔ)器地轉(zhuǎn)發(fā)的被請(qǐng)求數(shù)據(jù)、數(shù)據(jù)分段(fragment)或數(shù)據(jù)包被取回,并且在必要時(shí)被重新組裝。以這種方式轉(zhuǎn)發(fā)的數(shù)據(jù)可以被分段成被如上所述地轉(zhuǎn)發(fā)的文件分段或數(shù)據(jù)包和片段(segment)。分段后的數(shù)據(jù)仍然不被存儲(chǔ)在任何網(wǎng)絡(luò)節(jié)點(diǎn)中的任何物理存儲(chǔ)介質(zhì)上,而是只被從一個(gè)節(jié)點(diǎn)的存儲(chǔ)器向另一個(gè)節(jié)點(diǎn)的存儲(chǔ)器轉(zhuǎn)發(fā)。如圖4中所示,存儲(chǔ)處理100包括向中央服務(wù)器14發(fā)送(102)存儲(chǔ)數(shù)據(jù)或取回?cái)?shù)據(jù)的請(qǐng)求。如果請(qǐng)求是取回?cái)?shù)據(jù)請(qǐng)求,則在組成所請(qǐng)求的數(shù)據(jù)的數(shù)據(jù)包或文件分段的重新組裝之后,存儲(chǔ)處理100從網(wǎng)絡(luò)中的節(jié)點(diǎn)或中央服務(wù)器14接收所請(qǐng)求的數(shù)據(jù)。如果給中央服務(wù)器14的請(qǐng)求是存儲(chǔ)數(shù)據(jù)請(qǐng)求,則存儲(chǔ)處理100從中央服務(wù)器14 接收(104)節(jié)點(diǎn)的地址。存儲(chǔ)處理100將數(shù)據(jù)分段(10 成數(shù)據(jù)包或文件片段并且將分段或文件片段(即,拆卸后的數(shù)據(jù))轉(zhuǎn)發(fā)(106)給由接收到的地址所表示的節(jié)點(diǎn)存儲(chǔ)器。如圖5中所示,數(shù)據(jù)轉(zhuǎn)發(fā)處理200包括接收(20 存儲(chǔ)數(shù)據(jù)或取回?cái)?shù)據(jù)的請(qǐng)求。如果接收到的請(qǐng)求是存儲(chǔ)數(shù)據(jù)的請(qǐng)求,則數(shù)據(jù)轉(zhuǎn)發(fā)處理200將數(shù)據(jù)拆卸(20 成數(shù)據(jù)包或文件片段,并且確定(204)可用于在存儲(chǔ)器中接收數(shù)據(jù)的節(jié)點(diǎn)的地址。該確定(204)可以包括對(duì)網(wǎng)絡(luò)進(jìn)行乒(Ping)操作并且確定網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn)可用或者確定網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn)具有最小流量,或者確定網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn)具有最大可用存儲(chǔ),或者這些或其它因素的任何組合。處理200向用戶系統(tǒng)發(fā)送Q06)消息,所述消息帶有供請(qǐng)求者轉(zhuǎn)發(fā)拆卸后的數(shù)據(jù)的具體節(jié)點(diǎn)的地址。處理200檢測(cè)(208)節(jié)點(diǎn)存儲(chǔ)器中是否存在拆卸后的數(shù)據(jù)。處理200將存儲(chǔ)器中的拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)(210)給節(jié)點(diǎn)網(wǎng)絡(luò)中的另一節(jié)點(diǎn),并且繼續(xù)重復(fù)拆卸后的數(shù)據(jù)的檢測(cè) (208)和拆卸后的數(shù)據(jù)的逐節(jié)點(diǎn)存儲(chǔ)器的轉(zhuǎn)發(fā)010)。當(dāng)拆卸后的數(shù)據(jù)到達(dá)任何節(jié)點(diǎn)存儲(chǔ)器中時(shí),處理200可以向拆卸后的數(shù)據(jù)附加012)時(shí)間戳。轉(zhuǎn)發(fā)(210)可以包括對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行乒操作來(lái)確定網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn)可用, 或確定網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn)具有最小流量,或確定網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn)具有最大可用存儲(chǔ),或這些或其它因素的任何組合。在一個(gè)特定示例中,在進(jìn)入節(jié)點(diǎn)時(shí),拆卸后的數(shù)據(jù)經(jīng)歷與節(jié)點(diǎn)或中央服務(wù)器14 或用戶的加密“握手”。這可以是可以使用公鑰-私鑰的公用的或?qū)S玫募用芟到y(tǒng),例如, Cashmere系統(tǒng)。Cashmere解耦(decouple)加密的轉(zhuǎn)發(fā)路徑和消息凈荷,這提高了性能,因?yàn)樵磧H需要對(duì)每個(gè)使用目的地的唯一公鑰的消息執(zhí)行單個(gè)公鑰加密。這具有如下益處只有真正的目的地節(jié)點(diǎn)才將能夠解密消息凈荷,而不是相應(yīng)的中繼組中的每個(gè)節(jié)點(diǎn)都將能夠解密消息凈荷。Cashmere提供這樣的能力目的地可以在不知道源的身份的情況下發(fā)送匿名答復(fù)消息。這是以類似的方式完成的,其中源創(chuàng)建答復(fù)路徑并以與轉(zhuǎn)發(fā)路徑類似的方式加密該答復(fù)路徑。在另一示例中,利用其它路由方案。如果接收到的請(qǐng)求是取回正被逐節(jié)點(diǎn)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)的拆卸后的數(shù)據(jù)的請(qǐng)求, 則數(shù)據(jù)轉(zhuǎn)發(fā)處理200在中央服務(wù)器14處使用散列標(biāo)示或其它唯一代碼進(jìn)行匹配014),其中散列標(biāo)示或其它唯一代碼可以在拆卸后的數(shù)據(jù)進(jìn)入節(jié)點(diǎn)時(shí)經(jīng)由加密握手被節(jié)點(diǎn)“嗅到”。 這可以通過(guò)對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行乒操作而發(fā)生。處理200向中央服務(wù)器14相信其中將有可能出現(xiàn)拆卸后的數(shù)據(jù)的節(jié)點(diǎn)狀態(tài)或節(jié)點(diǎn)發(fā)送(216)將拆卸后的數(shù)據(jù)在重新組裝(217)后直接返回給用戶的消息。中央服務(wù)器14可以將其要乒向的節(jié)點(diǎn)狀態(tài)限制得越窄,則取回將變得越高效并且如下的非必要消息傳送流量對(duì)節(jié)點(diǎn)造成的負(fù)擔(dān)會(huì)越小,所述非必要消息傳送流量對(duì)于中央服務(wù)器14和能夠轉(zhuǎn)發(fā)拆卸后的數(shù)據(jù)的節(jié)點(diǎn)之間的業(yè)務(wù)而言是不必要的。在正確的節(jié)點(diǎn)接收到用于轉(zhuǎn)發(fā)節(jié)點(diǎn)存儲(chǔ)器中的拆卸后的數(shù)據(jù)的消息后,處理200 重新組裝(217)拆卸后的數(shù)據(jù)并將節(jié)點(diǎn)存儲(chǔ)器中的重新組裝后的數(shù)據(jù)轉(zhuǎn)發(fā)(218)給請(qǐng)求者,并且轉(zhuǎn)發(fā)(220)重新組裝后的數(shù)據(jù)已被發(fā)送給用戶的確認(rèn)消息。該路由消息可以被直接發(fā)送給中央服務(wù)器14或者可以經(jīng)由網(wǎng)絡(luò)10中的其它(一個(gè)或多個(gè))節(jié)點(diǎn)或(一個(gè)或多個(gè))超節(jié)點(diǎn)被傳遞給中央服務(wù)器14或多個(gè)服務(wù)器。在用戶接收到所請(qǐng)求的重新組裝后的數(shù)據(jù)時(shí),用戶的應(yīng)用自動(dòng)發(fā)揮作用以向中央服務(wù)器14回應(yīng)(ping)所請(qǐng)求的重新組裝后的數(shù)據(jù)已被接收到。因此,網(wǎng)絡(luò)10在沒有將數(shù)據(jù)緩存、下載和/或存儲(chǔ)到任何物理存儲(chǔ)介質(zhì)上的情況下創(chuàng)建數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)存儲(chǔ)和管理是經(jīng)由數(shù)據(jù)的逐節(jié)點(diǎn)存儲(chǔ)器的持續(xù)路由來(lái)完成的,所轉(zhuǎn)發(fā)的數(shù)據(jù)僅在用戶從網(wǎng)絡(luò)10請(qǐng)求將數(shù)據(jù)返回給用戶時(shí)被下載。新的節(jié)點(diǎn)和節(jié)點(diǎn)狀態(tài)可以基于性能被添加到網(wǎng)絡(luò)10和/或從網(wǎng)絡(luò)10刪除。用戶可以有權(quán)訪問(wèn)所有節(jié)點(diǎn)或者可以被(一個(gè)或多個(gè))中央服務(wù)器或經(jīng)由專用、公用的或?qū)S霉镁W(wǎng)絡(luò)的特定體系架構(gòu)被劃分到某些節(jié)點(diǎn)或“節(jié)點(diǎn)狀態(tài)”。各個(gè)節(jié)點(diǎn)、節(jié)點(diǎn)狀態(tài)和超節(jié)點(diǎn)也可以是公用或?qū)S镁W(wǎng)絡(luò)中的外聯(lián)網(wǎng)對(duì)等端、無(wú)線網(wǎng)絡(luò)對(duì)等端、衛(wèi)星對(duì)等節(jié)點(diǎn)、Wi-Fi對(duì)等節(jié)點(diǎn)、寬帶網(wǎng)絡(luò)等。在采用了相同的安全系統(tǒng)以及適合于嚴(yán)格的特定部署的客戶解決方案(例如用于無(wú)線對(duì)等端的無(wú)線加密方案等等)的情況下,對(duì)等節(jié)點(diǎn)或用戶可以從任何有效的對(duì)等點(diǎn)開始用作網(wǎng)絡(luò)10中的路由參與方。在處理200中,不是將數(shù)據(jù)緩存或保持在遠(yuǎn)程服務(wù)器、硬盤驅(qū)動(dòng)器或其它固定存儲(chǔ)介質(zhì)中,而是,數(shù)據(jù)被逐節(jié)點(diǎn)存儲(chǔ)器地傳遞、路由、轉(zhuǎn)發(fā)。在經(jīng)授權(quán)的用戶調(diào)用數(shù)據(jù)之前, 數(shù)據(jù)從來(lái)不會(huì)被下載。該系統(tǒng)上的用戶可以授權(quán)多于一個(gè)的用戶有權(quán)訪問(wèn)數(shù)據(jù)。處理200中的主要目標(biāo)是生成這樣的數(shù)據(jù)存儲(chǔ)和管理系統(tǒng),其中,數(shù)據(jù)從來(lái)不被固定在物理存儲(chǔ)裝置中,而是實(shí)際上,在網(wǎng)絡(luò)中被逐節(jié)點(diǎn)存儲(chǔ)器地持續(xù)路由/轉(zhuǎn)發(fā)。數(shù)據(jù)被轉(zhuǎn)發(fā)到的節(jié)點(diǎn)的路徑也可以被中央服務(wù)器14更改,以針對(duì)系統(tǒng)能力進(jìn)行調(diào)節(jié)并且消除冗余的數(shù)據(jù)路徑,沒有該特征,這些冗余的數(shù)據(jù)路徑可能由于數(shù)據(jù)路徑的增大的可能性而減弱網(wǎng)絡(luò)的安全性。本發(fā)明可以被執(zhí)行來(lái)實(shí)現(xiàn)以下優(yōu)點(diǎn)中的一個(gè)或多個(gè)。網(wǎng)絡(luò)創(chuàng)建數(shù)據(jù)存儲(chǔ)而不緩存或下載。數(shù)據(jù)存儲(chǔ)和管理是經(jīng)由數(shù)據(jù)的不斷路由來(lái)完成的。本發(fā)明的實(shí)施例可以以數(shù)字電路或計(jì)算機(jī)硬件、固件、軟件中或者在它們的組合的形式實(shí)現(xiàn)。本發(fā)明的實(shí)施例可以被實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品或者被實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品以供數(shù)據(jù)處理設(shè)備運(yùn)行或控制數(shù)據(jù)處理設(shè)備的操作,所述計(jì)算機(jī)程序產(chǎn)品即被有形地包含在信息載體中(例如在機(jī)器可讀存儲(chǔ)裝置中或傳播信號(hào)中)的計(jì)算機(jī)程序,所述數(shù)據(jù)處理設(shè)備例如是可編程處理器、計(jì)算機(jī)或多個(gè)計(jì)算機(jī)。計(jì)算機(jī)程序可以以任何形式的編程語(yǔ)言 (包括匯編語(yǔ)言或解譯語(yǔ)言)來(lái)編寫,并且其可以以任何形式來(lái)部署,這些形式包括作為單獨(dú)的程序或作為模塊、組件、子例程或適于在計(jì)算環(huán)境中使用的其他單元。計(jì)算機(jī)程序可以被部署為在一個(gè)地點(diǎn)或跨越多個(gè)地點(diǎn)并通過(guò)通信網(wǎng)絡(luò)互聯(lián)的一個(gè)計(jì)算機(jī)或多個(gè)計(jì)算機(jī)上執(zhí)行。本發(fā)明實(shí)施例的方法步驟可以由一個(gè)或多個(gè)可編程處理器執(zhí)行,所述一個(gè)或多個(gè)可編程處理器執(zhí)行計(jì)算機(jī)程序以通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行運(yùn)算并生成輸出來(lái)執(zhí)行本發(fā)明的功能。方法步驟也可以由專用邏輯電路執(zhí)行,并且本發(fā)明的裝置可以實(shí)現(xiàn)為專用邏輯電路,所述專用邏輯電路例如是FPGA(現(xiàn)場(chǎng)可編程門陣列)或ASIC(專用集成電路)。適合于計(jì)算機(jī)程序的執(zhí)行的處理器例如包括通用和專用微處理器,以及任何類型的數(shù)字計(jì)算機(jī)的一個(gè)或多個(gè)處理器。一般地,處理器將從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或這兩者接收指令和數(shù)據(jù)。計(jì)算機(jī)的必要元件是用于執(zhí)行指令的處理器和用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備。一般地,計(jì)算機(jī)也將包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備,或可操作地耦合到用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備以從其接收數(shù)據(jù)或向其傳送數(shù)據(jù),或者既包括又與之耦合,這些存儲(chǔ)設(shè)備例如是磁盤、磁光盤或光盤。適于包含計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體包括所有形式的非易失性存儲(chǔ)器,例如包括半導(dǎo)體存儲(chǔ)裝置,例如EPROM、EEPROM和閃存裝置;磁盤,例如內(nèi)部硬盤或可移除光盤;磁光盤;以及⑶ROM和DVD-ROM盤。這些處理器和存儲(chǔ)器可以用專用邏輯電路補(bǔ)充或結(jié)合在專用邏輯電路中。 可以理解,以上描述意圖說(shuō)明而非限制本發(fā)明的范圍,本發(fā)明的范圍由所附權(quán)利要求限定。其它實(shí)施例在以下權(quán)利要求書的范圍以內(nèi)。
權(quán)利要求
1.一種方法,包括在互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中,從源系統(tǒng)接收用于存儲(chǔ)數(shù)據(jù)的請(qǐng)求; 拆卸所述數(shù)據(jù);將拆卸后的數(shù)據(jù)導(dǎo)向計(jì)算機(jī)存儲(chǔ)器;在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)所述拆卸后的數(shù)據(jù),而不存儲(chǔ)在所述網(wǎng)絡(luò)中的任何物理存儲(chǔ)設(shè)備上,所述持續(xù)轉(zhuǎn)發(fā)包括基于一個(gè)或多個(gè)因素來(lái)確定可用于接收所述拆卸后的數(shù)據(jù)的節(jié)點(diǎn)的地址; 向所述源系統(tǒng)發(fā)送消息,所述消息帶有供請(qǐng)求者轉(zhuǎn)發(fā)所述拆卸后的數(shù)據(jù)的具體節(jié)點(diǎn)的地址;檢測(cè)在所述具體節(jié)點(diǎn)的存儲(chǔ)器中是否存在所述拆卸后的數(shù)據(jù);以及將所述拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)給在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中的節(jié)點(diǎn)的另一計(jì)算機(jī)存儲(chǔ)器,而不存儲(chǔ)在任何物理存儲(chǔ)設(shè)備上。
2.根據(jù)權(quán)利要求1所述的方法,其中,持續(xù)轉(zhuǎn)發(fā)還包括對(duì)在所述具體節(jié)點(diǎn)的計(jì)算機(jī)存儲(chǔ)器中的所述拆卸后的數(shù)據(jù)應(yīng)用時(shí)間戳。
3.根據(jù)權(quán)利要求2所述的方法,其中所述一個(gè)或多個(gè)因素包括網(wǎng)絡(luò)流量分析和可用存儲(chǔ)。
4.根據(jù)權(quán)利要求1所述的方法,還包括從所述源系統(tǒng)接收用于取回正在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中被持續(xù)轉(zhuǎn)發(fā)的拆卸后的數(shù)據(jù)的請(qǐng)求;響應(yīng)于用于取回?cái)?shù)據(jù)的所述請(qǐng)求而從節(jié)點(diǎn)存儲(chǔ)器取回所述拆卸后的數(shù)據(jù);以及從所取回的拆卸后的數(shù)據(jù)重新組裝所述數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,其中取回包括在中央服務(wù)器處使用散列標(biāo)示來(lái)匹配數(shù)據(jù)請(qǐng)求,該散列標(biāo)示表示進(jìn)入節(jié)點(diǎn)存儲(chǔ)器的拆卸后的數(shù)據(jù);向被預(yù)測(cè)在存儲(chǔ)器中具有所述拆卸后的數(shù)據(jù)的節(jié)點(diǎn)發(fā)送消息,該消息指示所述節(jié)點(diǎn)重新組裝所述拆卸后的數(shù)據(jù)并將重新組裝的數(shù)據(jù)轉(zhuǎn)發(fā)給所述請(qǐng)求者;以及向所述中央服務(wù)器發(fā)送所述重新組裝的數(shù)據(jù)已被轉(zhuǎn)發(fā)給所述請(qǐng)求者的確認(rèn)消息。
6.根據(jù)權(quán)利要求5所述的方法,還包括從所述請(qǐng)求者接收所請(qǐng)求的數(shù)據(jù)已被接收到的確認(rèn)。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述拆卸后的數(shù)據(jù)是數(shù)據(jù)包。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述拆卸后的數(shù)據(jù)是文件片段。
9.一種計(jì)算機(jī)程序產(chǎn)品,被有形地包含在計(jì)算機(jī)可讀介質(zhì)中,用于在互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)和取回?cái)?shù)據(jù),所述計(jì)算機(jī)程序產(chǎn)品使得數(shù)據(jù)處理裝置在網(wǎng)絡(luò)中,從源系統(tǒng)接收用于存儲(chǔ)數(shù)據(jù)的請(qǐng)求; 拆卸所述數(shù)據(jù);將拆卸后的數(shù)據(jù)導(dǎo)向計(jì)算機(jī)存儲(chǔ)器;在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)所述拆卸后的數(shù)據(jù),而不存儲(chǔ)在所述網(wǎng)絡(luò)中的任何物理存儲(chǔ)設(shè)備上,所述持續(xù)轉(zhuǎn)發(fā)包括基于一個(gè)或多個(gè)因素來(lái)確定可用于接收所述拆卸后的數(shù)據(jù)的節(jié)點(diǎn)的地址;向所述源系統(tǒng)發(fā)送消息,所述消息帶有供請(qǐng)求者轉(zhuǎn)發(fā)所述拆卸后的數(shù)據(jù)的具體節(jié)點(diǎn)的地址;檢測(cè)在所述具體節(jié)點(diǎn)的存儲(chǔ)器中是否存在所述拆卸后的數(shù)據(jù);以及將所述拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)給在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中的節(jié)點(diǎn)的另一計(jì)算機(jī)存儲(chǔ)器,而不存儲(chǔ)在任何物理存儲(chǔ)設(shè)備上。
10.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中,持續(xù)轉(zhuǎn)發(fā)還包括對(duì)在所述具體節(jié)點(diǎn)的計(jì)算機(jī)存儲(chǔ)器中的所述拆卸后的數(shù)據(jù)應(yīng)用時(shí)間戳。
11.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)程序產(chǎn)品,其中所述一個(gè)或多個(gè)因素包括網(wǎng)絡(luò)流量分析和可用存儲(chǔ)。
12.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,還包括從所述源系統(tǒng)接收用于取回正在所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中被持續(xù)轉(zhuǎn)發(fā)的拆卸后的數(shù)據(jù)的請(qǐng)求;響應(yīng)于用于取回?cái)?shù)據(jù)的所述請(qǐng)求而從節(jié)點(diǎn)存儲(chǔ)器取回所述拆卸后的數(shù)據(jù);以及從所取回的拆卸后的數(shù)據(jù)重新組裝所述數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其中取回包括在中央服務(wù)器處使用散列標(biāo)示來(lái)匹配數(shù)據(jù)請(qǐng)求,該散列標(biāo)示表示進(jìn)入節(jié)點(diǎn)存儲(chǔ)器的拆卸后的數(shù)據(jù);向被預(yù)測(cè)在存儲(chǔ)器中具有所述拆卸后的數(shù)據(jù)的節(jié)點(diǎn)發(fā)送消息,該消息指示所述節(jié)點(diǎn)重新組裝所述拆卸后的數(shù)據(jù)并將重新組裝的數(shù)據(jù)轉(zhuǎn)發(fā)給所述請(qǐng)求者;以及向所述中央服務(wù)器發(fā)送所述重新組裝的數(shù)據(jù)已被轉(zhuǎn)發(fā)給所述請(qǐng)求者的確認(rèn)消息。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,還包括從所述請(qǐng)求者接收所請(qǐng)求的數(shù)據(jù)已被接收到的確認(rèn)。
15.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述拆卸后的數(shù)據(jù)是數(shù)據(jù)包。
16.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述拆卸后的數(shù)據(jù)是文件片段。
17.一種網(wǎng)絡(luò),包括一組互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn),每個(gè)計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)響應(yīng)于來(lái)自請(qǐng)求系統(tǒng)的用于存儲(chǔ)數(shù)據(jù)的請(qǐng)求,接收拆卸后的數(shù)據(jù)并且將所述拆卸后的數(shù)據(jù)逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)而不存儲(chǔ)在任何物理存儲(chǔ)設(shè)備上,并且響應(yīng)于來(lái)自所述請(qǐng)求系統(tǒng)的用于取回?cái)?shù)據(jù)的請(qǐng)求,取回正被逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)的拆卸后的數(shù)據(jù),每個(gè)節(jié)點(diǎn)還被配置成檢測(cè)在其存儲(chǔ)器中是否存在拆卸后的數(shù)據(jù),應(yīng)用時(shí)間戳,并根據(jù)節(jié)點(diǎn)的可用性將所述拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)給所述互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)中的另一節(jié)點(diǎn)的計(jì)算機(jī)存儲(chǔ)器。
18.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò),其中所述節(jié)點(diǎn)的可用性是根據(jù)其網(wǎng)絡(luò)流量的大小來(lái)確定的。
19.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò),其中中央節(jié)點(diǎn)在中央服務(wù)器處使用表示進(jìn)入節(jié)點(diǎn)的拆卸后的數(shù)據(jù)的散列標(biāo)志來(lái)匹配數(shù)據(jù)取回請(qǐng)求,向被預(yù)測(cè)在存儲(chǔ)器中具有所述拆卸后的數(shù)據(jù)的節(jié)點(diǎn)發(fā)送消息、所述消息指示所述節(jié)點(diǎn)將存儲(chǔ)器中的拆卸后的數(shù)據(jù)在被重新組裝之后轉(zhuǎn)發(fā)給所述請(qǐng)求者,并且向所述中央服務(wù)器發(fā)送重新組裝后的存儲(chǔ)器中的數(shù)據(jù)已被轉(zhuǎn)發(fā)給所述請(qǐng)求者的確認(rèn)消息。
全文摘要
用于數(shù)據(jù)轉(zhuǎn)發(fā)存儲(chǔ)中的拆卸/重新組裝的方法和裝置。一種方法,包括從源系統(tǒng)接收用于存儲(chǔ)數(shù)據(jù)的請(qǐng)求,拆卸數(shù)據(jù),將拆卸后的數(shù)據(jù)導(dǎo)向計(jì)算機(jī)存儲(chǔ)器,并且在互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中逐計(jì)算機(jī)存儲(chǔ)器地持續(xù)轉(zhuǎn)發(fā)拆卸后的數(shù)據(jù),而不存儲(chǔ)在該網(wǎng)絡(luò)中的任何物理存儲(chǔ)設(shè)備上。所述持續(xù)轉(zhuǎn)發(fā)包括基于一個(gè)或多個(gè)因素來(lái)確定可用于接收拆卸后的數(shù)據(jù)的節(jié)點(diǎn)的地址;向源系統(tǒng)發(fā)送消息,該消息帶有供請(qǐng)求者轉(zhuǎn)發(fā)拆卸后的數(shù)據(jù)的具體節(jié)點(diǎn)的地址;檢測(cè)在具體節(jié)點(diǎn)的存儲(chǔ)器中是否存在拆卸后的數(shù)據(jù);以及將拆卸后的數(shù)據(jù)轉(zhuǎn)發(fā)給在互連的計(jì)算機(jī)系統(tǒng)節(jié)點(diǎn)的網(wǎng)絡(luò)中的節(jié)點(diǎn)的另一計(jì)算機(jī)存儲(chǔ)器,而不存儲(chǔ)在任何物理存儲(chǔ)設(shè)備上。
文檔編號(hào)G06F15/167GK102203763SQ200980138535
公開日2011年9月28日 申請(qǐng)日期2009年9月25日 優(yōu)先權(quán)日2008年9月29日
發(fā)明者吉恩·費(fèi)恩, 愛德華·麥里特 申請(qǐng)人:塔吉特樞轉(zhuǎn)讓有限責(zé)任公司