TW200818811A - Inter-proximity communication within a rendezvous federation - Google Patents

Inter-proximity communication within a rendezvous federation Download PDF

Info

Publication number
TW200818811A
TW200818811A TW096115651A TW96115651A TW200818811A TW 200818811 A TW200818811 A TW 200818811A TW 096115651 A TW096115651 A TW 096115651A TW 96115651 A TW96115651 A TW 96115651A TW 200818811 A TW200818811 A TW 200818811A
Authority
TW
Taiwan
Prior art keywords
node
ring
indirect
login
nodes
Prior art date
Application number
TW096115651A
Other languages
English (en)
Inventor
Richard L Hasha
Lu Xun
Gopala Krishna R Kakivaya
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200818811A publication Critical patent/TW200818811A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

200818811 九、發明說明: 【發明所屬之技術領域】 本發明係關於用於促進匯集聯合體内之鄰近間通訊的 方法、系統及電腦程式產品。 【先前技術】
電腦系統及相關技術對社會之諸多方面產生影響。事 實上,電腦系統能夠處理資訊之功能已經改變了吾人之生 活及工作方式。在出現電腦系統之前由手工執行之大量任 務(例如,文字處理、排程及資料庫管理)現在通常均由 電腦系統執行。新近,電腦系統被耦接至另一電腦系統且 耦接至其他電子裝置,以形成有線及無線電腦網路,該等 電腦系統及其他電子裝置可經由該等電腦網路傳輸電子資 料。結果,許多在一電腦系統中執行之任務(例如,語音 通訊、存取電子郵件、控制家用電子產品、瀏覽網頁及列 印文件)都涉及經由有線及/或無線電腦網路在許多電腦系 統及/或其他電子裝置之間交換電子訊息。 但是,為了利用一網路資源來執行由電腦完成之任 務,一電腦系統必須擁有某種方式來識別及存取該網路資 源。相應地,該等資源通常被指派惟一識別碼(例如,網 路位址),其惟一識別該等資源且可用於將一資源與其他資 源區分開來。因此,一希望利用一資源之電腦系統可使用 對應於該資源之網路位址連接該資源。但是,如果一電腦 系統事先不知曉一網路資源之網路位址,則難以存取一網 路資源。舉例而言,如果一電腦系統(或另一網路電腦系 5 200818811 則不能在該網路印表機 、不知道一網路印表機之位址 上列印文件。 域名稱二:已經為電腦系統開發了各種機制,例如,網 散式擋案 f W 麵)、( “ AD”)、分 /、糸統(DFS” ),用以識別(及存取) 之資源。# 3 ^ 于^先則未知
如,裝置: 由不同電腦網路存取之資源(例 & 服務)的數量及差異性,開發人員經常需要開 發應用程式决每#女# 节而要開 '來m施各種不同資源識別及存取機制。一 同機制?π /、有不同編碼要求,也許不能為開發人 應用程式巾所f要之全料能。 k供一 舉例而言,儘管網域名稱系統具有一分散式管理架榻 ^即不需要集中式管理),但網域名稱系統之動態不足、不 疋自組織的(self-〇rganizing ),支援一弱資料及查詢模型 ^具有一固定根集合。另一方面,AD是足夠動態的,隹 需要集中式管理。另外,不同機制之態樣相互之間可能耳 相各。舉例而言,使用網域名稱系統識別之資源可能與分 政式檔案系統路由通訊協定不相容。因此,一開發人員月 能被迫選擇最合適之機制,而放棄其他機制之優點、 用於識別資源之機制在點對點網路中可能尤其容易導 致問題。網域名稱系統提供一查閱服務,以主機名稱作為 “鍵,,,以IP位址作為“值”,其依賴於一組特殊根伺服 器來實施查閱要求。另外,網域名稱系統需要管理資訊(Ns 記錄),以允許用戶端能夠在名稱伺服器階層中瀏覽。因 此,必須在將一資源輪入網域名稱系統中之後,才可以在 6 200818811 一網路上識別該資源。在更大規模網路中,節點經常連接 該網路及從該網路斷開連接,依靠資訊項並非總是實際可 行。此外,網域名稱系統是專門用於查找主機或服務等任 務的,通常不適用於其他類型之資源。
相應地,已經開發了其他用於資源識別及存取之機 制,以嘗試克服該等缺點。大量機制包括分散式查閱通訊 協定,該等通訊協定較之網域名稱系統更具有擴充性。此 等機制使用各種節點配置及路由演算法,以將要求路由至 相應資源,及儲存查閱資訊。 該等機制中之至少一種機制利用一網路中每一節點之 本機多位準鄰居圖,以將訊息路由至一目的節點。此實質 上導致一種架構,在此架構中,每一節點係一相應節點樹 之“根節點”,(該等節點位於該根節點之鄰居圖中)。訊 息被逐位遞增路由至一目的識別碼(例如, ***6 = >**46 = >,*3 46 = >2 346,其中*s表示萬用字元)。此等 類型機制之路由效率為〇(l〇g N)路由躍點,需要節點維護 一 Ο (log N)大小之路由表。 該等機制中至少一其他機制為節點指派一惟一識別 碼,該識別碼取自一線性數字環。節點維護路由表,該等 表中包含指向其直接後續節點(根據識別碼值)之指標, 以及指向其識別碼值最接近識別碼+2L值之後續節點的指 標。此等類型機制之路由效率也為0(l〇g N)路由躍點,需 要節點維護一 0(log N)大小之路由表。 至少再一其他機制需要0(log N1/d)路由躍點,需要節 7
200818811 點維護一 0(D)大小之路由表。因此,所有此等機制之 效率取決於(至少部分取決於)系統中之節點數目。 另外,由於(對於該等機制中之至少一部分機制 別碼可在一環内被均勻分佈,所以總是存在某一可能 使該環内節點之間的路由導致某種較低效率。舉例而 路由躍點可以跨躍廣闊地理距離,跨躍更昂貴鏈路, 穿過不安全網域,等等。另外,當訊息路由涉及多個 時,此等事件有可能發生多次。遺憾地是,此等機制 考慮節點相互之間的鄰近性(實體鄰近或其他方式〕 如,根據一環中之節點分佈,將一訊息由紐約路由至 頓可能涉及將該訊息從紐約路由至倫敦、至亞特蘭大 東京,然後到達波士頓。 相應地,至少一種其他最近機制考慮了鄰近性, 法是將鄰近性定義為單一純量鄰近量度(例如,IP路 點或地理距離)。此等機制利用基於鄰近性之概念來選 由表項。由於對於每一路由表項存在許多“正確”備 點,所以此等機制嘗試從該等備選節點中選擇一鄰 點。對於此等機制可以提供一種功能,使每一節點能 定一具有既定IP位址之節點與其自身之“距離”。在 息路由至一更遠節點之前,可以在更鄰近環中之節點 由該等訊息,以朝向一目的前進。因此,可以節省一 源,且路由效率更高。 遺憾的是,此等現有機制通常沒有提供:節點間 稱關係(即,如果一第一節點將一第二節點看作其夥 路由 )識 性, 言, 或者 躍點 沒有 丨。例 波士 、至 其方 由躍 擇路 選節 近節 夠確 將訊 間路 些資 之對 伴, 8
200818811 該第一節點也將該第一節點看作其夥伴)、 (順時針方向及逆時針方向)上路由訊息 近篁度分割節點之鏈接串列(linked list) 鄰近置度路由訊息,等等。此等缺點可能 之節點間動態、分散式及高效地傳輸資料 路之所有節點廣播資料時。 【發明内容】 本發明提供用於促進匯集聯合體内之 法、系統及電腦程式產品。在一些具體實 於一節點之間接環(collateral ring )集合 存取一間接環集合登錄表,該表被組態用 間接環集合登錄。每一間接環集合登錄被 節點之一間接環,及該節點之間接環内之 節點。從維護有關於該環樹(tree of rings 資源中搜尋間接環集合登錄表資訊。基於 集合登錄表實訊,用適當間接環集合登錄 環集合登錄表。該適當間接環集合登錄狀 一間接環,及該節點之間接環内之至少一 在其他具體實施例中,鄰近間通訊, 送。在鄰近間通訊之一具體實施例中,確 節點之一指定間接環中傳送一訊息。該節 集合登錄表,該表被組態用於儲存該節點 錄。每一間接環集合登錄被組態用於指示 環,及該節點之間接環内之至少一相應登 在一環之兩方向 、基於複數個鄰 以及基於複數個 會限制在一網路 ’例·如在向該網 鄰近間通訊的方 施例中,維護對 登錄表。一節點 於儲存該節點之 組態用於指示該 至少一相應登錄 ;)之組態的可用 所發現之間接環 狀態更新該間接 態包括該節點之 相應登錄節點。 t 一環樹中被發 定一節點將向該 點存取一間接環 之間接環集合登 該節點之一間接 錄節點。從該節 9 200818811 點之間接環集合登錄表中識別該指定間接環之至少一間接 環集合登錄。該等至少一間接環集合登錄之每一間接環集 合登錄指示該指定間接環之至少一登錄節點。該訊息被發 送到至少一被指示登錄節點。 在鄰近間通訊之另一具體實施例中,確定一起始節點 希望向一目的節點路由一訊息,該目的節點最接近該環樹 内一目標鄰近環的既定節點識別碼。一或多個登錄節點被 識別’已知該等登錄節點為該目標鄰近環與該目標鄰近環 之上階環中至少之一的成員節點。該訊息被傳送至一被識 別之登錄節點。該訊息指示該被識別登錄節點將該訊息解 析至 節點,該節點之節點識別碼最接近該目標鄰近環中 之一被指示目的節點。 &供本發明内容’係為了以一簡化方式介紹一組概 二在下文之“實施方式”中將進一步對其進行描述。本 美 内奋無意於確定本申請專利之發明的關鍵特徵或 寺徵’也無意於用來辅助確定本申請專利之發明的範 爵。 明立=他特徵與優點將在隨後之說明中列出,且可由該說 P f理解,或者透過實踐本文之講授來學習。利用在隨 :申請專料目内制指定ϋ及組合可實現及獲得本 入、*及優點。從以下說明及隨附申請專利範園可以 面地明瞭本發明之特徵,或者可藉由如下文所列來實 施本發明來對學習該等特徵。 【實施方式】 10 200818811
本發明提供用於促進匯集聯合體内之鄰近間通訊 法、系統及電腦程式產品。在一些具體實施例中,維 於一節點之間接環集合登錄表。一節點存取一間接環 登錄表,該表被組態用於儲存該節點之間接環集合登 每一間接環集合登錄被組態用於指示該節點之一間接 及進入談節點之間接環内之至少一相應登錄節點。從 有關於該環樹之組態的可用資源中搜尋間接環集合登 資訊。基於所發現之間接環集合登錄表資訊,用適當 環集合登錄狀態更新該間接環集合登錄表。該適當間 集合登錄狀態包括指示該節點之一間接環,及進入該 之間接環内之至少一相應登錄節點。 在其他具體實施例中,在一環樹中發送鄰近間通 在鄰近間通訊之一具體實施例中,確定一節點將向該 之一指定間接環中傳送一訊息。該節點存取一間接環 登錄表,該表被組態用於儲存該節點之間接環集合登 每一間接環集合登錄被組態用於指示該節點之一間接 及進入該節點之間接環内之至少一相應登錄節點。從 - -- 點之間接環集合登錄表中識別該指定間接環之至少一 環集合登錄。該等至少一間接環集合登錄之每一間接 合登錄指示談指定間接環之至少一登錄節點。該訊息 送到至少一被指示登錄節點。 在鄰近間通訊之另一具體實施例中,確定一起始 希望向一目的節點路由一訊息,該目的節點最接近該 内一目標鄰近環的既定節點識別碼。一或多個登錄節 的方 護對 集合 錄。 環, 維護 錄表 間接 接環 節點 訊。 節點 集合 錄。 環, 該節 間接 環集 被發 節點 環樹 點被 11 200818811 識別’已知該等登錄節點為該目標鄰近環與該目標鄰近環 之上階環中至少之—的成員節點。該訊息 = 別之登錄節點〇該%自社-^ ^ 稷識 訊心札示該被識別登錄節點將 析至一節點,該節點之狄机地,庄η 飞訊心解 -之即點識別碼攻接近該目標 之一被指示目的節點。 ^ ^ τ 本發明之具體實;1 k ^ 可匕括一專用或通用電腦,苴包 括電腦硬體,下文脾縣 — 文將對此進行詳細討論。本發明之 利範圍内的具體實施例還 4、 ^ ^ 遇包括電月自可讀取媒體,用於承載 或於其中儲存電腦可執 A七次 、 θ々或負料結構。此種電腦可續 取媒體係可由一通用或專 ^ 寻用電恥存取之任意可用媒體。以 月例而非限制方式說明之,電 體 讀取儲存媒體,例%,Pm ^媒體可包括電腦可 &機存取記憶體、唯讀記,声 可抹除可程式化唯讀記憶體 匕體電 置、磁榉儲存穿番+ 貝九碟或其他光碟儲存裝 …V、 :或任何其他可被用於以電腦可執行产八 或資料結構方式儲存所需雄 曰々 體可由-通用或專用電腦存取、、且該荨媒
在此說明及隨後之申專 A 義為-或多個資料鏈接,1 + \ Λ ’ — “網路”被定 傳輸電子資料。當經由—網允路 線、無線或固線及無線之組 ^連接(可以是固 時,該電腦正確地將該連接看作—電腦傳輸或提供資訊 藉由實例而非限制性方式說明之ϋ㈣媒採體。因此, ,,再路戈貝枓鏈接,其可被用於 枯 結構之形式承# $按户& # 旬可碩取才曰7或資料 載或儲存所需要之程式蜂構件,且可由-通 12 200818811 用或專用電腦存取。 電腦可執行指令包栝(例如)可導致一通用電腦、專 用電腦或專用處理裝置執行特定功能或一組功能之指令及 資料°該電腦可執行指令可以為(例如)二進位、中間格 式指令,例如組合語言,甚至是源代碼D儘管已經採用結 構特徵及/或方法性操作的專用語言描述了本發明,但應理 解’於隨附申請專利範園内限定之本發明不必限制至上文 所述之特徵或操作。相反,所述特徵及操作被作為實施該 等申請專利項之實例形式而揭示。 在一些具體實施例中,諸如專用積體電路或閘陣列之 類的硬體組件被最佳化,以實施本發明之原理。 在此說明及隨後之申請專利範圍内,“節點,,被定義 為一或多個軟體模組、/或多個硬體模組,或兩者之組合, 其一起合作以對電子資料執行操作。舉例而言,節點之定 義包括一個人電腦之硬體組件,也包括軟體模組,例如該 個人電腦之作業系統。該等模組之物理佈局並不重要。一 節點可包括一或多個經由一網路耦接之電腦。與此類似, 節點可包括單一實體裝置(例如,一
型電腦、手持式震置 裝置(例如,一行動電話或個人數 記憶體及處理器) 一節點可包括專 器。 解’本發明可被實施於具有許多類 算環境中,包括··個人電腦、膝上 多處理器系統、基於微處理器或可 13 200818811
程式化消費型電子產品、網路個人電腦、迷你電腦、大型 電腦、行動電話、PDA、呼叫器、路由器、閘道、代理設 備(broker )、代理(proxy )、防火_、重新導向器、網路 位址轉譯機,等等。本發明也可被實施於分散式系統環境 中,在此環境中,本機及遠端節點均執行任務,經由一網 路將該等節點鏈接在一起(既可藉由固線資料鏈接、無線 資料鏈接,也可藉由固線及無線資料鏈接之組合)。在一分 散式系統環境中,程式模組可位於本機及遠端記憶體儲存 裝置中。 聯合體架構 第1圖說明一聯合體基礎建設之實例100。該聯合體 基礎建設100包括節點101、102、103,其可構成不同類 型之聯合夥伴關係。舉例而言,節點1 0 1、1 02、1 03可被 相互聯合為沒有根節點之對等節點。節點1 01、1 02及1 03 中之每一節點各別具有一相應識別碼1 7 1、1 82及1 93。 一般來說,節點101、102、103可利用聯合通訊協定 來構成夥伴關係且交換資訊(例如,與其他節點進行互動 之相關狀態資訊)。夥伴關係之形成及資訊之交換促進了對 資源之更有效及更可靠存取。其他中間節點(未示出)可 存在於節點101、102及103之間(例如,其識別碼介於 1 7 1與1 93之間的節點)。因此,例如在節點1 0 1及節點1 03 之間路由的訊息可經過一或多個其他中間節點。 聯合體基礎建設1 00中之節點(包括其他中間節點) 可包括相應之匯集通訊協定堆疊。舉例而言,節點 101、 14 200818811 102及103各別包括相應匯集通訊協定堆疊141、142及 143。該等通訊協定堆疊ι41、142及143中之每一堆疊包 括一應用層(例如,應用層121、122及123 )及其他較低 層(例如,其他相應較低層1 3〗、;ι 3 2及1 3 3 )。一匯集通 訊協定堆疊中之每一層負責有關將一資源要求與一相應資 源匯集之不同功能。 舉例而言,其他較低層可包括一通道層、一路由層及 一功能層。一般來說,一通道層負責從一端點向另一端點 (例如,從節點101向節點103)可靠傳輸一訊息(例如, 使用 WS_ReliableMessaging及簡單物件存取協定 (SOAP ))。該通道層還負責處理傳入及輸出可靠發訊標 頭,及維護與可靠發訊會話相關之狀態。 一般來說,一路由層負責計算朝向一目的之下一躍點 (hop)。該路由層還負責處理傳入及傳出定址及路由訊息 梯頭及維護路由狀態。一般來說,一功能層負責發出及處 理匯集通訊協定訊息’例如加入與脫離要求、偵測、更新 及其他訊息,還產生對此等訊息之回應。該功能層處理來 自路由層之要求訊息,如果存在相應回應資訊,則使用該 路由層將其發送回起始端。該功能層還起始化要求訊息且 利用該路由層來傳輸要求訊息。 一般來說,一應用層處理由該功能層傳輸而來之非匯 集通訊協定專用資料(即應用訊息)。該功能層可存取來自 該應用層之應用資料,且獲取及將應用資料置於匯集通訊 協定訊息中(例如,偵測及更新)。即,該功能層可導致應 15 200818811 用資料被揹負於匯集通訊協定訊自^ 〜叽恩上,並可導 二欠 料被傳回該接收匯集通訊協定節致ώ 該應用一貝 即點中之應用層。 體實施例中,應用資料可用於識別次、β 在 二八 两⑺貝源及資源避 該應用層可包栝專用邏輯與狀態,A 、趣。因此’ w , 其處理從其他較低層接 收之資料及發送至該等其他較低層之 叛低層接
及資源興趣。 於識別貝源 聯合機制 節點可利用各種不同機制進行聯合。_ .? 第一聯合機 制包括向所有其他對等節點轉遞資訊之對等節點。當一節 點準備加入一聯合體基礎建設時,該節點利用一廣播/多播 搜哥通訊協定(例如,WS-Discovery)來宣告其存在,且 發出廣播/多播尋找訊息以偵測其他節點。於是,該節點與 ^凋路中已經存在之其他節點建立一種簡單之轉遞夥伴關 係’且接受與新加入節點之新夥伴關係。之後,該節點簡 單地向其所有夥伴節點轉遞全部專用訊息0 一第二聯合機制包括向其目的最高效地傳輪專甩訊息 之對等節點。當一新節點準備加入一聯合體基礎建設時, 該新♦點利用-廣播/多播搜尋通訊協定(例如, WLDiSC0very)來宣告其存在,且發出廣播/多播尋找訊息 M偵測作為該聯合體基礎建設之部分的其他節點。在偵測 幻另一希點時,該新節點與其他節點建立一夥伴關係。由 建立之夥伴關係,該新節點知曉其他已經加入該聯合體 基礎建没之節點的存在。於是,其與此等新知曉節點建立 夥伴關係,且接受任何新進入夥伴關係要求。 16 200818811 節點到達/脫離及特定專用訊息中之興趣註冊都經由 該聯合體基礎建設氾濫廣播(flood ),導致所有節點均全 面知曉其他夥伴節點及專用訊息中之興趣註冊。利用這一 全域知識,任意節點可將專用訊息直接發送到對該專用訊 息表示興趣之節點。
一第三聯合機制包括將全部專用訊息間接轉遞至其目 的之對等節點。在此第三機制中,節點被指派識別碼 (ID ),例如,一 128位元或1 60位元之識別碼。藉由將 一既定專用訊息之目的識別(例如,URI )對映(例如, 雜湊)至此128位元或160位元識別碼空,間,可以獲得一 識別碼,可以確定一最接近此識別碼之節點,作為負責在 該既定專用訊息中維護興趣註冊之節點。 在此第三機制中,節點之到達與脫離均被經由該整體 結構氾濫廣播。另一方面,在特定專用訊息中之興趣註冊 被轉遞至被確定用來負責維護此註冊資訊之節點。為具有 可延展性、負载平衡及容錯性,接收特定專用訊息中之興 趣註冊的節點能夠可靠地在其鄰域集合中汜濫廣播該註冊 資訊。一特定節點之鄰域集合可被確定為具有以下特點之 集合:其識別碼落於該指定節點之識別碼兩側的預定範圍 内0 與該第二機制類似,一新加入節點利用一廣播/多播搜 尋通訊協定(例如,WS-Discovery)來宣告其存在,且發 出廣播/多播尋找訊息以偵測已作為該聯合體基礎建設之 部分的節點。該新節點與所發現之節點建立夥伴關係,且 17 200818811
利用該夥伴關係暸解其他加入該聯合體基礎建設之新節點 的存在。然後,該新節點與此等新發現之節點建立夥伴關 係,且接受新傳入夥伴關係要求。該新節點從其夥伴接受 一特定應用層專用資源中之傳入興趣註冊,其對此負責, 且在其鄰域集合中汜濫廣播它們。因此,訊息通常可被經 由中間路由節點(例如,新加入節點與其有夥伴關係之節 點或者一夥伴節點知曉之節點)轉遞至其最終目的。 回應接收到該傳入專用訊息*該新節點將該訊息轉遞 至該夥伴節點,其可能負責為該訊息所指定目的維護該註 冊資訊。因此,在使用此第三機制時,聯合體基礎建設中 之所有節點全面知曉所有其他節點,但該註冊資訊被有效 分割於該等節點之間。僅經由該夥伴之節點(其可能負責 在其專用訊息中維護註冊資訊)將專用訊息傳輸至其最終 目的。因此,藉由僅向該夥伴節點(其全面瞭解被處理訊 息中之興趣註冊資訊)轉遞來完成間接傳輸。這一點與第 一機制形成對比,在第一機制中,藉由向所有該等夥伴節 點俸遞來完成該間接傳輸。 一第四聯合機制包括向其他對等節點路由訊息之對等 節點。此第四機制與第三機制之不同點至少包括:該節點 到達/脱離及特定專用訊息中之興趣註冊均被全部路由而 不是被泛濫廣播。路由通訊協定被設計用於保證專用訊息 及註冊訊息(其表示對此等專用訊息之興趣)之間的匯集。 第2圖說明一電腦架構200之實例,其促進將要求間 接路由至夥伴。電腦架構200描述不同類型之電腦系統及 18 200818811 裝置 其可能分散於多個參與一聯合體基礎建設之局部搜 尋範圍。 工作站233可包括一已註冊PnP提供者執行個體。 為向其夥伴通知此PnP提供者執行個體之存在,工作站233 經由該聯合體基礎建設路由註冊要求201。註冊要求201
起始被轉遞至膝上型電腦23丨,該膝上型電腦23丨又將註 冊要求201轉發至訊息代理器237,其又將註冊要求201 轉遞至訊息閘道241。訊息閘道241將該註冊資訊註冊要 求201保存在其資料庫中,且向工作站233返回成功訊息 204 〇 接下來,另一已註冊提供者執行個體(此次為運行服 務之執行個體)在該工作站2 3 3中變為活動狀態。此時, 該節點瞭解訊息閘道241負責註冊及將註冊要求205直接 轉遞至訊息閘道24 1。訊息閘道24 1將該註冊資訊註冊要 求205保存在其資料庫中,且向工作站233返回成功訊息 20 6 ° 接下來,印表機236 (例如,一 UpnP印表機)被啟動 電源,且發送宣告207。伺服器234偵測宣告207,且將註 冊要求208路由至訊息代理器237。訊息代理器237將註 冊要求208轉遞至訊息閘道241。訊息閘道241將該註冊 資訊註冊要求208保存在其資料庫中,且向伺服器234返 回成功訊息2 1 0。 接下來,個人電腦242發出查閱要求211以搜尋所有 裝置。由於個人電腦2 1 2不知道向何處轉遞查閲要求2 1卜 19
200818811 所以其經由工作站243路由查閱要求21 1。 查閱要求被路由至相同目的時,該路由通訊 該等兩個要求(導致工作站242向訊息閘道 要求211 )之間的匯集。訊息閘道241查閱 冊訊息,且將搜尋要求211轉遞至該工作站 2 3 4。工作站2 3 3及祠服器2 3 4各別將回應訊 發送至個人電腦242。 此第四機制工作時僅將一要求路由(而;f 到全面暸解一要求所指定註冊資訊的節素 241 )。下文將進一步詳盡說明,此第四機制 由可在O(logN)個躍點内完成,其中n為參 礎建設之節點數目。由於此第四機制有效地 關係及註冊資訊,其可以擴展至非常大之網 際網路。 儘管已經描述了 _多聯合機制,但熟習 閱讀此說明之後應暸解,其他聯合體機制亦, 一聯合體內節點冬間的 相應地,一聯合體由一組節點組成,該 作,以形成一動態、可擴展網路,在此網路 高效地分發及定位資訊。使用一二進位關係 一有序串列,以加入一聯合體,該二進位關 對稱的、遞移的、整體的,且定義於節點識 序串列之兩端被聯結’從而形成一環。因此 每一節點認為自身位於該有序串列之中間( 當註冊要求及 協定基本保證 24 1轉遞搜尋 由其維護之註 233及伺服器 息214及216 :是ia溢廣播) i (訊息閘道 基本保證該路 與該聯合體基 分割節點夥伴 路,甚至是網 此項技術者在 ί系可能。 等節點相互合 中,可以系統 將節點組織為 係自反的、非 別域上。該有 ,該串列中之 使用模運算之 20 200818811 結果)。另外’該串列被雙向鏈結,從而任意節點可在任— 方向上行旅該串列。 每一聯合節點可被指派一識別碼(例如,藉由一具有 重複值偵測之隨機數產生器指派),該識別碼來自一固定識 別碼集合’介於0至某一固定上限之間。因此,向該固定 上限之識別碼加1會導致該識別碼為零(即,從該鍵接串 列之結尾移至該鏈接串列之開頭)。此外,由該節點識別域 向該節點本身定義一個一對一對映函數。 第3圖描述一實例鏈接串列304及相應環306。對於 一此種既定環,可以定義以下函數: R0UteNumeriCally(V,Msg):給定該節點識別值域之一 值V及一訊息“ Msg” ,將該訊息傳輸至節點X ,可使用 該對映函數將該節點X之識別對映至V。
Neighborhood(X,S):鄰域係指位於節點X之兩側、 其基數等於S之節點集合。 ^該聯合體内之所有節點均全面知曉該環時,藉由直 接將Msg發送至節點X (其識別係藉由向乂應用該對映函 數而獲得)而實施R〇uteNumerically(V,Msg)。或者,當節 點具有其他節點之有限知識時(例如,僅直接相鄰節點之 知識)’可藉由將訊息轉遞至沿該環之連讀節點,直到其到 達目郎點X為止’以此實施R〇uteNumerically(V,Msg)。 另者(也是最佳方式),節點可儲存有關該環之足夠資 訊以執行一分散式二進位搜尋(不必擁有全面資訊或實 施直接相鄰相點之間的路由)。該環資訊之數量可被組態, 21 200818811 使得維護環資訊對於每一節點的影響足夠小,但允許透過 減少路由躍點數目來提高路由效能。
如前所述,可使用定義於一足夠大之有界自然數集上 的“ <,,(小於)關係來指派識別碼,即其範圍係介於0 至某一固定俵(含)之間的有限數集。因此,參與該聯合 體之每一節點被指派一自然數,該自然數介於0與某一適 當選擇之上限(含)之間。該範圍不一定非常緊密,在被 指派給節點之數字之間可以存在間隔β被指派給一節點之 數字用作其在該環中之識別。該對映函數將一介於兩節點 識別之間的數字對映至其識別在數值上最接近該數字之_ 點,從而導致(account for)該數字空間中的間隔。 此方法具有許多優點。藉由為每一節點指派一均勻分 佈之數位,從而提高了該環之所有分段均被均勻填充之可 能性。另外,利用模運算可以有效地完成後續、前置及鄰 域計算。 在一些具體實施例中,聯合節點被指派來自一識別瑪 空間之識別碼,該識別碼空間非常大,從而使得兩個節點 被指派相同識別碼之機會非常小(例如,當使用隨機數產 生方式時)。舉例而言,一節點可被指派一 0至bn-1範園 内之識別碼,其中b等於(例如)〇或16,11等於(例如) 128位元或160位元等價數字。相應地,可以為一節點指 派一 0至1640-1 (或大約1.461 502E48 )範圍内之識別碼。 0至1 640-1之範園提供(例如)之識別碼數目足夠為網際 網路上之每一節點指派一惟一識別碼。 22 200818811 因此,一聯合體内之每一節點可具有: 一識別碼,其係均勻分佈於0至1^-1範圍内之一數字 值;以及 一路由表,其包括(所有運算均以bn為模完成): 後讀節點(s);
前置節點(p ); 鄰域節點(Pk,…,Ρί,P·,S,Si,…,Sj),Sj.s.id > (id + u/2),j g v/2-1,pk.p.id < (id - u/2),k ^ ν/2·1 ;以及 路由節點(Γ·(η·1)5 ···, Γ-b Γι 5 ···, rn.i) » r±i =
RouteNumerically(id 士 b1,Msg) o 其中b為數基,n是域大小(其單位係數位之個數), u為鄰域範圍,v為鄰域大小,該運算係以bn為模而完成◎ 為獲得良好路由效率及容錯性能,U與V之值可以是u = b 且v>max(log2(N),4),其中N是實體參與該聯合體之節 點總數。N可以由出現在一環分段中之節點數目估計,其 長度大於或等於b,例如,當存在識別碼之均勻分佈時。b 與η之典型值為b = 8或16,128位元或160位元等價數 位0 相應地,路由節點可以形成跨越一環之對數索弓I。取 決於一環上之節點位置,例如在idib1集合中之每一數字 處均存在一現有節點時,其中i = (l,2,...(η-1)),精確對 數索引係有可能的。但是,有可能並非在集合中之每一數 字處均存在現有節點。在此情況下,最接近id 士 b*之節點 可以被選作一路由節點。所’得到之對數索引並不準確,甚 23 200818811 至對於該集合中之某些數字缺少惟一路由節點。 再次參考第3圖’第3圖說明一聯合體基 點之間的實例二進位關係,該基礎建設採用有 ^ 及相應環3〇6之形式。有序串列3〇4之1 …(或255 )範圍内間… , 四此,H 3圖 中所述之節點被指派介於〇 i 255範圍内的識別碼。有序
串列304利用一二進位關係,該二進位關係是自反的非 對稱的、遞移的、整體的,且定義於節點識別域上。有序 串列304之兩端被鏈結,從而形成一環3〇6。此使得第3 圖中之每一節點可以認為自身位於該有序串列3〇4之中 間。該有序串列304被雙向鏈結,從而任意節點可在任一 方向上行旅該有序串列3〇4。可以28為模執行用於行旅有 序串列304 (或壞306 )之運算。因此,255 (或該有序串 列3 04之末尾)+1-0 (或有序串列3 之開頭)。 該路由表指示識別竭6 4之後讀識別碼為識別碼7 6(以 順時針方向緊隨在識別碼64之後的識別碼)。舉例而言, 當一新節點(例如,識別碼為7 1的節點)加入該聯合體基 礎建設或一現有節點(例如,識別碼7 6 )脫離該聯合體基 礎建設時,該後續節點可能變化。與此類似,該路由表指 示識別碼64之前置識別碼為識別碼50 (以逆時針方向緊 臨在識別碼6 4之前的識別碼)。舉例而言,當一新節點(例 如,識別瑪為5 9的節點)加入該聯合體基礎建設或一現有 節點(例如,識別碼50 )脫離該聯合體基礎建設時’該前 置節點可能變化。 24 200818811 該路由表進一步指示識別碼64之鄰域節點集合 識別碼83、76、50及46。鄰域節點集合可以是指定 個節點(即,鄰域大小v),該等節點位於識別碼6斗 定範圍(即,鄰居範圍之内。各種不同鄰域大小 居範圍(例如,V = 4及U = l〇)可被用於識別該鄰域節 合。舉例而言,當節點加入或脫離該聯合體基礎建致 〜 指定節點數目或指定範圍變化時,一鄰域集合可能變」 . 該路由表進一步措示識別碼64可路由至識别 200、2、30、46、50、64、64 ' 64、64、76、83、98、 及200之節點。藉由識別最接近於集合id±2i中每一 之節點,可以產生此串列,其中i = (1,2, 3 4,5 6 即b = 2及n=:8。舉例而言,可以藉由計算最接近6斗 或7 2之郎點而識別具有識別碼7 6之節點。 一節點可以將訊息(例如,用於存取資源之要求 接路由至一前置節點、一後續節點、鄰域節點集合中 意節點,或者任意路由節點。在一些具體實施例中, I 實施數字路由函數,以路由訊息。因此,可在節點χ
RouteNUmerically(V,Msg),以將 Msg 傳輸到聯合體 節點Y (其識別碼在數值上最接近V),且將節點γ 別碼返回節點X。舉例而言,具有識別碼64之節點 實施R〇UteNumerically(243, Msg),使一訊息被路由至 識別碼2 5 0之節點。但是,由於識別碼2 5 〇不是識別 之路由節點,所以識別碼64可以將該訊息路由至識另〗 (與243最接近之路由節點)。具有識別碼2之節點又 擁有 數目 之指 及鄭 點集 或當 to 瑪為 135 數字 7)。 ”3 )直 之任 節點 實施 中之 之識 可以 具有 碼64 碼2 可實 25 200818811 施RouteNumerically(243,Msg),使該訊息被路由至具有 識別碼 250之節點(直接路由或經由其他中間節點路 由)。因此,RouteNumerically函數被遞迴叫用,每次叫用 將一訊息路由至更接近目的之節點。
有利地,本發明之其他具體實施例可根據一或多個鄰 近類別(例如,地理界限、路由特徵(例如,IP路由躍點)、 管理域、管理界限,等等)之複數個鄰近準則,將一環分 割為環之環或環之樹。應理解,可利用相同類型之鄰近準 則將一環分割多於一次。舉例而言,可根據一洲鄰近準則 及一國家鄰近準則(均為一地理界限鄰近類別中之準則) 分割一環。 由於識別碼可在一識別碼空間中均勻分散(隨機數產 生之結果),一圓型識別碼空間中之任意既定分段包括屬於 不同鄰近類別之節點的可能性非常大(前提是此等類具有 大體相同之基數)。當節點數目足以獲得有意義之平均特性 時,此種機率會進一步增大。 因此,從鄰近的角度來看,任意既定節點之鄰域節點 通常都被很好地分散。由於所公佈的應用程式狀態可以在 鄰域節點中每製’所以從鄰近的角度來看,該被公佈資訊 也可被很好地分散。 第4圖說a月一環之環$ 〇 〇,其促進鄰近路由。環4 0 1 可被看到一主控環或根環,其包含環4〇2、403及404中每 一環之所有節點。環402、403及404之每一環包含來自環 40 1之一節點子集,該等節點被依據一指定鄰近準則分 26 200818811 割。舉例而言,環4 0 1可被依據地理位置查 ^ sJ分,其中環402 包含北美之即點,% 403包含歐洲之節點, 每404包含亞 洲之節點。 S ^ 在包含65,536 (216)個識別碼之數值
间中,網1 A 由具有識別碼5345之北美節點路由至具有 ·訊似 亞洲節點的過程包括切402内路由該訊Γ ^ 23345之 亞洲節點之-鄰近節點為止。於是該鄰近;= 路由至該亞洲節點,因此 將該訊⑵ 行單-躍點Γ而不…躍點)。相應地點=:節點進 方式執行路由❶ 種資源高效 第5圖說明一引入鄰近之實例分割環樹5〇〇,A促進 :近路由二據描:’分割環請包括許…該等環 中之母一壞表不一有序絲从A ^
鏈、、、《串列之一 /刀割部分。每一 括複數個節點,該等節$ & + ^ + 衣U 碼。但是,為清晰起見,门士 甲夕〗宁之識別 因為潛在節點數目之原因,等 節點未被明確描述於該等 ° 衣中(例如,分割樹5〇〇之識別 碼空間可能為b=16及心4(〇。 在分割樹5 0 0中,^r Λ上… 根據準則5 7 1 ( —第一管理域界 限準則)將根環501分刦达、 ㈢理域界 d c〈, 為複數個子環,包括子環5 11、 5 1 2、5 1 3及5 1 4。舉例而一 &八a i 4 5 ’ 一網域名稱系統名稱之每一 成分可被看作一鄰近準 ,..則,其中之部分順序是根據他們從 右向左頃取時在網域 .稱糸統名稱中的出現順序。相應 地’可根據準則581 (一 免 水第二官理域界限準則)將子環511 進一步分割為複數個子 τ 乂 ’包括子環521、522及523。 27 200818811 可根據準則572 ( 一地理界限準則)將子環522進一 步分割為複數個子環,包括子冑531、532及533。可根據 洲、國家、郵遞區號等,對基於位置之鄰近準則進行部分 排序郵遞區號本身之組織即為階層式的,即可將它們看 作進一步引入鄰近準則之一部分有序子環列。 :; 可根據準則573 (—第一組織界限準則)將子環531 ”進一步分割為複數個子環,包括子環54卜542、543及544。 _/根據一既定公司之結構組織方式(例如,分公司、部門及 產时群組)引入鄰近準則之一部分有序串列。相應地,可 根據準則5 8 3 ( —第二組織界限準則)將子環5 4 3進一步 分割為複數個子環,包括子環55丨及552。 、 在分割樹500中,每一節點具有單一識別碼,且沿一 由該根至葉之相應分割路徑參與環中。舉例而言,參與子 ί衣552之母一節點還將參與子環543、531、522、511及 根501。可藉由一 RoutePr〇ximaUy函數完成向一目的節點 (識別碼)之路由,如下所示: _ RouteProximally(v,Msg,p):給定該節點識別域之一值 V及一訊息“ Msg” ,將該訊息傳輸至節點1,其識別可 被對映至某些節點(根據鄰近準則p,該等節點可被看作 是等價的)中之V 〇 因此,可藉由以下方式完成路由:在一既定環中逐漸 • 向更接近於目的節點之位置移動,直到在該環中路由時不 能再前進為止,其判斷條件是該目的節點位於目前節點及 其後續節點或前置節點之間。在該點,該目前節點經由其 28 200818811 參與之下一更大環中的夥伴節點開始路由。根據 RouteProximally叫用中之起始指定,藉由沿著朝向根環之 分割路徑而逐漸移向目的節點,當所要求之鄰近環境中到 達最接近該目的節點之節點時,該逐漸移動過程終土。 路由躍點可一直保持於發起該要求之節點的鄰域内, 直到由於目標節點位於該鄰域之外而不能再在該鄰域内前 進為止。在此點,該鄰近準則被放鬆,以增大該鄰近鄰域 之大小,從而進一步前進。該過程將被重複,直到該鄰近 鄰域被擴展之程度足以包括該目的節點(識別碼)為土。 在鄰近鄰域準則之每一後續放鬆之後所進行之路由躍點玎 能是鄰近空間中之更大跳躍,而相比於前一躍點,邛以在 數值空間内進行相應較小之跳躍。因此,在到達目的之前, 僅進行絕對需要數目之此類(環間)跳躍。 實際情況可忐是:當所公佈之應用資料在該目的節點 之鄰域節點中被複製碑,該資料沿該分割樹向下複製,因 此’為查閱訊息而避免一些躍點。 為完成鄰近路由·,每一聯合體節點維護其作為成員所 參與之全部%中的後續節點及前置節點(鄰近前置、鄰近 後續及鄰近鄰域’斷似於單一環中之後續節點及前置節點) 之引用。為N效率地進行路由,該等節點還可維護對一些 其他節點之引用作為路由夥伴,該等其他節點位於該環内 所討論節點之任意一側,與所討論節點的距離呈指數增 加,(類似於一單—環之路由節點)。在一些具體實施例中, 位於一對連續後續節點或前置節點之間的路由夥伴節點參 29 200818811 與一最低環’該最低環環由目前節點及該等後續節點或前 置節點對中在數值上最接近該目前節點之節點共用。因 此,僅當絕對需要進一步前進時,路由躍點轉而使用一麵 放鬆之鄰近準則(即轉向一較高環)向一目的節點前進。 相應地,可以高效地將訊息與一相應聯合體節點匯集。
在〆些具體實施例中,節點實施一鄰近路由函數,以 根據等償準則關係路由訊息。因此,既定一數字V及一訊 息"Msg" ’ 一節點可實施 R〇utePf〇ximally(v,Msg,P),以 將該訊息傳輸給節點Y,節點Y之識別可被對映至被鄰近 準則P認為等價之節點中的V。鄰近準則P識別分割樹中 之最低環,該分割樹是所有被該準則認為鄰近等價之節點 的共同上階。其可以被表示為一藉由以下方法獲得之字 串:將沿著由根環至其所識別環之路徑發現的搜索準則串 接起來,且使用路徑分隔字元,/,分隔。例如,由子環542 識別之 鄰 近 準 則 可 表示為 : "Proximity:/.C〇M/Corp2/LoxatioiiA/Div2"。分割樹 500 中 之母一環可被指派一惟一數字,例如,藉由使用一基於Sha 演算法對其表示字串進行雜湊操作。如果數字〇被保留用 於根節點,則可以推斷:RouteNumerically(v,Msg)= R〇uteProximaily(v,Msg,〇)。 例如,子環544中之一節點可實施RouteProximally 以識別子環5 3 1中之一更近節點(例如,更接近子環5 1 3 中之 郎點)。接下來’子環5 3 1可實施RouteProximally, 以識別子環522中之一更接近節點。與此類似,子環522 30 200818811 可實施Route Proximal ly,以識別子環511中之一更接近節 點。與此類似,子環511可實施RoutePr〇ximally,以識別 子% 501中之一更接近節點。因此,R〇utepr〇ximally函 數被遞迴叫用,每次叫用將一訊息路由至更接近目的之節 點〇 因此,當考慮鄰近準則時,至一最終目的之路徑上的 路由節點可以繼續停留在發起該要求之節點的鄰近區域内 (同時在一數字空間内,於該起始節點及該目的節點之間 進订大幅前進),直到或者到達該目標節點,或者根據所選 擇鄰近準則不能再進—步前進為止,料對該鄰近準則之 放氣、程度足以進一步向該目的前丨。舉例而言,鄰近準則 之被放鬆程度足以將一訊息由環531向上 522,等 等。
^用上迤鄰近方法,有可能將公佈資訊限定於一既定 %内。舉例而言,組織可能希望確保組織專用資訊不能被 其信任網域之外的實體使用,既不能經由(丨)隱式方式, 2網域之外的節點進行鄰近複製,也不能經由⑺顯式 方式,為對此等資訊之查閱要求提供服務。藉由以下方式 ^滿m樣:僅在妹定環㈣近該目標識別碼之 =内複製所公佈資訊。因為在路由-節點所發出之所有 n ’都是藉由朝根環方向連續向上攀登其所屬環,因 在-組織内發出之全部查閱要求非常有可能定位限制 ”、内部之公佈資訊,從而隱式滿㈣第二態樣。 此外,組織不喜歡節點自動與其信任網域之外的節點 31 200818811 聯合。舉例而言,當一銷售人員將其攜帶型電腦連接到客 戶场所之網路時’即會發上述情況。理想狀態下,屬於該 銷售人員之攜帶型電腦希望能夠定位在其本籍網域公佈之 貝訊,及/或在其最低較佳鄰近環内與其本籍網域中之節點 聯。通吊不允許與該客戶網域内之節點聯合。要支援這 情况’需要能夠定位該本籍網域内之種子節點(“Μ node )。此等種子節點可被用於定位在該本籍區域内公佈之 貝訊,以加入該本籍聯合體,且選擇性地跨越網域而匯入 及匯出公佈資訊。種子節點有時也被稱為“訊息閘道”。 在其他具體實施例中,一實體在該根環中公佈對種子 節點之引用。可在與該環關聯之惟一數字(例如,藉由雜 湊其代表字串所獲得之惟一數字)(作為目標識別碼)公佈 種子節點。根據需要,種子節點資訊可進一步被各個環中 之節點快取,該等環位於朝向該根環中相應目標識別螞的 路徑上。此種隨需快取提供了改良效能、減少了作用點 (hotspot),在非常頻繁地查閱半靜態資訊時可能發生此 種情況。種子節點資訊還可經由諸如網域名稱系統等其他 方法獲得八^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ' 為提供受限公佈資訊之容錯性能,每一節點可維護〜 鄰域節點集合,該等節點屬於其參與之所有環。給定以上 内容,由一節點維護之狀態可總結如下: •一識別碼,其係均勻分佈於〇至bnq範圍内之一數κ 值。 予 •一路由表,由以下節點組成(所有運算均係對…取 32 200818811 模執行): (對於該節點所參與之每一環,例如環d) 後續節點(Sd) 前置節點(Pd) 鄰域節點(Pkd,…,Pld,Pd,Sd,sld,…,Sjd),使得 Sjd.Sd.id > (id + u/2),j 2 v/2-1,pwPd.id < (id - u/2)及 k >v/2-l °
路由節點(r-a-i),···,r-!,n,…,rnj),使得 r±i = RouteProximally(id 土 b1,updateMsg,d),使得 Sd S id + b1 9d+i 或 Pd+i £ id _ b1 S pd (根據需要)。 其中b為數基,n是域大小(單位係數位個數),u為 鄰域範圍,v為鄰域大小。 注意,由環“ d”中一既定節點維護之鄰域節點子集可 再次出現,作為子環“ d+1”中之鄰域節點,該既定節點 也參與該子環“ d+1 ” 。因此,吾人可以推斷,由一既定 節點在所有 D 環上維護之鄰域節點總數的上限為 D*max(u,v)/2。其考慮到僅保留一既定節點之引用,最差 情況之上限是對於一平衡樹之情況。 應注意,當一環被分割為複數個相應的同胞(sibling ) 子環時,允許一指定節點同時參與該等複數個相應同胞子 環中之多於一個子環,例如,藉由別名方式。別名可被實 施用以將(例如)來自不同子環之不同狀態與該指定節點 關聯。因此,儘管一既定節點之別名具有相同識別碼,但 每一別名可具有與其相關聯之不同狀態。別名允許該指定 33
200818811 節點參與多個具有不同鄰近準則之環,該等環不必 體鄰近準則之共同上階。即,該指定節點可以參與 樹之多個分枝。 舉例而言,可以認為一雙NIC (有線及無線) 電腦鄰近等價於其他與該膝上型電腦共用相同區域 段之無線及有線節點。但是,這兩個不同鄰近準則 為子準則,它們僅能在應用不同更高優先權之鄰近2 如,一基於組織關係之準則)之後應用。由於該膝 腦屬於同一組織,所以兩個表示1 )有線成員關係I 線區域網路分段成員關係之子環中的具有別名節點 為一單一節點,該單一節點位於表示該膝上型電腦 織之環中。應暸解,RouteProximally可如預期工作 需要因為存在別名而進行任何修改。 可根據(可能不同之)環參數對每一鄰近環進个 環參數可被用於定義一鄰域(例如,環參數可表示 範圍、一鄭域大小、偵測訊息與脫離訊息定時以及 測及脫離訊息之分佈態樣),指示一特定聯合機制( 選自上述第一至第四聯合機制或其他聯合機制),或 同鄰近環中路由夥伴之間的通信具體事項。一些環 能更具一般性,應用於複數個不同聯合體制,而其 數更為專用,應用於特定類型之聯合機制。 用於配置一更高位準環之環參數可由較低位準 環在一些具體實施例中繼承。例如,環543可繼焉 之一些環參數(環531又由環522繼承,等等)。g 是更具 該鄰近 膝上型 網路分 可建模 I則(例 上型電 L 2 )無 被合併 所屬組 ,而不 Μ且態。 一鄰域 用於偵 例如, 定義相 參數可 他環參 之鄰近 ‘環 5 3 1 i此,與 34
200818811 環53 1相關聯之鄰域大小及鄰域範圍也與環54 1 ^ 但是,被繼承環參數可被修改,及/或可根據 數各別組態鄰近環。舉例而言,環5 11可能是用 量節點之管理節點,因此上述第四聯合機制更 511。另一方面,環521可用於具有較少量節點 易,因此上述第二種聯合機制更適合於環 5 2 1。 環5 2 1相關聯之環參數可被設定為(或被繼承參凄 不同於與環5 11相關聯之環參數的值。舉例而言, 及521之間,指示特定類型之聯合機制的環參 同。類似地,在環511及521之間,定義一鄰域 可不同。另外,可根據專用於上述第二聯合機制 數組態環52 1,而可根據專用於上述第四聯合機 參數組態環5 11。 相應地,可根據鄰近環内節點之特性(例如 所包含資源,等等)靈活組態該等鄰近環。舉例 管理員可使用一組態程序(例如,經由一使用者 鄰近環選擇環參數。一組態程序可促進鄰近環之 係的組態,以及各別鄰近環之組態,例如,用以 承之環參數。 第 8圖說明甩於分割一聯合體基礎建設節 800的實例流程圖。下文將參考第5圖之分割樹 描述方法800。方法800包括存取一有序鏈結串 (操作80 1 ),該串列包含已經被指派給一聯合基 之節點的節點識別碼。舉例而言,可以存取由環 N關聯。 不同環參 於包含大 適合於環 之小型交 因此,與 t改變為) 在環511 數可以不 之參數也 之特定參 制之特定 ,數目、 而言 ,一 介面)為 間繼承關 覆蓋所繼 點之方法 5 0 0之環 列之操作 礎建設中 5 0 1表示 35 200818811 之有序鏈結串列。該有序鏈結串列之節點識別碼(在環5〇ι 中描述之節點)可表示一聯合體基礎建設(例#,聯合體 基礎建設100 )中之節點。 ° 方法800包括一存取代表複數個不同鄰近準則之鄰近 類別以分割該有序鏈結串列之操作(操作8〇2)。舉例而 言,代表網域界限561、地理界限562及組織界限563之 鄰近準則可被存取。但是,其他鄰近準則,例如信任網域 界限,也可出現在被存取鄰近準則中。鄰近類別可以包括 先前創建的部分有序鄰近準則串列。可根據部分有序之鄰 近準則串列對一串進行分割。 方法800包括根據複數個鄰近準則將該有序鏈結串列 分割為一或多個第一子串列之操作(操作8 〇 3 ),該等一或 多個第一子串列之每一串列包含來自該有序鏈結串列之至 少一節點識別碼子集。舉例而言,可根據準則5 7 1將環5 0 1 分割為子環 5 11、51 2、5 1 3 及 5 1 4。子環 5 11、5 1 2、5 1 3 及514之每一子環可包含來自環501之不同節點識別碼子 集。 方法800包括根據一第二鄰近準則將選自一或多個子 串列之第一子串列分割為一第二子串列之操作(操作 8 04 ),該等一或多個子串列之每一子串列包含一包含於該 第一子串列中之至少一節點識別碼子集。舉例而言,可根 據準則581將子環511分割為子環521、5U及523。子環 52卜522及5 23之每一子環可包含來自子環511之不同節 點識別碼子集。 36 200818811 第9圖說明用於填充一節點路由表之方法9〇〇 流程圖。將參考第3圖中之有序鏈結串列綱及環Μ#】 述該方法9〇〇。方法_包括將-前置節點插入一路由: 中之操作(操作9〇1),該前置節點在-有序鍵結串列之: -…位於該目前節點之前。舉例而言具有識別瑪幼 之即點可以被插入至該路由表中,作為具有識別碼 前節點)之前置節點。沿順時針方向321(從有序鏈結串 列304之A端向該有序鍵結串列3〇4之b端)移動, :別碼50之節點位於具有識別碼“之節點之前。插:一 I置節點可以在該目前節點及該前置節點之間建立— 夥伴關係’使目前節點成為前置節點之—夥伴,該前置節 點成為該目前節點之一夥伴。
方法900包括將一後續節點插入一路由表中之操作 (操作902 ),該後續節點位於在一有序鏈結串列之第一方 向上位於該目前節點之後。舉例而言,具有識別碼76之節 點可以被插入至該路由表中,作為具有識別碼64 (目前節 點)之>後績節點。沿一逆時針方向322移動,具有識別碼 76之節點位於具有識別碼64之節點之後。插入一後續節 點可以在該目前節點及該後續節點之間建立一對稱夥伴關 係,使目前節點成為後續節點之一夥伴,該後續節點成為 該目前節點之一夥伴。 方法900包括向該路由表中插入適當鄰域節點之操作 (操作903 ),根據一鄰域範圍及鄰域大小,在該第一方向 及一第二相反方向等兩個方向上,可由該有序鏈結串列中 37 200818811
識別該孳鄰域節點。舉例而言,具有識別碼 83、76、50 及46之節點可以被插入至該路由表中,作為具有識別碼 64 (目前節點)之鄰域節點。根據鄰域範圍20及鄰域大小 4,具有識別碼83及76之節點可以在順時針方向321上被 識別,具有識別碼50及46之節點可以在逆時針方向322 (從該有序鏈結串列3 04之B端向有序鏈結串列3 04之A 端移動)被識別。在某些環境中有可能未識別適合的鄰域 節點。插入一鄰域節點可以在該目前節點及該鄰域節點之 間建立一對稱夥伴關係,使目前節點成為鄰域節點之一夥 伴,該鄰域節點成為該目前節點之一夥伴。 方法900包括向該路由表中插入適當路由節點之操作 (操作904 ),根據該聯合體基礎建設之數基與域大小,在 該第一方向及第二方向上識別來自該有序鏈結串列之路由 節點,該等路由節點代表該第一、第二兩方向中之有序鏈 結串列的對數數基。舉例而言,具有識別碼2 0 0、2、3 0、 46 、 50 、 64 、 64 、 64 、 64 、 64 、 76 、 83 、 98 、 135 及 200 之節點可以被插入該路由表中,作為具有識別碼64之節 點的路由節點。根據數基2及域大小8,具省識別碼64、 64、76、83、98、135及200之節點可在方向321上被識 別,具有識別碼64、64、50、46、30、2及200之節點可 以在方向3 2 2上被識別。如在環3 0 6内所示,該等路由節 點表示該有序鏈結串列3 04在順時針方向321及逆時針方 向322兩個方向上之對數索引。插入一路由節點可以在該 目前節點及該路由節點之間建立一對稱夥伴關係,使目前 38
200818811 節點成為路由節點之一夥伴,該路由節點成 之一夥伴- 第7圖說明用於填充一節點路由表之方 流程圖,該方法考慮了鄰近準則。下文針對 描述方法700。方法700包括以下操作:對 與之每一階層式分割路由環,向一路由表中 點(操作70 1 )。在目前節點所參與之每一階 環中,每一前置節點在一第一方向(例如, 上位於目前節點之前。該等階層式分割路由 鄰近準則分割,且包含一雙向鏈結串列之至 能包含整個雙向鏈結串列)。舉例而言,一指 與根環501及子環511、522、523、531及 從環 501 及子環 511、522、523、531 及 542 該指定節點選擇一前置節點。 方法700包括以下操作:對於目前節點 層式分割路由環,向該路由表中插入一後 702 )。在目前節點所參與之每一 P皆層式分割 一後續節點在一第一方向上位於目前節點 言,從環5 0 1及子環5 11、5 22、523、5 3 1及 中為該指定節點選擇一後續節點。 方法700包括以下操作:對於目前節點 層式分割路由環,向該路由表中插入適當鄰 703 )。根據一鄰域範圍及鄰域大小,可以從 與之階層式分割路由環中在第一方向(例如 為該目前節點 法700的實例 第5圖中之環 於目前節點參 插入一前置節 層式分割路由 順時針方向) 環被根據相應 ^'部分子集(可 定節點可能參 542 〇因此, 之每一環中為 參與之每一階 續節點(操作 路由環中,每 之後。舉例而 542之每一環 參與之每一階 域節點(操作 目前節點所參 ,順時針)及 39 200818811 在第一方向(例如’逆時針)兩個方向上識別該等鄰域節 點。舉例而言’從環501及子環511、522、523、531及 542之每一裱中為該指定節點識別鄰域節點。 方法700包括以下操作:對於目前節點參與之每一階 層式刀路由環’向該路由表中插入適當路由節點(操作 7〇4) ° 舉例而 5 ’ 從環 501 及子環 511、522、523、531 及542之每一環中為該指定節點識別路由節點。 在些具體實施例中,對於除節點γ所參與之葉環(在 使用別名之具體實施例中為多個葉環)之外的每一鄰近環 d,插入適當路由節點。可根據以下運算式插入適當路由節 點: 如果 Y.sd.id < Y.id + bi < Y sd+i id 為真,則使甩環 d ; 或者 如果 Y.Pd.id < Y,id - bi < γ pd+i id 為真,則使用環 d。 如果在上一步驟中未識別一環,則使用葉環(例如, 環501 )作為環d。現在,環d就是節點γ應當在其中尋 找最接近‘ z之路由夥伴的鄰近環。 第10圖說明用於向一目的節點路由一訊息之方法 1000的實例流程圖。將參考第3圖中之有序鏈結串列3〇4 及環306描述該方法1 000。方法1〇〇〇包括一接收節點接 收一訊息以及一指示目的之數字的操作(操作〗00丨)。舉 例而θ ’具有識別碼6 4之節點可以接收一指示目標212 之訊息。 方法1 000包括一確定該接收節點至少符合以下兩條 40 200818811 件之—的操作(操作10〇2):該接收節 -了··卜 jg JlL· 之距離遠於一相應前置節點,該接收節 ’、的 耐在數字上盥H & 之距離遠於一相應後續節點❹舉例而 /、的 雄在方向322中, 識別碼64距離目的212遠於識別碼5〇 ,少+ 在方向 321上, 識別碼64距離目的2 1 2遠於識別碼76。古、土 也— 万法1〇〇〇包含一 罐疋該目標不屬於與該接收節點所對庫々 愿之即點鄰域集中 (操作1003 )。舉例而言,識別碼64之節點 —
* .J確定目的2 1 2 不屬於83、76、50及46之鄰域集。 方法1〇〇〇包括從一對應於接收節點之路由表中識別 中間節點之操作(操作1004 ),該中間節點在數值上距離 該目的近於相應路由表中的其他路由節點。舉例而言,具 有識別碼64之節點可確定具有識別碼200之路由節點在數 值上距離目的212要近於其他路由節點。方法ι〇〇〇包括向 該中間節點傳輸該訊息之操作(操作1 005 )。舉例而言, 具有識別碼64之節點可以向具有識別碼200之節點傳送訊 息。 第 η圖說明用於根據鄰近準則向一目的節點.路由— 訊息之方法U〇〇的實例流程圖。下文針對第4圖與第5 圖中之環描述方法1100。方法1100包括一接收節點接收 一訊息以及,指示目的之數字和一鄰近準則的操作(操作 1101 )。該鄰近準則定義一或多個節點類。該接收節點作為 一目前節點類之一部分而接收該訊息,該目前節點類係根 據鄰近準則選自該等一或多個節點類中。舉例而言,具有 識別碼1 72之節點可以接收一訊息(其指示一目的20 1 ) 41 200818811 以及鄰近準則(其指示該目的節點係由環4〇ι所表示類之 -部分>具有識別㊣172之節點作為環4〇4之一部分可接 收該訊息。 方法1100包括一_定該接㈣ 件之一的标作(操作1 1 0 9、·少〜 作1 1 02 )·在所選擇之節點類中,該接 收節點在數子上與目的之距離遠 ,^ ^ $逐於一相應前置即點,該接 收節點在數字上與目的之 雜、土 的之距離3¾於一相應後續節點。舉例 而言,在環404內,在應眭料士 在順時針方向上,具有識別碼172之 節點距離目的20〗遠於且古娜q Λ於,、有識別碼1 74之節點,在逆時針 方向上,距離目的2Ω1诗认曰丄 遂於具有識別碼153之節點。 方法1100包括一操作(操作1103),其對於由鄰近準 則定義:-或多個㈣類中的任意—類,較該目的不在 該接收郎點之鄰域節點集中。
τ 舉例而言,具有識別碼17 2 之節點可以確定目的9 η Ί T 隹 不在環4〇4或環401中之相應鄰 场I杲中。 方法1100包括從該接收節點之路由表中識別中間節 點之操作(操作1 i 04 ), … ^ 該中間郎點在數值上距離該目標 近於路由表中的其他路 η 田即點。舉例而言,具有識別碼172 之郎點可確定具有識別 的 、、、 之路由節點在數值上距離目 的201要近於環4〇4中 -_ , 八他路由節點。方法1100包括 向該中間節點傳輸該訊息 1女, 〜之知作(操作1105)。舉例而言, 旲有識別碼172之節點可 所垃κ 4从向具有識別碼194之節點傳送 接收到之訊息。具有^^ 住 碼 外 °別馬172之節點可以向具有識別 ^ 1 94之卽點發送所接收 之訊心,以遵從一先前定義之 42 200818811 鄰近準則部分有序串列。 節點194在環404中可w ,、目的2 0 1儘可能接、疼 m 此,可以僅將鄰近準則放参s 馈』犯接近。因 進-步向目的路由。即恰能在下-步中於環則 目的前進,所以路由從環4(^環4G4上不能再進一步向 轉移到環401。或者,旦有 識別碼201之節點位於具有 可 /、有 有識別碼194之節點在
的鄰域内,導致不能進一步敗山 Ψ 由D因此,在一些且體膏雜 例中,放鬆鄰近準則以到遠下、 一,、體實施 4運下—個更高環,就足以導致進 一步路由。 但是,在其他具體眚始1 Ή 將逐步放鬆鄰近準則, 導致向下一更高環之傳輪,核 ^ 丨苛铷 绝一過程將一直持續,直到可 以發生進一步路由為止(或者刭凌抽产达l、 、4有到達根裱為止)。即,在可 以進行進一步路由過程之前,备欲A…叙Μ人 會發生複數個向更高環之 轉移。舉例而言,現在參考第5圖,在環531不能再進一 步進行路由過程% ’可以放鬆鄰近準則,以足以轉移到環 511,甚至轉移到根環5〇1 〇 亂點階段 一參與聯合體基礎建設之節點可工作於不同工作階 段。一節點之有效階段值可被定義為一有序集合之成員。 舉例而吕 ’ {NodeId}.{InstanceIds}.{ Phase Value [Phase-State Values: Inserting, Syncing, Routing,
Operating] ° [Phase.Unknown Indication: phase known at time of transmission, phase unknown at time of transmission]}定義一可能有序集,其代表在一聯合體基礎 43 200818811 建設中一既定節點之階段空間。一節點實例可轉移(或前 進)至所有節點階段狀態,依次為從Inserting至Syncing, 至Routing,至Operating。此外,在某些具體實施例中, 一節點實例可被組態,從而防止該節點實例轉移至先前節 點階段狀態。在某些具體實施例中,一節點每次上升時, 該節點前進其實例識別碼。
舉例而言,一節點實例可防止由 Routing轉移回 S y n c h i n g (或轉移回I n s e r t i n g ),等等。相應地,在一些具 體實施例中,如果吾人已知一既定節點實例(例如,由 (Nodeld,Instanceld)確定)已經前進至一特定節點階段狀 態(例如,Operating ),則吾人亦知曉該既定節點實例不太 可能返回至一先前節點階段狀態(例如,返回 Routing、 Syncing或Inserting ),在某些具體實施例中的確不會返回 一先前節點階段狀態。因此,該特定節點階段狀態之前的 節點狀態中的任意節點實例非常有可能是一新的節點實體 (或已經前進之節點實例)。 在一些具體實施例中,階段資訊與相應實例識別碼(其 隨著節點之上升而前進)被一起傳送。因此,有可能確定 同一實例之較小節點階段狀態比較舊。另外,如果已知一 較新節點實例(處於任意階段狀態值),則認為有關較舊實 例的任何資訊均已過期。 有時,節點可能重新啟動或相互失去通信,例如,在 第一次啟動時、完全脫離時,或者由於非正常終止(損毁)。 因此,處於任意節點階段狀態之節點有可能重新啟動或失 44 200818811 去與其他節點之通信。舉例而言,一損毁可能導致路由 (Routing )階段狀態之節點重新啟動。在重新啟動或失 去通信期間,無法確定一節點處於哪一節點階段狀態。相 應地,當一節點正在重新啟動或者失去與一節點之通信 時,可以設定[Phase.Unknown Indication],以指示目前不 知曉該節點之階段狀態。但是,一節點之任意先前已表示 及/或已偵測階段狀態可被維持,不會丟失。
[Phase.Unknown Indication]可用於指示在傳輸一階 段狀癌值時(例如’未被設定p a h s e · u n k η o w η之階段值), 一階段狀態是否已知,或者在該階段狀態值被傳輸時(已 設定pahse.unknown的階段值),一階段狀態是否是先前 表示之階段狀態或者階段狀態未知。因此,一節點之階段 (其階段值)可使用一階段狀態值及一 phase .unknown指 示來表明。 加入通訊協定 有時,節點可加入和脫離現有聯合體。該等節點可實 加用於加入及脫離聯合體的適當通訊協定。例如,一節點 可實施Join()函數,以成為一現有聯合體之部分。一實施 Joιη()函數之節點在到達最終操作階段狀態之前可經歷所 有三個有序階段狀態:一插入階段狀態、一同步階段狀態 及一路由階段狀態。在其他具體實施例中,這些·特定有序 階段狀態可能不存在,可定義其他階段狀態。第12 A圖說 明在一聯合體基礎建設内建立成員關係之一節點實例。第 1 2B圖說明在一聯合體基礎建内交換訊息之節點的實例。 45 200818811 插入階段:一節點Y藉由發出一加入訊息(其至少包 括其節點識別碼且指示加入該聯合體之操作)來進入此階 段狀態。——加入訊息可以是由一新加入節點(節點γ)傳 送之路由訊息,其目的屬性被設定為該新加入節點之識 別。在此階段狀態中,一新加入節點被插入其在該聯合體 内之前置節點與後續節點之間。該插入階段狀態可根據以 下演算法實施(所有運算均以bn為模進行計算):
IP 1。Y識別一現有節點,該節點已經是一最低環之一 部分,該加入節點希望從該最低環加入該聯合體。可使用 DHCP及/或網域名稱系統及/或WS-Discovery或一(潛在 習知)常數統計組態或動態搜尋該節點。假定此現有聯合 體節點為E。 IP2。Y 叫用 E.R〇uteNumerically(Y,joinMsg),以確 定節點X ’其識別碼的數值在節點γ所參與之所有鄰近 環中最接近於Y,id。其可包括向多個節點路由一加入訊 息0 IP3。確疋該數字後續節點(s )與前置節點(p )。(注 忍進行、下接吹所需要之實料可能在該加入訊息及其回 應中攜帶。因此,不需要附加往返。) 情況 1 : X.id>Y,id
Y.s = X,Y.P 入.P,X.p.s = γ 及 χ·ρ = γ 情況 2 : X.id<Yeid Υ·Ρ = X、Y.s > x c v A s、X.s.p = γ 及 x s = γ 回應該加入訊自 缺 ’郎點X (處理該加入訊息之節點) 46 200818811 點 收 節 以 可 節 由 將 點 % 达 同 其 含 加 階 要 例 訊 , 息 負 可將一加入回應訊息發回節點Y。該加入訊息可指示節 Υ之前置節點(Υ·p )與後續節點(¥.3)。節點丫可接 該加入回應訊息且處理該加入回應資訊,以知曉其前置 點及後續節黠。在處理該加入回應訊息之後,節點Υ可 成為該聯合體中之一弱路由參與節點。舉例而言,節點 以簡單地將發送給自己的訊息轉遞給其後續節點或前置 點。因此,節點Υ被插入到該聯合體基礎建設中,但路 表及鄰域表未被填充。在到達此點之前,節點Υ將藉由 一狀態訊息返回給向其發送訊息之其他節點,指示該節 Υ之活躍度狀態處於一插入階段狀態,從而要求該等發 節點重新定向經由一不同節點發送给自己之訊息。 一般來說,節點有時可交換同步要求及回應訊息。 步要求及同步回應訊息可包括從該發送者角度所觀察之 他節點的活躍度資訊(例如,標頭)。鄰域狀態也可被包 在同步要求與回應訊息中,使得鄰域内的應用層暸解另 層之狀態。交換同步要求及回應訊息之時機實例是在一 入節點的同步階段狀態期間。但是,也可以在其他操作 段狀態(例如,在Operating階段狀態)期間交換同步 求及回應訊息。 第16圖坑明一訊息模型及祖關處理模型之實 16 00。如第16圖所述,一節點 < 傳送及接收同步要求 息。舉例而言,可在應用層1651由一新插入節點(例如 第12B圖中具有識別碼144之節點)中接收同步要求訊 1601。應用資料16〇2 (例如,命名空間訂閱)可被揹 47 200818811 (piggybacked)於同步要求訊息16〇1中。功能層165ι可 以向應用層1 652通知包含於同步要求訊息中之任意應用 資料。舉例而言,功能層1651可向應用層1 652叫用鄰域 狀態同步事件1 603,包括應用資料16〇2。包括應用資料 1 6 07之同步要求1 63 1也可被發送到另一節點,該節點處 理同步要求163 1之方式類似於在處理模型iSOO中處理同 步要求1601之方式。
回應一些功能層事件(例如,同步要求訊息1 60 1、同 步回應訊息1641,或偵測訊息1612 ),功能層1651可以叫 用應用層1652中之鄰域狀態要求功能1 604。鄰域狀態要 求1604係對應用層之一要求,以獲得需要在該鄰域内傳播 之狀態。回應鄰域狀態要求1604,應用層1 652可向功能 層1651提供鄰域狀態1606,包括可選應用資料1607。或 者,應用層1 652可以作為對一些應用層事件之回應,發 送鄰域狀態1 6 0 6,包括可選應用資料1 6 0 7。使用類似於 上述之機制,功能層165卜可發送同步回應訊息1608 ’包 括可選應用資料16〇7,以傳播應用層鄰域狀態。 同步階段:在處理一加入回應訊息之後,節點γ由一 插入階段狀態轉移至同步(syncins)階段狀態。在該同步 階段狀態中,新插入節點γ與鄰域内之節點同步資訊。通 常,節點γ可以向在插入階段狀態中識別之至少前置節點 及後續節點發送同步訊息。此等處理該等同步訊息之節點 可以返回同步回應訊息,其指示此等處理節點之相應鄰域 及路由夥伴節點。在一更具體之實例中,該同步階段狀態 48 200818811 可根據以下演算法實施(所有運算均以bn為模進行計算): SP1。在節點 Y 參與之每一鄰近環内,聯合 Neighborhood( Y· s) 及 Neighborhood( Υ·ρ) 計 算
Neighborliood(Υ)。該聯合計算可採用以下方式完成: (Sj,··.,Sb s,p,P!,···,pk)使得 Sj.s.id > (Y.id + u/2),j 2 v/2-1,pk.p.id <(Y.id,u/2)及 k>v/2-l
SP2。簡單地參考第1 6圖,經由一鄰域狀態要求(例 如,鄰域狀態要求)1604查詢Y之本機應用層(例如,應 用層1 652 ),以獲得可選專用鄰域資料(例如,專用資料 1607)〇 SP3。向至少該鄰近後續節點及前置節點傳送同步訊 息,包括從Y之角度觀察,每一鄰近鄰域及路由夥伴節點 之至少活躍度狀態資訊。可經由SP2存取之任意可用專用 鄰域資料(例如,應用資料1607 )包含於該同步要求1631 中。 SP3。Y從該等處理在SP2中所發送同步訊息之節點 處接收同步回應訊息。舉例而言,節點Y可與其所計算鄰 域内之一或多個節點交換同步訊息(要求/回應)。在與節 點Y之鄰域節點之中至少一節點(也可能是全部節點)交 換同步訊息之後,所計算之鄰域節點可交換其他訊息,以 傳播同步資料。一同步訊息(要求或回應)可以是由一節 點發送之非路由訊息,用於與一目標節點(該目標節點例 如位於該節點鄰域内)主動同步其資料。 SP4。當SP3中之同步回應訊息被接收時(例如,同 49 200818811 步回應訊息1 64 1 ),這些被接收同步回應訊息中 意可選專用鄰域資料(例如,應用資料1 6 2 2 )可 域狀態同步事件1603提供至γ之應用層1652。 作為同步階段狀態之一部分,鄰近後續節點 Y· s )及前置節點(γ· p )可與該新插入節點(例 交換其路由表。注意,可藉由發送同步回應訊息 收同步訊息。同步回應訊息攜帶之資料類似於同 只是其係從回應節點之角度來觀察。同步訊息與 訊息均攜帶(或揹負)應用資料。因此,在同步 期間,應用資料可以在節點之間被傳播。當同步 完成時’該節點可處理以其為目的之訊息,而不 將該等訊息轉遞至一後續節點或前置節點。但是 仍然可以被看作一弱路由參與節點,因為其路由 充。 路由階段:在同步階段狀態完成之後,一節 路由階段狀態。在路由階段狀態中,新同步之節澤 節點Y)計算其路由節點。該路由階段狀態可根 算法實施(所有運算均以bn為模進行計算): RP1。如果該路由階段狀態係作為該平衡程 對此進行解釋)之一部分被執行,請確保該後續雀 及如置郎點(Υ· p )在該節點Y所參與之所有鄰 疋活動的。如果兩節點有任一節點不是活動狀態 考慮環中之鄰域節點中選擇下一最佳後續節點 點’以代替有故障節點。 出現之任 被經由鄰 (例如, 丨如,Y ) 來回應接 步訊息, 同步回應 階段狀態 階段狀態 是簡單地 ,該節點 表未被填 點轉換為 S (例如, 據以下演 序(後文 g 點(Y.s) 近環是都 ’請在所 及前置節 50 200818811 RP2。對於 isi$n i RP2a。計算 pY.id± & 不疋取具體鄰近環,尋找節點γ所參 與之鄰近環 d,龙选α 和认 /、滿足以下條件:Y.Sd」d < Yeid + V < Y.Sd+i.id 或 Y.pd.id 气 γ t
Lid - δ < Υ·Ρ(1+1·1(ι。否則,使環 d 成為最具體鄰近環。庐从 、 ^ d就是即點Y應當在其中尋找最接 近z之路由夥伴的鄰近環。設Q為是Y.Sd.r±i和Y.pd.r±i
之間在數值上最接近Z之節點。如果jQ.id_z丨在“可組態 百分比範圍内(ϋ金& 、 •乳固鬥、逋吊為20% ),則簡單地使Y.r±i = Q。如果 Q.id 比(Y.Sd.id 士 bj、斗 .A ; ^ D )或(Y.Pd.id ± b1)更接近z,則意味 者,與Y.sd或Y.Pd相比,節點γ是鄰近環d中節點Q的 更佳夥伴路由痛點。因此,向節點Q發送UpdakM sg,如 果其尚未被發送,則提供}和節點Y作為參數,使節點Q 可以將節點Y作為其在Γ·ί之夥伴路由節點。 RP2c。如果此階段狀態被作為該平衡程序之一部分執 行’且如果 Y.Sd.r±i」d = ==Y pd r±i id,則在(γ·4 id±bi)與 (Y.Pd.idib1)之間的數值範圍内僅存在一節點。該節點係由 該後續節點(或前置節點)之路由節點r±i所指向之節點。 因此,只需要使Y.r±i = Y.Sd.r±i i。 RP2d。否則,藉由對於節點q叫用RoutePr〇ximally (鄰近準則被設定為環d之節點),計算該路由夥伴γ·Γ±ί。 此意味著 Y.r±i = Q.R〇uteProximally(z,updateMsg,d)。 RP3。此時,節點γ不僅可以處理以其為目的之訊息, 也可路由訊息。 51 200818811
RP4。如果還沒有為夥伴路由節點之端點識別碼訂閱 由應用層發送之活躍度通知事件,則進行此操作。此外, 撤銷以前使用應用層為已經不再是夥伴路由節點之節點建 立之活躍度事件訂閱。舉例而言,訂閱及/或撤銷要求可以 被向上傳輸至一應用層(例如,應用層1 2 1 ),其為一相應 應用程式(例如,一命名空間應用程式)實施公佈-訂閱子 邏輯。在應用層接收到後續專用活躍度訊息(例如,其係 由命名空間訂閱得到)時,通知(事件)可以向下傳送到 其他較低層(例如,其他較低層1 3 1 )進行處理。 第17圖說明許多可發生於一功能層1751及一應用層 1752之間的活躍度互動之實例。如第17圖所示,端點例 如為表示各種節點之公共/訂閱主,題(例如,由URL或URI 表示),且例如可以為聯合體節點。可以從功能層1751向 應用層1 752叫用“訂閱活躍度事件” 1 70 1,以訂閱一活躍 度事件(例如,用以公佈/訂閱主題)。可以從功能層1751 向應用層1 752叫用“撤銷活躍度訂閱” 1702,以撤銷對一 活躍度事件之訂閱。可以由應用層1 752向功能層1 75 1發 送“端點當機” 1 703,以指示一端點可能當機,且向功能 層175 1提示一可選替代端點。“端點當機事件” 1703可 被根據一先前訂閱(例如,“訂閱活躍度事件” 1701 )異 步發送。 可由功能層 1751向應用層 1 752叫用“節點當機” 17 04,以指示功能層1751 (或某一其他更低層)已經偵測 到一故障節點,且可根據需要為應用層1 752提供一替代節 52 200818811
點應用層1 752可在以後向其他關注方傳播:请測到一可 :故障節點。在功能層1751或某一其他較低層偵測到一可 早郎點之任意時間,“節點當機事件,,1 7 0 4可被異步 發运。當應用層1752偵測到一節點當機時(例如,由節點 田機事件1 704或由某一其他帶外機制),可以從應用層 1752向功能層1751叫用“發送活躍度事件” η%。 ‘發 达活躍度事件” 1 706可導致功能層1751發送一活躍度訊 息。在應用層1 752偵測到一節點當機且未取決於任意先前 已建立之訂閱(經由訂閱活躍度)之任意時間,“發送活 躍度事件” ! 706也可被異步叫用。 因此,在某些具體實 扣/W 被遞迴儀 用。舉例而言,功能層1751可向應用層1752扣一, 咏 g 知不一指琴 節點中之興趣(例如,係向上或向下之特定節點)。應用^
!752可以為有關該指定節點之通知公式化一專二E ▼ π叮閱,僉 後再次利用功能層1 7 5 1,以將該公式化訂閱通信 /、他耳! 合體節點中之適當相應應用層i 752實例。舉例 ^ ‘ 聯合體節點中之應用層17S2實施一命名空問八从 A佈/訂閱4 性,則功能層1 75 1可向管理讓指定節點之通知认 缺 的么佈/ *1 閱管理者路由該訂閱’該公佈/訂閱管理者被作 馬相關聯4 體節點之應用層1752的至少一部分實施。相 ^ , 也,功能 1751被用於功能層1751所導致產生之訂閱。
滞似遞迴;I 制也可被用於取消訂閱,或者指示在該指定節% 點不再有; 趣〇 操作階段:在該路由階段狀態完成之後,〜Μ 郎點轉移 53 200818811 至操作階段狀態。該節點可維持一操作階段狀態,直到其 當機(例如,重新啟動)為止。在操作階段狀態中,該節 點可不時向路由夥伴發送更新訊息。更新訊息(更新要求 及更新回應)可包括該發送節點(例如,對於感興趣之所 有鄰近鄰域)之鄰域節點活躍度資訊。此被發送活躍度資 訊還可包括發送者之活躍度資訊。更新訊息可以是由節點 發出之路由節點,以周期性更新其路由夥伴節點。應用資 料可被揹負於更新訊息,使應用資料可在路由夥伴更新期 間被傳播。該訊息目的被設定為在期望路由索引之正碟路 由夥伴的識別。此訊息之Mess age ID屬性被指派一應用序 號,使處理此訊息之節點能夠確定最新訊息,且此訊息被 鄰近路由。 一接收更新訊息之節點可以回應一更新回應訊息。一 更新回應訊息攜帶之資料與更新訊息攜帶之資料相同,只 是該資料是從回應節點之角度觀察的。藉由交換更新訊息 與更新回應訊息,節點可以交換路由資訊。有時,操作節 點可更新路由夥伴。 有時,操作節點也可發送偵測訊息(例如,偵測訊息 16〇9及1611)。一偵測訊息是由一節點發送之單向訊息, 以周期旦佈其存在,且在其鄰域内傳播有關其鄰域/路由節 點之資訊及複製(例如,揹負( piggybacked))應用資料。 —起始節點可向其一或多個直接前置鄰域節點及後續 鄰域節點發送一偵測訊息。因此,根據該偵測分佈漤樣 (即’被發送偵測訊息之節點),與起始節點有關之資訊被 54 200818811 傳播至一環之其他節點,該環位於該起始節點之鄰域内。 舉例而言,該起始節點僅向其直接前置節點及後續節點發 送一偵測訊息,該偵測訊息由該起始節點之位置(節點識 別碼)沿該環在兩個方向上朝向該起始節點之鄰域邊緣向 外傳播。或者,該起始節點在其前置節點方向及後續節點 方向上向其鄰域内之所有第η個節點發送一偵測訊息。
每一接收一偵測訊息之節點從一鄰域範圍之角度檢查 其在該起始節點之興趣。如果不被關注,其丟棄該偵測訊 息。如果被關注,則其處理該偵測訊息,而且如此轉遞被 限制到該起始節點之鄰域内,則根據其指定偵測型樣轉遞 該偵測訊息。舉例而言,在處理一偵測訊息之後,如果該 發送及起始節點位於其前置節點集合中,則將該偵測訊息 轉發到至少其後續節點,如果該發送及起始節點位於其後 讀節點集合中,則將該偵測訊息轉遞到至少其前置節點。 因此,當該訊息到達該起始節點周圍之鄰域節點邊緣 時,該等偵測訊息之向外傳播停止。偵測訊息之Message ID 屬性被指派一應用序號,使處理此訊息之節點可以確定來 自該起始節點之最新訊息,且避免重複處理及不必要之轉 遞。 再次參考第16圖,可以在功能層1651從一鄰域節點 接收偵測訊息1609。應用資料1 6 1 2(例如,命名空間訂閱) 可被揹負於偵測訊息1 609中。功能層1651可以向應用層 1 652通知包含於偵測訊息中之任意應用資料。類似地,功 能層1 6 5 1可以向應用層1 6 5 2通知包含於同步要求訊息中 55 200818811 之任意應用資料。這兩種傳輪情況均可經由向應用層1652 發送一鄰域狀態同步事件1603(包括應用資料1612)完成。 回應某一功肖b層事件(例如,所接收之摘測訊息 1609 ),功能層1651可向應用層1652發送鄰域狀態要求 1604 〇鄰域狀態要求1604在應用層1652上被叫用,以獲 二 得需要視情況在該鄰域内傳播之狀態。回應鄰域狀態要求 二 1604,應用層1 652可向功能層1651返回鄰域狀態16〇6, 包括可選應用資料1607。功能層1651可發送偵測(ping) 訊息1611 (包括可選應用資料16〇7),以傳播鄰域節點及 路由夥伴節點活躍度資訊,以及可選應用層鄰域狀態。功 能層1651還可發送同步回應16〇8,包括可選應用資料 1607,以傳播應用狀態。 脫離通訊協定 备一節點適於脫離一聯合體時,該節點 < 實施 Depart功能,以從該聯合體中被完美去除。一節點籍由甸 其直接鄰近前置節點及後續節點(可能還有相同鄰近鄰威 _ 中之其他節點)來脫離一現有聯合體。因此,根據該腺 刀佈型樣(即’被發送脫離訊息之節點),與脫離節雜 之資訊被傳播至一環之其他節點,該環位於該脫離節黠之 鄰域内。一脫離訊息是由一正在脫離之節點發出的單向$ 息,以向其鄰近鄰域中至少一鄰域中之一或多個其他節難 , 通知其正準備脫離。該脫離節點以一種類似於偵測訊息之 傳播的方式傳播該脫離訊息(例如,在其鄰域内舉例而 —Λ' ^ 否’具有識別碼3 0之節點可以向具有識別碼1 7及4 〇 56 200818811 點傳送脫離訊息i 2 i 9 具有識別碼3 〇之節點於是從一既 定鄰近環之角度將其自身從該聯合體基礎建設中去除。注 意,一節點有可能將其自身從一鄰近鄰域中去除,但沒有 從其所屬之其他鄰域中去除。 因為在具有識別瑪3 0之節點被去除之後’具有識別碼 1 7及40之節點(即該等前置節點及後續節點)可能是最 接近識別碼3 0之節點,所以具有識別碼1 7及4 0之節點知
曉具有識別碼30之節點脫離❶因此,其他被傳送到識別碼 30之節點的訊息被適當地在具有識別碼1 7及40之節點處 理,、有識別碼1 7及4 0之節點可以向環1 2 〇 6上之其他節 點通知有關識別碼30之節點的脫離。當不存在具有識別碼 3^〇,節點時,具有識別碼17及4〇之節點也重新計算前置 才曰及後續指標,可能相互指向對方。 机雕訊息之 w ….▲狐?自狐I應用序列識 ㈣偵測訊息之應用序列識別碼相同,使處理該脫離訊 之即點能夠確定由一起始節點 息中的最糸列偵測及脫離 二中的最新m聯合體鄰近環μ美脫離 =鼓勵這樣做。但是,該聯合體之設計使得在有節 犬然離開時能夠自愈(self-heal)。 活躍度 持二:合體生存㈣,節點可交換活躍度資訊, =聯合體。活躍度資訊採用“活躍度訊息標 ί手;^包含於任-在聯合㈣交換之訊息中。舉 …入訊息、加入回應訊息、同步訊息、同步回應奇 57 200818811 更新訊息、更新回應訊息、專用訊息、活躍度訊息及偵測 訊息均可包含活躍度資訊標頭。當一聯合體節點發送任意 訊息或回應訊息時,該節點可包括供其他節點處理之活躍 度資訊。活躍度資訊可被包含於活躍度訊息之活躍度資訊 標頭中。 指示一節點之活躍度狀態之活躍度資訊可使用以下屬 性表示:
[Node]:確定表示哪一節點之活躍度狀態。可根據進 一步包含[Instance ID]之[Referenee Pr〇perties]識別一節 點。 [Reference Propertiesp WS-定址規格中指定之元素資 訊項。WS-定址定義包含於引用屬性集中之[Instanee iD] 引用屬性。 [Instance ID]: —識別一節點之特定實例之數字。一 遞增根計數可用作一節點之實例識別媽。 [Phase]:表示被識別節點之階段。 [Phase-State Value] :表示已知被指示節點實例所達到 之最高階段狀態(插入、同步、路由、操作)。 [Phase.Unknown Indication],一指矛哭 使主一 、 小IS,具表不目前 階段為已知還是未知。 [Freshness]:表示該資訊之新鮮程度,其取值範圍介 於0至MaxFreshness之間。該值越高,該資訊越新鮮,〇 表示無資訊,MaxFreshness係一通訊協定定義之常數。 [Color]:識別該節點所屬之鄰近等價類。兩個具有相 58 200818811 同顏色值之節點總被認為是最接近的,因為它們均屬於由 該顏色值所識別之相同等價類。由於更多節& 丨赫加入聯合 體,所以鄰近等價類之數目可隨著時間而增大。 [Weight]:提供節點容量量度,其取值範圍為〇至 MaxWeight。其量測一聯合體節點之期望特性,例如,大 計算功能、高網路頻寬,及長執行時間。從夥伴關係之角 度來看,該值越高,其越能符合夥伴之需要。 在一些具體實施例中,在諸如[Origin]^ [Sender]訊息 標頭之一更大範圍内傳送一節點之 [Node]及 [F r e s h n e s s ] ’如此’在活躍度標頭中包含上述屬性將是重 複的。舉例而言,一訊息之發送者僅傳輸其目前階段、顏 色及重量資訊,而其識別碼、實例識別碼在訊息定址標頭 中被提供,其新鮮度係隱含的。 根據以下定義之"〈"二進位關係,活躍度狀態至少是部 分有序的: 當滿足以下條件時,”L1<L2"為真: 1· "Ll.[Node]· [Name] == L2.[Node]JName]"為 真,並且在有序串列中中執行測試及短路時,下式之一為 真: L 1. [Node]. [Reference Properties] · [Instance ID] < L2. [Node]. [Reference Properties]. [Instance ID] LI.[Phase.Unknown Indication] ! = true AND L2. [Phase.Unknown Indication] ! == true AND LI.[Phase-State] < L2.[Phase-State] 59 200818811
Ll.[Freshness] < L2·[Freshness] 2. 或者,”Ll· [Color] == L2· [Color]"為真,且在該 有序串列中執行測試且短路時,以下之一為真:
Ll.[Phase- State] < L2.[Phase- State]
Ll.[Weight] < L2.[Weight]
此外,當偵測到或懷疑一指定節點已經不可用時(例 如,當機狀態),可向一指定節點發送一活躍度“當機”訊 息。例如,當一應用層(例如,應用層121 )偵測到另一 應用層(例如,應用層123 )或一主控另一應用層之節點 當機時,該偵測應用層例如可根據訊息模型及相關處理模 型1600及/或1700,通知其他較低層(例如,其他較低層 1 3 1 ):該節點可能當機。此種通知可能導致其他較低層(例 如,功能層1 6 5 1 )發送活躍度當機訊息。這僅是產生活躍 度當機訊息之動因實例。 由於活躍度當機訊息被路由,從而被傳輪至一最接近 該等被懷疑當機之節點的節點,所以,如果一指定節點之 活躍度當機訊息被傳輸回該指定節點,則或者該指定節點 破未當機’或者該指定卽點係一不同實例(例如,呈有不 同實例識別碼)。另一方面,如果該活躍度當機訊息被傳輪 至另一節點,其指示該指定節點確實表現為已經當機。相 應地,如果接收該活躍度當機訊息之節點將其自身看作位 於該指定節點之鄰近鄰域内,其可以向鄰近鄰域内為該指 定節點發出一脫離訊息(如前所述),且向其應用層(例如, 使用Node Down 1 704 )指示該指定節點可能當機,該接收 60 200818811
節點係其替代節點。該 其目標識別碼集合被鄰 平衡程序 指定節點之活躍度當機訊息可利用 近路由至可能當機之節點。 本發明之實施例被設計為允 々 入及脫離該聯合體。如罢户兮—里即點在短時間内加 變為不平衡 等各節點維幾之對數搜尋樹 …衡,則網路中之此等變化會導致路由延時。即, 之節點多於另—側之節點。為促進最佳路 :效率,在滿足特定準則時,參與一聯合體之節點執行 平衡程序。 ^ ^ 一例如,當以下條件中任-條件為真時,任意節點可執 行該平衡程序,以確保一平衡路由表,從而獲得最佳 效率: 接收到上述被組態數目之活躍度訊息。 在接收到上述最後活躍度訊息之後已經過去一組態數 目之時間。 鄰域已經發生變化,即某些新節點已經到達,或者某 些現有節點已經脫離。 平衡路由表是一個簡單過程。例如,具有非平衡路由 表之節點可以重新執行加入通訊協定之同步及路由階段狀 態。 當聯合節點非常快速地加入及脫離,且數量很大時, 在接收到活躍度訊息之後,執行操作RP2b、RP2d及RP4, 再結合1 )尋找最接近〆數值之路由節點,2)由完美離開 一聯合體之節點所遵循之脫離通信協定,及3)由接收活 61 200818811 躍度訊息之節點所遵循之平衡程序,將會更快速地復原系 狀態訊息
狀態訊息是由一接收節點向一發送節點傳送之非路由 訊息,以通知該發送節點先前向該接收節點轉遞之相關資 訊的路由成功/失敗。第1 8圖說明在一環上之節點間如何 路由訊息之實例,該等訊息構成一要求-回應訊息交換型樣 之部分。一狀態訊息可包括識別原始相關訊息之標頭,該 原始相關訊息之路由狀態將被報告。同樣,狀態訊息可用 於節點之間,以指示該訊息被成功地從一節點路由至下一 節點。舉例而言,從節點1 801向節點1 806路由要求訊息 1811之過程包括經由節點1 802、1803、1804及1805發送 要求 1 8 1 1。相應級聯成功狀態訊息(狀態 1 8 1 7、1 8 1 8、 1819、1 829及1821 )可各別由節點1 806發送至1 805、由 節點1 805發送至1 804、由節點1 804發送至節點1 803、由 節點1803發送到節點1802、由節點1 8 02發送至18 01。作 為對要求1 8 11之回應,可將回應.1 8 1 6以端對端方式由節 點1 807發送至節點1801。回應1816係可選訊息,在單向 訊息交換態樣中可能不存在該回應。 第 1 3圖說明一節點加入一聯合體基礎建設節點之方 法1300的實例流程圖。將針對第12A圖及第12B圖中之 環120 6描述方法1300。方法130 0包括向一聯合體基建建 .設發出一加入訊息之操作(操作 1 3 0 1 )。舉例而言’具有 識別碼1 44之節點可以向包括環1 206之聯合體基礎建設發 62 200818811 迗加入訊息1201。方法13〇〇包括從一聯合體基建建設接 收加入訊息之操作(操作1 308 )。舉例而言,包括環1206 之聯合體中之一現有節點可接收加入訊息12〇1。 方法1 3 0 0包括向一處理節點路由一加入訊息之操作 (操作1309)。該處理節點可能是在路由該加入訊息時, 與聯合體基礎建設中之其他作用節點相比,其識別碼在數 值上更接近於該加入節點之識別碼。舉例而言’在起始時 於具有識別碼64之節點接收加入訊息120 1,將其路由至 具有識別碼1 35之節點,且路由至具有識別碼1 5 1之節點。 方法1 3 00包括為該加入節點計算一或多個前置節點 及一或多個後續節點之操作(操作1 3 1 〇 )。舉例而言,具 有識別碼1 5 1之節點可以為具有識別碼1 44之節點計算一 直接前置節點及一直接後續節點。在環1 2〇6中’具有識別 碼1 5 1之節點可以計算具有識別碼1 3 5之節點係一直接前 置節點,具有識別碼1 5 1之節點係一直接後續節點。對其 他鄰近環可執行類似計算。 方法1300包括為該加入節點計算一或多個路由節點 之操作(操作13Π )。舉例而言,具有識別碼151之節點 可以為具有識別碼1 44之節點計算路由節點(從具有識別 碼151之節點的角度觀察)。在環1206中,具有識別碼151 之節點可以計算(例如)具有識別碼218及節點為具 有識別碼144之節點的路由節點。對其他鄰近環可執行類 似計算。 加入訊息之才采 方法1 3 0 0包括從一談加入卽點發^ 63 200818811 作(操作1312)。既定聯合體基礎建設之目 該處理節點進行計算後,一加入 1 兮 w愿可識別該加 全部前置鄰域、後續鄰域及路由夥伴節點。舉例 入回應訊息1202可識別至少具有識别㉖135之節 識別碼144之節點的直接前置節點,可以識別具 151之節點為具有識料144之節點的直接後續 以識別在具有識別碼151之節點處為節點識別碼 新加入節點)所計算之任意路由節點(對於具有識 之節點)。 方法1300包括從 '處理該加入訊息之聯合 設接收-加入回應訊息之操作(操作"Μ”舉 具有識別碼!44之節點可以從具有識別碼i5i之 加入回應訊息1202。 法1 300包括向至少每一該等直接鄰近前 :接鄰近後續節點發送一同步要求之操作(操作 例而言,現在參考第12B圖,具有識別碼144 以向具有識別碼m及m之節點發送同步要求 /要求1203可以包括具有識別碼144之節點的任 *識別及具有識別碼144之節點的任意路由 別。 】具有識別碼135及151之節點可以接收 。作為對接收同步要求1203之回應,具有n 及1 5 1之餘抓1 "、可以從相應路由表中識別其鄰域節 夥伴節點。星古请w 具有識別碼135及151之節點可以名 圖,藉由 入節點之 而言,加 點係具有 有識別螞 節點,γ 144 (該 ι別瑪1 4 4 體基建建 例而言, 節點接收 置節點及 13 03 )。 之節點可 1 2 0 3 〇 同 意鄰域節 夥伴之識 同步要求 运別瑪1 3 5 點及路由 .同步回應 64 200818811 1204中包括其被識別鄰威節點及路由夥伴節點之活躍度 資訊,且向具有識別碼144之節點發送同步回應1204。
方法1 3 0 0包括從該等鄰近前置郎點及後續節點中之 每一節點接收一同步回應之操作(操作1 304 )。舉例而言, 具有識別碼1 44之節點可以從具有識別碼1 3 5及i 5丨之節 點接收同步回應訊息12〇4。同步回應1204可包括一聯合 體基礎建設中之環1 2 0 6及其他環上的一或多個節點的活 躍度資訊。同步回應1 204還可為具有識別碼1 44之節點識 別任意預期路由夥伴節點。 方法1300包括計算鄰威節點之操作(操作1305 )。舉 例而言,具有識別碼144之節點可以根據具有識別碼1 3 5 及1 5 1之節點的鄰域節點之聯合,計算相應鄰域節點。可 根據該加入回應訊息及任意同步回應訊息之一總結視圖, 計算鄰域節點。 方法1 3 0 0包括計算路由節點之操作(操作1 3 〇 6 )。汽 例而言,具有識別碡1 44之節點可以從環1 206之節點中 >十 算路由節點。可根據該加入回應訊息及任意同步 ^ 7 應訊息 之一總結視圖,計算路由節點。 方法1 3 00包括與所計算之路由夥伴交換至少 點資訊之操作(操作1 307 )。舉例而言,具有識別瑪 之節點及具有識別碼218之節點(所計算之路由 鄰蜮節 144 夥伴)可
以交換對應於其各別鄰域節點之狀態資訊(例如,實、J 別碼、階段狀態,等等此等交換係藉由該新 # 〇璣 、節點 至少每一惟一計算之路由夥伴發送(路由)_ *’向 p ate訊息 65 200818811 而完成,如在上文之“路由階段狀態”文本中所述。作為 從該新加入節點接收此等更新訊息之反應,處理該Update 訊息之節點將發送相應Update回應訊息。該Update回應 訊息至少包括其自身及其鄰域節點之活躍度資訊。
方法 13 00還可包括向至少一鄰域節點啟動路由表之 起始傳播的操作。例如,具有識別碼1 44之節點可在一偵 測訊息中包括所計算之鄰域及路由夥伴節點,且向具有識 別碼1 74之節點發送偵測訊息(例如,該等所計算之鄰域 節點之一)。具有識別碼1 74之節點可接收該偵測訊息且利 用在具有識別碼1 44之節點發出的活躍度資訊更新一相應 路由表。具有識別碼1 74之節點還可在第二偵測訊息中包 括其相應路由表,且在將來某一時間向具有識別碼144之 節點發送該第二偵測訊息。具有識別碼1 44之節點可接收 該第二偵測訊息,且使用包含於第二偵測訊息中之活躍度 資訊中的節點(即在具有識別碼1 74之路由表中之節點) 更新其相應路由表。具有識別碼144之節點可以用環1206 中之其他鄰域節點重複發送偵測訊息。 應理解,當一新加入節點加入一聯合體時,該新加入 節點也許不能找到一現有聯合體成員,從而變成惟一成 員。因此,可能不存在指派給該新加入節點之前置節點、 後續節點或鄰域節點。相應地,該新加入節點在所有情況 下被對映為最佳路由夥伴。 此外,儘管已經針對一單一環(環1 206 )描述了方法 13 00,但應理解,在一些具體實施例中,原本加入一環之 66
200818811 卽點亦可加入一或多個其他環。舉例而言 第5圖,原本加入環551之節點也可加入考 5U及501。因此,方法1 300可以被實施 ^ /、他具體實施例中,在加入複數個環 中之些或全部操作可被重複。舉例而言 圖 y 當 _ ^ 即點加入環5 5 1及環5 1 4 (例如, 方法1300之一或多個操作可被重複。在任 入筇點識別碼可被存取且用於識別一有序 郎點’以及該加入節點將參與之相應丨 歹】 接收節點被從該有序鍵結串列及每 識別。該加入訊息被路由至該有序鏈結串 串列之處理節點(例如,根據識別碼)。_ 有序鍵結串列及每一分割子串列中接收。 第14圖說明一節點維護在一聯合體 關係之方法1400的實例流程圖。將參考老 法1400。方法14〇〇包括向一鄰域節點發 息之操作(操作」4〇。第一偵測訊息指 偵測訊息之目前節點係該鄰域節點之鄰域 息也可包括該目前節點之路由夥伴及鄰域 例而言,具有識別碍1 44之節點可U向具 節點傳送一偵測訊息。在接收到該第〜偵 識別碼1 5 1之節點暸解到具有識別碼1 44 別碼1 5 1之節點的鄰近節點。作為這〜操 點151也可搜尋來自節點144之更新活躍 ,再次簡要參考 I 543、531、522、 ,以加入複數個 中時,方法1300 ,再次參考第5 別名)兩環時, 意事件中,一加 鏈結串列中之加 皆層式分割子串 一分割子串列中 列及每一分割子 加入回應被從該 基礎建設之成員 I 1206描述該方 送一第一偵測訊 示一發送該第一 。該第一偵測訊 節點之狀態。舉 有識別碼1 5 1之 測訊息時,具有 之節點係具有識 作之副作用,節 度資訊(對於環 67 200818811 1206之其他節點)。
根據(例如)與一鄰近環(該偵測訊息被發送至該鄰 近環)相關之組態狀態,以一指定頻率周期重複偵測訊息。 該頻率可根據該組態狀態變化。舉例而言,一廣域網路之 指定偵測頻率可以不同於一區域網路之指定頻率。也可根 據一偵測分佈型樣發送偵測訊息。一起始節點之偵測分佈 型樣可以包括在一環之兩個方向上向鄰域節點發送之偵測 訊息。舉例而言,具有識別碼1 44之節點可以在具有識別 碼1 3 5之節點的方向上以及在具有識別碼1 5 1之節點的方 向上發送偵測訊息。偵測分佈型樣及頻率例如可根據鄰近 環發生變化。 方法 1400包括從該鄰域節點接受一第二偵測訊息之 操作(操作 1402 )。該第二偵測訊息向該目前節點至少指 示發出該第二偵測訊息之鄰域節點係該目前節點之相鄰節 點。該第二偵測訊息也可包括該發起鄰域節點之路由夥伴 及鄰域節點之狀態。舉例而言,具有識別碼1 5 1之節點可 以向具有識別碼1 44之節點傳送一第二偵測訊息。在接收 到該第二偵測訊息時,具有識別碼144之節點暸解到具有 識別碼1 5 1之節點係具有識別碼1 44之節點的鄰近節點。 該第二偵測訊息亦可包括環 1206上其他節點之活躍度資 訊。因此,一般來說,偵測訊息可在一鄰域内被交換,可 用於維持鄰域成員關係(對於每一鄰近成員關係)及出現 在該聯合體内之節點的近似公共鄰域視圖。 一被接收之偵測訊息可被周期性地重複/轉遞至一鄰 68 200818811 近鄰域(由該起始節點發送之僥測訊息即被傳遞至該鄰近 鄰域)内之其他節點。也可根據一偵測分佈蜇樣發送被轉 遞之偵測訊息。一轉遞節點之偵測分佈型樣可以包括在一 遠離一起始節點之方向上向鄰域節點發送之偵測訊息。舉 例而言,具有識別碼11 5 1之節點可在具有識別碼1 74之方 向上轉遞由具有識別碼1 44之節點所發起之偵測訊息。偵 測轉遞分佈型樣例如可根據鄰近環發生變化。
節點可被組態用於以相應間隔接收偵測訊息。當未接 收到期望偵測訊息時,——節點可解釋一通信失敗,且對於 應當已經發出該期望(但至少是最新)偵測訊息之節點, 將另一節點之phase.unknown設定為真。 方法 1400包括向一正確路由節點鄰近路由一更新要 求訊息之操作(操作1 403 )。該更新要求訊息向接收一被 路由更新要求之路由節點指示:該目前節點正在作為該接 收路由節點之路由夥伴參與。該更新要求訊息也可包括至 少該目刖卽點之鄰域節點之識別(例如’以活躍度資訊之 形式)。舉例而言,具有識別碼144之節點可以將更新訊息 1316路由至具有識別碼2〇8之節點(由64從144之正確 路由夥伴偏置)。因此節點2丨〇 ( —先前計算之路由節點) 最接近208,所以其將接收及處理該被路由更新要求。在 接收到該更新訊息1 2 1 6時,具有識別碼2 1 〇之節點瞭解到 (或被補充)具有識別碼144之節點係具有識別碼 節點的路由夥伴。 方法1400包括從該處理(接收)路由節點接受一更新 69 200818811 回應訊息之操作(操作1404 )。該更新回應向該目前節點 指示該處理路由節點正在作為該目前節點之一路由夥伴表 與。該更新回應訊息也可包括至少該處理路由夥伴之鄰域 節點之識別。舉例而言,具有識別碼21〇之節點可以向具 有識別碼144之節點傳送更新回應訊息12〇7。在接收到更 新訊息1 2 0 7時,旦袁識別派t j^ /、有遨⑴碼144之節點瞭解到具有識別m 2 1 〇之節點係具有辦g丨丨踩1 /1 » /、頁識別碼144之節點的路由夥伴。 方法1400還可以句 一 匕括適當更新節點資訊之操作,以於 示該目前節點及鄰祕銘赴如 n 郇域即點都作為鄰近節點參與,且該 節點及該鄰近節點也作A 目則 乜邗馮路由夥伴參與。舉例而 識別碼144之節點可以 ,、有 更新對應於具有識別碼1 51之節a 的節點資訊,以指千且古叫 1之即點 和不具有識別碼144及141節 與-(鄰近)鄰域。類仞咏 “之即點正在參 β 〇地,具有識別碼1 44之節點可 更新對應於具有識9 " 广 别碼210之節點的節點資訊,以指干且 有識別碼144及21〇 龅 知不具 P 2正在作為路由夥伴參盥。 在某些具體實施例中,W ^ 在一肸—/點1 使用可靠汜濫廣播通訊協定, 在 才曰疋節點X之舰A 、 一 (X )中複製於該節點儲存之庫用 狀態。應用狀態中之卷一 s、 仔义應用 項均具有”被指派擁有者,苴 能是創建該項之節%。虛m 肴八了 城士 應用狀態中之每一項還具有一由J: 擁有者給定之相關時間戳記 有由,、 己C也%作序遽)。該時問歡 有至少三個成分: / X吁間戳心擁 擁有實體之實例嚷 s ,田, 例如’一未指派整數)。必須 至少是單調(>1)逐增的。 要 序列識別螞(例如, —URI),識別由-所有者產生之 70 200818811 特定序列。此成分使同一所有者能夠產生 序數號(例如,一未指派整數),識別 程式序列識別碼中之偏移。 項時間戳記被用於在複製期間偵測與 最新資訊,因為項時間戳記的 <實例識別 及偏移>二項組合至少是部分有序的。如 間戳記,則將與一被複製項相關聯之時間 間戳記進行對比’ 1¾偵測最新時間戳記。 用於支挺創建/更新/刪除操作之恆效語義 點接收一要求,以更新該應用狀態中之現 該更新要求相關之時間戮記高於與該本機 記時,才接受該$新。在不能為項指派單 使用基於向量時間戳記之衝突解決技術。 供了容錯特性,且促進了鄰域節點之間的 作為一種可選特性,(在一段時間之後 (起始)其他夥伴(路由及/或夥伴)節點 測訊息的節點可以考慮階段狀態未知、將 指示設定為真,且將其報告給第三方節點 需要周期產生更新及偵測訊息此要求及實 各種鄰近環之一屬性。舉例而言,一環可 (例如,在一區域網路分段中)具有更嚴 節點故障偵測/報告較快。另一方面,一環I 如’在網際網路上)具有嚴格程度較低之 沒有定時要求),主動節點錯誤偵測/報 多個獨立序列。 在該被識別應用 該對應項相關之 %、序列識別碼 果存在一本機時 戳記與該本機詩 項時間戳記也可 。例如,當一節 有項時,僅當與 項相關之時間戳 一所有者時,可 應用狀態複製提 負載平衡要求。 )未偵測到來自 之期望更新或偵 phase · unknown 。換言之,可能 際超時值可能是 能對於一些子環 格之時間要求, 士於其他子環(例 定時要求(甚至 告較長(或不存 71 200818811 在)。
第1 5圖說明用於搜尋另一節點之活躍度資訊之方法 15 00的實例流程圖。將針對第12A圖及第12B圖中之環 1206描述方法 1 500。一般來說,任意訊息,例如,同步 12 03、同步回應1204、更新1216、更新回應1207,等等, 可包括至少一活躍度標頭。在一些具體實施例中,一活躍 度標頭包括一節點之〈節點識別碼、實體識別碼、階段 [phase-state value].[phase.unknown indication]、新鮮度 值、顏色(鄰近)值及重量值 >。在其他具體實施例中, 一活 躍度標 頭 包 括 < 階 段 [phase-state value].[phase.unknown indication]、新鮮度值、顏色(鄰 近)值及重量值 >。在此等其他具體實施例中,活躍度標 頭可被用於補充定址標頭,其已經包含該發送及起始節點 之節點識別碼及實例識別碼。由於定址標頭已經包含節點 識別碼及實例識別碼’所以可從該活躍度標頭中省略此資 方法1 500包括接收一活躍度標頭之操作(操作 1501 ),該標頭表示一參與一聯合體基礎建設之節點的狀態 資訊。該活躍度標頭包括至少一所接收參與節點識別碼、 所接收節點之實例識別碼、所接收之階段值,以及所接收 之新鮮度值。舉例而言’具有識別碼1 44之節點可以從具 有識別碼151之節點接收同步回應訊息1204中之第一活躍 度標頭。該第一活躍度標頭可包括具有識別碼丨74之節點 的〈參與節點識別碼、實例識別碼、階段值[phase_state 72 200818811 value].[phasdnknowii indication]、新鮮度值、一顏色(鄰 近)值,以及一重量值 >。該階段狀態值(例如,插入階 段、同步階段、路由階段、操作階段)識別具有識別碼丨74 之郎點在該第一新鮮度值之時間的所表示階段。該階段狀 態值(例如’階段狀態:[Inserting,Syncing,Routing, Operating]及phase •unknown)識別具有識別碼174之節點 在該第一新聲度值之時間的所表示及/或所偵測階段資訊。 但是,由於通信延緩,一新鮮度值可能打折扣。一新 鮮度值還可能隨著時間之流逝而衰減。對於不同階段狀態 (包括未知狀態)’ 一新鮮度值之衰減曲線可能不同(可能 不疋線性或對稱的)。因此,在不同節點階段之間,一新鮮 度值之誤差可能是非線性及/或非對稱的。 方法1500包括存取該參與節點之至少一目前實例識 別碼、目岫階段值及目前新鮮度值的操作(操作15〇2 ), 該等資訊維護於該目前節點上。舉例而言,具有識別碼144 之節點可以存取具有識別碼174之節點的先前接收及儲存 實例識別碼、階段值[phase.sate value ][phase unknQwn indication],以及新鮮度值。 方法1500包括將至少所接收實例識別碼、所接收階段 值及所接收新鮮度值各別與一目前節點的目前實例識別 碼、目則階段值及目前新鮮度值進行對比的操作(操作 1 5 03 )。舉例而吕,具有識別碼i 44之節點可以將具有識別 碼1 74之節點的先刖接收及儲存之實例識別碼、階段值 [phase.sate value.][phaseindieati〇n]及新鮮度值 73 200818811 與在該活躍度標頭中接收之實例識別碼、階段值 [phase-sate value.][phase.unknown indication]及新鮮度值 進行對比。 具有識別碼1 44之節點可以根據(依順序)該第一實 例識別碼大於具有節點174之節點的目前儲存實例識別 碼、根據第——階段值高於具有識別碼1 74之節點的目前儲 存階段狀態值,或者根據該第一新鮮度值係大於具有識別 碼1 74之節點的目前儲存新鮮度值,從而確定具有識別碼 174之節點的目前狀態資訊(例如,自具有節點151之節 點接收)過時。具有識別碼144之節點還可以確定至少一 P ase.unkown ‘示(或者是目前健存指示,或者是在該活 躍度私頭中接收),指示在偵測/傳輸一階段狀態時,該階 段狀態已知。 方法1 500包括操作15〇4 :根據該對比結果,確定是 否應當在目前節點更新該參與節點之狀態資訊。舉例= 言,根據具有識別,174之節點的取值對比,具有識別碼 :二之即點可以確定應當更新具有識別碼174之節點的狀 L貝訊。為具有識別碼174之節點更新過期狀態資訊之、母 程可包括用該活躍度標頭中包括之值取代目前儲存值f 如,實例識別碼、階段狀態值、phase unkn〇wn指 列 鮮度值)。舉例而言,具有識別碼144之節點可以為::新 別蝎1 74之即點更新狀態資訊,以指示具有識 節點已經轉換至一更高階之階段狀態。. ”174之 在些具體實施例中,可以偵測到已經失去與該表與 74 200818811 節點之通信。舉例而言,具有識別碼1 44之節點可以偵測 到已經失去與具有識別碼151之節點之通信。簡單參考第 17圖,回應先前對活躍度事件1701之訂閱(利用具有識 別碼1 5 1之節點的端點),應用層1 7 5 2可以向功能層1 7 5 1 發送端點當機事件1 7 0 3 (利用具有識別碼1 5 1之節點的端 點)。在此等具體實施例中,此等被偵測之活躍度條件可以 在活躍度資訊中指示--將Phase.Unknown指示項設定為 “真”,再利用最新已知階段狀態值。
方法1 5 0 0可以進一步包括從該聯合體基礎建設中一 第二不同節點接收包括一第二活躍度標頭之訊息的操作。 舉例而言,具有識別碼1 44之節點可以接收包括一第二活 躍度標送之狀態訊息(從具有識別碼1 03之節點或者環 1 2 06中之其他節點)。該第二活躍度標頭可包括具有識別 碼1 74之節點的 < 參與節點識別碼、第二實例識別碼、第 二 階 段 值 [phase-state value] .[phase.unknown indication]、第二新鮮度值、第二顏色(鄰近)值,以及 一第二重量值 >。該第二階段狀態值(例如,階段狀態: [Inserting,Syncing,Routing,Operating]及 phase.unknown 指示)識別具有識別碼174之節點在該第二新鮮度值之時 間的所表示及/或所債測階段。 或者’在接收到該第一活躍度標頭之後,具有識別碼 144之節點可以嘗試直接與具有識別碼174之節點通信。 如果該通信成功’則具有識別碼! 74之節點可以返回一訊 息(例如’同步回應),該訊息在一定址標頭中具有節點識 75 200818811 別碼及第二實例識別碼,且擁有一活躍度標頭,該標頭包 括<第二階段值、第二新鮮度值、第二顏色(鄰近)值, 及第二重量值 >。如果偵测到一故障,具有識別碼144之 節點產生一内部活躍度狀態變化(例如,新鮮度=最大值, phase.unknown指示=真),且處理該狀態改變,就像從另 一節點接收到該狀癌變化一樣。此種狀態變化具有最高新 鮮度值。 方法1 500還可包括將該第二實例識別碼、第二階段值 及第二新鮮度值各別與該目前實例識別碼、目前階段值及 目前新鮮度值進行對比之操作(操作15〇6)β舉例而言, 在從具有識別碼103之節點接收到一狀態訊息之後,具有 識別碼1 44之節點可以(按照順序)根據第二實例識別碼 大於第一實例識別碼、第二階段比第一階段值更高階,或 者第二新鮮度值大於第一階段值,從而確定具有識別碼 1 5 1之卽點的目前狀態值過時。 方法1 5 0 0還可包括根攄該對比結果確定是否應更新 該♦,、即點之狀態資訊的操作。舉例而言,根據具有識別 碼1 ^之節點的取值對比,具有識別碼144之節點可以確 定應當更新具有識別碼174之節點的狀態資訊乂為具有識 別碼74之即點更新過期狀態資訊之過程可包括用談第二 活躍度“頭中包括之值取代目前儲存冑(例如,實例識別 碼、階段狀態值、 一 ^ Phas^unknown指示或新鮮度值)。舉例 ^ 識另】碼1 44之節點可以為具有識別碼1 74之節 • , 、、'訊,以指示具有識別,1 7 4之節點已經轉換 76 200818811 至一更高階之階段狀態。 在一些具體實施例中,在相尊顏色值之環境中對 tb階 段值。如前所述,一節點可參與多個鄰近環。當參輿一 具體環隱含著參與一更一般環(沿一公共脊椎(Spille) j 時,可能會發生參與多個鄰近環之情況。舉例而言, 丫 ·欠 參考第5圖,一節點參與環5 32也隱含著該節點正在 参與 環5 22、511及501。因此,一更具體環之顏色可表、 〆 R所有 父鄰近環。仍如前文所述,當一環中之節點被設定別名 至一或多個其他環時(可能沿著不同脊椎),可能發生表 更 多個鄰近環之情況。舉例而言,仍然參考第5圖 輿 參與 環5 3 2之節點可被設定別名至環5 3 1中,(甚至是炉 长541 中,其隱含著參與環531、5 22、511及5〇1)。因此 環 (例如’環5 3 1 )之顏色可被看作另一環(例如,壤 之一對等顏色(或鄰近顏色2) 當一郎點以別名方式參與複數個鄰近環時,在小同鄰 近環之間,該節點之階段值(例如,階段狀態倍及/或 phase.unknown指示)可能不同。因此,接收另〜铲 P點 狀邊資訊的郎點,在確定是否對於該節點及顏色更新 目前 狀態資訊之前,為該狀態資訊(顏色)識別相應鄰避 乂架〇 舉例而言,具有識別碼1 44之節點在將所接收之狀雖次 Q貝訊 與目前狀態資訊進行對比之前’可以為對應於具有識別馬 1 74之節點的所接收狀態資訊來確認該相應鄰近環。 識別一適當鄰近環可包括將一所接收顏色值與一或多 個目前顏色值進行對比。當所接收顏色值與一目前顏色值 77 200818811 相等時,可以將其他狀態資訊(例如,目前實例識 目前階段值及一目前新鮮度值)與所接收之相應狀 (例如所接收實例識別碼、所接收階段值及一所接 度值)進行對比。另一方面,當所接收顏色值與一 色值不同時,不再進一步進行對比。
可以採用多種方式得到顏色值之相等。舉例而 一目前顏色值與一所接收顏色值指示相同鄰近環( 環532 )時,可得到顏色值之間的相等。另外,當 體顏色值與一相應父顏色值(例如,沿相同脊椎之) 進行對比時,可能得到顏色值之間的相等)。舉例而 環532之顏色值與環511之顏色值(或者環522或 進行對比可得到相等性、因此,該子鄰近性是父鄰 但更具體。
因此,一般來說,一聯合體基礎建設中之目前 點可以交換所表示及偵測到之其他節點的活躍= 訊,甚至在推動與該等其他節點之通信時亦能交: 啟動载入機制 、 別碼、 態資訊 收新鮮 目前顏 言,當 例如, 一更具 卜環) 言,將 ,501 ) 近性, 工作節 狀態資 ,為使-節點成為-聯合體之活動 如,加入),該節點必須與至少一其他節點通彳古, 節點已經是該節點希望加入之葉環的活動成員。 保此起始通信方式可供◎,聯合體可利用一啟 :。當其他類型之通信不能識别一葉環之 者安全約束條件I μ駄隹人、,入筇點在開始時能夠 即點集合(例如,種子節點)中之至少-節點^ 員(例 該其他 幫助確 载入機 時,或 一特殊 信時, 78 200818811 啟動载入機制可用作一最終手段。即,當其他類型之通信 失敗’或者由於安全要求之原因,一啟動载入機制可被用 於識別一葉環之活動成員節點& 在一些具體實施例中,種子節點可用於與一聯合體之 啟動载入通信。種子節點可為一些類型之跨鄰近環(鄰近 間)通信提供習知登錄點。種子節點可以幫助解決由於基 礎建設故障/恢復及一般推動力所導致之環分割。每一環擁
有至乂 工作路子節點,以便為一聯合體提供基本啟動载 入特性。 等種子節點可相至通信,以維護一鄰近之環樹構(例 如,雙向鏈結串列)’該鄰近由其至少全部活動種子節點組 成。一專用種子節點同步通訊協定可被用於為每—種子節 點提供至少所有其他種子節點之目前(活動)狀態之全部 :識。動種子節點係其所在鄰近葉環及該葉環之所有 之整個i衣之成貝郎點。因& ’ 一種子節點可表示鄰近環 種椎,例如’從該種子節點之葉環至根環。相應地, 種子即點可以用作此等鄰近環中一 a 登錄節點。結果,對於_聯合體内之各^可縣及習知 應地,種子節點可提供多種特殊屬 點之習知“加入點”,用作一安 用作加入節 建設分割,以及用作此等鄰近中::=’辅助處理基礎 點” 0 岫近之穩定“登錄節 為提供存在資料 一種子節點之至·〗達及有 序脫離可被 79 200818811
註冊為在每一此等鄰近中之一匯 ’註冊訊息可被路由至^一 "Proximity:/"之 SHA-1 雜 定登錄節點之種子節點以 其他具體實施例,在此等 節點也可以相同方式及本 似通訊協疋來註冊发自身 子節點)註冊時,該穩定 員。因此,在此固定URI 上係穩疋登錄節點及其對 任意節點可參考由此固定 用穩定登錄節點及其環成 例而言 係字串 用作穩 時存在 非種子 同或類 如一種 環之成 訊本質 應地, 獲得可 集點的穩定登錄節點。 固定URI’其目的識别 湊。在一具體實施例中 此種方式註娜其自己, 具體實施例中,被選擇 文為種子節點所插述之 。當一穩定登錄節點( 登錄節點可栺示其係哪 所識別之匯集點維護的 應環成員關係之串列。 URI所識別之匯集點, 員關係之串列。
在~具體實施例中,該穩定登錄節點直接註冊盆 二脫離事件:t另一具體實施例中,該穩定登錄節點』 其复接鄰近裱内之一匯集點處註冊該等事件,該匯集 透明地(直接或間接)促進更新其餘鄰近環中所有其他 應匯集點點,該註冊/取消註冊穩定登錄節點屬於該等剩 鄰近環。一聯合體之應用狀態序列及傳播特性可被用於 護及傳播此穩定登錄節點註冊資訊。舉例而言,一可靠 见濫廣播通訊協定可被用於在一節點之鄰域節點中複製 儲存之應用狀態。
向該根環傳播穩定登錄節點之存在資料,可以使〆 合體内之其他節點能夠查閱每一鄰近環中之至少一登錄 點。藉由向最低公共上階環(“LCAR” )中之上文所碡 舉 螞 同 之 相 例 些 資 相 達 接 點 適 餘 維 之 所 聯 節 定 80 200818811 乞匯果點路由一節點查 該最低公共上階環係執行=:來促進“登錄節點查閱,,, 環之最低公共上階環。舉^ 一閱之節點的葉環及期望鄰近 之-節點可能希望與環;3=:二:考第5圖’環541中 中之銘節點通信。但是,環541 甲之即點可能不具備有關環533
因此,# ^ i T饪—節點之直接知識。 因此 % 541中之節點可以向環 最低八林 2 (裱541及環533之 最低a共上階環)發送一“節點杳 if穴你# ~阅訊息。環522中處 理丘錄卽點存在資訊之一匯集點節 銘a #找 即點(例如,由於該登錄 即點所發出之註冊訊息而存在 “ 於该糸统中),可以返回一 —間回應訊息,,,其中具有關於環 , 衣中至少一已註冊 穩定登錄節點之聯絡資訊。 在-些具體實施例中,穩定登錄節點係種子節點 被特殊組態為穩定登錄節點,用於維護各種鄰近之存在: 料。在其他具體實施例中’其他類型之節點也可用作維二 各種鄰近之存在資料的穩定登錄節點,也可被組態用於執 行其他操作。舉例而言’其他特定類型之節點可被組態(例 如由-管理員)為高度可用,從而適於用作一穩定登*錄節 點(即,按上文方式被註冊)。但是,其他類型之節點可能 不包含附加種子節點功能(例如,未獲取作為安全環授權 之信任)。在其他具體實施例中,為其直接鄰近環維護登錄 節點存在狀態之匯集點可將其自己註冊為上階環中之穩定 登錄節點。 鄰近間通信 本發明之具體實施例還可促進鄰近間通信’例如,一 81 200818811 環樹之不同鄰近分支中節點之間的通信。鄰近間通信可用 於向一鄰近分割環基礎建設之一或多個鄰近環(可能是全 部鄰近環)通信,或是在該等一或多個鄰近環之間通信。 現在參考第5A圖,第5A圖說明一引入鄰近之實例分割樹 5 00的,其中具有分割樹5〇〇之附加位準細節。鄰近間通 訊可發生於第5 A圖之各節點之間。
如第5A圖所述’環分割樹5〇〇額外包括在環513下 之各子節點。該等附加環中之每一環表示一有序鏈結串列 之一分割部分。如前文對第5圖之所述,在分割樹500中, 可根據專則5 7 1 ( —第一管理域界限準則)將根環5 01分 割為複數個子環,包括子環5 11、5 1 2、5 1 3及5 1 4。亦如 前文對第5圖之所述,可根據準則581 ( —第二管理域界 限準則)將子環5 11進一步分割為複數個子環,包括子環 521、5 22及523。根據其他準則進一步分割子環522下之 其他子環。 如前文所述,在分割樹500中,每一節點具有單一識 別碼,且沿一由該根至葉之相應分割路徑(一脊推)參與 壤中。舉例而言,參與子環552之每一節點還將參與子環 543、53 1、522、511 及根 5〇1。 在第5 A圖中’子環5 13還可根據其他準則(例如, 州管轄權限)進一步被分割為複數個子環,包栝子環561 及562。子環562還可根據其他準則(例如,城市管轄權 限)進一步被分割為複數個子環,包括子環571及572。 相應地,在第5A圖中,鄰近間通信可被用‘於從環54丨之 82 200818811 一節點向環572之一節點發送一訊息,不需要沿著從環541 至根節點501之脊椎向上通訊,然後再從根501向環572 向下返回。
鄰近間通訊可包含作為實施於一環樹中之通信型樣之 部分,例如,廣播、多播或任意傳播。廣播可包括向一環 樹中之所有活動節點發送一訊息。多播可包括向一環樹中 之一組節點發送一訊息。任意傳播可包括向一環樹中之至 少一節點發送一訊息。 第19A圖說明一引入鄰近之實例分割環樹1900,其促 進鄰近間通信。在分割環樹1900中,可根據所選擇準則(例 如,一第一管理域界限準則)將根環1901分割為複數個子 環,包括子環1、2、3及4。子環1被進一步分割為子環 1 1、21、3 1及41。子環11被進一步分割為子環111、211 及31 1。子環21被進一步分割為子環121、221、321、421 及52 1。儘管未被明確描述,但其他環,例如,子環2、3、 4、3 1及41,也可被進一步分割。 引入鄰近之分割環樹1900中環的數位約定被組態,使 得第一數位之後的任意數位指示一環之父環。舉例而言, 環“ 3 1 1 ”中之“11”指示環11係環311之父環類似地, 環“41”中之“1”指示環1係環41之父環整體環1901 係所有以單一數位編號之環(例如,環1、2、3及4 )的 父環。與第5A圖中之引入鄰近分割環樹500類似,可根 據各種鄰近準則分割環樹1900。 在本說明書及以下申請專利範圍内,標記 83 200818811 R["<number>”]被用於指代一環編號。例如,R["ll"]指環 11。在本說明書及以下申請專利範圍内,標記 N["〈number〉’1]被用於指代一節點編號。例如,N[" 131 Γ1] 指節點1 3 11。
為促進一環樹中之通信,節點可維護一登錄表,其將 環匹配至該等環中之相應登錄節點。如前所述,根據分割 環樹 1 900之組態,一父環包含所有來自其每一子環之節 點。舉例而言,環11包含來自11[”111"]、11[”211’’]及11["311” 之全部節點。因此,向環11發送一訊息就足以使該訊息到 達環R[”1U”]、R[”211"]及R["311n]之任意節點。相應地, 在一些具體實施例中,一節點之登錄表可被精簡至一些環 中之登錄,該等環不同於從該節點所在環之角度。例如, N[llll]可簡單地維護R[”2r·] - N[1121]之登錄,因為維護 多個子環或R[n21"]之登錄將是冗餘的。 創建及維護間接環集合 在本說明書及以下申請專利範圍中,——指定環之任意 對等環被定義為該指定環之“間接環”。在本說明書及以 下申請專利範圍中,一指定環上階環之任意對等環也被定 義為該指定環之“間接環”。一指定環之任意間接環也是 該指定環中所包含之全部節點之間接環。 因此,舉例而言,仍然參考第1 9A圖,由於R["2 11"] 是R[”lll"]之對等環,所以R["211”]是R[” 111π]之間接環。 R["211"]也是包含在 R[nllln]中之任意節點(例如, N[1311])之間接環。另外,由於R["21"]是R[nll"](即, 84 200818811
R[nllln]之一上階環)之對等環,所以R[n21"]是R["lll 之間接環。R[n21"]也是包含在R["lll"]中之任意節點( 如,N[1 111])之間接環。 在本說明書及以下申請專利範圍中,“間接環集合 (“ CRS ” )被定義為從一指定環或一指定環之節點的 度來看,一或多個間接環之集合。舉例而言,在第19A圖 R["221"]之一間接環集合,也是環R["22rf]中任意節點( 如,N[8221])之平行一環集合,包括R[”ll"]、R["121"] R["31n]、R[”4r,]、R[n2”]、R[n3”]及 R[,,4n]。 因此,為促進鄰近間通訊,一節點可維護一間接環 合登錄表,其包括一或多個間接環,以及一或多個對應 該等一或多個間接環之登錄節點。一間接環集合登錄表 係一資料結構,其包括一或多個 < 間接環,1至N個登錄 點 >項,其中,N為某一整數。舉例而言,該資料結構可 為 <間接環01,登錄節點01,登錄節點02,…>之格式, 中,省略號表示間接環01中之一或多個附加登錄節點。 為創建一間接環集合登錄表,一節點可利用本機 識、用於在一環樹中傳播狀態之通訊協定訊息(例如, 測訊息、更新訊息及更新回應訊息)、應用訊息,以及用 促進在一環樹中之指定通訊型樣(例如,廣播、多播及 意傳播)之訊息。 一節點可以從一節點所參與之任意環位準使用本機 識,例如,路由表資訊。舉例而言,仍然參考第19圖 N[ 1121]可以是R[M"]中N[1311]的鄰居。從N[1121]之 "] 例 角 例 集 於 可 即 以 其 知 偵 於 任 知 , 角 85 200818811 度來看’ n[1311]之-間接環為R["21,,]。相應地,N[1311] 可以將(Κ["21Ί,Ν[1121])對(在此情況下,是具有單—登 錄節點之項)插入\[1311]之間接環集合登錄表中。利2 此種類型之本機知識節點可向間接環集合登錄表中插 入登錄。 除特別預期之訊息之外,節點可以在用於其他目的之 訊息中傳播其間接環集合登錄表資訊,例如,用於傳播鄰 域及路由夥伴狀態資訊。例如,節點可以在發送至鄰域節 點之偵測訊息中以及在路由夥伴節點之間交換的更新訊息 及更新回應訊息中包括間接環集合登錄表狀態。從另一節 點接收間接環集合登錄表狀態之節點可以使用所接收之間 接環集合登錄表狀態來增大及/或維護其自己的間接環集 合登錄表。 、 舉例而言,當一節點與其鄭域/夥伴節點交換匯集偵測 /更新訊息時(例如,在一匯集通訊協定層),該節點還可 以父換(至少部分,可能是全部)其間接環集合登錄表(且 使用從其鄰居/夥伴接收之間接環集合登錄表來更新其自 己的表)。舉例而言,假定Ν[1311]不具有R["3,,]中任意節 點之先驗知識(在環1901之環境中)。但是,N[1 3 11]的確 有一個鄰居N[8221](在R[,,i"]中),且n[8221]的間接環 集合登錄表具有(R["3"],N[8223])項。至少因為Ν[Ϊ311] 及Ν[8221]是鄰居,所以ν[1311]及Ν[8221]可以不時相互 發送偵測訊息。Ν[8221]可在發送至Ν[1311]的偵測訊息中 包括(至少部分,可能是全部)其間接環集合登錄表。因 86 200818811 此,當N[1 3 11]從N[8221]接收一偵測訊息時,該偵測訊息 可包括N[8221]之間接環集合登錄表。從N[8221]的間接環 集合登錄表,N[1311]可識別<R["3"],N[8223],..^項,且 在其自己的間接環集合登錄表中包括<R[”3"], N[8 223],··>項。N[13 11]還可識別其間接環集合中其他環 的其他項,且在其自己之間接環集合登錄表中包含該等其 他項。
可以在一環中路由衫伴之間交換的更新訊息及更新回 應之間類似地交換間接環集合登錄表狀態。此外,任意路 由通訊協定訊息可用於學習有關間接環集合登錄節點之資 訊(例如,活躍度資訊)。此外,可以使用意欲維護間接環 集合登錄表之特定訊息。 間接環集合登錄表狀態也可在促進一環樹中之指定通 信型樣(例如,廣播、多播及任意傳播)的訊息中搜尋° 舉例而言,為向一環樹中之所有節點廣播一訊息,一廣播 演算法可使用專用於廣播之各種顧型訊息。發送廣播專用 訊息之節點可在其廣播專用訊息中包括間接環集合登錄表 狀態。類似地,在向一節點群組中之每一節點多播一訊息 時,一多播演算法可使用專用於多播之各種類型訊息。發 送多播專用訊息之節點可在其多播專用訊息中包括間接環 集合登錄表狀態。類似地,在向至少一節點任意傳播一訊 息時,一任意傳播演算法可使用專用於任意傳播之各種類 型訊息。發送任意傳播專用訊息之節點可在其任意傳播專 用訊息中包括間接環集合登錄表狀態。接收通信型樣特定 87
200818811 訊息之節點可以識別適當項(例如,〈間接環,登錄I 項),且在其自己之間接環集合登錄表中包括此等項之 或全部狀態。 在應用程式之間交換的應用程式組件訊息中也可 間接環集合狀態。簡單地參考第1圖,應用層 121, 及/或123可交換包括間接環集合狀態之應用程式組 息。在接收到包含間接環集合狀態之應用程式組件 時,一應用層可以將該間接環集合狀態向下傳遞到相 其他較低層,例如,傳遞到匯集通訊協定層,以增加 間接環集合狀態。 間接環集合狀態可由應用程式提供及/或硬佈線, 由一環樹中之節點組態。 再次參考第1 9 A圖,如杲一節點發現其知曉相同 複數個登錄節點,其可以決定為該環保留兩或多個登 點。在一些具體實施例中,該節點從所保留之任意登 點中隨機選擇——登錄節點。在其他具體實施例中,應 原則,用以幫助從所保留之任意登錄節點中選擇一指 錄節點。一原則可指示每次所選擇之登錄節點是相同 節點。或者,一原則可指示所選擇之登錄節點可以在 留之任意登錄節點之間變化。舉例而言,在一些具體 例中,以一種循環方式選擇登錄節點,以使負載被均 分佈在所保留之任意登錄節點之間。 此外,在保留多個登錄節點時,例如,如果一第 選登錄節點發生故障、忙或其他不可用原因,則一節 ί點> 部分 搜尋 122 件訊 訊息 應的 現有 且可 環之 録節 録即 用一 定登 登錄 所保 實施 勻地 一被 點可 88 200818811 以有效地轉移至一不同登錄節點。 或者,一節點可為該環保留單一登錄節點。
一節點可不時為一環偵測額外登錄節點。在一些具體 實施例中,當一節點保留一單一登錄節點或者缺少儲存額 外登錄節點之記憶體時,該節點可以決定一新被接收之登 錄節點是否應取代一現有登錄節點❹在一些具體實施例 中,一節點可以利用一函數,根據以下參數計算每一備選 登錄節點之等級:該登錄節點之距離、該登錄節點資訊之 新鮮度,以及該登錄節點之重量(例如,組態偏好)。一具 有較高等級之登錄節點被保留。 一間接環集合登錄表可以完整,也可以不完整。一完 整間接環集合登錄表包括一節點之間接環集合中每一環的 至少一個登錄節點。例如,節點1 3 1 1之一完整間接環集合 登錄表將包括環111、211、21、31、41、2、3及4中每一 環之至少一個登錄節點。 利用上述機制,有可能從一或多個環及/或一鄰近環階 段中節點之角度來構建完整間接環集合登錄表。在一些具 體實施例中,路由表狀態資訊可能獨立構成該環樹中每一 節點之完整間接環集合登錄表。舉例而言,關於在環樹 1900中傳播資訊(例如,在偵測訊息、更新要求訊息及更 新回應訊息中)之路由表可以為所述每一環中之所有節點 形成一完整間接環集合登錄表。 但是,在其他分散式網路環境中,該環之動態本質及/ 或狀態相關登錄表之交換中的延遲可能妨礙一完整登錄表 89 200818811
之構成。換言之,在此等其他環境中,在一環或一節點之 間接環集合中,可能存在該節點或環在任意既定時間所不 知曉之一或多個環。舉例而言,再次參考第1 9 A圖,假定 N[8004]剛剛加入,而且在此之前不存在屬於 R[”4”]之節 點,在訊息流量(例如,偵測/更新訊息)或其他行為導致 在整個環基礎建設中散發資訊之前,大多數節點將不具有 r["4"]之登錄節點。因此,由於網路之動態性(例如,節 點故障、通信故障、通信延遲、節點增加,等等),在一節 點維護一完整間接環集合登錄表並非總係可能的。相應 地,在許多環境中,一節點維護一部分間接環集合登錄表, 其包含有該節點之間接環集合中之部分環(而非全部環) 的登錄節點。 使用間接環集合登錄表進行鄰近間通訊 一節點可以使用間接環集合登錄表中之資訊進行鄰近 間通信(例如,不必向發送環及目的環之最低公共上階環 路由一訊息)。仍然參考第19 A圖,根據一間接環集合登 錄表中之合適項,N [ 1 3 11 ](例如,一發佈節點)也許能夠 將鄰近間通信資訊直接發送至 R[”lll”]、R[”211,,]、 R["2 r,]、R["31n]、R["41"]、、R["3n]及 R["4"]中之 一或多個。例如,在某一時間,N[1 3 11]之一間接環集合登 錄表可包括以下項·· R["2"] : N[1112] R[,,3"] : N[8223] R[,f21,!] : N[1121] 90 200818811 此等項可被用於直接向R [,,111,’ ]、R [ ” 2 11 ” ]、R [ " 2 1 "]、 R["3 1]、R["2”]及R["3”]通信。舉例而言,n[1311]可以向 R[" 1 Π ”]發送通信訊息52,N[ 1 3 11 ]可以向R["2 11 "]發送通 信訊息51, N[1311]可以向R[”21”]發送通信訊息53
(N[112l]是以"21"]及 κ["221Ί之成員),n[1311]可以向 R[ 3 1 ]發送通信訊息56,N[1311]可以向R["2"]發送通信 訊息57,N[1311]可以向R[”3”]發送通信訊息58。隨著時 間之流逝,1^["1311”]可識別尺["41"]及汉[”4"]之項(例如, <間接裱,登錄節點 > 項)。可以從經更新之本機知識、從 包含在匯集通訊協定訊息、(例如,偵測訊息、更新訊息及 更新回應訊息)中之間接環集合登錄表,經由包含在通信 1樣專用訊w中之間接%集合登錄表狀態,且經由其他機 制(例如,一應用程式組件)來識別該等項。
向下路由演算法 在一匯集聯合體中(呈 /、有或不具有間接環集合登 表)’ 一訊息可能被路由至暴祕、 接近一指定鄰近環中一既定 點識別碼之節點,該指定觀 财 ,_ . _ .,近環不是發出該訊息之葉環 上階裱(下文中將之稱為“ 间下路由”)。此一實例係在 始環中之節點不知道該間 ;此貫彳隹 如仏卢士々々々抓人 长中一登錄節點時,促進從 起始裱中之即點向一間拯卢 叮 幻入& 4夕誊加八… 长之鄰近間通訊。第19B圖說 引入鄰近之實例分割環樹丨 ^ 〇之另一視圖。舉例而言, 91 200818811 在參考第1 9 B圖’ N [ 1 3 11 ]可能發送一以R [,, * „ ]或反[·· ^ 之節點為目的之通信。 對於一此種既定匯集聯合體,可以定義以下函數: RouteDown(M,P,ID):該聯合體向最接近鄰近⑺ 之節點傳遞訊息Μ。鄰近P可以是聯合體中之任意鄰近产 (葉環或中間環),其不是該起始節點之葉款的上階環。 在一些具體實施例中,從來不會在該起始節點之* 及該目標鄰近環Ρ之最低公共上階環中s ^
W工路由旬占 Μ。舉例而言,可實施從N[13ll]至r『"4i μ 4 崧 J之向下路由, 可能不需要將一訊息向上路由至 Rr"1"i / ^,,41"]之最低公共上階環)。但是,在其他具 、輝實施例中, 如果合適,一訊息可被路由至一最低公共上階产 衣之上方。
RouteDown(M,P,ID)函數可以包括 秸識別一登錄節 點,已知該登錄節點係該目標鄰近環P之— q 战貝。一發送 節點玎以使用各種不同機制識別一目標鄰近環中之一八錄 節點°一發送節點可以係一起始節點(該第一發送節點)。 一發送節點也可以是一中間節點,其從該起始節點或另一 中間節點接收訊息,然後轉遞該訊息。 一發送節點可以使用本機知識,例如,組態或本機快 取之資訊以及一間接環集合登錄表),來識別一目標鄰近環 中之登錄節點。舉例而言,N[1 3 11]可存取快取及組態 ! 9〇2,其中包括有關環樹1900中之環的組態及本機快取資 訊。在一些環境中,經由該聯合體之外的通信機制(例如, 帶外)獲得關於一聯合體之本機知識。本機知識可用於識 92 200818811 別確切目標鄰近環P中之任意節點。如果找到確切目標鄰 近環中之任意節點,則訊息Μ可被轉遞至其中任一節點。 舉例而言,Ν [ 1 3 11 ]也許能夠使用快取及組態1 9 0 2,以確 定Ν[8 004],且將訊息19〇3轉遞至R["4”]。
一發送節點可使用一間接環集合登錄表來定位該目標 鄰近環P中之任意登錄節點。如果找到該目標鄰近環中之 任意登錄節點,則可以將訊息Μ轉遞至該目標鄰近環p中 之一登錄節點。舉例而言,當N[7521]為訊息1903之目的 時,N[13 11]可確定N[652 i]作為r["521"]之登錄節點。相 應地’訊息1903可被路由至n[6521]或(至R["521"])。 在R["521"]内,n[6521]於是可以嘗試使用環内通訊將訊息 1903路由至n[7521]。因此,如果一發送節點能夠識別該 目標鄰近環之一登錄節點,其將該訊息轉遞至該確切目標 鄰近環。例如,如果Ν[,,652Γ,]能夠識別R["21"]之登錄節 點’其將訊息1 903轉遞至R["2 1"](虛線)。 另一方面’當發送節點(例如,從本機知識或一間接 環集合登錄表)不能識別該目標鄰近之任意登錄節點時, 該發送節點可以檢查其間接環集合登錄表,以定義該目標 鄰近環之任意上階環之登錄節點。舉例而言,N[1 3 11]能夠 嘗試向R[" 121"]中之節點發送一訊息,但是,N[1 3 11]不能 識別R[" 121"]之登錄節點。相應地,N[1 3 11]可參考間接環 集合登錄表1 904,以定位N[6521] ( R["21”]中之登錄節 點)。N[1311]可將該訊息轉遞至n[652 1],其現在成為該 訊息之發送節點。 93 200818811 在邏輯上,由於N[6521]也是R[21]之一節點,所以訊 息1903現在可以被看作“位於” R["2l"pN[6521]於是可 以嘗試識別R[221](該目標鄰近)中之一登錄節點。舉例 而言,N[6521]可查閱本機知識、一間接環集合登錄表,及 /或可以(遞迴)應用該向下路由演算法。n[6521]可將
N[3 221]識別為R[221]之登錄節點。相應地,n[6521]可以 將訊息1903發送至N[3221]。N[332 1]於是可以使用環内 通訊將訊息1903路由到R[221]中之一適當節點。 在適當時(例如,在深於第19B圖中所示之樹中), 一訊息可以被傳遞到其上階,該等上階越來越接近該目標 鄰近環,直到目標鄰近環中之登錄節點被識別,或者不再 有可用上階環時為止。 一發送節點還可以路由一登錄節點查閱要求,其至少 包含向登錄節點目錄機制提出之目標鄰近要求,例如,用 於啟動載入該聯合體。一登錄節點查閱要求之路由可被限 制於該發送節點及該目標環之最低公共上階環。舉例而 言,N[1311]可將查閱要求1 906路由至匯集點765 i,以要 求R[n3 1"]之登錄節點。一登錄節點目錄機制可返回潛在登 錄節點之串列。舉例而言,匯集點765 1可返回一潛在發錄 節點之串列(包括N[843 1]),以及至少在查閱回應19〇7 中以該目標鄰近之匯集點註冊之種子節點。 該發送節點考慮在一查閲回應訊息(自該匯集點發送) 識別之新發現節點,且將訊息Μ轉遞至該等登錄節黠之 一。考慮新被發現之節點可以導致該間接環集合登錄表(以 94
200818811 及其他本機快取之節點存在知識)被增加或 應訊息還可包括其他節點存在資訊。舉例而 該發送節點很重要之特定登錄節點可能包含 之間接環集合登錄表中。 因此,如果一或多個可用機制在該目標 至少一登錄節點,則該訊息Μ被發送(或者 節點,或者由該目標鄰近之上階環中之一登 由一查閱登錄節點)至該目標環中jtb等登錄 一個。該訊息Μ可包含用於該鄰近目標環之 令,以將訊息Μ路由至ID。另一方面,如 制均未產生該目標鄰近環中之一登錄節點, 要求被錯誤地向該原始發送節點返回。 在一些具體實施例中,一起始節點 RouteDown訊息標頭附加至該訊息,其中該 息標頭指定該目標鄰近URI。 如果任一上述機制識別多個“下一躍點 選擇單一節點。在選擇一單一節點時(例如, 更接近該目標鄰近P之節點可被選擇,之後 量之節點可被選擇,之後,更接近目標Μ 可被選擇。如果沒有機制導致選擇,於是一 選擇。如果當存在多個候選節點、未能成: 時,只要存在未發生錯誤之候選節點,就可 遞。 可以建立一逆向狀態/錯誤訊息路徑,該 維護。查閱回 言,已知對於 於該發送節點 鄰近環中產生 由該起始發送 錄節點,或者 節點中之至少 登錄節點的指 果任一可用機 則 RouteDown 將一端對端 RouteDown 訊 ”節點,則可 中斷一連接), ,具有更高重 識別碼之節點 節點可被隨機 力傳遞訊息 Μ 以重新嘗試轉 應用訊息從該 95 200818811 發起者經由中間節點到達最終目的節點。一曰一却自a 一 机恩被傳 遞至該目的節點或偵測到一錯誤,可沿此路徑向該發起者 發送一相應錯誤/狀態訊息。 第19C圖說明引入鄰近之實例分割環樹ι9〇〇之一部 分的分割視圖。第19D圖說明實例引入鄰近之分割環樹 1900之不11的放大視圖。第20圖說明為維護環樹中_節 點維護一間接環集合之方法2000的實例流程圖。將針對第
19C圖及第19D圖中之環、節點、訊息及資料描述方法 2000 〇 方法2000包含一節點存取一間接環集合登錄表之操 作(操作2001 )’該間接環集合登錄表被組態用於儲存該 節點之間接環集合登錄。每一間接環集合登錄被組態用於 指示該節點之一間接環,及該節點之間接環内之至少一相 應登錄節點。舉例而言,N[1 3 11]可存取間揍環集合登錄表 1 9 0 4,其被組態用於健存n [ 1 3 11 ]之間接環集合登錄,其 格式為〈間接環,1至N個登錄節點 >,其中N為某一整數^ 因此,間接環集合登錄表1904可包括零或多個〈間接環, 登錄節點 >項,每一被包含項指示N[131丨]之一間接環,及 該間接環中之一或多個相應登錄節點。舉例而言,如第l9c 圖中所示’間接環集合登錄表19〇4包括間接環集合登錄 <R["51’’],m[865 1],···〉,表示 N[86川係 R[51]( n[1311]及 R["311 ”]之一間接環)之1至n個登錄節點之一。 方法2000從可用資源中搜尋間接環集合登錄表資訊 之操作(操作2002 )’該等可用資源維護有關該環樹之組 96 200818811
態的資訊。舉例而言,N[1311]可以從維護有關環樹19〇〇 之組態資訊的資源中搜尋間接環集合登錄表資訊。如前所 述,間接環集合登錄表資訊之各種不同來源可供一節點使 用。舉例而言,一節點可存取本機知識,例如本機組態及 快取資訊;可存取包含於匯集通訊協定訊息中之間接環集 合相關狀態,該等訊息例如為偵測訊息、更新訊息及更新 回應,用於在環樹中傳播狀態;可存在包含於應用訊息中 之間接環集合相關狀態,且可以從用於促進一環樹中之指 定通信型樣的訊息中存取間接環集合,該等通信型樣例如 為廣播、多播及任意傳播。 因此,在第19C圖中,N[1311]可能存取本機組態 1 92 1。從本機組態1 92 1,N [ 1 3 11 ]可搜尋間接環集合登錄 <R[f’llln],Ν[1111],···>表示 N[llll]係 R["lll"]( N[13 11] 及R["3 11"]之間接環)中登錄節點至少之一。N[1311]還可 揍收應用訊息1971。N[1 3 11]可以從應用訊息1971中搜尋 間接環集合資訊1972。間接環集合資訊1 972可包含(或 可不包含)N[ 1 3 11 ]之間接環集合中之環的間接環集合狀 態。N[1 3 11]還可接收通信型樣專用訊息1 973 / N[13 11]可 以從通信型樣專用訊息1 973中搜尋間接環集合狀態 1974。間接環集合狀態1974可包含(或可不包含)N[1 3 11] 之間接環集合中之環的間接環集合狀態。 現在參考第19D圖,N[1311]可以在匯集通訊協定訊 息中搜尋及交換間接環集合狀態。由於N[1111]是R[" 111Ί 之一成員,N[1211]是R[”211"]之一成員及N[1311]是 97 200818811 R["3 11"]之一成員,所以節點 n[1111]、N[1211]、n[1311] 中之每一節點也是R [" 11"]之成員。如前所述,作為一公共 環之成員的節點可以交換偵測訊息、更新訊息及更新回 應,以維護路由表資訊。因此,R [" 1 1,《]之節點可交換偵測 訊息、更新訊息及更新回應,以維護R [" 1 1 "]之路由表資 訊。間接環集合狀態可包含於在節點之間交換的偵測訊 息、更新訊息及更新回應訊息,以及其他匯集通訊協定及 應用訊息流量。 舉例而言’ N[A11] ( R["llf,]中n[i311]之一鄰居)可 向N[13 11]發送偵測訊息ini,包括間接環集合狀態 1932。從間接環集合狀態1932 , N[1 3 11]可搜尋間接環集 合登錄 <R["31"],N[ll3l],· >,表示 n[1131]係 R[”3l”] (N[13 11]及R["3ir’]之間接環)中之一値登錄節點。間接 環集合登錄1932可係N[A11]之間接環集合登錄表中之間 接環集合登錄之完整或部分串列。N [丨3丨丨]還可以向其鄰居 發送包括間接環集合登錄狀態之偵測訊息。舉例而言, 1^[1311]可向>![£11](汉["11"]中>1|;1311]之一鄭居)發送 偵測訊息1945,包括間揍環集合狀態1934。間接環集合登 錄1934可包括來自間接環集合登錄表ι9〇4中間接環集合 登錄之完整或部分串列。 N[ 1 3 11 ]還可發送和接收包括間接環集合栢關資訊之 更新訊息及更新回應。舉例而言,N [〗3丨丨]可向n [ϋ 11 ] (R[ 11 ]中N[ 1 3 11 ]之一鄰居)發送更新訊息1 933,包括 間接環集合狀態1934。N[D11]可藉由向N[1331]發送包含 98 200818811 間接環集合登錄1938之更新回應訊息1937作為回應。間 接環集合登錄1 938可係N[D11]之間接環集合登錄表中之 間接環集合登錄之完整或部分串列。類似地,N [丨3〗丨]可從 N[C11]( R[”11Ί中N[1311]之一鄰居)接收更新訊息1941, 包括間接環集合登錄1942。間接環集合登錄1942可係 N[C 111之間接環集合登錄表中之間接環集合登錄之完整 或部分串列。N[1311]可藉由向N["cu”]發送包含間接環 集合登錄1 934之更新回應訊息1 943作為回應。 一節點還可以從可用資源中接收間接環集合登錄表相 關之資訊’其(直接或間接)指示一間接環集合登錄不再 有效,例如,指示一登錄節點不能被聯絡。任何用於發送 間接環集合相關狀態之資源也可被用於發送一指示,其可 被解釋為一間接環集合登錄不再有效。因此,一節點可能 不時接收間接環集合相關狀態,其導致一或多個間接環集 合登錄被添加到其間接環集合登錄表,還接收指示,其可 能導致已經不再適合之一或多個間接環集合登錄被去除。 方法20〇〇包括一操作(操作2〇〇3):根據所發現之間 接環集合登錄表資訊當間㈣集纟登錄狀態更新該 間接環集合登錄表。每一適當間接環集合登錄狀態包括指 不該節點之一間接環,及該節點之間接環内之至少一相應 登錄節點。舉例而言,n[13u ]可包括在第19。圖及第19〇 圖中接收之間接環集合登錄表19〇4中的任意間接環集合 登錄。n[1311]也可從間接環集合登錄表19〇4中去除被指 示為可能不再適當之間接環集合登錄(例 >,在組態、匯 99 200818811 集通訊協疋訊息、應用訊息或通信型樣專用訊氡中指示)。 相應地,一節點之間接環集合登錄表可被更新,以適當地 反映一匯集聯合體之變化結構。 第1 9E圖說明引入鄰近之實例分割環樹1 9〇〇之再一 視圖。第1 9E圖中所述係間接環集合登錄表J 9〇4,其可能 被根據第19C圖及第19D圖中交換之間接環集合狀態傳 播。第21圖說明一方法2100之一實例流程圖,該方法用 於社一艰樹中發送鄰近間通訊。下文針對第1 9 F圖中之節 點、5^、訊息及資料描述方法21〇〇。 方法2100包括確定一節點將向該節點之間接環發送 一訊息之操作(操作2 1 0 1 )。舉例而言,N [丨3 1丨]可接收其 應向R[’’2’’]發送一訊息1976之指示。表示應當向間接環發 运一訊息之指示可以從另一節點接收、可以作為路由邏輯 函數、N[13 11]之一應用程式、一多播設備、一廣播設備、 一任意傳播設備,等等。 方法2100包含該節點存取一間接環集合登錄表之操 作(操作2102),該間接環集合登錄表被組態用於儲存該 節點之間接環集合登錄。每一間接環集合登錄被組態用於 指示該節點之一間接環,及該節點之間接環内之至少一相 應登綠節點。舉例而言,N[13 11]可存取間接環集合登錄表 1904。間接環集合登錄表19〇4中之每一間接環集合登錄可 指示N[1 3 11]之一間接環,及n[1 3 11]之該間接環中之至少 一相應登錄節點。舉例而言,項<R[" i i i ”],N[i 111],.〉 指不 R[丨丨111"]係 N[1311]之一間接環,N[llll]係 R[,,i 1Γ,- 100 200818811 中之至少一登錄節點。 方法2 1 〇 〇包括從該節點之 間接環識別至少一間接A 1錄表中為該 ^ "間接%集合登錄之操作(操作2103)。 該等至少一間接環集合登 p1 ^ , s 丘錄之母一間接環集合登錄指示該 間接%之一至少一登镍铲 人 、P ‘,。舉例而言,N[ 1 3 1 1 ]可以從間 接衣集δ登錄表19Q4中缉 4干識別 R["2"]之項<R["2"1
N[1112],···>。項 <R[" iNLlU2],.··>指示 N[1 112](可 能還有其他節點)係R[”2"]之—登錄節點。 祀康匕s於被識別間接環集合登錄中所包含之相應 五錄即站數目(例如,當存在兩個或多個登錄節點時),方 法2 1 00還可包括將一間接環之複數個登錄節點分解至登 錄即點之一適應子集之操作,有可能是分解至一單一適當 登錄節點。舉例而·’可根據起始環與目標鄰近p之間的 接近程度、根據可選擇之節點重量、根樣至一目的識別碼 之接近程式來分解適當登錄節點之一子集,也可隨機進行 選擇。 方法2 1 00包括向至少一被指示登錄節點傳送訊息之 操作(操作2104)。舉例而言,N[1311]可以將訊息1976 發送至N [ 111 2 ]。向至少一節點發送一訊息之過程可以能 夠將一訊息發送到複數個節點中之全部登錄節點、發送到 一被分解至適當登錄節點子集中之每一登錄節點,或者發 送到一單一適當登錄節點。在一些具體實例例中,當一訊 息未能發送至一登錄節點時,可以嘗試一或多個其他登錄 節點。作為一嘗試失敗之結果,一發送節點還可能識別新 101 200818811 節點。 一環樹中發送鄰近間通訊之方生 去 22〇〇 針對第19F圖及第19G圖中之^ 又郎點、 方法2200 〇 方、、 2〇〇包括確定一起始節點希望向一目的飮 由-訊息之操作(操作22()1),該目的節點最:點路
樹中目標鄰近環中一既定節點識別碼。該目標鄰近壤可f 是該起始節點之一間接環或者該起始節點之_間接環—= 裱。舉例而言,N[l31l]可接收其應向R [” 1221 4 嗓目標 鄰近環)朝向識別碼30路由一訊息1 998之指示。矣一、 虽向間接環或一間接環之子環發送一訊息之指示可以從另 一節點接收、從關於N[1 3 11]之一應用程式、一多播設備、 一廣播設備、一任意傳播設備,等等。 方法2200包括識別一或多個登錄節點之操作(操作 2202 ),已知該等登錄節點為該目標鄰近環與該目標鄰近壤 之上階環中至少之一的成員節點。舉例而言,N [;丨3 i丨]可識
第22圖說明在 的實例流程圖。下文 環、訊息及資料描述 別N[4 1221](具有節點識別碼56 )作為R[" 1221,,]之一登 錄節點。各種不同機制可用於識別N[41221]。N[1311]可 查閱本機知識,以嘗試識別該鄰近目镡環中之一登錄節 點。舉例而言,N[1 3 11]可查閱快取及組態 1902,以嘗試 識別R["1221”]之一登錄節點1 N [13 11]還可查閱間接環集合登錄表,以確定該鄰近目 標環之上階環中的登錄節點(例如,在未確定該目標鄰近 環中之登錄節點時)。子環R["321"]可能促進節點N[4321] 102 200818811 作為R [" 2 1 "]之一登錄節點。類似地,r [”处 1 11月b促進 節點N[12221]作為R[”221”]之一登錄節點。當未識別 R[1221]中一登錄節點時,n[1311]可嘗試識別r[,,22i,,]中 之一登錄節點,例如N[12221]。N[133l]還可嘗試識別 R「21"]中之一登錄節點,例如n[4321]。
在未識別一指定目標鄰近中之登錄節點時,一節點嘗 試識別於更接近上階環中之登錄節點,之後才嘗試識別另 一上階環中(從該指定目標鄰近之角度觀察)的登錄節點。 舉例而言,在未識別R["1221"]中之一登錄節點時,Ν[1311] 可以首先嘗試識別R["221”]中之登錄節點。在未識別 R["221”]中之一登錄節點時,N[1311]可以隨後嘗試識別 R["21”]中之登錄節點。 N[1311]還可利用啟動載入機制,例如,種子節點。舉 例而言’ N [ 1 3 11 ]可以向一習知匯集點(例如,匯集點 N[765 1])路由一登錄節點查閱要求,要求習知(已註冊) 登錄節點(種子節點作為實例)。回應一查閱要求,一匯集 點可返回(發送)包括任意習知登錄節點之查閱回應訊息。 舉例而言,可以從匯集點N[7651]向 N[1311]查閱回應 1997。查閱回應1997可包括用匯集節點N[7651]註冊之任 意登錄節點的位置。 此等機制之一或多種機制可將N[4221]識別為一 R[”221"]中之登錄節點。 在一些具體實施例中,一些登錄節點識別機制首先被 利用,之後再利用其他登錄部點識別機制。舉例而言,一 103 200818811 一在求,別 之。要是識 環求閱°¼點 標要查^節 目閱點節錄 該查、節^| 登 別點錄登用 識節登的利 試錄由申序 嘗登路環順 後一在W同 然由點上不 , 路節之用 識者送m採 知或發票可 機,一目, 本點,該中。 閱節中別例略 查錄例識施省 以登施 I 實其 可之實^體將 點令同還具或 節環相、,他 , 送階等前其制 發上此之在機 方法22 00包括向該被識別登錄節點發送訊息之操作 (操作2203 )。該訊息指示該被登錄節點應將該訊息解析 至一節點,該節點之節點識別碼最接近該目標鄰近環中之 一被指示目的節點。舉例而言,由實線表示,N[1 3 11]可向 N[41221] ( R["1221”]之一登錄節點,具有節點識別碼56 ) 發送訊息1 998,其指示該訊息將被解析至節點識別碼30。 N[4 1221]可以存取其路由表及鄰域,以確定距節點識別碼 3〇之最接近節點識別碼,其暸解N[6 1 22 1 ]具有節點識別碼 25。類似地,N[6 1221]可以存取其路由表及鄰域,以確定 距節點識別碼30之最接近節點識別碼,其瞭解N[71221] 具有節點識別碼28。N[71221]可查詢其表及/或鄰域,以 確定其節點識別碼(節點識別碼28 )是最接近節點識別碼 30之習知節點識別碼,以傳遞該訊息。 前述路由演算法也可被用於路由 R[n221"]中之訊息 1998 〇 當一訊息被發送至作為一上階環或目標鄰近環之成員 的被識別登錄節點時,方法2200可被遞迴應用於該被識別 登錄節點。即,該上階環中之被識別登錄節點又可嘗試識 104 200818811 別該目標鄰近環中之一登錄節點。舉例而言,如點線所示, 方法2200之一應用可導致訊息1998被發送至登錄節點 N[12221] ( Rr221"]之登錄節點由子環R["2221"]貢獻)。 N[12221](從R["2221 "]之角度)可被識別為Rri22 1"]之 登錄節點。因此,在N[ 12221]對方法2200之一遞迴應用
可導致訊息1998被發送至n[4 1221卜 如果該上階環中之被識別登錄節點不知道該目標鄰近 環中之一登錄節點,該被識別登錄節點可嘗試識別更接近 該目標鄰近之另一上階環中的登錄節點。該上階環中之登 錄節點於是將該訊息轉遞至更接近該目標鄰近環之階環中 的登錄節點。 舉例而言,如虛線所示,方法2200之一應用可導致訊 息1998被發送至登錄節點n[4321]( 之登錄節點由 子環R["321”貢獻)。但是,n[4321](從r[”321"]之角度) 也許不能識別R["l22l"]之登錄節點。因此,N[432!](從 R["321"]之角度)可識別R[,,221”]之登錄節點。相應地, 在N[ 12221]對方法2200之一第一遞迴應用可導致訊息 1998被發送至N[12221]。在N[ 12221]對方法2200之一第 一遞迴應用可隨後導致訊息1 9 9 8被發送至n [4 1 2 2 1 ]。 但是,如果N[4321]的確識別R["1221"]中之一登錄節 點’其可將訊息1998直接發送至該登錄節點。因此,在適 當時,——上階環中之登錄節點可將一訊息轉遞至該目標鄰 近環或該目標鄰近環之更接近上階環中之一登錄節點(該 更接近上階環通常在該轉遞登錄節點之間接環集合中)。如 105 200818811 上所述,在適當時,該更接近上階環中之登錄 訊息轉遞至該目標鄰近環或該目標鄰近環之又〜 ' 更 階環中之一登錄節點(該更接近上階環通常在更接近上 e ^ ^ ^ . , . 孩轉遞“ 接近,’登錄節點之間接裱集合中)。此過程可I、 ^ { J \ 錄節 經由遞迴應用方法22〇0 ),直到到達該目標 ^ 點為止 Ί近壤登 在到達該目標鄰近環時,前述路由渖笪& 該目標鄰近環中路由該訊息。 用於>5 第6圖及以下討論意欲對適於實施本發日月 進行簡單、一般性描述。儘管未受要求 计鼻環積 % 但將在由 / 統執行之電腦可執行指令(例如,程式模組)田電腦系 中描述本發明。一般來說,程式模組包括常式 般%續 件、組件、資料結構,等等,其執行特定任:或=、物 抽象資料類型。本文揭示電腦可執行指令、/特定 以及程式模組,其代表執行本發明之操作的程^結構 實例。 飞代竭構件 參考第6圖’―實施本發明之實例系統包括採用雷聪 系統620之形式的通常計算裝置,包括一處理單-電服 -系統記憶體622及一系統匯流排⑵,其將包:621 ' 憶體622之各種系統元件輕接至處理 糸統纪
Ml可執行設計用於實施電腦系統62〇之特徵(勺 明之特徵)的電腦可執行指+。系統匯/ 匯流排結構之任-結構,包括一記憶體匯流 怜 制器、-周邊裝置部級及一本機匯流排:動 π各種匯穷 106 200818811 排架構之任意一種。系統記憶體包括唯讀記憶體 (“ROM” )624及隨機存取記憶體(“ram,,)625。一 基本輪入/輸出系統(“BI0S” )626,包括用於幫助在電 腦系统620中之元件間傳播資訊的常式(例如,在啟動期 間可被儲存於唯讀記憶體624中。
電腦系統620還可包括:用於向磁硬碟639寫入資料 及從中讀取資料之磁硬碟機627 ;用於從可移除磁碟629 寫入資料及從中讀取資料之磁碟機628 ;以及用於從可移 除光碟631(例如,一光碟或其他光學媒體)讀取資料或 向其寫入資料之光碟機630。該磁硬碟機627、磁碟機628 及光碟機639被各別藉由硬磁機介面632、磁碟機介面633 及光碟機介面634連接至該系統匯流排623。該等驅動器 及其相關電腦可讀媒體為該電腦系統6 2 〇之電腦可執行指 令、資料結構、程式模組及其他資料提供了非揮發性儲存。 儘官本文所述之實例環境採用磁硬碟機6 3 9、可移除磁碟 629及可移動光碟631,但也可使用其他類型之電腦可讀媒 體來儲存資料,包括磁帶、快閃記憶體卡、數位通用光碟、 Bernoulli卡E、隨機存取記憶體、唯讀記憶體,等等、 包括一或多個程式模組之程式代碼構件可被儲存在硬碟 639、磁碟629、光碟631、唯讀記憶體624或隨機存取記 憶體625上,該等構件包括一作業系、统川、一或多個應 用程式636、其他程式模組637及程式資料。一使用者 可經由鍵盤640、指標農置642或其他輪入裝置(未干出), 例如-麥克風、搖桿、遊戲台、掃描儀或其他裝置向電腦 107 200818811 系統620中輸入命令及資訊。此等及其他輸入裝置可被經 由耦接至系統匯流排623之輪入/輸出介面646連接至處理 單元621。輸入/輸出介面646邏輯上代表種類眾多之不同 介面中的任何一個,例如,一串列埠介面、一 ps/2介面、 一平行埠介面、一通用串列匯流排(“ USB” )介面,或 一電機電子工程師學會(IEEE) 1394介面(即FiKWi代 介面),甚至可以在邏輯上代表不同介面之組合。 皿視器〇47成丹他顯示裝置也被經由視訊介面648 連接至系統匯流排623 〇揚聲器669或其他聲頻輸出裝置 也被經由聲頻介面649連接至系統匯流排623。其他周邊 輸出裝置(未示出),例如印表機,也可被連接至電腦系統 620 〇 電腦系統620可被連接至網路,例如,一辦公室範圍 或企業範圍電腦網路、一家庭網路、一企業内部網路及/ 或網際網路。電腦系統620可經由此等網路與外部資源交 換資料,例如,遠端電腦系统、遠端應用程式,及/或遠端 資料庫。 電腦系統620包括網路介面653,電腦系統62〇經由 網路介面653從外部資料源接收資料及/或向外部資源傳 輸資料。如第6圖所述,網路介面653促進經由鏈接651 與遠端電腦系統683交換資料。網路介面653可以在邏輯 上代表一或多個軟體及/或硬體模組,例如,一網路介面卡 及相慶的硬體網路驅動介面規格NDIS” )堆疊。鏈接 651代表一網路之一部分(例如,一乙太網路分段),遠端 108 200818811 電腦系、统683代表該網路之一節點。 ;仏地,電腦系統62〇包括輸入/輪出公 系統㈣經由該輸入/輸出介面646從外部資電腦 及/或向外部資诉僮认欠 ^ 貝枓源接收資料 I貝原傳輪資料。輸入/輸出介 659被耗接至數據機…(例如,一標準46經由鏈接 據機或數位用戶線(“,,)數據機:-電麗數 i勃艟祕 屬腦系統620經
康機654從外部資料源接收資料 銓皆祖,@ 次外部資料源傳 輪貝竹V划第6圖所述;輸入,,輸出介面 说沧抒丄 及數據機654 鏈接651與遠端電腦系統693交換資料。鏈接652 代表-網路之一部 遠端電腦系统693代表該網路之一 節點。 儘管第6圖代表本發明之一適當操作環境,但本發明 之原理亦可實施於任意能夠實施本發明之原理的系統中 (必要時,可以進行適當修改)。第6圖中所說明之環境僅 係說明性環境,決不代表甚至是各種環境之一小部分,本 發明之原理可以在該等環境中實施。 根據本發明,節點、應用層及其他較低層,以及相關 賢料(包括路由表及節點識別碼)可被儲存於與電腦系統 620相關之任意電腦可讀媒體,且可從中訊數該等相關資 料。舉例而言,此等模組之部分及相關程式資料之部分可 被包含於作業系統635、應用程式636、程式模組637及/ 或程式資料6 3 8,儲存於系統記憶體6 2 2中。 當一大量資料儲存裝置,例如,磁硬碟639,被輕接 到電腦系統620,此等模組及相關程式資料亦可儲存於大 109 200818811 量資料儲存裝置中。在 _ 任㉙路裱境中,相對於電腦系統620 程式板组或其部分可被儲存於遠端内在儲存裝置 中〇如系…统5己憶體及/或與遠端電腦系、统683及,或遠 端電腦系1先693相關之大量資料儲存裝置。此等模組之執 行可在-分散式環境中執行,如前所述。 不者離本發明之精神及基本特徵的情況下,可以採 一=特定形式灵%本發明。所述實施例在任何方面都應
當被認為是說明性的.二& 疋几月丨土 μ '而非限制性的。因此,本發明之範 圍由附申请專利範圍指示,而不是由上述說明指示。在 該等申凊專利範圍之等價含意及範圍内的所有變化都包含 於此範園内。 【圖式簡單說明】 為了描述可獲得上述及其他好處及特徵之方式,將參 考在隨附圖式中所說明之特定具體實施例,對於以上簡述 之發明進行更具體之描述。請理解,此等圖式僅描述典型 具體實施例,因此不應理解為對申請專利範圍之限制,將 利用隨附圖式描述及解釋具體實施例,包括附加特徵及細 即0 第1圖説明一聯合體基礎建設之實例。 第2圖説明一電腦架構之實例,其促進將要求間接路 由至夥伴。 第3圖説明一聯合體基礎建設中節點之間的實例二進 位關係,該基礎建設採用有序串列及相應環之形式。 第4圖説明一實例環之環’其促進鄰近路由。 110 200818811 第5圖說明一引入鄰近之實例分割環樹,其促進鄰近 路由。 第5A圖說明第5圖之引入鄰近之實例分割環樹,其 具有第5圖分割環樹一些部分的附加細節。 第6圖說明一適用於本發明之原理的操作環境。 第7圖說明用於填充一節點路由表之方法的實例流程 圖,該方法考慮了鄰近準則。
第8圖說明周於分割一聯合體基礎建設節點之方法的 實例流程圖。 第9圖說明用於填充一節點路由表之方法的實例流程 圖。 第 10圖說明用於以數字方式向一目的節點路由一訊 息之方法的實例流程圖。 第 11圖說明用於以鄰近方式向一目的節點路由一訊 息之方法的實例流程圖。 第1 2 A圖說明在一現有聯合體内建立成員關係之一節 點實例。 第1 2 B圖說明在一聯合體基礎建内交換訊息之節點的 實例。 第1 3圖說明用於在一聯合體基礎建設内建立成員關 係之方法的實例流程圖。 第1 4圖說明用於在一聯合體基礎建設内維持成員關 係之方法的實例流程圖。 第1 5圖說明用於搜尋另一節點之活躍度資訊之方法 111
200818811 的實例流程圖。 第1 6圖說明一訊息模漤及相關處理模型之實例。 第17圖說明許多可發生於一功能層及一應用層 的活躍度互動之實例。 第1 8圖說明在一環上之節點間路由之訊息的實令 等訊息構成一要求-回應訊息父換型樣之部分。 第19A圖說明一引入鄰近之實例分割環樹,其促 近間通信❶ 第19B圖說明第19A圖中之引入鄰近之實例分割 之另一視圖。 第1 9C圖說明第1 9A圖中之引入鄰近之實例分割 之一部分的分割視圖。 第1 9D圖說明第1 9A圖中之引入鄰近之實例分割 之中間環的放大視圖。 第19E圖說明第19八圖中之引入鄰近之實例分割 之又一視圖。 第19F圖說明第19A圖中之引入鄰近之實例分割 之再一視圖。 第19G圖說明第19F圖之一部分的放大視圖。 第20圖說明為維護環樹中一節點維護一間接環 之方法的實例流程圖。 第21圖說明在一環樹中發送鄰近間通訊之方法 例流程圖。 第22圖說明在一環樹中發送鄰近間通訊之另一 之間 i,該 進鄰 環樹 壞樹 環樹 環樹 環樹 集合 的實 方法 112 200818811 的實例流程圖。 【主要元件符號說明】 1 、 2 、 3 、 4 、 11 、 21 、 31 、 40 、 41 、 51 、 111 、 221 、 311 、 321 、 322 、 401 、 402 、 403 、 404 、 421 512 、 513 、 514 、 521 、 522 、 523 、 531 、 532 、 533 542 、 543 、 544 、 551 、 552 、 561 、 562 、 572 、 1221 30 、 46 、 50 、 59 、 64 、 71 、 76 、 83 、 98 、 101
103 、 135 、 250 、 151 、 153 、 171 > 172 、 174 、 180 , 183、184、188、190、193、194、1 98、2 1 8、1 11 1、 1121、113 卜 1311、1801、1 802、1 803、1 804、1 805、 211、 511 ' 541、 環 102、 182、 1112、 1806 ' 2221 、 3221 、 6521 、 100 121 、 122 、 123 131 > 132 、 133 141 、 142 、 143 200
204 205 206 207 208 210 214 、 216 8004 、 8221 、 8223 、 8651 節 聯合體基礎建設 應用層 較低層 匯集通訊協定堆豐 電腦架構 註冊要求 成功訊息 註冊要求 成功訊息 宣告 註冊資訊註冊要求 成功訊息 回應訊息 113 200818811
231 233 234 236 237 241 242 243 304 306 400 500 501 571 573 581 5 83 620 621 622 623 624 625 626 膝上型電腦 工作站 伺月艮器 印表機 訊息代理器 訊息閘道 個人電腦 工作站 鏈接串列 環 環之環 分割環樹 根環 第一管理域; 第一組織界f 第二管理域J 第二組織界f 電腦系統 處理單元 系統記憶體 系統匯流排 唯讀記憶體 隨機存取記* 基本輸入/輸 限準則 準則 限準則 準則 體 系統 114 200818811 627 628 629 630 63 1 632 633 63 4
635 636 637 638 639 640 642 646
648 649 65 1 65 2 653 654 659 磁硬碟機 磁碟機 可移除磁碟 光碟機 可移除光碟 硬磁機介面 磁碟機介面 光碟機介面 作業系統 應用程式 程式模組 程式資料 磁硬碟機 鍵盤 指標裝置 輸入/輸出介面 監視器 視訊介面 聲頻介面 鏈接 鏈接 網路介面 數據機 鏈接 115 200818811
683 遠端電腦系統 693 遠端電腦系統 1201 加入訊息 1202 加入回應訊息 1203 同步要求 1204 同步回應 1206 環 1207 更新回應訊息 1216 更新 1219 脫離訊息 1600 訊息模型及相關處理模型 1601 同步要求訊息 1602 應用資料 1603 鄰域狀態同步事件 1604 鄰域狀態要求功能 1607 應用資料 1608 同步回應訊息 1609 偵測訊息 1611 偵測訊息 1612 偵測訊息 1622 應用資料 1641 同步回應訊息 165 1 功能層 1652 應用層 116 200818811 1701 訂閱活躍度事件 1702 撤銷活躍度訂閱 1703 端點當機事件 17 04 節點當機 1706 發送活躍度事件 1751 功能層 1752 應用層 1811 ® rfe -it? ή 文个5TV*必 1816 回應 1 8 1 7、1 8 1 8、1 8 1 9、 1820、1821 狀態訊息 1900 分割環樹 1901 根環 1902 快取及組態 1903 訊息 19 04 間接環集合登錄表 1906 查閱要求 1907 查閱回應 1921 本機組態 1931 偵測訊息 1932 間接環集合登錄 1933 更新訊息 1934 間接環集合狀態 1937 更新回應訊息 1938 間接環集合登錄 117 200818811
1941 更 新 訊 息 1942 間 接 環 集 合 登 錄 1943 更 新 回 應 訊 息 1945 偵 測 訊 息 1971 應 用 訊 息 1972 間 接 環 集 合 資 訊 1973 通 信 型 樣 專 用 訊息 1974 間 接 環 示 合 狀 態 1976 訊 息 1998 訊 息 7651 匯 集 點
118

Claims (1)

  1. 200818811 十、申請專利範圍: 1. 一種於一電腦系統中維護一環樹中一節點之一間. 集合登錄表之方法,該方法包括: 一節點存取一間接環集合登錄表之操作,該間接 合登錄表被組態用於儲存該節點之間接環集合登錄, 間接環集合登錄被組態用於指示該節點之一間接環, 入該節點之該間接環之至少一相應登錄節點; 從可用資源中發現間接環集合登錄表資訊之操作 等可用資源維護有關該環樹之該組態的資訊;以及 根據所發現之間接環集合登錄表資訊,用適當間 集合登錄狀態更新該間接環登錄表之操作,該適當間 集合登錄狀態包括該節點之一間接環,及進入該節點 接環之至少一相應登錄節點。 2. 如申請專利範圍第1項所述之方法,其中一節點存 間接環集合登錄表之操作包括存取維護間接環/登錄 項之一間接環集合登錄表之操作。 3 ·如申請專利範圍第1項所述之方法,其中一節點存 間接環集合登錄表之操作包括為該節點創建一間接環 登錄表之操作。 4. 如申請專利範圍第1項所述之方法,其中從可用資 現間接環集合登錄表資訊之操作包括從該節點可用之 資訊中發現間接環集合登錄表資訊之操作。 5. 如申請專利範圍第1項所述之方法,其中從可用資 現間接環集合登錄表資訊之操作包括發現包含於一經 捿環 玉哀集 每一 及進 ,該 接環 接環 之間 取一 節點 取一 集合 源發 本機 源發 接收 119 200818811 訊息之間接環集合登錄表資訊之操作。 6·如申請專利範圍第$項所述之方法,其中發現包含於一 經接收訊息之間接環集合登錄表資訊之操作包括發現包含 於自另一聯合體節點接收之一訊息中之間接環集合登錄表 資訊之操作。 7 ·如申睛專利範圍第6項所述之方法,其中發現自另一聯 合體節點接收之訊息中之間接環集合登錄表資訊之操作包 #發現自一偵測訊息(ping message )中之間接環集合登 錄表資訊之操作。 8·如申請專利範圍第6項所述之方法,其中發現自另一聯 合體節點接收之訊息中之間接環集合登錄表資訊之操作包 括發現自一更新訊息中之間接環集合登錄表資訊之操作。 9·如申請專利範圍第6項所述之方法,其中發現自另一聯 合體節點接收之訊息中之間接環集合登錄表資訊之操作包 括發現自一更新回應中之間接環集合登錄表資訊之操作。 1〇·如申請專利範圍第5項所述之方法,其中發現包含於一 經接收訊息中之間接環集合登錄表資訊之操作包括發現自 一應用訊息中之間接環集合登錄表資訊之操作。 1 1 ·如申請專利範圍第丨項所述之方法,其中從可用資源發 現間接環集合登錄表資訊之操作包括從可用資源中發現一 或多個間接環/登錄節點項之操作。 1 2·如申請專利範園第丨項所述之方法,其中發現間接環集 合登錄表資訊之操作包括發現間接環合集合登錄表資訊之 操作’該資訊指示應從該間接環集合登錄表資訊中刪除一 120 200818811 間接環集合登錄。 η.如申請專利範圍第i項所述之方法,其中發_接㈣ 合登錄表資訊之操作包括發現間接環合集合登錄表資訊之 操作’該資訊指示應向該間接環集合登錄表資訊中添加一 間接環集合登錄。 14.如申請專利範圍第1項所述之方法’其中發現間接環集 包括發現間接環合集合登錄表資訊之 目亡„ 您珍队故即站之間接環集合登錄表中之 一現有間接環集合登錄。 ^ 15·如申請專利範園第! 人政技主次 < 方法’其中發現間接環隼 合登錄表資訊之操作包括存取一訊 集 另一節點之間接严隹入文 口〜呆作,該訊息包括 間接%集合登錄表之至少一部分。 !6.如申請專利範ffi$i項所述之方法/ 人政你主次T發現間接fe隹 口登錄表資訊之操作包括存取_ 接衣集 訊,該節點係嗲蓉 H 一 鄰近%之路由表資 該4 一或多個鄰近環之一成員。 17·如申請專利範圍第]項所述之 間接環集合登錄夺次1 、,/、中根據該所發現 〜、、貝訊,用適當間接车 該間接環集合登錄表之操作包括向= ㈣ 添加間接環集合登錄表資訊之操作…核集合登錄表中 18·如中料利範时17項所述 a 集合登錄表中添加間接環集合登 ^中向該間接環 間接環集合登錄表添加—間 a 之操作包括向該 19.如申請專利範 衣丘錄郎點項之操作。 ’刃乾圍第1項所述之 間接環集合登錄表資訊,用適當間接二:根據該所發現 間接%集合登錄狀態更新 121
    200818811 該間接環集合登錄表之操作包括從該間接環集合 刪除間接環集合登錄表資訊之操作。 20.如申請專利範圍第19項所述之方法,其中自 集合登錄表中刪除間接環集合登錄表資訊之操作 間接環集合登錄表刪除一間接環/登錄節點項之操 2 1 ·如申請專利範圍第1項所述之方法,另外包括 該節點向一或多個其他節點發送間接環集合 作,以幫助該等一或多個節點維護其相應間接環 表。 22. 如申請專利範圍第2 1項所述之方法,其中該 間接環集合登錄狀態之操作包括該節點發送其整 集合登錄表之操作。 23. —種包括複數個階層式分割節點類之系統, 括: 一較高節點環,其被分害彳至包括至少一第一 環及一第二較低節點環之較低位準節點環,該較 中之每一節點具有一節點識別瑪,其指示在一節 結串列中之位置,該第一較低節點環及該第二較 為對方之間接環; 該第一較低節點環中之每一節點在一第一節 中具有一節點識別碼,該第一節點子串列係根據 劃分節點環之鄰近準則從該有序鏈接串列分割, 低節點環中之每一節點維護一間接環登錄表,其 該第一較低節點環中之已知間接環之登錄節點, 登錄表中 該間接環 包括自該 作。 資訊之操 集合登錄 節點發送 體間接環 該系統包 較低節點 高節點環 點有序鏈 低節點環 點子串列 指示如何 該第一較 包括進入 該等已知 122
    200818811 間接環包括該第二較低節點環;以及 該第 '一較低節點環中之每--節舜在 中具有一節點識別碼,該第二節點子串 劃分節點環之鄰近準則從該有序鏈接串 低節點環中之每一節點維護一間接環登 該第二較低節點環中之已知間接環之登 間接環包括該第一較低節點環。 24·如申請專利範圍第23項所述之系统 該第一較低節點環中之每一節點維 有出現於該第一較低節點環之其他節點 以及 該較高節點環中之每一節點維護一 現於該較高節點環之其他節點的至少部 25·如申請專利範圍第24項所述之系統 既是該第一較低環之一成員,亦是該較 26·如中請專利範圍第24項所述之系統 每一節點共同維護之路由表狀態為該較 定義一間接環集合,從而可以得到相對 整間接環集合。 27·如申請專利範園第23項所述之系統 節點環中之每一節點,該較低位準節點 鄰近向另一目標鄰近傳遞一訊息。 28·如申請專利範園第27項所述之系統 環中被組態用於從一鄰近向另一目標鄰 一第二節點子串列 列係根據指示如何 列分割,該第二較 錄表,其包括進入 錄節點,該等已知 ’另外包括: 護一路由表,其具 的至少部分知識; 路由表,其具有出 分知識。 ’其中至少一節點 两環之一成員。 ,其中該較高環中 高環中:之所有節點 於該較尚環之一完 ’包括該較低位準 環被組態用於從— ’其中該較高節點
    123 200818811 節點包括該較高節點環中之被組態用於識別該其他目標鄰 近中—目標節點識別碼之每一節點,使得該訊息可被路由 及傳遞到該目標鄰近中最接近該被識別目標節點識別碼之 節點。 2 9 ·如申請專利範圍第2 3項所述之系統,包括該較高節點 ^ 環中被組態用於偵測該系統中之其他節點之存在及未存在 Λ ^ 之每一節點。 Η • 3 0 ·如申請專利範圍第2 9項所述之系統5其中該較高節點 ® 環中被組態甩於偵測該系統中其他節點之存在及未存在的 每一節點包括該較高節點環中被組態用於維護間接環集合 狀態之每一節點,以反映其他節點之存在及未存在之經偵 測改變。 31·如申請專利範圍第29項所述之系統,其中該較高節點 環中之被組態用於偵測該系統中其他節點之存在及未存在 之每一節點包括該較高節點環中被組悲用於偵測其他節點 之存在的每一節點,其中該偵測至少部分來自包含在該系 φ 統中發送之訊息的資訊。 32.如申請專利範圍第29項所述之系統’其中該較高節點 環中之被組態用於偵測該系統中其他希點之存在及未存在 之每一節點包括該較高節點缳中被組態用於偵測其他節點 ,之存在的每一節點,其中該偵測至少部分來自從與該系統 ♦ 相關之任何應用組件所接收之指示。 3 3 ·如申請專利範圍第2 3項所述之系統’另外包括: 一或多個種子節點,其炙少為該系统提供一啟動载入 124 200818811 設施。 34·如申請專利範圍第33項所述之系統,其中該等種子節 點被組態用於偵測基礎建設分割及經偵測之基礎建設分割 的補償。 35.如申請專利範圍第23項所述之系統,另外包括:一登 錄節點註冊目錄設施。
    3 6 ·如申請專利範圍第3 5項所述之系統,其中該登錄節點 註冊目錄設施包括由該系統所包含匯集點維護的一登錄節 點註冊目錄設施。 3 7.如申請專利範圍第36項所述之系統,其中由該系統所 包含匯集點維護之該登錄節點註冊目錄設施包括該較低節 點環中每一位準之匯集點。 3 8 ·如申請專利範圍第3 6項所述之系統,其中由該系統所 包含匯集點維護之該登錄節點註冊目錄設施包括該較高節 點環中之匯集點。 39·如申請專利範圍第35項所述之系統,其中所維護之該 登綠節點註冊目錄設施包括將其自身註冊為登錄節點之種 子節點。 40· —種用於一電腦系統之電腦程式產品,該電腦程式產 品用於實施一為一環樹中之節點維護一間接環集合登錄表 之方法,該電腦程式產品包括一或多個電腦可讀儲存媒 體,其中已經儲存了電腦可執行指令,在由一處理器執行 該等可執行指令時,導致一節點執行以下各項: 存取一間接環集合登錄表,該間接環集合登錄表被組 125
    200818811 態用於儲存該節點之間接環集合登錄,每一間接環集合 錄被組態用於指示談節點之一間接環,及進入該節點之 間接環中之至少一相應登錄節點; 自可用資源中發現間接環集合登錄表資訊,該等可 資源維護與該環樹之該組態相關的資訊;以及 根據所發現之間接環集合登錄表資訊,用適當間接 集合登錄狀態更新該間接環登錄表,該適當間接環集合 錄狀態包括該節點之一間接環,及進入該節點之間接環 至少一相應登錄節點。 41. 如申請專利範圍第40項所述之電腦程式產品,其中 電腦可讀儲存媒體包括系統記憶體。 42. 如申請專利範圍第40項所述之電腦程式產品,其中 電腦可讀儲存媒體包括一磁碟。 登 該 用 環 登 之 該 該 126
TW096115651A 2006-06-30 2007-05-02 Inter-proximity communication within a rendezvous federation TW200818811A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/428,146 US8095601B2 (en) 2004-10-22 2006-06-30 Inter-proximity communication within a rendezvous federation

Publications (1)

Publication Number Publication Date
TW200818811A true TW200818811A (en) 2008-04-16

Family

ID=38894882

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096115651A TW200818811A (en) 2006-06-30 2007-05-02 Inter-proximity communication within a rendezvous federation

Country Status (15)

Country Link
US (1) US8095601B2 (zh)
EP (1) EP2036255A4 (zh)
JP (1) JP2009543447A (zh)
KR (1) KR20090034829A (zh)
CN (1) CN101485149A (zh)
AU (1) AU2007270060B2 (zh)
BR (1) BRPI0713790A2 (zh)
CA (1) CA2652917A1 (zh)
CL (1) CL2007001394A1 (zh)
IL (1) IL195188A0 (zh)
MX (1) MX2008015966A (zh)
NO (1) NO20085027L (zh)
RU (1) RU2431184C2 (zh)
TW (1) TW200818811A (zh)
WO (1) WO2008005078A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI414718B (zh) * 2011-06-09 2013-11-11

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
EP1725934A4 (en) 2004-03-13 2008-08-13 Cluster Resources Inc SYSTEM AND METHOD FOR SELF-OPTIMIZED RESOURCE RESERVATION IN CALCULATION TIME
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7958262B2 (en) * 2004-10-22 2011-06-07 Microsoft Corporation Allocating and reclaiming resources within a rendezvous federation
US8549180B2 (en) 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US20060090003A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7730220B2 (en) 2004-10-22 2010-06-01 Microsoft Corporation Broadcasting communication within a rendezvous federation
US8090880B2 (en) 2006-11-09 2012-01-03 Microsoft Corporation Data consistency within a federation infrastructure
US8014321B2 (en) 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7694167B2 (en) * 2004-10-22 2010-04-06 Microsoft Corporation Maintaining routing consistency within a rendezvous federation
US8095600B2 (en) 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8392515B2 (en) 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US8028090B2 (en) * 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8214524B2 (en) * 2007-12-21 2012-07-03 Hostway Corporation System and method for selecting an optimal authoritative name server
US8417775B2 (en) * 2008-02-27 2013-04-09 Microsoft Corporation Neighborhood maintenance in the federation
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8275912B2 (en) * 2008-10-24 2012-09-25 Microsoft Corporation Bootstrap rendezvous federation
JP5251446B2 (ja) * 2008-11-17 2013-07-31 富士通株式会社 データ共有プログラム,データ共有方法及びデータ共有装置
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US20110239209A1 (en) 2010-03-23 2011-09-29 Fujitsu Limted System and methods for remote maintenance in an electronic network with multiple clients
US9286485B2 (en) * 2010-03-23 2016-03-15 Fujitsu Limited Using trust points to provide services
US10051074B2 (en) * 2010-03-29 2018-08-14 Samsung Electronics Co, Ltd. Techniques for managing devices not directly accessible to device management server
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9021030B2 (en) * 2011-06-30 2015-04-28 International Business Machines Corporation Selective delivery of content via electronic mail
US8745157B2 (en) * 2011-09-02 2014-06-03 Trading Technologies International, Inc. Order feed message stream integrity
US8861527B1 (en) * 2011-12-30 2014-10-14 Emc Corporation Network-assisted routing for topology-aware overlay networks
US9032061B1 (en) 2011-12-30 2015-05-12 Emc Corporation Policy based intelligent data placement
US8675672B1 (en) 2011-12-30 2014-03-18 Emc Corporation Hierarchical cluster tree overlay network
EP2832073A4 (en) * 2012-03-29 2015-12-16 Intel Corp TAPPING SERVICE LAYER BETWEEN TWO DEVICES
US9185070B2 (en) 2012-05-17 2015-11-10 Harris Corporation MANET with DNS database resource management and related methods
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9559894B2 (en) * 2012-08-22 2017-01-31 Oracle International Corporation System and method for supporting high available (HA) network communication in a middleware machine environment
US11172470B1 (en) * 2012-12-21 2021-11-09 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US11461208B1 (en) 2015-04-24 2022-10-04 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
RU2717909C2 (ru) 2015-08-12 2020-03-26 Филипс Лайтинг Холдинг Б.В. Экологически чистый источник энергии для плотных больших сетей (масштабирование прокси-таблицы)
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
RU2618366C1 (ru) * 2015-11-11 2017-05-03 Федеральное государственное учреждение "Федеральный исследовательский центр "Информатика и управление" Российской академии наук (ФИЦ ИУ РАН) Способ передачи информации
US11609835B1 (en) 2016-03-08 2023-03-21 Tanium Inc. Evaluating machine and process performance in distributed system
US11886229B1 (en) 2016-03-08 2024-01-30 Tanium Inc. System and method for generating a global dictionary and performing similarity search queries in a network
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
CN110837583B (zh) * 2019-09-27 2022-10-28 西安空间无线电技术研究所 一种基于数据链消息活跃度的快速查找方法、系统及介质
US11831670B1 (en) 2019-11-18 2023-11-28 Tanium Inc. System and method for prioritizing distributed system risk remediations
US11563764B1 (en) 2020-08-24 2023-01-24 Tanium Inc. Risk scoring based on compliance verification test results in a local network
CN113656802B (zh) * 2021-07-19 2024-05-14 同盾科技有限公司 基于知识联邦无向图联邦环检测方法、系统、设备和介质
US11706302B1 (en) * 2022-06-03 2023-07-18 Dell Products L.P. Efficient topics in transport protocols
US11863617B1 (en) * 2022-11-18 2024-01-02 Accenture Global Solutions Limited Dynamic decentralized hierarchical Holon network system

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689701A (en) 1994-12-14 1997-11-18 International Business Machines Corporation System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax
US5745683A (en) 1995-07-05 1998-04-28 Sun Microsystems, Inc. System and method for allowing disparate naming service providers to dynamically join a naming federation
US5996075A (en) 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5831975A (en) 1996-04-04 1998-11-03 Lucent Technologies Inc. System and method for hierarchical multicast routing in ATM networks
US6574654B1 (en) 1996-06-24 2003-06-03 Oracle Corporation Method and apparatus for lock caching
US6253292B1 (en) 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
US6178174B1 (en) 1997-08-26 2001-01-23 International Business Machines Corporation Optimistic, eager rendezvous transmission mode and combined rendezvous modes for message processing systems
US5999712A (en) 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6269452B1 (en) 1998-04-27 2001-07-31 Cisco Technology, Inc. System and method for fault recovery for a two line bi-directional ring network
US6456597B1 (en) 1998-05-04 2002-09-24 Hewlett Packard Co. Discovery of unknown MAC addresses using load balancing switch protocols
US6279034B1 (en) 1998-06-03 2001-08-21 International Business Machines Corporation Distributed monitor timer service for use in a distributed computing environment
US6304556B1 (en) 1998-08-24 2001-10-16 Cornell Research Foundation, Inc. Routing and mobility management protocols for ad-hoc networks
US7430171B2 (en) 1998-11-19 2008-09-30 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US6480473B1 (en) 1998-12-29 2002-11-12 Koninklijke Philips Electronics N.V. Verification of active nodes in an open network
US6115804A (en) 1999-02-10 2000-09-05 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that permits multiple caches to concurrently hold data in a recent state from which data can be sourced by shared intervention
US6839348B2 (en) 1999-04-30 2005-01-04 Cisco Technology, Inc. System and method for distributing multicasts in virtual local area networks
US6546415B1 (en) 1999-05-14 2003-04-08 Lucent Technologies Inc. Network management system using a distributed namespace
US6850987B1 (en) 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6411967B1 (en) 1999-06-18 2002-06-25 Reliable Network Solutions Distributed processing system with replicated management information base
US7463648B1 (en) 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
US7117273B1 (en) 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US6269085B1 (en) 2000-02-03 2001-07-31 Sun Microsystems, Inc. Method and apparatus for hierarchical discovery and pruning of slow members of a multicast group
US6917985B2 (en) 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US6553377B1 (en) 2000-03-31 2003-04-22 Network Associates, Inc. System and process for maintaining a plurality of remote security applications using a modular framework in a distributed computing environment
EP1139602A1 (en) 2000-03-31 2001-10-04 Lucent Technologies Inc. Method and device for multicasting
US7123620B1 (en) 2000-04-25 2006-10-17 Cisco Technology, Inc. Apparatus and method for scalable and dynamic traffic engineering in a data communication network
US6775703B1 (en) 2000-05-01 2004-08-10 International Business Machines Corporation Lease based safety protocol for distributed system with multiple networks
CA2409920C (en) 2000-06-22 2013-05-14 Microsoft Corporation Distributed computing services platform
US6947963B1 (en) 2000-06-28 2005-09-20 Pluris, Inc Methods and apparatus for synchronizing and propagating distributed routing databases
US7139270B1 (en) 2000-08-22 2006-11-21 Lucent Technologies Inc. Systems and method for transporting multiple protocol formats in a lightwave communication network
WO2002019624A2 (en) 2000-08-31 2002-03-07 The Regents Of The University Of California Cluster-based aggregated switching technique (cast) for routing data packets and information objects in computer networks
US7379994B2 (en) 2000-10-26 2008-05-27 Metilinx Aggregate system resource analysis including correlation matrix and metric-based analysis
AU2001295809A1 (en) 2000-10-26 2002-05-06 British Telecommunications Plc Telecommunications routing
US20020150094A1 (en) 2000-10-27 2002-10-17 Matthew Cheng Hierarchical level-based internet protocol multicasting
US6836756B1 (en) 2000-11-13 2004-12-28 Nortel Networks Limited Time simulation techniques to determine network availability
CA2326851A1 (en) 2000-11-24 2002-05-24 Redback Networks Systems Canada Inc. Policy change characterization method and apparatus
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7062563B1 (en) 2001-02-28 2006-06-13 Oracle International Corporation Method and system for implementing current user links
US6625604B2 (en) 2001-03-09 2003-09-23 Hewlett-Packard Development Company, L.P. Namespace service in a distributed file system using a database management system
US7085825B1 (en) 2001-03-26 2006-08-01 Freewebs Corp. Apparatus, method and system for improving application performance across a communications network
US7113536B2 (en) 2001-04-16 2006-09-26 Telefonaktiebolaget L M Ericsson (Publ) Rendezvous point interpiconet scheduling
US6928578B2 (en) 2001-05-10 2005-08-09 International Business Machines Corporation System, method, and computer program for selectable or programmable data consistency checking methodology
US7496911B2 (en) 2001-06-22 2009-02-24 Invensys Systems, Inc. Installing supervisory process control and manufacturing software from a remote location and maintaining configuration data links in a run-time environment
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
GB2377140B (en) 2001-06-29 2005-01-19 Ibm Method and apparatus for recovery from faults in a loop network
US6922791B2 (en) 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US7493363B2 (en) 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
ITMI20012088A1 (it) 2001-10-10 2003-04-10 Cit Alcatel Metodo per propagare l'informazione di guasto in una rete rpr e relativo tipo di pacchetto rpr
US6983397B2 (en) 2001-11-29 2006-01-03 International Business Machines Corporation Method, system, and program for error handling in a dual adaptor system where one adaptor is a master
US7426573B2 (en) 2001-12-12 2008-09-16 Alcatel Lucent System and method for providing service availability data for a communication network
US7231463B2 (en) 2002-01-04 2007-06-12 Intel Corporation Multi-level ring peer-to-peer network structure for peer and object discovery
US20030145086A1 (en) 2002-01-29 2003-07-31 O'reilly James Scalable network-attached storage system
JP3937855B2 (ja) 2002-02-06 2007-06-27 日本電気株式会社 マルチリング制御方法およびそれを用いるノード並びに制御プログラム
CN1177436C (zh) 2002-02-09 2004-11-24 华为技术有限公司 移动网络中多播用户的管理方法
US7043550B2 (en) 2002-02-15 2006-05-09 International Business Machines Corporation Method for controlling group membership in a distributed multinode data processing system to assure mutually symmetric liveness status indications
US6779093B1 (en) 2002-02-15 2004-08-17 Veritas Operating Corporation Control facility for processing in-band control messages during data replication
US7039719B2 (en) 2002-03-21 2006-05-02 Hewlett-Packard Development Company, L.P. Distributed system with an efficient atomic broadcast mechanism
US7512649B2 (en) 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
US7103884B2 (en) 2002-03-27 2006-09-05 Lucent Technologies Inc. Method for maintaining consistency and performing recovery in a replicated data storage system
US7290262B2 (en) 2002-05-21 2007-10-30 International Business Machine Corporation Method and apparatus for dynamically determining information for deploying a web service
EP1394999A1 (en) 2002-08-07 2004-03-03 Infineon Technologies AG Method for routing of data packets and routing apparatus
US7849140B2 (en) 2002-08-29 2010-12-07 Oracle America, Inc. Peer-to-peer email messaging
US7613796B2 (en) 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US7239605B2 (en) 2002-09-23 2007-07-03 Sun Microsystems, Inc. Item and method for performing a cluster topology self-healing process in a distributed data system cluster
US7200657B2 (en) 2002-10-01 2007-04-03 International Business Machines Corporation Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
US6909721B2 (en) 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US7289520B2 (en) * 2002-11-20 2007-10-30 Hewlett-Packard Development Company, L.P. Method, apparatus, and system for expressway routing among peers
US6850487B2 (en) 2002-12-05 2005-02-01 The Regents Of The University Of California Method and apparatus for guaranteeing a failure-recovery time in a wavelength-division multiplexing network
US7652998B2 (en) 2002-12-11 2010-01-26 Nippon Telegraph And Telephone Corporation Multicast communication path calculation method and multicast communication path calculation apparatus
US7584298B2 (en) 2002-12-13 2009-09-01 Internap Network Services Corporation Topology aware route control
US7404006B1 (en) 2002-12-20 2008-07-22 Symantec Operating Corporation Publishing a network address in a computer network
US7480708B2 (en) 2002-12-23 2009-01-20 Sap Ag Method and computer program product for managing data consistency
US7137018B2 (en) 2002-12-31 2006-11-14 Intel Corporation Active state link power management
US7747731B2 (en) 2003-03-27 2010-06-29 Nokia Corporation Minimizing message processing latency in a communication network
US7120824B2 (en) 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US6988173B2 (en) 2003-05-12 2006-01-17 International Business Machines Corporation Bus protocol for a switchless distributed shared memory computer system
EP1494394A1 (en) 2003-06-30 2005-01-05 Sony International (Europe) GmbH Distance-aware service mechanism for determining the availability of remote services in wireless personal area networks
US7334062B1 (en) 2003-07-22 2008-02-19 Symantec Operating Corporation Technique to monitor application behavior and tune replication performance
US20050031119A1 (en) 2003-08-04 2005-02-10 Yuying Ding Method and communications device for secure group communication
US7680152B2 (en) 2003-08-07 2010-03-16 Robert Bosch Gmbh Method for establishing a user of a data network as a pilot master
US20050050320A1 (en) 2003-09-02 2005-03-03 Microsoft Corporation Branding framework
US20050091399A1 (en) 2003-09-30 2005-04-28 Candan Kasim S. Resource-aware adaptive multicasting in a shared proxy overlay network
US7289501B2 (en) 2003-11-06 2007-10-30 Teknovus, Inc. Method and apparatus for bandwidth-efficient multicast in ethernet passive optical networks
US20050108481A1 (en) 2003-11-17 2005-05-19 Iyengar Arun K. System and method for achieving strong data consistency
US20050111352A1 (en) 2003-11-21 2005-05-26 Boon Ho Method and system for monitoring a network containing routers using a backup routing protocol
US7243089B2 (en) 2003-11-25 2007-07-10 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
KR100576935B1 (ko) 2003-12-22 2006-05-10 한국전자통신연구원 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법
US7420954B2 (en) 2004-01-13 2008-09-02 General Motors Corporation Efficient lightweight information dissemination algorithm for mobile wireless ad hoc networks
US7313565B2 (en) 2004-02-19 2007-12-25 Microsoft Corporation Data overlay, self-organized metadata overlay, and associated methods
US20050220106A1 (en) 2004-03-31 2005-10-06 Pierre Guillaume Raverdy Inter-wireless interactions using user discovery for ad-hoc environments
US7730207B2 (en) 2004-03-31 2010-06-01 Microsoft Corporation Routing in peer-to-peer networks
US7478263B1 (en) 2004-06-01 2009-01-13 Network Appliance, Inc. System and method for establishing bi-directional failover in a two node cluster
US7512064B2 (en) 2004-06-15 2009-03-31 Cisco Technology, Inc. Avoiding micro-loop upon failure of fast reroute protected links
GB0416074D0 (en) 2004-07-17 2004-08-18 Ibm Controlling data consistency guarantees in storage apparatus
US7715396B2 (en) 2004-08-19 2010-05-11 Microsoft Corporation Network routing
US7613703B2 (en) 2004-09-30 2009-11-03 Microsoft Corporation Organizing resources into collections to facilitate more efficient and reliable resource access
US8549180B2 (en) 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8095600B2 (en) 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8014321B2 (en) 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7730220B2 (en) 2004-10-22 2010-06-01 Microsoft Corporation Broadcasting communication within a rendezvous federation
US20060090003A1 (en) 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US20060155781A1 (en) 2005-01-10 2006-07-13 Microsoft Corporation Systems and methods for structuring distributed fault-tolerant systems
US7827262B2 (en) 2005-07-14 2010-11-02 Cisco Technology, Inc. Approach for managing state information by a group of servers that services a group of clients
US8589574B1 (en) 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
US7673069B2 (en) 2006-02-24 2010-03-02 Microsoft Corporation Strong routing consistency protocol in structured peer-to-peer overlays
US20070214194A1 (en) 2006-03-07 2007-09-13 James Reuter Consistency methods and systems
WO2008036777A2 (en) 2006-09-19 2008-03-27 Bea Systems, Inc. System and method for supporting service networks in a service-oriented architecture environment
TWI390869B (zh) 2008-04-24 2013-03-21 Univ Nat Taiwan 網路資源分配系統及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI414718B (zh) * 2011-06-09 2013-11-11

Also Published As

Publication number Publication date
US20060282505A1 (en) 2006-12-14
MX2008015966A (es) 2009-01-09
BRPI0713790A2 (pt) 2012-11-06
JP2009543447A (ja) 2009-12-03
AU2007270060A1 (en) 2008-01-10
EP2036255A1 (en) 2009-03-18
RU2008152422A (ru) 2010-07-10
EP2036255A4 (en) 2012-01-04
RU2431184C2 (ru) 2011-10-10
US8095601B2 (en) 2012-01-10
NO20085027L (no) 2009-01-19
CN101485149A (zh) 2009-07-15
CA2652917A1 (en) 2008-01-10
AU2007270060B2 (en) 2010-12-16
KR20090034829A (ko) 2009-04-08
CL2007001394A1 (es) 2008-01-11
WO2008005078A1 (en) 2008-01-10
IL195188A0 (en) 2009-08-03

Similar Documents

Publication Publication Date Title
TW200818811A (en) Inter-proximity communication within a rendezvous federation
US9647917B2 (en) Maintaining consistency within a federation infrastructure
JP5049344B2 (ja) ランデブーフェデレーション内の近傍域間通信
KR101455420B1 (ko) 연합 인프라 내의 일관성
US7694167B2 (en) Maintaining routing consistency within a rendezvous federation
US8392515B2 (en) Subfederation creation and maintenance in a federation infrastructure
US7958262B2 (en) Allocating and reclaiming resources within a rendezvous federation
JP4726604B2 (ja) リソース要求を対応するリソースに会合させる方法およびシステム
US7466662B2 (en) Discovering liveness information within a federation infrastructure
US7730220B2 (en) Broadcasting communication within a rendezvous federation
JP2009543447A5 (zh)