分布式存儲(chǔ)系統(tǒng)、控制裝置、客戶終端、負(fù)載平衡方法以及程序的制作方法
【專(zhuān)利摘要】一種分布式存儲(chǔ)系統(tǒng),包括:多個(gè)服務(wù)器,用于分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù);分組轉(zhuǎn)發(fā)裝置,用于在接收到包含鍵信息并且尋址到多個(gè)服務(wù)器中的一個(gè)的新分組時(shí)請(qǐng)求控制裝置以從多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地;以及控制裝置??刂蒲b置包括:轉(zhuǎn)發(fā)目的地選擇部,用于根據(jù)分組中的鍵信息來(lái)決定分組的轉(zhuǎn)發(fā)目的地;以及條目設(shè)置部,用于在通向轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地的流條目。分組轉(zhuǎn)發(fā)裝置利用所設(shè)置的流條目將具有相同鍵信息的分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地。本發(fā)明的目的在于提供一種用于對(duì)鍵值配置數(shù)據(jù)進(jìn)行監(jiān)督的分布式存儲(chǔ)系統(tǒng),其中唯一的選擇節(jié)點(diǎn)用于選擇轉(zhuǎn)發(fā)目的地的服務(wù)器,因?yàn)椴粫?huì)危害請(qǐng)求處理中的處理延遲的降低。
【專(zhuān)利說(shuō)明】分布式存儲(chǔ)系統(tǒng)、控制裝置、客戶終端、負(fù)載平衡方法以及程序
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)要求日本專(zhuān)利申請(qǐng)N0.2012— 079952(于2012年3月30日提交)的優(yōu)先權(quán),因此通過(guò)引用將其內(nèi)容整個(gè)合并到本公開(kāi)之中。
[0002]本發(fā)明涉及一種分布式存儲(chǔ)系統(tǒng)、控制裝置、客戶終端、負(fù)載平衡方法、以及程序,并且進(jìn)一步尤其是,涉及一種對(duì)鍵值型數(shù)據(jù)進(jìn)行監(jiān)督的分布式存儲(chǔ)系統(tǒng)、控制裝置、客戶終端、負(fù)載平衡方法、以及程序。
【背景技術(shù)】
[0003]在專(zhuān)利文獻(xiàn)I中,公開(kāi)了一種網(wǎng)絡(luò)系統(tǒng),在該網(wǎng)絡(luò)系統(tǒng)中通過(guò)負(fù)載平衡器來(lái)減輕施加于站點(diǎn)之內(nèi)的Web服務(wù)器上的負(fù)載以即使在到達(dá)負(fù)載平衡器的路徑上出現(xiàn)了故障時(shí)也能夠進(jìn)行高速路徑交換。根據(jù)專(zhuān)利文獻(xiàn)1,當(dāng)配備在客戶終端與服務(wù)器的中途的路由器已接收到來(lái)自客戶終端的分組時(shí),路由器根據(jù)目的地L4端口號(hào)以及包含在分組報(bào)頭中的源地址的散列值來(lái)決定轉(zhuǎn)發(fā)目的地服務(wù)器。通過(guò)這樣做,可將對(duì)于在和層4 (L4)上的可識(shí)別的一個(gè)服務(wù)不同的服務(wù)器的處理分配給另一個(gè)服務(wù)器。
[0004]在專(zhuān)利文獻(xiàn)2中,公開(kāi)了一種負(fù)載平衡器,該負(fù)載平衡器由于積極地維護(hù)唯一性而將防止對(duì)客戶終端的響應(yīng)特性劣化。在該專(zhuān)利文獻(xiàn)中,布置在負(fù)載平衡器與服務(wù)器之間的中繼裝置參考從服務(wù)器至客戶終端的響應(yīng)以將路徑標(biāo)識(shí)符(從一個(gè)中繼裝置分配給另一個(gè)的標(biāo)識(shí)符)緩寫(xiě)或添加到L7數(shù)據(jù)中。當(dāng)客戶終端重新發(fā)送請(qǐng)求時(shí),將上次接收到的路徑標(biāo)識(shí)符嵌入到該請(qǐng)求中。已接收到分組的負(fù)載平衡器將它傳輸?shù)街欣^裝置中的適當(dāng)一個(gè)。
[0005]在專(zhuān)利文獻(xiàn)3中,公開(kāi)了一種計(jì)算機(jī)系統(tǒng),在該計(jì)算機(jī)系統(tǒng)中由多個(gè)裝置分割地負(fù)責(zé)決定轉(zhuǎn)發(fā)目的地的處理以便降低URL (統(tǒng)一資源定位符)交換機(jī)的存儲(chǔ)容量或計(jì)算量。
[0006]在非專(zhuān)利文獻(xiàn)I和2中,公開(kāi)了采用下述集中控制配置網(wǎng)絡(luò)體系結(jié)構(gòu)的被稱(chēng)作OpenFlow的集中控制型網(wǎng)絡(luò),在所述集中控制配置網(wǎng)絡(luò)體系結(jié)構(gòu)中稱(chēng)為OpenFlow控制器的控制裝置對(duì)稱(chēng)為OpenFlow交換機(jī)的交換機(jī)的特性進(jìn)行控制。可按照整個(gè)網(wǎng)絡(luò)的狀態(tài)來(lái)靈活地修改構(gòu)成了虛擬網(wǎng)絡(luò)的多個(gè)這些交換機(jī)的行為。因而,借助于OpenFlow,可更容易地構(gòu)造高度靈活的虛擬網(wǎng)絡(luò)。
[0007]引用列表
[0008]專(zhuān)利文獻(xiàn)
[0009]專(zhuān)利文獻(xiàn)1:
[0010]JP 專(zhuān)利 KOKAI 公開(kāi) N0.JP2003— 131961A
[0011]專(zhuān)利文獻(xiàn)2:
[0012]JP 專(zhuān)利 KOKAI 公開(kāi) N0.JP2011—041006A
[0013]專(zhuān)利文獻(xiàn)3:
[0014]JP 專(zhuān)利 KOKAI 公開(kāi) N0.JP2006—309383A
[0015]非專(zhuān)利文獻(xiàn)
[0016]非專(zhuān)利文獻(xiàn)1:
[0017]Nick McKeown 和其他七人:“0penFlow:Enabling Innovat1n in CampusNetworks”,[在線],[2012 年 2 月 14 日搜索],因特網(wǎng)〈URL:http://www.0penflow.0rg/documents/openflow-wp-latest.pdf>
[0018]非專(zhuān)利文獻(xiàn)2:
[0019]"OpenFlow switch Specificat1n, Vers1nl.1.0, Implemented (WireProtocol0x02) ”,[在線],[2012 年 2 月 14 日搜索],因特網(wǎng)〈URL://www.0penf low.0rg/documents/openflow-spec-vl.1.0.pdf>
【發(fā)明內(nèi)容】
[0020]技術(shù)問(wèn)題
[0021]本發(fā)明給出以下分析。在用于對(duì)鍵值配置數(shù)據(jù)進(jìn)行監(jiān)督的分布式存儲(chǔ)系統(tǒng)中,很難實(shí)現(xiàn)通過(guò)單個(gè)選擇裝置來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器并且與之相結(jié)合地降低請(qǐng)求處理中的延遲。通過(guò)單個(gè)選擇裝置來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器是指在單個(gè)節(jié)點(diǎn)執(zhí)行選擇來(lái)自客戶終端的所有請(qǐng)求將要傳輸?shù)侥膫€(gè)服務(wù)器的處理。如果由多個(gè)節(jié)點(diǎn)執(zhí)行該處理并且添加或除去服務(wù)器,那么必須使用用于保持服務(wù)器信息從一個(gè)節(jié)點(diǎn)至另一個(gè)的唯一性的合適方案,因而處理變復(fù)雜了。
[0022]另一方面,如果由單個(gè)節(jié)點(diǎn)進(jìn)行對(duì)轉(zhuǎn)發(fā)目的地服務(wù)器的選擇,那么單個(gè)選擇節(jié)點(diǎn)必須接收來(lái)自所有客戶終端的所有請(qǐng)求并且選擇轉(zhuǎn)發(fā)目的地服務(wù)器以執(zhí)行轉(zhuǎn)發(fā)處理。這可能導(dǎo)致單個(gè)節(jié)點(diǎn)上的負(fù)載增大以加劇了請(qǐng)求處理中的延遲。
[0023]在專(zhuān)利文獻(xiàn)I的網(wǎng)絡(luò)系統(tǒng)中,如果頻繁地進(jìn)行從指定客戶終端請(qǐng)求相同服務(wù),那么將該請(qǐng)求轉(zhuǎn)發(fā)到相同服務(wù)器,以致負(fù)載平衡可能不足夠。
[0024]在專(zhuān)利文獻(xiàn)2中,中繼裝置又必須參考從服務(wù)器至客戶終端的所有響應(yīng),因而處理延遲可能增大了。
[0025]在專(zhuān)利文獻(xiàn)3中,利用下述轉(zhuǎn)發(fā)目的地選擇表格來(lái)決定轉(zhuǎn)發(fā)目的地,所述轉(zhuǎn)發(fā)目的地選擇表格用于對(duì)下述固定長(zhǎng)度的散列值與轉(zhuǎn)發(fā)目的地進(jìn)行組配,所述固定長(zhǎng)度的散列值是由客戶終端所請(qǐng)求的內(nèi)容的標(biāo)識(shí)符所計(jì)算的。如果請(qǐng)求集中于指定內(nèi)容,那么必須選擇相同服務(wù)器,因此同樣地不會(huì)保持負(fù)載平衡。
[0026]因此本發(fā)明的目的是提供一種有助于實(shí)現(xiàn)通過(guò)單個(gè)選擇裝置來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器并且與之相結(jié)合地降低請(qǐng)求處理中的延遲的分布式存儲(chǔ)系統(tǒng)、控制裝置、客戶終端、負(fù)載分配方法、以及程序。
[0027]解決技術(shù)問(wèn)題的手段
[0028]根據(jù)本發(fā)明的第一方面,提供了一種分布式存儲(chǔ)系統(tǒng)。該分布式存儲(chǔ)系統(tǒng)包括:多個(gè)服務(wù)器,用于分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù);分組轉(zhuǎn)發(fā)裝置,用于在接收到包含鍵信息并且尋址到多個(gè)服務(wù)器中的一個(gè)的新分組時(shí)請(qǐng)求控制裝置以從多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地;以及控制裝置。該控制裝置包括:轉(zhuǎn)發(fā)目的地選擇部,用于根據(jù)分組中的鍵信息來(lái)決定分組的轉(zhuǎn)發(fā)目的地;以及條目設(shè)置部,用于在通向轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地的流條目。該分組轉(zhuǎn)發(fā)裝置利用所設(shè)置的流條目將具有相同鍵信息的分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地。
[0029]根據(jù)本發(fā)明的第二方面,提供了一種與多個(gè)服務(wù)器和分組轉(zhuǎn)發(fā)裝置相連接的控制裝置。多個(gè)服務(wù)器分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù)。在接收到包含鍵信息并且尋址到多個(gè)服務(wù)器中的一個(gè)的新分組時(shí),分組轉(zhuǎn)發(fā)裝置請(qǐng)求控制裝置以從多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地。該控制裝置包括:轉(zhuǎn)發(fā)目的地選擇部,用于根據(jù)分組中的鍵信息來(lái)決定分組的轉(zhuǎn)發(fā)目的地;以及條目設(shè)置部,用于在通向轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地的流條目。
[0030]根據(jù)本發(fā)明的第三方面,提供了一種客戶終端。該客戶終端包括地址設(shè)置部,該地址設(shè)置部用于以利用鍵信息的散列值所生成的目的地地址來(lái)生成請(qǐng)求分組??蛻艚K端利用該請(qǐng)求分組請(qǐng)求服務(wù)器。
[0031]根據(jù)本發(fā)明的第四方面,提供了一種負(fù)載平衡方法。該負(fù)載平衡方法包括:通過(guò)控制裝置,接收來(lái)自分組轉(zhuǎn)發(fā)裝置的用于決定具有與值配對(duì)的鍵信息的新分組的轉(zhuǎn)發(fā)目的地的請(qǐng)求;基于分組中的鍵信息來(lái)從多個(gè)服務(wù)器當(dāng)中決定分組的轉(zhuǎn)發(fā)目的地;以及在通向轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地的流條目。本發(fā)明與作為計(jì)算機(jī)的指定機(jī)器密切相關(guān),所述計(jì)算機(jī)用于向用戶呈現(xiàn)項(xiàng)并且接受來(lái)自用戶的對(duì)項(xiàng)的選擇的計(jì)算機(jī)。
[0032]根據(jù)本發(fā)明的第五方面,提供了一種加載于與多個(gè)服務(wù)器和分組轉(zhuǎn)發(fā)裝置相連接的控制裝置上的計(jì)算機(jī)的程序。多個(gè)服務(wù)器分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù)。分組轉(zhuǎn)發(fā)裝置在接收到包含鍵信息并且尋址到多個(gè)服務(wù)器中的一個(gè)的新分組時(shí)請(qǐng)求控制裝置以從多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地。該程序可使計(jì)算機(jī)執(zhí)行:基于分組中的鍵信息來(lái)從多個(gè)服務(wù)器當(dāng)中決定分組的轉(zhuǎn)發(fā)目的地;以及在通向轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地的流條目。應(yīng)該注意的是可在計(jì)算機(jī)可讀的即非瞬態(tài)的記錄介質(zhì)上對(duì)該程序進(jìn)行重新編碼。也就是說(shuō),本發(fā)明可以是作為計(jì)算機(jī)程序產(chǎn)品實(shí)現(xiàn)的。
[0033]發(fā)明的有益效果
[0034]根據(jù)本發(fā)明,在用于對(duì)鍵值型數(shù)據(jù)進(jìn)行監(jiān)督的分布式存儲(chǔ)系統(tǒng)中,可有助于實(shí)現(xiàn)通過(guò)單個(gè)選擇節(jié)點(diǎn)來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器并且同時(shí)降低請(qǐng)求處理中的延遲。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0035]圖1是示出了本發(fā)明的示意性實(shí)施例的配置的方框圖。
[0036]圖2是示出了根據(jù)本發(fā)明的第一示意性實(shí)施例的分布式存儲(chǔ)系統(tǒng)的配置的方框圖。
[0037]圖3示出了由根據(jù)本發(fā)明的第一示意性實(shí)施例的控制裝置所保持的服務(wù)器表格的示例。
[0038]圖4是用于對(duì)本發(fā)明的第一示意性實(shí)施例(在寫(xiě)請(qǐng)求時(shí))的操作進(jìn)行說(shuō)明的流程圖。
[0039]圖5是用于對(duì)本發(fā)明的第一示意性實(shí)施例在來(lái)自服務(wù)器的響應(yīng)時(shí))的操作(進(jìn)行說(shuō)明的流程圖。
[0040]圖6是示出了根據(jù)本發(fā)明的第二示意性實(shí)施例的分布式存儲(chǔ)系統(tǒng)的配置的方框圖。
[0041]圖7是用于對(duì)根據(jù)本發(fā)明的第二示意性實(shí)施例的生成偽地址的方法進(jìn)行說(shuō)明的示意圖。
[0042]圖8示出了由本發(fā)明的第二示意性實(shí)施例的控制裝置所保持的服務(wù)器表格的示例。
[0043]圖9是用于對(duì)本發(fā)明的第二示意性實(shí)施例(在寫(xiě)請(qǐng)求時(shí))的操作進(jìn)行說(shuō)明的流程圖。
[0044]圖10是用于對(duì)本發(fā)明的第二示意性實(shí)施例(在選擇轉(zhuǎn)發(fā)目的地服務(wù)器時(shí))的操作進(jìn)行說(shuō)明的流程圖。
[0045]圖11是用于對(duì)本發(fā)明的第二示意性實(shí)施例(在來(lái)自服務(wù)器的響應(yīng)時(shí))的操作進(jìn)行說(shuō)明的流程圖。
[0046]圖12是示出了根據(jù)本發(fā)明的第三示意性實(shí)施例的分布式存儲(chǔ)系統(tǒng)的配置的方框圖。
[0047]圖13是用于對(duì)本發(fā)明的第三示意性實(shí)施例(在寫(xiě)請(qǐng)求時(shí))的操作進(jìn)行說(shuō)明的流程圖。
[0048]圖14是用于對(duì)本發(fā)明的第三示意性實(shí)施例(在來(lái)自服務(wù)器的響應(yīng)時(shí))的操作進(jìn)行說(shuō)明的流程圖。
【具體實(shí)施方式】
[0049]首先,參考附圖對(duì)本發(fā)明的示意性實(shí)施例的概要進(jìn)行描述。應(yīng)該注意的是在用于參考附圖的概要中所使用的符號(hào)僅僅用于幫助理解并且不是為了將本發(fā)明限制在所說(shuō)明的方式。
[0050]參考圖1,根據(jù)示意性實(shí)施例的本發(fā)明可以是由下述配置實(shí)現(xiàn)的,所述配置包括:多個(gè)服務(wù)器1,用于分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù);分組轉(zhuǎn)發(fā)裝置2A,用于在接收到包含鍵信息并且尋址到多個(gè)服務(wù)器中的一個(gè)的新分組時(shí)請(qǐng)求控制裝置3A以從多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地;以及控制裝置3A。
[0051]更具體地說(shuō),控制裝置3A包括:轉(zhuǎn)發(fā)目的地選擇部33A,用于根據(jù)分組中的鍵信息來(lái)決定分組的轉(zhuǎn)發(fā)目的地;以及條目設(shè)置部34A,用于在通向轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地的流條目。分組轉(zhuǎn)發(fā)裝置2A利用所設(shè)置的流條目將具有相同鍵信息的分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地。
[0052]如上所述,可通過(guò)單個(gè)選擇節(jié)點(diǎn)(上述控制裝置3A)來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器并且相結(jié)合地降低在(通過(guò)上述流條目實(shí)現(xiàn)的)請(qǐng)求處理中的延遲。
[0053][第一示意性實(shí)施例]
[0054]現(xiàn)在參考附圖對(duì)根據(jù)本發(fā)明的第一示意性實(shí)施例進(jìn)行詳述。圖2描述了示出了包括根據(jù)本發(fā)明的第一示意性實(shí)施例的分布式存儲(chǔ)系統(tǒng)的配置的方框圖。參考圖2,示出了下述配置,該配置包括用于存儲(chǔ)數(shù)據(jù)的服務(wù)器1、用于轉(zhuǎn)發(fā)分組的交換機(jī)2 (與上述分組轉(zhuǎn)發(fā)裝置相等效)、用于控制交換機(jī)2的控制器3、以及用于將請(qǐng)求發(fā)送到服務(wù)器的客戶終端4。應(yīng)該注意的是,在實(shí)際中,一個(gè)或多個(gè)服務(wù)器以及一個(gè)或多個(gè)客戶終端4與交換機(jī)2相連并且一個(gè)或多個(gè)交換機(jī)2與控制器3相連。
[0055]交換機(jī)2包括流表21、分組轉(zhuǎn)發(fā)部22、以及控制器連接部23。
[0056]流表21由用于規(guī)定分組轉(zhuǎn)發(fā)規(guī)則的條目組成。每個(gè)條目由用于存儲(chǔ)匹配條件的規(guī)則部分以及用于存儲(chǔ)應(yīng)用于與匹配條件相匹配的分組上的處理內(nèi)容的處理部分構(gòu)成。在規(guī)則部分中,可以將所接收到的交換機(jī)端口號(hào)、目的地地址、源地址、V-LAN-1D、L4源端口號(hào)、L4目標(biāo)端口號(hào)、或者其它方面規(guī)定為匹配條件。在處理部分中,可以規(guī)定有轉(zhuǎn)發(fā)交換機(jī)端口號(hào)、多播等等。
[0057]分組轉(zhuǎn)發(fā)部22從流表21搜索具有與所接收到的分組相匹配的匹配條件的條目,對(duì)分組進(jìn)行轉(zhuǎn)發(fā),或者其它情況。具體地說(shuō),分組轉(zhuǎn)發(fā)部22對(duì)照每個(gè)條目的規(guī)則部分對(duì)分組的報(bào)頭部分進(jìn)行核對(duì),并且在匹配的情況下,執(zhí)行存儲(chǔ)在處理部分中的處理內(nèi)容。通過(guò)流表21和分組轉(zhuǎn)發(fā)部22進(jìn)行的流表搜索以及處理的執(zhí)行可以通過(guò)利用采用ASIC(專(zhuān)用集成電路)的配置以高速執(zhí)行。在分組與條目都不匹配的情況下,利用用于設(shè)置條目的請(qǐng)求,分組轉(zhuǎn)發(fā)部22經(jīng)由控制器連接部分23將分組發(fā)送到控制器3。簡(jiǎn)而言之,與沒(méi)有出現(xiàn)匹配的情況相比,在出現(xiàn)匹配的情況下,可以更高的速度來(lái)轉(zhuǎn)發(fā)分組。
[0058]控制器連接部分23將所接收到的分組當(dāng)中的與條目都不匹配的分組轉(zhuǎn)發(fā)到控制器3。
[0059]控制器3包括服務(wù)器表格31、服務(wù)器表格管理部32、轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33、以及條目設(shè)置部34。
[0060]服務(wù)器表格管理部32對(duì)用于監(jiān)督類(lèi)別與負(fù)責(zé)該類(lèi)別的服務(wù)器之間的對(duì)應(yīng)性的服務(wù)器表格31進(jìn)行管理。在服務(wù)器表格31中的每個(gè)類(lèi)別中,登記有與負(fù)責(zé)該類(lèi)別的服務(wù)器I有關(guān)的消息。服務(wù)器信息的示例包括服務(wù)器的地址以及與服務(wù)器相連接的交換機(jī)2的端口號(hào)。在每個(gè)類(lèi)別中,登記有與至少一個(gè)服務(wù)器有關(guān)的消息。圖3示出了示例性服務(wù)器表格。
[0061]在接收到來(lái)自交換機(jī)2的分組時(shí),轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33根據(jù)所接收到的分組以及服務(wù)器表格31來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器。在主體示意性實(shí)施例中,將分組的轉(zhuǎn)發(fā)目的地地址的較高階位映射到服務(wù)器表格31中的類(lèi)別IDs以選擇登記在相關(guān)類(lèi)別ID中的服務(wù)器I以作為轉(zhuǎn)發(fā)目的地服務(wù)器。
[0062]條目設(shè)置部34生成流表21的條目以便將所接收到的分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33所選擇的服務(wù)器I。條目設(shè)置部將如此生成的條目設(shè)置在交換機(jī)2中。此外,當(dāng)服務(wù)器I將處理的結(jié)果的響應(yīng)發(fā)送到客戶終端4時(shí),條目設(shè)置部生成流表21的條目以便將分組轉(zhuǎn)發(fā)到客戶終端4,并且將如此生成的條目設(shè)置在交換機(jī)2中。
[0063]應(yīng)該注意的是條目設(shè)置部34能夠彼此區(qū)分從客戶終端4至服務(wù)器I的請(qǐng)求分組與從服務(wù)器I至客戶終端4的響應(yīng)分組。也就是說(shuō),當(dāng)從交換機(jī)2所接收到的分組的源地址與服務(wù)器表格31所管理的服務(wù)器I的地址中的一個(gè)相符時(shí),可決定所接收到的分組是從服務(wù)器I至客戶終端4的響應(yīng)分組。如果源地址與服務(wù)器表格31所管理的地址都不符,那么決定所接收到的分組是從客戶終端4到服務(wù)器I的請(qǐng)求分組。
[0064]如上所述的交換機(jī)2以及控制器3可以是由作為相應(yīng)基本配置的在非專(zhuān)利文獻(xiàn)I中所公開(kāi)的OpenFlow交換機(jī)以及在非專(zhuān)利文獻(xiàn)2中所公開(kāi)的OpenFlow控制器實(shí)現(xiàn)的。
[0065]客戶終端4可以是其每一個(gè)包括請(qǐng)求部41、地址設(shè)置部42、以及分組發(fā)送/接收部43的各種終端中的任何一個(gè)。
[0066]請(qǐng)求部41生成諸如服務(wù)器I的鍵值型數(shù)據(jù)寫(xiě)/讀出請(qǐng)求這樣的請(qǐng)求分組。
[0067]地址設(shè)置部42設(shè)置請(qǐng)求分組的目的地地址和源地址。將與包含在請(qǐng)求中的鍵信息相一致的或者與請(qǐng)求分類(lèi)相一致的偽地址設(shè)置為目的地地址。在這里,將包含在請(qǐng)求中的鍵作為字母串輸入到預(yù)定的散列函數(shù)之中,并且計(jì)算諸如32位這樣的預(yù)定位數(shù)目的散列值。由此計(jì)算的散列值用作偽地址。將客戶終端4的正確地址設(shè)置為源地址。
[0068]分組發(fā)送/接收部43將請(qǐng)求分組從請(qǐng)求部41發(fā)送到交換機(jī)2,同時(shí)向請(qǐng)求部41通知從交換機(jī)2所接收到的響應(yīng)分組。
[0069]圖2所示的交換機(jī)2、控制器3、以及客戶終端4的相應(yīng)部分(處理裝置)可以是由下述計(jì)算機(jī)程序?qū)崿F(xiàn)的,所述計(jì)算機(jī)程序可使構(gòu)成了這些裝置的計(jì)算機(jī)利用計(jì)算機(jī)的硬件來(lái)執(zhí)行上述相應(yīng)處理操作。
[0070]現(xiàn)在參考附圖對(duì)本示意性實(shí)施例的操作進(jìn)行更詳細(xì)地說(shuō)明。在下面的說(shuō)明中,假定將來(lái)自客戶終端4的用于寫(xiě)入(鍵1,值I)的數(shù)據(jù)的請(qǐng)求轉(zhuǎn)發(fā)到四個(gè)服務(wù)器I中的此后對(duì)該請(qǐng)求進(jìn)行處理的最佳一個(gè)。還可以假定控制器3已檢測(cè)到四個(gè)服務(wù)器I并且其服務(wù)器表格管理部32形成了諸如圖3所不的一個(gè)這樣的服務(wù)器表格。
[0071]首先,對(duì)將寫(xiě)請(qǐng)求從客戶終端4發(fā)送到服務(wù)器I的操作進(jìn)行說(shuō)明。圖4描述了用于對(duì)本發(fā)明的第一示意性實(shí)施例的操作(在寫(xiě)請(qǐng)求時(shí))進(jìn)行說(shuō)明的流程圖。
[0072]參考圖4,客戶終端4的請(qǐng)求部41生成(鍵1,值I)寫(xiě)請(qǐng)求(步驟Al)。隨著地址設(shè)置部將鍵I作為字母串,地址設(shè)置部42計(jì)算諸如32位這樣的預(yù)定位數(shù)目的散列值(步驟A2)?,F(xiàn)在假定所計(jì)算的散列值的較高兩位是‘10’。地址設(shè)置部將以上散列值設(shè)置為分組的目的地地址,同時(shí)將客戶終端的正確地址設(shè)置為源地址(步驟A3)。此后分組發(fā)送/接收部43將請(qǐng)求發(fā)送到交換機(jī)2 (步驟A4)。
[0073]當(dāng)交換機(jī)2已接收到分組時(shí)(步驟A5),分組轉(zhuǎn)發(fā)部22參考流表21以確認(rèn)是否存在與所接收到的分組相匹配的條目(步驟A6)。如果未發(fā)現(xiàn)條目(步驟A6為否),那么控制器連接部分23將上述分組發(fā)送到控制器3 (步驟A7)。
[0074]當(dāng)控制器3接收到分組時(shí)(步驟AS),轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33根據(jù)所接收到的分組的轉(zhuǎn)發(fā)目的地地址以及服務(wù)器表格31來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器(步驟A9)。具體地說(shuō),轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33從服務(wù)器表格31選擇已分配了與目的地地址的較高位相對(duì)應(yīng)的類(lèi)別ID的轉(zhuǎn)發(fā)目的地服務(wù)器。因?yàn)樵谶@里散列值的較高兩位是‘10’( = 2),因此轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33選擇類(lèi)別ID = 2的服務(wù)器S2以作為轉(zhuǎn)發(fā)目的地服務(wù)器。
[0075]此后條目設(shè)置部34生成條目,以便將分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33所選的轉(zhuǎn)發(fā)目的地服務(wù)器,并且將如此生成的條目設(shè)置在客戶終端4與所選的服務(wù)器I之間的路徑上的交換機(jī)2上(步驟A10)。例如,如果已選擇了服務(wù)器S2,那么條目設(shè)置部生成這樣的條目,其中,流條目條件部分是“目的地地址:較高兩位是‘ 10’ ”,并且處理部分是“轉(zhuǎn)發(fā)目的地交換機(jī)端口號(hào):P2”,其中P2是與服務(wù)器S2相連接的交換機(jī)端口號(hào)。條目設(shè)置部將如此生成的條目設(shè)置在交換機(jī)S2中。此后分組轉(zhuǎn)發(fā)部22再次確認(rèn)是否存在與分組相匹配的條目(步驟A6)。因?yàn)楝F(xiàn)在已在步驟AlO中設(shè)置了條目,因此這時(shí)找出了匹配的條目。
[0076]應(yīng)該注意的是如果在步驟A6中已找到匹配的條目(步驟A6為是),那么交換機(jī)2根據(jù)其處理部分的內(nèi)容來(lái)轉(zhuǎn)發(fā)分組(步驟All)。例如,如果已在步驟AlO中設(shè)置了上述條目,并且分組與該條目相匹配,那么將分組從端口號(hào)P2發(fā)送到服務(wù)器S2。在接收到該請(qǐng)求,服務(wù)器I執(zhí)行與該請(qǐng)求相一致的處理(步驟A12)。
[0077]如果其后交換機(jī)2接收到與“源地址:較高兩位是‘10’ ”相對(duì)應(yīng)的分組,那么交換機(jī)從其端口號(hào)P2發(fā)送出該分組,而不考慮源客戶終端4的地址,無(wú)需向控制器3查詢?cè)摲纸M。
[0078]現(xiàn)在對(duì)將響應(yīng)從已接收到請(qǐng)求分組的服務(wù)器I發(fā)送到客戶終端4的操作進(jìn)行說(shuō)明。圖5描述了用于對(duì)在來(lái)自服務(wù)器的響應(yīng)時(shí)本發(fā)明的第一示意性實(shí)施例的操作進(jìn)行說(shuō)明的流程圖。
[0079]參考圖5,首先服務(wù)器I發(fā)送響應(yīng)分組(步驟BI)。當(dāng)交換機(jī)2接收到分組時(shí)(步驟B2),分組轉(zhuǎn)發(fā)部22參考流表21以確認(rèn)是否存在與所接收到的分組相匹配的條目(步驟B3)。如果未找到這種條目(步驟B3為否),那么控制器連接部分23將上述響應(yīng)分組發(fā)送到控制器3(步驟B4)。
[0080]控制器3的條目設(shè)置部34生成流表21的條目以便將分組轉(zhuǎn)發(fā)到客戶終端4,并且將如此生成的條目設(shè)置在服務(wù)器I與目標(biāo)客戶終端4之間的路徑上的交換機(jī)2上(步驟B5)。此后分組轉(zhuǎn)發(fā)部22再次確認(rèn)是否存在與分組相匹配的條目(步驟B3)。
[0081 ] 如果在步驟B3中已找到匹配的條目(步驟B3為是),那么交換機(jī)2根據(jù)條目的處理部分的內(nèi)容來(lái)轉(zhuǎn)發(fā)分組(步驟B6)。在接收到響應(yīng),客戶終端4執(zhí)行與該響應(yīng)相一致的處理(步驟B7)。
[0082]如上所述,在本發(fā)明的第一示意性實(shí)施例中,根據(jù)流表21以高速來(lái)轉(zhuǎn)發(fā)與分組轉(zhuǎn)發(fā)部22所設(shè)置的條目相匹配的分組。另一方面,控制器3是用于選擇轉(zhuǎn)發(fā)目的地服務(wù)器的唯一選擇節(jié)點(diǎn)。因此,通過(guò)單個(gè)選擇節(jié)點(diǎn)來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器而不會(huì)危害請(qǐng)求處理中的延遲的降低。
[0083]在本發(fā)明的第一示意性實(shí)施例中,條目設(shè)置部34不是根據(jù)整個(gè)目的地地址一即整個(gè)散列值——而是根據(jù)其較高位生成條目。因此,在轉(zhuǎn)發(fā)分組時(shí)命中流表21的條目的概率變高,從而進(jìn)一步降低了分組轉(zhuǎn)發(fā)過(guò)程中的延遲。
[0084]此外,在本發(fā)明的第一示意性實(shí)施例中,地址設(shè)置部42將偽地址設(shè)置為目的地地址,而不必設(shè)置服務(wù)器I的實(shí)際地址。因此,在添加新的客戶終端4的過(guò)程中,不必在安裝時(shí)設(shè)置服務(wù)器信息,以便可以更容易地引入新的客戶終端。
[0085][第二示意性實(shí)施例]
[0086]現(xiàn)在參考附圖對(duì)在寫(xiě)時(shí)間進(jìn)行復(fù)制的本發(fā)明的第二示意性實(shí)施例進(jìn)行詳述。圖6描述了本發(fā)明的第二示意性實(shí)施例的分布式存儲(chǔ)系統(tǒng)的配置。
[0087]參考圖6,示出了如本發(fā)明的第一示意性實(shí)施例的包括服務(wù)器1、交換機(jī)2、控制器
3、以及客戶終端4A的配置。應(yīng)該注意的是客戶終端4A與本發(fā)明的第一示意性實(shí)施例的相應(yīng)部件的不同之處在于進(jìn)一步包括同步控制部44。
[0088]當(dāng)請(qǐng)求部41發(fā)送寫(xiě)請(qǐng)求時(shí),同步控制部44將請(qǐng)求ID緩寫(xiě)到寫(xiě)請(qǐng)求中。當(dāng)分組發(fā)送/接收部43接收到對(duì)寫(xiě)請(qǐng)求的響應(yīng)時(shí),同步控制部參考包含在該響應(yīng)中的請(qǐng)求ID。同步控制部監(jiān)督從一個(gè)請(qǐng)求ID至另一個(gè)的至此返回的響應(yīng)數(shù)目。僅當(dāng)至此返回的響應(yīng)數(shù)目已達(dá)到預(yù)定的復(fù)制數(shù)目時(shí),同步控制部將該響應(yīng)返回到請(qǐng)求部41。在返回響應(yīng)的過(guò)程中,如果即使在該響應(yīng)中包含一個(gè)或多個(gè)錯(cuò)誤,同步控制部也返回混有錯(cuò)誤的響應(yīng)。在不存在錯(cuò)誤的情況下,同步控制部返回正常響應(yīng)。當(dāng)請(qǐng)求部41發(fā)送讀出請(qǐng)求或者接收到對(duì)其讀出請(qǐng)求的響應(yīng)時(shí),同步控制部44不執(zhí)行操作。
[0089]地址設(shè)置部42設(shè)置請(qǐng)求分組的目的地地址和源地址。作為目的地地址,設(shè)置與包含在該請(qǐng)求中的鍵信息相一致的或者與請(qǐng)求種類(lèi)相一致的偽地址。本示意性實(shí)施例與示意性實(shí)施例相似,只要與剛剛闡述的點(diǎn)有關(guān)。然而,在本示意性實(shí)施例中,從包含在請(qǐng)求中的鍵來(lái)計(jì)算諸如32位這樣的預(yù)定位數(shù)目的散列值,并且通過(guò)下述請(qǐng)求種類(lèi)來(lái)復(fù)寫(xiě)散列值的最低位以得到偽地址,其中對(duì)于寫(xiě)請(qǐng)求而言所述請(qǐng)求種類(lèi)是I并且對(duì)于讀出請(qǐng)求而言所述請(qǐng)求種類(lèi)是O。
[0090]圖7說(shuō)明了本發(fā)明的第二示意性實(shí)施例中的用于生成偽地址的方法。本示意性實(shí)施例與第一示意性實(shí)施例的相似之處在于利用鍵I的散列值,然而利用請(qǐng)求種類(lèi)復(fù)寫(xiě)散列值的追蹤位以得到偽地址。
[0091]在接收到來(lái)自交換機(jī)2的分組時(shí),控制器3的轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33根據(jù)所接收到的分組和服務(wù)器表格31來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器。具體地說(shuō),如本發(fā)明的第一示意性實(shí)施例,從服務(wù)器表格31中選擇分配給與分組的目的地地址的較高位相對(duì)應(yīng)的類(lèi)別ID的服務(wù)器。另外,在主體示意性實(shí)施例中,如果最低位的請(qǐng)求種類(lèi)是用于表示寫(xiě)請(qǐng)求的1,那么轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33選擇與預(yù)定的復(fù)制數(shù)目相等的多個(gè)轉(zhuǎn)發(fā)目的地服務(wù)器。如果最低位的請(qǐng)求種類(lèi)是用于表示讀出請(qǐng)求的0,那么轉(zhuǎn)發(fā)目的地服務(wù)器選擇部選擇單個(gè)轉(zhuǎn)發(fā)目的地服務(wù)器。
[0092]另外,本發(fā)明的第二示意性實(shí)施例的配置與上述第一示意性實(shí)施例相似并且由此省略其描述。
[0093]參考附圖對(duì)本示意性實(shí)施例的操作進(jìn)行詳細(xì)說(shuō)明。在下面的說(shuō)明中,假定將來(lái)自客戶終端4的對(duì)數(shù)據(jù)(鍵1,值I)的寫(xiě)請(qǐng)求轉(zhuǎn)發(fā)到12個(gè)服務(wù)器I中的此后對(duì)該請(qǐng)求進(jìn)行處理的適當(dāng)一個(gè)。還假定已設(shè)置了復(fù)制數(shù)目為3,并且已通過(guò)服務(wù)器表格管理部32制定了圖8所示的服務(wù)器表格。
[0094]首先,對(duì)將寫(xiě)請(qǐng)求從客戶終端4發(fā)送到服務(wù)器I的操作進(jìn)行說(shuō)明。圖9描述了用于對(duì)在寫(xiě)請(qǐng)求時(shí)的本發(fā)明的第二示意性實(shí)施例的操作進(jìn)行說(shuō)明的流程圖。
[0095]參考圖9,在步驟Cl中客戶終端4的請(qǐng)求部41生成(鍵1,值I)的寫(xiě)請(qǐng)求。此后同步控制部44將請(qǐng)求ID緩寫(xiě)到寫(xiě)請(qǐng)求中(步驟C2)。此后,隨著地址設(shè)置部將鍵I作為字母串,地址設(shè)置部42此后計(jì)算例如32位這樣的預(yù)定位數(shù)目的散列值(步驟C3)。在這里假定上述散列值的較高兩位是‘10’。地址設(shè)置部將上述散列值和請(qǐng)求種類(lèi)(=I)設(shè)置為分組的目的地地址(參見(jiàn)圖7),同時(shí)將客戶終端的正確地址設(shè)置為源地址(步驟C4)。此后分組發(fā)送/接收部43將該請(qǐng)求發(fā)送到交換機(jī)2 (步驟C5)。
[0096]在接收到分組時(shí)(步驟C6),交換機(jī)2參考流表21以察看是否存在與所接收到的分組相匹配的條目(步驟C7)。如果未找到這種條目(步驟C7為否),那么控制器連接部分23將該分組發(fā)送到控制器3 (步驟CS)。
[0097]當(dāng)控制器3接收到分組時(shí)(步驟C9),轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33根據(jù)所接收到的分組的轉(zhuǎn)發(fā)目的地地址以及服務(wù)器表格31來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器(步驟C10)。
[0098]圖10描述了示出了上述步驟ClO的詳情的流表。參考圖10,轉(zhuǎn)發(fā)目的地服務(wù)器選擇部通過(guò)將分組的轉(zhuǎn)發(fā)目的地地址的較高位映射到服務(wù)器表格31的類(lèi)別IDs來(lái)選擇類(lèi)別ID (圖10的步驟Dl)。此后轉(zhuǎn)發(fā)目的地服務(wù)器選擇部參考最低位所表示的請(qǐng)求種類(lèi)(步驟D2)。如果請(qǐng)求種類(lèi)是用于表示寫(xiě)請(qǐng)求的I (步驟D2為是),那么選擇與預(yù)定的復(fù)制次數(shù)相等的多個(gè)轉(zhuǎn)發(fā)目的地服務(wù)器(步驟D3)。另一方面,如果請(qǐng)求種類(lèi)是用于表示讀出請(qǐng)求的O (步驟D2為否),那么在步驟D4中選擇唯一的轉(zhuǎn)發(fā)目的地服務(wù)器。例如,如果散列值的較高兩位是‘10’ ( = 2)并且最低位是‘1’,那么選擇登記在類(lèi)別ID2中的服務(wù)器S6,S7,S8以作為轉(zhuǎn)發(fā)目的地服務(wù)器。
[0099]再次參考圖9,條目設(shè)置部34生成條目以便將分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33所選的轉(zhuǎn)發(fā)目的地服務(wù)器,并且將如此生成的條目設(shè)置在交換機(jī)2中(步驟Cll)。例如,如果所選的服務(wù)器是S6,S7,S8,那么生成條件部分是“轉(zhuǎn)發(fā)目的地地址:較高兩位是‘10’,最低位是‘ I’”,并且處理部分是“轉(zhuǎn)發(fā)目的地交換機(jī)端口號(hào):P6,P7,P8”(分別表示與服務(wù)器S6,S7,S8相連接的交換機(jī)端口號(hào))的條目并且將其設(shè)置在交換機(jī)2中。
[0100]此后分組轉(zhuǎn)發(fā)部22再次確認(rèn)是否存在與分組相匹配的條目(步驟C7)。因?yàn)橐言诓襟ECll中設(shè)置了條目,因此這時(shí)找到了匹配的條目。
[0101]如果已在步驟C7中找到了匹配的條目(步驟C7中為是),那么交換機(jī)2根據(jù)由此找到的條目的處理部分的內(nèi)容來(lái)轉(zhuǎn)發(fā)分組(步驟C12)。例如,如果已在步驟Cll中設(shè)置了上述條目并且分組與該條目相匹配,那么通過(guò)多播將分組分別從端口號(hào)P6,P7,P8發(fā)送到服務(wù)器S6,S7,S8。
[0102]在接收到請(qǐng)求時(shí),服務(wù)器I執(zhí)行與該請(qǐng)求相一致的處理(步驟C13)。
[0103]如果其后交換機(jī)2接收到與“目的地地址:較高兩位是‘10’并且最低位是‘I’”相對(duì)應(yīng)的分組,那么交換機(jī)從其端口號(hào)P6,P7,P8發(fā)送出該分組,而不考慮源客戶終端4的地址,無(wú)需向控制器3查詢?cè)摲纸M。
[0104]現(xiàn)在對(duì)將響應(yīng)從已接收到請(qǐng)求分組的服務(wù)器I發(fā)送到客戶終端4的操作進(jìn)行說(shuō)明。圖11描述了用于對(duì)在來(lái)自服務(wù)器的響應(yīng)時(shí)本發(fā)明的第二示意性實(shí)施例的操作進(jìn)行說(shuō)明的流程圖。
[0105]參考圖11,首先服務(wù)器I發(fā)送包括有包含在請(qǐng)求中的請(qǐng)求ID的響應(yīng)(圖11的步驟 El)。
[0106]當(dāng)交換機(jī)2接收到分組時(shí)(步驟E2),分組轉(zhuǎn)發(fā)部22參考流表21以察看是否存在與所接收到的分組相匹配的任何條目(步驟E3)。如果未找到條目(步驟E3為否),那么控制器連接部分23將分組發(fā)送到控制器3 (步驟E4)。
[0107]控制器3的條目設(shè)置部34生成流表21的條目以便將分組轉(zhuǎn)發(fā)到客戶終端4,并且將如此生成的條目設(shè)置交換機(jī)2中(步驟E5)。此后分組轉(zhuǎn)發(fā)部22再次察看是否存在與分組相匹配的任何條目(步驟E3)。
[0108]如果在步驟E3中已找到匹配的條目(步驟E7為是),那么交換機(jī)2根據(jù)由此找到的條目的處理部分的內(nèi)容來(lái)轉(zhuǎn)發(fā)分組(步驟E6)。
[0109]在接收到響應(yīng)時(shí)(步驟E7),客戶終端4的同步控制部44參考請(qǐng)求ID以確認(rèn)返回請(qǐng)求ID的響應(yīng)數(shù)目是否已達(dá)到復(fù)制數(shù)目(步驟ES)。在返回的響應(yīng)數(shù)目已達(dá)到復(fù)制數(shù)目的情況下(步驟E8為是),同步控制部44將響應(yīng)返回到請(qǐng)求部41 (步驟E9)。請(qǐng)求部41執(zhí)行與該響應(yīng)相一致的處理(步驟E10)。如果反之返回的響應(yīng)數(shù)目未達(dá)到復(fù)制數(shù)目(步驟ES為否),那么同步控制部44不執(zhí)行處理。
[0110]現(xiàn)在對(duì)讀出請(qǐng)求時(shí)的操作進(jìn)行說(shuō)明。在這里假定將用于讀出與鍵I相對(duì)應(yīng)的數(shù)據(jù)的請(qǐng)求轉(zhuǎn)發(fā)到12個(gè)服務(wù)器I中的將對(duì)該請(qǐng)求進(jìn)行處理的適當(dāng)一個(gè)。
[0111]首先,對(duì)將請(qǐng)求從客戶終端4發(fā)送到服務(wù)器I的處理進(jìn)行說(shuō)明。發(fā)送讀出請(qǐng)求的操作與根據(jù)圖4所示的第一示意性實(shí)施例的發(fā)送請(qǐng)求的操作相同。
[0112]然而,在步驟A3中,控制器3根據(jù)在步驟A2中找到的上述散列值以及請(qǐng)求種類(lèi)(=O)來(lái)設(shè)置分組的轉(zhuǎn)發(fā)目的地地址,同時(shí)將客戶終端的正確地址設(shè)置為源地址。
[0113]此外,在步驟A9中,轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33根據(jù)所接收到的分組的目的地地址以及服務(wù)器表格31來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器?,F(xiàn)在參考圖10對(duì)此進(jìn)行詳述。例如,如果散列值的較高三位和最低位分別是‘100’和‘0’,那么轉(zhuǎn)發(fā)目的地服務(wù)器選擇部從類(lèi)別IDS2當(dāng)中選擇服務(wù)器S6以作為轉(zhuǎn)發(fā)目的地服務(wù)器。如果散列值的較高三位和最低位分別是’ 101’和’ O’,那么轉(zhuǎn)發(fā)目的地服務(wù)器選擇部選擇服務(wù)器S7以作為轉(zhuǎn)發(fā)目的地服務(wù)器。按照這種方式,選擇對(duì)相同類(lèi)別ID的讀出請(qǐng)求以便確保負(fù)載平衡,因?yàn)閿?shù)據(jù)一定已經(jīng)被復(fù)制在相同ID類(lèi)別之內(nèi)。
[0114]除了如上所述之外的操作與本發(fā)明的第一示意性實(shí)施例的響應(yīng)發(fā)送相似并且由此省去相應(yīng)說(shuō)明。
[0115]將對(duì)讀出請(qǐng)求的響應(yīng)從服務(wù)器I發(fā)送到客戶終端4的操作與本發(fā)明的第一示意性實(shí)施例中的發(fā)送響應(yīng)的操作相同并且由此省去相應(yīng)說(shuō)明。
[0116]在本發(fā)明的上述第二示意性實(shí)施例中,在進(jìn)行數(shù)據(jù)復(fù)制的過(guò)程中,不是通過(guò)多播將數(shù)據(jù)從客戶終端4發(fā)送到服務(wù)器而是通過(guò)多播將數(shù)據(jù)從交換機(jī)2發(fā)送到服務(wù)器。因而可抑制在整個(gè)網(wǎng)絡(luò)中流動(dòng)的分組的總量以便不容易生成溢出。
[0117]另外,在通過(guò)讀出請(qǐng)求的負(fù)載分布在存儲(chǔ)相同復(fù)制的服務(wù)器當(dāng)中這樣的本發(fā)明的第二示意性實(shí)施例中,可抑制另外的施加于服務(wù)器上的負(fù)載。
[0118][第三示意性實(shí)施例]
[0119]現(xiàn)在參考附圖對(duì)本發(fā)明的第三示意性實(shí)施例進(jìn)行詳述,在該第三示意性實(shí)施例中中繼節(jié)點(diǎn)(如端6)排列在客戶終端4與交換機(jī)2之間并且在該中繼節(jié)點(diǎn)中生成了偽地址。圖12描述了示出了本發(fā)明的第三示意性實(shí)施例的分布式存儲(chǔ)系統(tǒng)的配置的方框圖。
[0120]參考圖12,示出了除了第一示意性實(shí)施例中所示的服務(wù)器1、交換機(jī)2、控制器3、以及客戶終端4B之外還包括負(fù)載平衡器5和前端6的布置。
[0121]負(fù)載平衡器5是具有分組轉(zhuǎn)發(fā)部51的負(fù)載分配裝置。分組轉(zhuǎn)發(fā)部51將從客戶終端4B所接收到的請(qǐng)求轉(zhuǎn)發(fā)到與此相連接的前端6中的一個(gè)。在轉(zhuǎn)發(fā)分組的過(guò)程中,分組的目的地地址變?yōu)檗D(zhuǎn)發(fā)目的地的前端6的地址。分組轉(zhuǎn)發(fā)部51還將從前端6所接收到的響應(yīng)轉(zhuǎn)發(fā)到客戶終端4B。
[0122]前端6是用于對(duì)請(qǐng)求處理執(zhí)行預(yù)處理的裝置并且包括地址設(shè)置部61和分組發(fā)送/接收部62。
[0123]地址設(shè)置部61設(shè)置從負(fù)載平衡器5所接收到的請(qǐng)求的目的地地址。將與包含在請(qǐng)求中的鍵信息以及請(qǐng)求種類(lèi)相一致的偽地址設(shè)置為目的地地址。在這里,假定從包含在請(qǐng)求中的鍵計(jì)算諸如32位這樣的預(yù)定位數(shù)目的散列值,并且該散列值將是偽地址。源地址保持與在分組中所固有設(shè)置的客戶終端4B的地址相同。
[0124]分組發(fā)送/接收部62接收來(lái)自負(fù)載平衡器5的請(qǐng)求并且將地址設(shè)置部61所處理的請(qǐng)求發(fā)送到交換機(jī)2,同時(shí)將從交換機(jī)2所接收到的響應(yīng)發(fā)送到負(fù)載平衡器5。
[0125]客戶終端4B的地址設(shè)置部42將負(fù)載平衡器5的地址設(shè)置為目的地地址,同時(shí)將客戶終端4B的正確地址設(shè)置為源地址。
[0126]本示意性實(shí)施例的配置與本發(fā)明的第一示意性實(shí)施例在其它方面相同,并且因此省去相應(yīng)說(shuō)明。
[0127]現(xiàn)在參考附圖對(duì)本示意性實(shí)施例的操作進(jìn)行詳述。在下面的說(shuō)明中,假定將來(lái)自客戶終端4的對(duì)數(shù)據(jù)(鍵1,值I)的寫(xiě)請(qǐng)求發(fā)送到四個(gè)服務(wù)器I中的對(duì)該請(qǐng)求進(jìn)行處理的適當(dāng)一個(gè)。還假定控制器3已檢測(cè)到四個(gè)服務(wù)器I并且服務(wù)器表格管理部32已制定了圖3所示的服務(wù)器表格。
[0128]首先,對(duì)將寫(xiě)請(qǐng)求從客戶終端4發(fā)送到服務(wù)器I的操作進(jìn)行說(shuō)明。圖13描述了用于對(duì)根據(jù)本發(fā)明的第三示意性實(shí)施例的在寫(xiě)請(qǐng)求時(shí)的操作進(jìn)行說(shuō)明的流表。
[0129]參考圖13,首先在步驟Fl中客戶終端4的請(qǐng)求部41生成對(duì)(鍵1,值I)的寫(xiě)請(qǐng)求。此后地址設(shè)置部42將負(fù)載平衡器5的地址設(shè)置為分組的目的地地址,同時(shí)將客戶終端的正確地址設(shè)置為源地址(步驟F2)。此后分組發(fā)送/接收部43將請(qǐng)求發(fā)送到負(fù)載平衡器5 (步驟F3)。
[0130]在接收到該請(qǐng)求時(shí)(步驟F4),負(fù)載平衡器5將該請(qǐng)求轉(zhuǎn)發(fā)到與此相連接的前端6中的一個(gè)(步驟F5)。
[0131]當(dāng)前端6接收到該請(qǐng)求時(shí)(步驟F6),地址設(shè)置部61從包含在請(qǐng)求中的鍵I計(jì)算諸如32位這樣的預(yù)定位數(shù)目的散列值(步驟F7)。在這里假定散列值的較高兩位是‘10’。前端將上述散列值設(shè)置為分組的目的地地址,同時(shí)將在分組中所固有設(shè)置的客戶終端4的正確地址設(shè)置為源地址(步驟F8)。前端6將請(qǐng)求發(fā)送到交換機(jī)2 (步驟F9)。
[0132]當(dāng)交換機(jī)2接收到分組時(shí)(步驟F10),分組轉(zhuǎn)發(fā)部22參考流表21以察看是否存在與所接收到的分組相匹配的條目(步驟Fll)。如果未找到這種條目(步驟Fll為否),那么控制器連接部分23將分組發(fā)送到控制器3 (步驟F12)。
[0133]當(dāng)控制器3接收到分組時(shí)(步驟F13),轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33根據(jù)所接收到的分組的轉(zhuǎn)發(fā)目的地地址以及服務(wù)器表格31來(lái)選擇轉(zhuǎn)發(fā)目的地服務(wù)器。在這里,將分組的目的地地址的較高位映射到服務(wù)器表格31的類(lèi)別IDs以選擇與目的地地址的較高位相符的轉(zhuǎn)發(fā)目的地服務(wù)器(步驟F14)。因?yàn)樯⒘兄档妮^高兩位是‘10’( = 2),那么轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33選擇登記在類(lèi)別ID2中的服務(wù)器S2以作為轉(zhuǎn)發(fā)目的地服務(wù)器
[0134]條目設(shè)置部34生成條目以便將分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)目的地服務(wù)器選擇部33所選的轉(zhuǎn)發(fā)目的地服務(wù)器,并且將最終條目設(shè)置在交換機(jī)2中(步驟F15)。例如,如果已選擇了服務(wù)器S2,那么條目設(shè)置部生成這樣的條目,其條件部分是“目的地地址:較高兩位是‘ 10’ ”,并且其處理部分是“轉(zhuǎn)發(fā)目的地交換機(jī)端口號(hào):P2”,這表示與服務(wù)器S2相連接的交換機(jī)端口號(hào),并且將最終條目設(shè)置在交換機(jī)2中。
[0135]此后分組轉(zhuǎn)發(fā)部22再次察看是否存在與分組相匹配的條目(步驟Fll)。因?yàn)楝F(xiàn)在在步驟F15中已設(shè)置了條目,那么這時(shí)找到匹配的條目。
[0136]如果在步驟Fll中已找到匹配的條目(在步驟Fll中為是),那么交換機(jī)2根據(jù)由此找到的條目的處理部分的內(nèi)容來(lái)轉(zhuǎn)發(fā)分組(步驟F16)。例如,如果在步驟F15中已設(shè)置了上述條目并且分組與條目相匹配,那么將分組從端口號(hào)P2轉(zhuǎn)發(fā)到服務(wù)器S2。
[0137]在接收到請(qǐng)求時(shí),服務(wù)器I執(zhí)行與請(qǐng)求相符的處理(步驟F17)。
[0138]如果其后交換機(jī)2接收到與“源地址:較高兩位是‘10’ ”相對(duì)應(yīng)的分組,那么交換機(jī)從其端口號(hào)P2發(fā)送出分組,而不考慮源客戶終端4的地址,無(wú)需向控制器3查詢?cè)摲纸M。
[0139]現(xiàn)在對(duì)將響應(yīng)從已接收到請(qǐng)求分組的服務(wù)器I發(fā)送到客戶終端4的操作進(jìn)行說(shuō)明。圖14描述了用于對(duì)在來(lái)自服務(wù)器的響應(yīng)時(shí)本發(fā)明的第三示意性實(shí)施例的操作進(jìn)行說(shuō)明的流程圖。
[0140]參考圖14,首先服務(wù)器I發(fā)送對(duì)請(qǐng)求的響應(yīng)(圖14的步驟Gl)。
[0141]當(dāng)交換機(jī)2接收到分組時(shí)(步驟G2),分組轉(zhuǎn)發(fā)部22參考流表21以察看是否存在與所接收到的分組相匹配的條目(步驟G3)。如果未找到這種條目(步驟G3為否),那么控制器連接部分23將分組發(fā)送到控制器3 (步驟G4)。
[0142]控制器3的條目設(shè)置部34生成流表21的條目以便將分組轉(zhuǎn)發(fā)到客戶終端4,并且將最終條目設(shè)置在交換機(jī)2中(步驟G5)。
[0143]此后交換機(jī)2的分組轉(zhuǎn)發(fā)部22再次察看是否存在與分組相匹配的條目(步驟G3)。
[0144]如果在步驟G3中已找到匹配的條目(步驟G3為是),那么交換機(jī)2根據(jù)由此找到的條目的處理部分的內(nèi)容來(lái)轉(zhuǎn)發(fā)分組(步驟G6)。
[0145]在接收到響應(yīng)時(shí),前端6將它轉(zhuǎn)發(fā)到負(fù)載平衡器5 (步驟G7)。在接收到響應(yīng)時(shí),負(fù)載平衡器將該響應(yīng)轉(zhuǎn)發(fā)到客戶終端4 (步驟G8)。
[0146]在接收到響應(yīng)時(shí),客戶終端4執(zhí)行與該響應(yīng)相符的處理(G9)。
[0147]如上所述,在本發(fā)明的第三示意性實(shí)施例中,目的地地址的偽地址是由配備在比負(fù)載平衡器5更靠近服務(wù)器I的前端6形成的。因此,客戶終端4可以在負(fù)載平衡器5前面的位置上與不受到控制器3控制的類(lèi)型的交換機(jī)相連。
[0148]應(yīng)該主要的是雖然上面描述了本發(fā)明的優(yōu)選示意性實(shí)施例,但是本發(fā)明并不局限于這些特定模式,因此在不脫離本發(fā)明的基本技術(shù)概念的情況下進(jìn)一步的變化、替換、或者調(diào)節(jié)可以在范圍之內(nèi)。例如,在上述示意性實(shí)施例中,已指明利用散列計(jì)算來(lái)形成要對(duì)照流條目的規(guī)則部分核對(duì)的地址。然而還可使用通過(guò)除上面所示的那些之外的其它技術(shù)來(lái)從鍵形成流標(biāo)識(shí)符或者其它的方法。
[0149]此外,在上述示意性實(shí)施例中,已指明在客戶終端4或在前端6上提供了地址設(shè)置部并且在客戶終端4上或者在前端6上生成了散列值?;蛘?,可以發(fā)送鍵信息而無(wú)需用于生成散列值的客戶終端4或前端6。在這種情況下,可以是控制器3來(lái)從鍵信息生成散列值或者生成可從鍵信息唯一找到的流標(biāo)識(shí)符。類(lèi)似控制可以由下述控制器3實(shí)現(xiàn),所述控制器3使路徑上的交換機(jī)2執(zhí)行將散列值或流標(biāo)識(shí)符嵌入在有關(guān)分組的報(bào)頭部分或其他中這樣的處理或者追加另一報(bào)頭的處理。
[0150]上述流標(biāo)識(shí)符可以是各種不同的配置。例如,可以根據(jù)ASCII碼將鍵譯成數(shù)值圖,并且此后可以將這些數(shù)字應(yīng)用于取模計(jì)算,例如以232計(jì)算的模,以找到余數(shù),該余數(shù)此后可以用作目的地的地址。
[0151 ] 通過(guò)參考將上述專(zhuān)利文獻(xiàn)和非專(zhuān)利文獻(xiàn)的整個(gè)公開(kāi)引入到在這里。示意性實(shí)施例的修改和調(diào)節(jié)在本發(fā)明的整個(gè)公開(kāi)(包括權(quán)利要求)的范圍之內(nèi)并且基于本發(fā)明的基本技術(shù)概念。對(duì)各種公開(kāi)要素(包括每個(gè)權(quán)利要求的每個(gè)要素、每個(gè)示意性實(shí)施例的每個(gè)要素、每個(gè)圖的每個(gè)要素等等)的各種組合和選擇可以在本發(fā)明的權(quán)利要求的范圍之內(nèi)。也就是說(shuō),本發(fā)明當(dāng)然包括本領(lǐng)域普通技術(shù)人員根據(jù)包括權(quán)利要求及其技術(shù)概念的整個(gè)公開(kāi)所做出的各種變化和修改。
[0152]附圖標(biāo)記列表
[0153]I服務(wù)器
[0154]2交換機(jī)
[0155]2A分組轉(zhuǎn)發(fā)裝置
[0156]3控制器
[0157]3A控制裝置
[0158]4,4A,4B 客戶終端
[0159]5負(fù)載平衡器
[0160]6 前端
[0161]21 流表
[0162]22,51分組轉(zhuǎn)發(fā)部
[0163]23控制器連接部
[0164]31服務(wù)器表格
[0165]32服務(wù)器表格管理部
[0166]33轉(zhuǎn)發(fā)目的地服務(wù)器選擇部
[0167]33A轉(zhuǎn)發(fā)目的地選擇部
[0168]34條目設(shè)置部
[0169]34A條目設(shè)置部
[0170]41請(qǐng)求部分
[0171]42,61地址設(shè)置部
[0172]43,62分組發(fā)送/接收部
[0173]44同步控制部
【權(quán)利要求】
1.一種分布式存儲(chǔ)系統(tǒng),包括: 多個(gè)服務(wù)器,所述多個(gè)服務(wù)器分別用于存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù); 分組轉(zhuǎn)發(fā)裝置,所述分組轉(zhuǎn)發(fā)裝置用于在接收到包含所述鍵信息的并且尋址到所述多個(gè)服務(wù)器中的一個(gè)服務(wù)器的新分組時(shí),請(qǐng)求控制裝置以從所述多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地;以及 控制裝置,所述控制裝置包括: 轉(zhuǎn)發(fā)目的地選擇部,所述轉(zhuǎn)發(fā)目的地選擇部基于所述分組中的鍵信息來(lái)決定所述分組的轉(zhuǎn)發(fā)目的地;以及 條目設(shè)置部,在通向所述轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中,所述條目設(shè)置部設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到所述轉(zhuǎn)發(fā)目的地的流條目,其中, 所述分組轉(zhuǎn)發(fā)裝置利用所設(shè)置的流條目將具有相同鍵信息的分組轉(zhuǎn)發(fā)到所述轉(zhuǎn)發(fā)目的地。
2.根據(jù)權(quán)利要求1所述的分布式存儲(chǔ)系統(tǒng),其中, 在所述分組中設(shè)置目的地地址,所述目的地地址是利用所述鍵信息的散列值來(lái)被生成的,并且 將所述散列值的預(yù)定位用作所述流條目中的匹配條件。
3.根據(jù)權(quán)利要求1所述的分布式存儲(chǔ)系統(tǒng),其中, 所述轉(zhuǎn)發(fā)目的地選擇部從所述鍵信息來(lái)生成散列值,并且利用所生成的散列值的預(yù)定位來(lái)決定所述分組的轉(zhuǎn)發(fā)目的地。
4.根據(jù)權(quán)利要求1至3中的任何一項(xiàng)所述的分布式存儲(chǔ)系統(tǒng),其中, 在所述分組是寫(xiě)請(qǐng)求的情況下,所述轉(zhuǎn)發(fā)目的地選擇部選擇預(yù)定數(shù)目的轉(zhuǎn)發(fā)目的地,并且 生成與所述預(yù)定數(shù)目相等的多個(gè)復(fù)制。
5.根據(jù)權(quán)利要求4所述的分布式存儲(chǔ)系統(tǒng),其中, 客戶終端包括同步控制器,該同步控制器用于檢查所述預(yù)定數(shù)目的復(fù)制的生成是否完成。
6.根據(jù)權(quán)利要求1,2,4以及5中的任何一項(xiàng)所述的分布式存儲(chǔ)系統(tǒng),包括: 中繼節(jié)點(diǎn),該中繼節(jié)點(diǎn)被設(shè)置在所述分組的源與所述分組轉(zhuǎn)發(fā)裝置之間,其中, 所述中繼節(jié)點(diǎn)將從分組的源所接收到的所述分組轉(zhuǎn)換成尋址到所述服務(wù)器的并且具有利用所述鍵信息的散列值而生成的目的地地址的分組。
7.一種與多個(gè)服務(wù)器和分組轉(zhuǎn)發(fā)裝置相連接的控制裝置,所述多個(gè)服務(wù)器分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù),所述分組轉(zhuǎn)發(fā)裝置在接收到包含所述鍵信息的并且尋址到所述多個(gè)服務(wù)器中的一個(gè)服務(wù)器的新分組時(shí)請(qǐng)求所述控制裝置以從所述多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地,所述控制裝置包括: 轉(zhuǎn)發(fā)目的地選擇部,所述轉(zhuǎn)發(fā)目的地選擇部基于所述分組中的鍵信息來(lái)決定所述分組的轉(zhuǎn)發(fā)目的地;以及 條目設(shè)置部,在通向所述轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中,所述條目設(shè)置部設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到所述轉(zhuǎn)發(fā)目的地的流條目。
8.—種客戶終端,包括: 地址設(shè)置部,其以利用鍵信息的散列值而生成的目的地地址來(lái)生成請(qǐng)求分組,其中 所述客戶終端利用所述請(qǐng)求分組來(lái)請(qǐng)求服務(wù)器。
9.一種負(fù)載平衡方法,包括: 通過(guò)控制裝置,從分組轉(zhuǎn)發(fā)裝置接收用于決定具有與值配對(duì)的鍵信息的新分組的轉(zhuǎn)發(fā)目的地的請(qǐng)求; 基于所述分組中的所述鍵信息,來(lái)從多個(gè)服務(wù)器當(dāng)中決定所述分組的轉(zhuǎn)發(fā)目的地;以及 在通向所述轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中,設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到所述轉(zhuǎn)發(fā)目的地的流條目。
10.一種加載于與多個(gè)服務(wù)器和分組轉(zhuǎn)發(fā)裝置相連接的控制裝置上的用于計(jì)算機(jī)的程序,所述多個(gè)服務(wù)器分別存儲(chǔ)與鍵信息相關(guān)聯(lián)的數(shù)據(jù),所述分組轉(zhuǎn)發(fā)裝置在接收到包含所述鍵信息的并且尋址到所述多個(gè)服務(wù)器中的一個(gè)服務(wù)器的新分組時(shí)請(qǐng)求所述控制裝置以從所述多個(gè)服務(wù)器當(dāng)中決定轉(zhuǎn)發(fā)目的地,所述程序使計(jì)算機(jī)執(zhí)行: 基于所述分組中的所述鍵信息,來(lái)從多個(gè)服務(wù)器當(dāng)中決定所述分組的轉(zhuǎn)發(fā)目的地;以及 在通向所述轉(zhuǎn)發(fā)目的地的路徑上的分組轉(zhuǎn)發(fā)裝置中,設(shè)置用于將具有相同鍵信息的隨后分組轉(zhuǎn)發(fā)到所述轉(zhuǎn)發(fā)目的地的流條目。
【文檔編號(hào)】H04L12/717GK104205752SQ201380018629
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2013年3月29日 優(yōu)先權(quán)日:2012年3月30日
【發(fā)明者】稗田諭士 申請(qǐng)人:日本電氣株式會(huì)社