亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

無狀態(tài)消息傳輸路由的制作方法

文檔序號:10598494閱讀:594來源:國知局
無狀態(tài)消息傳輸路由的制作方法
【專利摘要】描述了限定用于高容量消息傳遞的可擴展集群(CL)和在參與者(A)之間傳遞消息。通過使用數(shù)學算法將參與者(A)映射至虛擬節(jié)點(VN),且將虛擬節(jié)點(VN)映射至節(jié)點(N)。所述數(shù)學算法進一步用于確定用于消息傳遞的參與者(A)的地址信息。
【專利說明】
無狀態(tài)消息傳輸路由
技術領域
[0001]本發(fā)明的示例涉及可擴展集群中的消息傳輸。更具體地,本發(fā)明的示例涉及用于限定可擴展集群并在其內傳遞消息的方法、設備和相關的計算機程序產品。本發(fā)明的示例可適用于基于參與者的消息傳輸。
【背景技術】
[0002]許多網絡服務需要高水平的適應、自組織、負載平衡等。例如,在實時消息傳輸、輪流操作的多人游戲或其它類似應用程序中,消息的及時傳遞是很重要的。由于參加者可以按照自己的意愿加入和離開服務,因此實現(xiàn)穩(wěn)健而具成本效益的消息傳遞將是一個挑戰(zhàn)。消息需要傳遞給一個服務中的所有參與者,并且每個用戶可以在多個服務中處于活躍狀態(tài)。傳遞所有消息給所有各方是一種方法,而連續(xù)的共享狀態(tài)(帶地址信息的路由表)是傳遞消息的另一種方法。由于各方的數(shù)量可能是巨大的,因此傳遞所有消息給所有各方是沒有效率的做法。當各方的數(shù)量及其位置發(fā)生變化時,共享狀態(tài)也可能會為消息傳遞帶來相當大的開銷。
[0003]US2012/011068A1公開了一種電子、物理郵件分類和定向傳遞的系統(tǒng)和方法,US8584228B1公開了虛擬網絡中的分組認證和加密,W02006/122366公開了動態(tài)地址映射,而US2013/339475公開了用于集群滯后的系統(tǒng)和方法。

【發(fā)明內容】

[0004]因此,需要一種用于為一方限定消息發(fā)送和/或接收的地址信息的方法。
[0005]根據(jù)一個示例性實施例,一種方法包括獲得含有至少部分地標識參與者的參與者ID的消息。所述參與者ID被用于至少一個數(shù)學算法中以確定所述參與者的地址信息。使用所述地址信息將上述消息傳遞至所述參與者。
[0006]根據(jù)另一個示例性實施例,所述方法還包括:將至少一個數(shù)學算法作為確定算法。
[0007]根據(jù)另一個示例性實施例,所述方法還包括:所述地址信息包括節(jié)點的地址信息。
[0008]根據(jù)另一個示例性實施例,所述方法還包括:所述節(jié)點具有與其相關聯(lián)的虛擬節(jié)點。
[0009]根據(jù)另一個示例性實施例,所述方法還包括:所述至少一個數(shù)學算法包括第一數(shù)學算法和第二數(shù)學算法,第一數(shù)學算法可用以確定虛擬節(jié)點的地址信息,第二數(shù)學算法可用以確定與所述虛擬節(jié)點相關聯(lián)的物理節(jié)點的地址信息。
[0010]根據(jù)另一個示例性實施例,所述方法還包括:第一算法為散列算法,并且第二算法為一致性散列算法。
[0011]根據(jù)另一個示例性實施例,所述方法還包括:首先傳遞消息到與所述虛擬節(jié)點相關聯(lián)的緩沖器中的區(qū)段。
[0012]根據(jù)一個示例性實施例,一種傳遞消息給參與者的方法,其中所述參與者可以至少部分地通過參與者ID來標識。所述消息至少包含參與者ID的信息。其中消息的傳遞包括:在至少一個數(shù)學算法中利用參與者ID,可用以確定與參與者有關的地址信息。
[0013]根據(jù)另一個示例性實施例,一種非暫態(tài)計算機可讀存儲器,包含計算機程序可讀指令,其中當由至少一個數(shù)據(jù)處理器執(zhí)行所述計算機程序指令時,會致使:
[0014]獲得含有至少部分地標識參與者的參與者ID的消息;
[0015]在至少一個數(shù)學算法中利用所述參與者ID以確定參與者的地址信息;
[0016]使用所述地址信息傳遞消息到參與者。
[0017]根據(jù)另一個示例性實施例,一種計算機可讀存儲器包含計算機程序指令。所述計算機程序指令由至少一個數(shù)據(jù)處理器執(zhí)行。所述計算機程序產品的執(zhí)行致使傳遞消息給參與者,其中參與者可至少部分地通過參與者ID來標識。所述消息至少含有所述參與者ID的信息,并且其中所述消息的傳遞導致:在至少一個數(shù)學算法中利用所述參與者ID,可用以確定參與者的地址信息。
[0018]根據(jù)另一個示例性實施例,一種設備包括至少一個處理器和至少一個存儲器,所述至少一個存儲器包括計算機程序代碼,所述代碼被配置為,利用所述至少一個處理器,致使所述設備執(zhí)行至少以下操作:
[0019]傳遞消息給參與者,其中所述參與者可至少部分地通過參與者ID來標識。其中所述消息至少含有所述參與者ID的信息。所述消息的傳遞包括在至少一個數(shù)學算法中利用所述參與者ID,可用以確定與所述參與者相關的地址信息。
[0020]根據(jù)另一個示例性實施例,一種示例性計算機程序產品包括一個或多個指令的一個或多個序列,當其由一個或多個處理器執(zhí)行時,所述一個或多個指令的一個或多個序列致使設備傳遞所述消息給參與者,其中所述參與者可至少部分地通過參與者ID來標識。所述消息至少含有所述參與者ID的信息。其中所述消息的傳遞包括在至少一個數(shù)學算法中利用所述參與者ID,可用以確定與所述參與者相關的地址信息。
[0021]根據(jù)另一個示例性實施例,一種非暫態(tài)計算機可讀介質,編碼有指令,當在硬件中執(zhí)行時,這些指令執(zhí)行以下過程,所述過程包括:
[0022]獲得含有至少部分地標識參與者的參與者ID的消息;
[0023]在至少一個數(shù)學算法中利用所述參與者ID以確定參與者的地址信息;
[0024]使用所述地址信息傳遞消息到參與者。
[0025]根據(jù)另一個示例性實施例,一種設備包括:
[0026]用于獲得含有至少部分地標識參與者的參與者ID的消息的裝置;
[0027]用于在至少一個數(shù)學算法中利用所述參與者ID以確定參與者的地址信息的裝置;
[0028]用于使用所述地址信息傳遞消息到參與者的裝置。
[0029]根據(jù)另一個示例性實施例,一種計算機實現(xiàn)方法包括:獲得含有至少部分標識參與者的參與者ID的消息。在至少一個數(shù)學算法中使用參與者ID,用于確定所示參與者的地址信息。使用地址信息將所述消息傳遞到所述參與者。
【附圖說明】
[0030]通過示例方式,而不是通過限制方式來示出本發(fā)明的實施例,在附圖的各圖中:
[0031]圖1示出示例性集群。
[0032]圖2進一步示出示例性集群。
[0033]圖3進一步示出如何限定示例性集群的流程圖。
[0034]圖4示出如何限定示例性消息傳遞的流程圖。
[0035]圖5示出簡化的消息傳遞。
[0036]圖6示出示例性節(jié)點設備。
[0037]圖7示出示例性網絡。
【具體實施方式】
[0038]以下實施例僅僅是示例性的。雖然說明書可能引用“一”、“一個”或“一些”實施例,但是這并不一定意味著每個這樣的引用是相同實施例或特征僅僅適用于單個實施例。不同實施例的單個特征可以進行組合以提供另外的實施例。
[0039]在下文中,將利用其中可以實踐本發(fā)明的各個實施例的系統(tǒng)架構的簡單示例描述本發(fā)明的特征。僅僅詳細地描述了與說明實施例相關的元件。信息系統(tǒng)的各個實施方式包括適用于示例性實施例并且本文可能沒有具體描述的元件。
[0040]公開了提供用于傳遞消息的架構的方法、計算機可讀介質、設備和計算機程序產品的示例。
[0041]如本文所使用,術語“參與者”是指能夠具有狀態(tài)并且響應于事件(例如,消息)而能夠改變狀態(tài)的計算實體。另外,參與者可能能夠作出局部決定、創(chuàng)建更多參與者、發(fā)送消息并且確定如何響應于所接收的消息等等。參與者可以例如表示:
[0042]用戶,其在下文稱作用戶參與者;
[0043]聊天室,其在下文稱作聊天室參與者;
[0044]游戲狀態(tài),其在下文稱作游戲狀態(tài)參與者;
[0045]多玩家游戲狀態(tài),其在下文稱作多玩家游戲狀態(tài)參與者;
[0046]以上示例性參與者的列表并非窮盡性的。可根據(jù)需要引入各種類型的參與者。參與者可以是獨立的并且它們還可以是相等的,且參與者能夠通過至少發(fā)送或接收消息而與其它參與者通信。
[0047]如本文所使用,術語“參與者ID”是指用來認證參與者的數(shù)據(jù)。數(shù)據(jù)可為可用來個別地認證參與者的任何數(shù)據(jù)。這種數(shù)據(jù)的示例是例如數(shù)字或字母或符號的字符串或者所有先前提及的組合。
[0048]如本文所使用,術語“消息”是指含有從一個參與者發(fā)送到另一個參與者的離散數(shù)據(jù)集的通信對象。消息可以含有但不限于,例如標識發(fā)送消息的參與者的參與者ID和標識接收消息的參與者的另一參與者ID、消息內容和消息類型。消息類型可以嵌入在消息內容中。消息可以是人類可讀或非人類可讀的,并且其可以在參與者(人、設備、應用程序和其任何組合)之間發(fā)送。其可為例如從一用戶到另一用戶的聊天消息、從一參與者到另一參與者的游戲事件、從一個應用程序傳遞到另一應用程序的信息等。
[0049]如本文所使用,術語“虛擬節(jié)點”(虛擬節(jié)點)是指參與者的抽象群組。參與者基于其參與者ID與虛擬節(jié)點相關聯(lián)。參與者可以使用一致性散列算法與虛擬節(jié)點相關聯(lián)。
[0050]如本文所使用,術語“節(jié)點”是指能夠管理與其相關聯(lián)的虛擬節(jié)點的物理計算實體。虛擬節(jié)點確定性地使用數(shù)學模型與節(jié)點相關聯(lián),并且節(jié)點使用相同模型來限定虛擬節(jié)點到節(jié)點的映射。每個節(jié)點負責一組虛擬節(jié)點。至少一個節(jié)點可以使用云計算服務來實現(xiàn),云計算服務可以表現(xiàn)為由真實的服務器硬件提供但是實際上是由虛擬硬件提供服務并且通過在一個或多個真實機器上運行的軟件來模擬。
[0051]如本文所使用,術語“集群”是指被連接為一起工作并且在一些情況中可被視為單個系統(tǒng)的一組節(jié)點。節(jié)點可以通過包括硬件和軟件部件的任何組合的網絡來連接,從而使得一個節(jié)點中的過程能夠發(fā)送信息到另一節(jié)點中的另一過程或從另一節(jié)點中的另一過程接收信息。網絡可以是例如局域網、家庭網、存儲區(qū)域網、校園網、中樞網絡、蜂窩網、城域網、廣域網、企業(yè)專用網、虛擬專用網、專用或公共云或互聯(lián)網或任何這樣的網絡的組合。
[0052]如本文所使用,術語“一致性散列算法”是指一種優(yōu)化類型的散列,其中使用一種在發(fā)生變化時減少對重映射的需要的算法來完成分配。如果集群大小改變,則許多虛擬節(jié)點可以與其它節(jié)點相關聯(lián)。虛擬節(jié)點可以關聯(lián)到新節(jié)點或重新關聯(lián)到現(xiàn)有節(jié)點。集群大小可以在參與者(如用戶參與者)的數(shù)量改變時而發(fā)生改變。一致性散列最大限度地減小虛擬節(jié)點分配的變化數(shù)量。該算法需要知道集群中的節(jié)點數(shù)量以及對節(jié)點的一些標識信息。作為該算法的一部分,例如,可以通過標識信息對節(jié)點進行排序,所述標識信息可以包括:例如分配給每個節(jié)點的地址或唯一流水號。集群中的每個節(jié)點用于由一致性散列算法所確定的一組虛擬節(jié)點。
[0053]如本文所使用,術語“客戶端”是指連接至集群的外部實體??蛻舳丝梢允蔷哂杏脩艚缑娴娜魏我环N設備,例如,便攜式游戲設備、移動電話、計算機、平板設備、汽車中的媒體設備、家用設備(如冰箱、電視等)。
[0054]如本文所使用,術語“參與者消息傳輸”是指參與者之間的消息傳輸?,F(xiàn)有幾種合適的可擴充消息傳輸解決方案,如Akka、Riak、Kafka等,其可以用作聊天系統(tǒng)和游戲服務器等的可擴充后端解決方案。參與者消息傳輸可以包括消息的緩存。
[0055]如本文所使用,術語“外部消息傳輸”是指參與者與客戶端之間的消息傳輸?,F(xiàn)有幾種合適的消息傳輸解決方案如WebSocket、https等。客戶端能夠在向參與者發(fā)送消息或從參與者接受消息時使用外部消息傳輸。
[0056]如本文所使用,術語“緩存”是指用于將數(shù)據(jù)儲存在特定隊列中的實體。該實體可以是存儲器上的區(qū)域,并且可以根據(jù)許多合適的消息隊列協(xié)議(包括RabbitMQ、Kafka和其它合適的緩存系統(tǒng))來組織數(shù)據(jù)。
[0057]如本文所使用,術語“地址信息”是指用以定義用于將消息傳遞至正確的接收器的信息的數(shù)據(jù)。所述信息包括參與者被分配給哪個虛擬節(jié)點以及虛擬節(jié)點被分配給哪個節(jié)點的信息。
[0058]圖1是根據(jù)一個示例性實施例能夠為傳遞消息提供架構的集群CL的示圖。該示圖簡化為僅包括一個客戶端Cl、一個參與者Al、四個節(jié)點N1-N4以及八個虛擬節(jié)點VNl-VNSof點N、與節(jié)點N相關聯(lián)的虛擬節(jié)點VN以及與虛擬節(jié)點VN相關聯(lián)的參與者A的數(shù)量可以根據(jù)需要而改變。
[0059]客戶端Cl只需要至集群CL的一個連接。使用外部消息傳輸來設置來往于客戶端Cl的消息傳輸。在集群CL中,虛擬節(jié)點Vm-VNS與節(jié)點m-N4相關聯(lián),如下所示:
[0060]VNl 和 VN2 關聯(lián)到NI[0061 ] VN3 和 VN4 關聯(lián)到 N2
[0062]VN5 和 VN6 關聯(lián)到 N3
[0063]VN7 和 VN8 關聯(lián)到 N4
[0064]對于每個客戶端連接,在集群CL中具有對應的用戶參與者。在圖1中,客戶端Cl在屬于節(jié)點N4的虛擬節(jié)點VN7中具有對應的參與者Al (用戶參與者)。
[0065]圖2進一步示出客戶端C與參與者A之間的消息傳輸。客戶端C1-C6與參與者A1-A7之間的虛線表示外部消息傳輸,而參與者A之間的實線表示參與者消息傳輸。如在圖1中,每個客戶端C以連接到對應的參與者A的一個連接而連接至集群CL(圖2中未示出)。
[0066]在圖2中,為了簡化說明,使用用戶名來標識客戶端C和參與者A。應當注意,一個人可以具有一個以上的客戶端C。例如,人Sarah具有連接至相同集群CL且與相同參與者Al“Sarah”相關聯(lián)的兩個客戶端Cl “Sarah”和C2 “Sarah”。同一人的一個以上的客戶端C可以以連接至集群CL的相同或不同應用程序而存在于相同或單獨的用戶設備上。此外,在一些示例性實施例中,客戶端C可以是運行大量會話的應用程序服務器等,其可以具有活動在集群CL上的多個單獨參與者A。
[0067]設想一個示例,其中Mike和Sarah兩人正在玩多人游戲。例如,他們正在使用以無線連接訪問游戲的移動電話。二者均連接到相同的集群CL并且能夠使用其中可用的服務。兩人中的任一者可以發(fā)起游戲會話并且邀請另一個人加入。
[0068]在圖2的示例性實施例中,客戶端C4游戲管理者與游戲參與者A4“Mike-Sarah_Game”相關聯(lián),其中用戶參與者Al“Sarah”和A6 “Mike”使用參與者消息傳輸來交換消息。所述消息可以是關于游戲中的當前狀態(tài)或動作的游戲事件。如果消息源自于或被定址到客戶端(:1“3&作11”丄2“3&^11”、061^?5”或04“游戲管理器”,則使用外部消息傳輸。通常在游戲示例中,用戶參與者負責處理對于客戶端C的進入消息和外出消息并且在相關的游戲參與者之間轉發(fā)消息。
[0069]設想一個示例,其中Tom和Mike正在使用消息傳輸應用程序進行聊天。例如,他們正在使用以無線連接訪問消息傳輸應用程序的筆記本電腦。二者均連接到相同的集群CL并且能夠使用其中可用的服務。兩人中的任一者可以發(fā)起游戲會話并且邀請另一個人加入。
[0070]在圖2的另一示例性實施例中示出客戶端C5 “Tom”和C6 “Mike”如何連接至用戶參與者“Tom” A5和“Mike”A6,用戶參與者“Tom”A5和“Mike” A6均連接至消息線程參與者A7“Tom-Mike-Chat”,消息線程參與者A7 “Tom-Mike-Chat”為用于在用戶Mike與Tom之間交換消息的聊天參與者。作為示例,Mike使用在其用戶設備中的聊天應用程序來鍵入給Mike(譯者注:這里的Mike是否應為Tom?)的消息。消息首先使用外部消息傳輸被傳遞至參與者A6“Mike”,然后使用參與者消息傳輸,從參與者A6“Mike”傳遞至參與者A7“Mike-Tom-Chat”,并且轉發(fā)至參與者A5 “Tom”,并且使用外部消息傳輸最終傳遞至客戶端C5 “Tom”?,F(xiàn)在Tom能夠使用在其用戶設備上的其聊天應用程序來讀取消息。通常,在聊天示例中,用戶參與者負責處理對于客戶端C的進入消息和輸出消息,并且在相關消息傳輸線程之間轉發(fā)消息。
[0071 ] 圖2進一步示出用戶Linda-客戶端C3 “Linda”連接至用戶參與者“Linda” A3 (其連接至游戲參與者A2 “Linda-Game”)的示例性實施例。在該示例中,用戶Linda、客戶端C3“Linda”或用戶參與者A3 “Linda”未連接至任何其它用戶參與者,而僅連接至游戲參與者A2“Lindagame,,。
[0072]圖3是描述了參與者A和虛擬節(jié)點VN如何與節(jié)點N相關聯(lián)的示例性方法的流程圖。節(jié)點N的數(shù)量可以從一個至η個變化。虛擬節(jié)點VN使用數(shù)學確定(30)與節(jié)點N相關聯(lián)。參與者A使用數(shù)學確定(31)與虛擬節(jié)點VN相關聯(lián)。在兩個步驟(30和31)中的數(shù)學確定可以使用相同的方法或不同的方法。數(shù)學確定可以包括用于映射的一致性散列或其它合適的方法。應注意,在一些實施例中,參與者A可以直接與節(jié)點N相關聯(lián),而不需要虛擬節(jié)點VN。圖3中的箭頭示出本發(fā)明的至少一些實施例可以在定義集群CL時實現(xiàn)并且本發(fā)明的至少一些實施例可以在現(xiàn)有集群CL中傳遞消息時實現(xiàn)。
[0073]圖1和圖2中簡化的示例示出其中僅存在少量客戶端C的情況。當客戶端C的數(shù)量增加并且因此參與者A和節(jié)點N的數(shù)量增加時,情況變得更加復雜。特別地,由于客戶端C可以如其所愿加入并且離開集群CL,并且開始/停止使用應用程序(生成/結束參與者A),所以迅速并且有效地處理消息傳輸很重要。
[0074]當根據(jù)至少一些實施例來設計集群CL時,估計的用戶的數(shù)量可以被估計,并且然后計算需要多少節(jié)點N來進行集群CL需能夠處理的所有處理。當建立集群CL時,節(jié)點N的數(shù)量被限定,并且每個節(jié)點N具有單個標識信息,例如可以為IP地址、分配給節(jié)點N的流水號、名稱或其它合適的方式。
[0075]節(jié)點N與虛擬節(jié)點VN的數(shù)量相關聯(lián)。每個虛擬節(jié)點VN具有限定如何組織虛擬節(jié)點VN的單個地址信息。與虛擬節(jié)點VN有關的術語地址信息可以是虛擬節(jié)點VN信息如何被組織在節(jié)點N中或集群CL中的抽象定義。
[0076]如果節(jié)點N的數(shù)量需要改變,則一些虛擬節(jié)點VN使用一致性散列算法與新的節(jié)點N相關聯(lián)以使數(shù)量或重映射最小化。節(jié)點N例如通過監(jiān)測集群大小(例如,監(jiān)測IP地址空間)來獲得節(jié)點N的當前數(shù)量的信息,或者可以存在通知節(jié)點N關于集群大小改變的控制系統(tǒng)。
[0077]當客戶端C希望例如連接至集群CL中的游戲參與者時,消息通過客戶端C的用戶設備中運行的應用程序生成,并且使用外部消息傳輸被發(fā)送至集群CL中的任何節(jié)點N。消息直接通過確定游戲參與者如何被分配給虛擬節(jié)點VN以及虛擬節(jié)點如何被分配給節(jié)點N來重定向至正確的節(jié)點N上的正確的虛擬節(jié)點VN。如果當創(chuàng)建參與者A時對于所有的客戶端C和其它實體使用相同的方法,則無需更新和共享包括所有參與者A的地址信息的明確的路由表。路由表為查找表,其被用于存儲和共享集群CL中的參與者A的地址信息。至少一個實施例的一個益處在于,無需同步關于每個虛擬節(jié)點VN和參與者A如何在集群CL中相關聯(lián)的路由表。當映射一致時,總是僅使用數(shù)學算法來確定正確的虛擬節(jié)點VN和正確的節(jié)點N,這消除了對于共享的映射表的需要??梢栽谶M行中計算映射,或者可以預先確定映射。節(jié)點N知道哪個虛擬節(jié)點VN屬于哪個節(jié)點N,但是節(jié)點N不必以另外的方式相互作用。管理消息傳輸?shù)牧硪环绞绞强偸菍⑺邢l(fā)送至所有參與者A,這將對于參與者A和消息傳輸路徑產生過度的負荷。
[0078]圖4示出示例性實施例,其中消息的傳遞被示出為流程圖。在步驟41中,接收或獲取消息,該消息包括標識消息中的發(fā)送者參與者和接收者參與者的至少發(fā)送者參與者ID和接收者參與者ID。在步驟42中,使用數(shù)學算法以確定哪個虛擬節(jié)點VN(第一虛擬節(jié)點)與發(fā)送者參與者ID相關聯(lián),以及哪個虛擬節(jié)點VN(第二虛擬節(jié)點)與接收者參與者ID相關聯(lián)。應當注意的是,步驟42中參與者ID的確定可以以任意次序完成。
[0079]在步驟43中,檢查發(fā)送者參與者ID和接收者參與者ID是否與相同的節(jié)點N相關聯(lián)。
[0080]如果是與相同的節(jié)點N相關聯(lián)-則消息被傳遞至第二虛擬節(jié)點VN-步驟44且進一步至接收者參與者-步驟45。
[0081]如果不是-則使用數(shù)學算法確定哪個節(jié)點N與第二虛擬節(jié)點VN相關聯(lián)-步驟46。
[0082]在后一種情形下,消息被傳遞至緩沖器系統(tǒng)中的緩沖器-步驟47。然后從緩沖器傳遞或獲取消息至第二虛擬節(jié)點VN-步驟48,且最后被傳遞至接收者參與者-步驟49。
[0083]圖5示出示例性實施例,其中獲取包括參與者ID的消息(50)。參與者ID至少部分地標識參與者A。在至少一個數(shù)學算法中利用參與者ID來確定參與者的地址信息(51),以及使用地址信息將消息傳遞至參與者(52)。
[0084]圖6示出示例性節(jié)點設備。如之前所述,節(jié)點N指的是物理的或虛擬的計算實體,其能夠管理與其相關聯(lián)的虛擬節(jié)點N。計算實體可以是能夠處理數(shù)據(jù)的設備。它可以是服務器設備、或運行聊天應用程序或游戲應用程序等的計算機等。節(jié)點設備60包括用于存儲信息的存儲器(MEM)61,該信息涉及例如與它相關聯(lián)的虛擬節(jié)點、如何處理消息的指令等。存儲器61可包括易失性或非易失性存儲器,例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可編程邏輯等。
[0085]節(jié)點設備60還包括用于處理指令和運行計算機程序的一個或多個處理器單元(CPU)62,以及用于發(fā)送和接收消息的接口單元(IF)63。
[0086]圖7示出可以實施本發(fā)明的至少一個實施例的示例性網絡系統(tǒng)。所示網絡系統(tǒng)包括節(jié)點設備60、用戶設備72、服務器設備73和網絡71。這里,網絡71表示硬件和軟件部件的任意組合,其能夠使得在一個通信端點的過程能夠發(fā)送信息至位于另一遠程通信端點處的另一過程或從位于另一遠程通信端點處的另一進程接收信息。網絡61可以是,例如個人局域網、本地局域網、家庭網、存儲區(qū)域網、校園網、中樞網絡、城域網、廣域網、企業(yè)專用網、虛擬專用網、或互聯(lián)網,或者這些網絡的任意組合。圖7的示例性網絡系統(tǒng)是示出僅僅一個節(jié)點設備60、用戶設備72和服務器設備73的簡化圖示。如前述所定義的,設備的數(shù)量可以改變。設備被示出作為分離的單元,但是在一些實施例中,節(jié)點設備60、用戶設備72或服務器設備73中的任何設備可以實現(xiàn)為相同的設備。例如,服務器設備73可以實現(xiàn)在節(jié)點設備60上用作消息服務器、游戲服務器、聊天室服務器等。
[0087]盡管本發(fā)明的各個方面被示出和描述為框圖、消息流程圖、流程圖和邏輯流程圖、或使用一些其它圖示,但可以很好理解的是,示出的單元、框、設備、系統(tǒng)元件、程序和方法可以實現(xiàn)為,例如硬件、軟件、固件、專用電路或邏輯、計算設備或它們的一些組合。
[0088]對本領域的技術人員而言顯而易見的是,隨著技術的進步,本發(fā)明的基本思想可以各種不同的方式實現(xiàn)。因此,本發(fā)明及其實施例并不局限于上述示例,而是可以在權利要求書的范圍之內變化。
【主權項】
1.一種用于在節(jié)點(N)的可擴展集群(CL)中的參與者(A)之間傳遞消息的方法,其包括: 在節(jié)點(N)處接收從第一參與者(A)至第二參與者(A)的消息,所述消息包含至少部分地標識所述第一參與者(A)的第一參與者ID和至少部分地標識所述第二參與者(A)的第二參與者ID; 在所述節(jié)點(N)中,通過僅僅使用所述第一參與者ID和所述第二參與者ID來確定用于所述第一參與者(A)和所述第二參與者(A)的地址信息; 確定所述第一參與者(A)和所述第二參與者(A)是否與相同的節(jié)點相關聯(lián); 通過使用所述地址信息將所述消息傳遞至所述第二參與者(A)。2.根據(jù)權利要求1所述的方法,其中所述節(jié)點N具有與它相關聯(lián)的至少一個虛擬節(jié)點VN03.根據(jù)權利要求2所述的方法,確定所述至少一個虛擬節(jié)點VN的地址信息,并且確定與所述虛擬節(jié)點VN相關聯(lián)的節(jié)點N的地址信息。4.根據(jù)權利要求1所述的方法,其中所述地址信息包括節(jié)點N的地址信息。5.根據(jù)權利要求1-4中任一項權利要求所述的方法,其中在所述確定時使用一致性散列算法。6.根據(jù)權利要求1-5中任一項權利要求所述的方法,其進一步包括:首先將所述消息傳遞至與所述虛擬節(jié)點VN相關聯(lián)的緩沖器中的區(qū)段。7.—種計算機程序產品,其包括一條或多條指令的一個或多個序列,當其由一個或多個處理器執(zhí)行時,致使設備去至少執(zhí)行至少以下步驟: 在節(jié)點(N)處接收從第一參與者(A)至第二參與者(A)的消息,所述消息包括至少部分地標識所述第一參與者(A)的第一參與者ID和至少部分地標識所述第二參與者(A)的第二參與者ID; 在所述節(jié)點(N)中,僅僅使用所述第一參與者ID和所述第二參與者ID來確定用于所述第一參與者(A)和所述第二參與者(A)的地址信息; 確定所述第一參與者(A)和所述第二參與者(A)是否與相同的節(jié)點相關聯(lián); 通過使用所述地址信息將所述消息傳遞至所述第二參與者(A)。8.根據(jù)權利要求7所述的計算機程序產品,其中所述地址信息包括節(jié)點(N)的地址信息。9.根據(jù)權利要求7所述的計算機程序產品,其中確定所述至少一個虛擬節(jié)點VN的地址信息,并且確定與所述虛擬節(jié)點(VN)相關聯(lián)的節(jié)點N的地址信息。10.根據(jù)權利要求7所述的計算機程序產品,其中所述地址信息包括節(jié)點(N)的地址信息。11.根據(jù)權利要求7-10中任一項權利要求所述的計算機程序產品,其中在所述確定時使用一致性散列算法。12.根據(jù)權利要求7-11中任一項權利要求所述的計算機程序產品,其進一步包括:首先將所述消息傳遞至與所述虛擬節(jié)點(VN)相關聯(lián)的緩沖器中的區(qū)段。13.—種設備,其包括用于以下的裝置: 接收從第一參與者(A)至第二參與者(A)的消息,所述消息包括至少部分地標識所述第一參與者(A)的第一參與者ID和至少部分地標識所述第二參與者(A)的第二參與者ID ; 僅僅使用所述第一參與者ID和所述第二參與者ID來確定用于所述第一參與者(A)和所述第二參與者(A)的地址信息; 確定所述第一參與者(A)和所述第二參與者(A)是否與相同的節(jié)點(N)相關聯(lián); 通過使用所述地址信息將所述消息傳遞至所述第二參與者(A)。
【文檔編號】H04L29/08GK105960791SQ201480062434
【公開日】2016年9月21日
【申請日】2014年12月17日
【發(fā)明人】尤哈尼·洪卡拉, 阿里·塔利亞
【申請人】羅威歐娛樂有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1