TW202228420A - 用於更新網路的關於網路拓樸的知識之電腦實施系統及方法 - Google Patents
用於更新網路的關於網路拓樸的知識之電腦實施系統及方法 Download PDFInfo
- Publication number
- TW202228420A TW202228420A TW111111003A TW111111003A TW202228420A TW 202228420 A TW202228420 A TW 202228420A TW 111111003 A TW111111003 A TW 111111003A TW 111111003 A TW111111003 A TW 111111003A TW 202228420 A TW202228420 A TW 202228420A
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- topology
- network
- data set
- topology data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000008859 change Effects 0.000 claims abstract description 48
- 239000013598 vector Substances 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 abstract description 26
- 238000012360 testing method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000001364 causal effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/025—Updating only a limited number of routers, e.g. fish-eye update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/028—Dynamic adaptation of the update intervals, e.g. event-triggered updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本發明提供用於偵測拓樸的改變、根據發生時間對該等改變排序及建構反映該等改變之一新拓樸的一種方法、對應系統及一網路內之配置。本發明解決在每一網路節點處之網路拓樸為動態時,即在鏈路發生故障且在任意時間恢復時,保持該網路拓樸之知識最新的問題。拓樸更新係事件驅動的,此係因為其在該網路中之特定地針對節點及鏈路之某改變發生時被啟動。事件引起將拓樸改變報告至該網路中之其他節點。訊息之加時戳允許訊息作為最近更新而經正確地應用或被捨棄。提供允許每一商家節點維持該網路拓樸之一正確視圖而不管鏈路及節點故障的一演算法。
Description
本發明大體上係關於系統拓樸及更新系統拓樸之方法,且更特別而言,係關於改變同級間(P2P)系統拓樸及用於更新改變的P2P系統拓樸的方法。本發明特別地適合但不限於分散式系統及使用此類分散式系統實施交易或區塊鏈之方法。
在此文件中,吾人使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括但不限於區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知之應用係比特幣總帳,但已提議並開發出其他區塊鏈實施。雖然可出於方便及說明之目的而在本文中提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施及協定處於本發明之範圍內。
區塊鏈係基於共識之電子總帳,其經實施為由區塊組成的基於電腦之非集中式分散系統,該等區塊又由交易組成。每一交易係一資料結構,該資料結構編碼區塊鏈系統中之參與者之間的數位資產之控制的傳送,且包括至少一個輸入及至少一個輸出。每一區塊含有先前區塊之散列,使得區塊變為鏈接在一起以產生自一開始便已寫入至區塊鏈之所有交易的永久性不可變更之記錄。交易含有嵌入至其輸入及輸出中的被稱為指令碼的小型程式,其指定可如何及由誰存取交易之輸出。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
為了使交易被寫入至區塊鏈,交易必須經「驗證」。網路節點(挖掘者(miner))執行工作以確保每一交易為有效的,其中無效交易被網路拒絕。安裝於節點上之軟體用戶端藉由執行其鎖定及解除鎖定指令碼而對未用交易(UTXO)執行此驗證工作。若鎖定及解除鎖定指令碼之執行評估為真,則交易係有效的且將交易寫入至區塊鏈。因此,為了使交易被寫入至區塊鏈,其必須i)藉由在交易經驗證之情況下接收該交易的第一節點驗證,該節點將該交易中繼傳輸至網路中之其他節點;及ii)添加至藉由挖掘者建置之新區塊;及iii)經挖掘,亦即,添加至過去交易之公用總帳。
儘管區塊鏈技術由於密碼貨幣實施之使用而為最廣泛已知的,但數位企業家已開始探索比特幣所基於之密碼編譯安全系統及可儲存於區塊鏈上以實施新系統之資料兩者的使用。區塊鏈技術在區塊鏈可用於不限於密碼貨幣範圍之自動任務及程序時將非常有利。此等解決方案將能夠利用區塊鏈之益處(例如,事件之永久性防篡改記錄、分散式處理等),同時在其應用中更通用。
當前研究之一個領域係使用區塊鏈實施「智慧型合約」。此等智慧型合約係經設計以使機器可讀合約或協議之條款之執行自動化的電腦程式。不同於將以自然語言撰寫之傳統合約,智慧型合約係包含可處理輸入以便產生結果之規則的機器可執行程式,該等規則接著可取決於該等結果而使得執行動作。
區塊鏈相關關注之另一領域係使用「符記」(或「彩色符記」)以經由區塊鏈表示及傳送真實世界實體。潛在地敏感或秘密之物件可由符記表示,符記不具有可辨別之含義或值。符記因此充當允許自區塊鏈引用真實世界物件之識別符。
已知用於管理網路內之連接及路由的各種先前技術方法。下文簡要地描述此類先前技術方法之實例。
US2014286344係關於網路中之分散式連接建立及復原。以用於控制網路上的轉遞之路由協定的擴展來擴散連接約束。節點維持拓樸及連接資料庫,且基於約束而計算連接之路由。若節點在連接之所計算路由上,則其將針對連接安裝轉遞狀態。由於每一節點具有一致的網路拓樸視圖且已提供有與連接相關聯之約束,因此網路上之每一節點將計算連接之相同路由。當發生故障時,節點將基於網路範圍優先順序計算連接之復原路徑,以使得能夠為受影響連接建立恢復路徑而無需發送復原路徑的訊息。時戳用以允許節點不管事件到達之次序而以一致的次序以應用事件。
EP0752795係關於通信網路中之鏈路保留。描述用於在通信網路中設置、解除及更新連接之分散式構件,其在故障存在之情況下係穩固的。更具體而言,計算連接之路徑,且經由單獨通道將保留連接之路徑之保留請求同時發送至節點集合中之每一者,且判定資源是否可用於連接。在用於連接之鏈路可用且已保留的應答後,即沿該路徑在鄰接節點之間依序傳輸設置訊息直至設置訊息到達目的地節點。每一節點中之交換器接著回應於設置訊息而設定其自身組態以便建立連接。
US2004170151係關於動態網路及動態網路之路由方法。描述具有複數個節點之動態網路,其中限制條件為路由資訊儲存於網路之節點中的區域路由表中。該等節點將更新區域路由表之更新請求發送至其他節點,且經定址節點將具有經更新路由資訊之更新回應發送至請求節點。
關於系統拓樸之一問題係在例如由於新節點或同級者加入系統及由於節點或同級者離開或返回操作狀態而發生拓樸改變時確保系統維持於有效且快速之運作狀態中。
因此,需要提供一種解決方案,其在其潛在的目標當中包括一種系統拓樸及一種更新系統拓樸之方法,其中有效地及迅速地偵測拓樸之改變。
因此,需要提供一種解決方案,其在其潛在的目標當中包括一種系統拓樸及一種更新系統拓樸之方法,其中在系統內有效地及迅速地傳達拓樸之改變。
因此,需要提供一種解決方案,其在其潛在的目標當中包括一種系統拓樸及一種更新系統拓樸之方法,其中遍及網路一致地及有效地及迅速地更新拓樸之改變。
現已設計出此改良之解決方案。本發明定義於所附申請專利範圍及本發明之陳述中。
根據本發明之第一態樣,提供一種更新網路之關於網路拓樸之知識的方法,該方法包括:
a) 藉由網路中之第一節點接收併有網路的拓樸的改變之一拓樸資料集,該拓樸資料集與時間指示相關聯;
b) 該第一節點使拓樸資料集與時間指示相關聯:
其中若用於由第一節點接收之拓樸資料集的時間指示相比用於第一節點之拓樸資料集的時間指示更近,則用由第一節點所接收之拓樸資料集更新第一節點之拓樸資料集。
該方法可進一步提供:特定地在步驟b)之後,第一節點將任何經更新之第一節點拓樸資料集發送至網路。更佳地,該方法可進一步提供:特定地在步驟b)之後,當第二節點拓樸資料集引起對第一節點拓樸資料集之更新時,第一節點將經更新之第一節點拓樸資料發送至網路。
該方法可提供:第一節點具有鄰接節點,該等鄰接節點係在第一節點之給定鄰接度量內之該等節點,且可提供:第一節點具有鄰近節點,該等鄰近節點係超出第一節點之給定鄰接度量但在第一節點之給定鄰近度量內的該等節點。該方法可進一步提供:第一節點僅將經更新之第一節點拓樸資料集發送至鄰接節點及鄰近節點。
與由第一節點接收之拓樸資料集相關聯的時間指示係由節點產生,該拓樸資料集係自該節點提供。該時間指示可能係與由節點提供之拓樸資料集相關聯的時戳,該拓樸資料集係自該節點提供。該時間指示可能係第二節點對網路中之改變之偵測時間,或更佳地第二節點將網路中之改變發送至第一節點之時間的時間指示。該時間指示可由提供拓樸資料集之節點的時間向量時鐘提供。
該方法可進一步提供:第一節點之拓樸資料集係藉由以下操作中之一或多者更新:
a) 改變第一節點之拓樸資料集中列出的節點之間的一或多個鏈路之操作狀態;
b) 添加未在第一節點之拓樸資料集中列出的節點之間的一或多個鏈路;
c) 移除在第一節點之拓樸資料集中列出的節點之間的一或多個鏈路。
該方法可進一步提供:更新第一節點之拓樸資料的一條件係自網路中之節點接收的拓樸資料集含有不在第一節點之拓樸資料集中的一或多個鏈路。該方法可另外進一步提供:另一條件係第一節點之拓樸資料集僅關於自網路中之節點接收之拓樸資料集中的在該節點之給定度量內的此等鏈路而更新。
該方法可進一步提供:由於網路中之第二節點偵測到網路中之事件,因此提供併有網路的拓樸的改變之拓樸資料集。該事件可藉由網路中之節點發送至第二節點的訊息之停止而偵測。該事件之偵測可產生第二節點之拓樸資料集的改變。第二節點之拓樸資料集的改變可提供:第二節點將拓樸資料集之改變至少發送至網路中之第一節點。
該方法可進一步較佳地在步驟a)與b)之間,根據多個拓樸資料集之個別時間指示而對該多個拓樸資料集排序。多個拓樸資料集中之一者可能係第一節點之拓樸資料集,其中多個拓樸資料集中之另一者可能係第二節點之拓樸資料集。多個拓樸資料集中之一者可能係來自第三節點之拓樸資料集,較佳地其中多個拓樸資料集中之其他者係來自其他節點。該排序可確定多個拓樸資料集中之哪一者係多個拓樸資料集中之最近者。
該方法可進一步提供:多個拓樸資料集中之最近者用以更新第一節點之拓樸資料集。該方法可進一步提供:不使用或捨棄與最近時間指示不關聯之拓樸資料集。
經更新之第一節點之拓樸資料集可替換先前的第一節點之拓樸資料集。
更新網路之關於網路拓樸之知識的方法可進一步係最佳化網路內之連接性及最佳化網路內之一致資料分配的方法。
根據本發明之第二態樣,提供一種經配置以執行本發明之第一態樣之方法的電腦實施系統,其潛在地包括經配置以執行本文件內其他處所闡述之特徵、選項及可能性中之任一者的系統。
該電腦實施系統可包括用於偵測網路的拓樸的改變之偵測器。該偵測器可偵測影響一或多個節點及一或多個鏈路之改變。該偵測器可偵測狀態之一或多個改變,例如自第一狀態至第二狀態及自第二狀態至第一狀態及可包括一或多個其他狀態。
該電腦實施系統可包括更新分類器,該更新分類器用以將在網路內傳達之經更新之拓樸資料集分類,特定地關於含有經更新之拓樸資料集之訊息。更新分類器可使得以正確序列或次序或產生時間來考慮訊息。
該電腦實施系統可包括拓樸資料集處理器,該拓樸資料集處理器用於處理拓樸資料集,使得拓樸資料集藉由來自網路中之其他節點的拓樸日期集合更新。
該電腦實施系統可包括拓樸更新傳達器,該拓樸更新傳達器用於經更新之拓樸資料集,使得網路的拓樸的改變之知識在網路內共用。拓樸資料集處理器可根據來自其他節點之拓樸資料集的資料而提供一節點之拓樸資料集的更新。
根據本發明之第三態樣,提供一種在一節點網路內的用於關於網路之拓樸之改變而更新網路的配置,該配置包括:偵測器,其用於偵測網路之拓樸之改變;及更新分類器,其用於將在網路內傳達之經更新之拓樸資料集分類;及拓樸資料集處理器,其用於處理拓樸資料集;及拓樸更新傳達器,其用於經更新之拓樸資料集,使得網路之拓樸之改變的知識在網路內共用。
該偵測器可偵測影響一或多個節點及一或多個鏈路之改變。該偵測器可偵測狀態之一或多個改變,例如自第一狀態至第二狀態及自第二狀態至第一狀態及可包括一或多個其他狀態。
可針對含有經更新之拓樸資料集的訊息提供更新分類器。可提供更新分類器使得以正確序列或次序或產生時間來考慮訊息。
用於處理拓樸資料集之拓樸資料集處理器可用於藉由來自網路中的其他節點之拓樸日期集合更新的拓樸資料集。
拓樸資料集處理器可根據來自其他節點之拓樸資料集的資料而提供一節點之拓樸資料集的更新。
因此,根據本發明,提供或進一步提供來自以下內容當中之選項、可能性及特徵。
該網路可能係節點之分散式系統。該分散式系統可包括呈用戶端及伺服器及同級者形式之一或多個節點。
節點可能係主動電子裝置或資料通信設備。特定而言,節點可能係路由器及工作站及伺服器及主機電腦。一節點可能係能夠產生及接收及例如在網路內將資訊傳輸至諸如一或多個其他節點之位置。
節點中之一或多者或全部可能係同級者。節點中之兩者或大於兩者或全部可能係網路中就特殊權限或能力或才能而言等同的參與者。
網路中之節點可被視為節點之集合。
該等節點可藉由一或多個鏈路連接。一節點可藉由一或多個鏈路連接至另一節點。該等鏈路中之一或多者或全部可能係邊。
兩個節點之間的距離可能係該等節點之間的鏈路之總和,較佳地,提供該等節點之間的連接的鏈路之最小數目。該距離可能係躍點數。該距離可能係鏈路之數目,例如使得直接地鏈接之節點具有值1之躍點數,及間接地鏈接之節點具有值大於或等於2之躍點數。該距離或躍點數可定義為:
其中
d係節點
i與節點
j之間的距離。
當有限數目個鏈路,較佳地單一鏈路提供連接時,一節點可直接地連接至另一節點。一節點可直接地連接至一或多個其他節點。較佳地,直接地連接至節點之節點連接至被認為係鄰接節點之節點。較佳地,直接地連接至節點之所有其他節點係彼節點之鄰接節點。鄰接節點可定義為:
其中
i係在考慮中之節點,
j係節點集合
V內之鄰接節點之數目,且
r
adj 係給定鄰接度量。
給定鄰接度量可能係鄰接半徑。給定鄰接度量可能係鏈路之數目,例如1個鏈路。
當數目大於1個鏈路之鏈路提供連接時,一節點可間接地連接至另一節點。較佳地,當一節點經由諸如鄰接節點及其他節點之一或多個中間節點連接至另一節點時或當一節點經由連續之兩個或大於兩個鏈路連接至另一節點時,該節點間接地連接至另一節點。一節點可間接地連接至網路中之其他節點中之一或多者或全部。較佳地,節點之給定鄰近度量內的並非鄰接節點之其他節點係該節點之鄰近節點。超出節點之給定鄰近度量之範圍的其他節點較佳地既非鄰接節點亦非鄰近節點。超出節點之給定鄰近度量之範圍且既非鄰接節點亦非鄰近節點的其他節點較佳地仍係節點之集合之部分。鄰近節點可定義為:
其中
i係在考慮中之節點,
j係集合
V內之鄰近節點之數目,距離
d ( i , j )內係節點
i與節點
j之間的距離,
adj ( i )係節點
i之鄰接節點,且
H係給定鄰近度量。
給定鄰近度量可能係鄰近半徑。給定鄰近度量可能具有下限值及上限值。給定鄰近度量可能係具有諸如2個鏈路之共同的下限值及上限值的鏈路數目。給定鄰近度量較佳大於給定鄰接度量。
一節點可能係節點之集合之部分,具有一或多個鄰接節點及一或多個鄰近節點。來自節點之集合內的另一節點可能具有與該節點共同的一或多個或所有鄰接節點,或可能不具有與該節點共同的鄰接節點。該另一節點可能具有與該節點共同的一或多個或所有鄰近節點,或可能不具有與該節點共同的鄰近節點。
可提供用於網路之拓樸之改變及偵測該等改變的偵測器。可提供用於影響一或多個節點及一或多個鏈路之改變及偵測該等改變的偵測器。一或多個改變可能係狀態之改變,例如自第一狀態至第二狀態及自第二狀態至第一狀態及可包括一或多個其他狀態。
節點可能具有第一狀態及第二狀態,該第二狀態表示相較於第一狀態之特性之改變。特性之改變可能係節點加入節點之集合及網路。特性之改變可能係節點重新加入節點之集合及網路。特性之改變可能係節點開始作為節點之集合及網路中之節點而運作或重新開始作為節點之集合及網路中之節點而運作 特性之改變可能係節點離開節點之集合及網路。特性之改變可能係節點停止作為節點之集合及網路中之節點而運作。
較佳地,一節點與直接連接至該節點之另一節點之間的鏈路具有第一狀態及第二狀態,該第二狀態表示相較於第一狀態之特性改變。特性改變可能係鏈路之出現或對鏈路之存取。特性改變可能係鏈路之重新出現或對鏈路之重新存取。特性改變可能係鏈路之消失或對鏈路之存取的丟失。
可直接地偵測特性改變。較佳地,例如使用測試訊息間接地偵測特性之改變。測試訊息可由一個節點發送至另一節點。可沿一鏈路發送測試訊息。較佳重複地(較佳規則地)發送測試訊息。測試訊息可在給定時間段內發送至少一次,且較佳地在彼時間段之任何給定重複時段內發送至少一次。該時間段可藉由該節點中或與該節點相關聯之時鐘功能控管。
該節點未自另一節點收到測試訊息可指示另一節點及其間之鏈路已經歷特性改變。特定而言,未收到可指示另一節點已離開網路及鏈路已消失。較佳地,未收到可指示另一節點已停止運作及鏈路已停止運作。較佳地,可針對時間段來考慮未收到。較佳地,該時間段係大於重複測試訊息的期間。每一節點可維持一計時器,較佳地每一鏈路單獨一個計時器,以便定義定義預期收到測試訊息之時間段。
對節點之狀態改變的偵測可產生節點之拓樸資料集的改變。對自第一狀態至第二狀態之改變的偵測可產生節點之拓樸資料集的改變。對自第二狀態至第一狀態之改變的偵測可產生節點之拓樸資料集的改變。
對自第一狀態至第二狀態之改變的偵測可產生節點之拓樸資料集的改變,其中第一狀態係節點加入網路或運作及鏈路可存取或運作,其中第二狀態係節點未加入網路或不運作及鏈路不可存取或不運作。
節點之拓樸資料集的改變可能係節點或鏈路之狀態的改變。狀態之改變可能係自作用中狀態或作用狀態(live status)或連接狀態至非作用中狀態或不作用狀態(dead status)或斷開連接狀態之改變。
節點之拓樸資料集的改變可能係節點自拓樸資料集之刪除。節點之拓樸資料集的改變可能係鏈路自拓樸資料集之刪除。
對自第二狀態至第一狀態之改變的偵測可產生節點之拓樸資料集的改變,其中第二狀態係節點未加入網路或不運作及鏈路不可存取或不運作,其中第一狀態係節點加入網路或運作及鏈路可存取或運作。
節點之拓樸資料集的改變可能係節點或鏈路之狀態的改變。狀態之改變可能係自非作用中狀態或不作用狀態或斷開連接狀態至作用中狀態或作用狀態或連接狀態之改變。
節點之拓樸資料集的改變可能係節點至拓樸資料集之添加。節點之拓樸資料集的改變可能係鏈路至拓樸資料集之添加。
節點之拓樸資料集可能係拓樸表。相較於可能用於節點之完整資料集,節點之拓樸資料集可能係不完整資料集。
節點之拓樸資料集,例如拓樸表可包含該節點在該時已知之鏈路之清單。拓樸表可包含該節點與用於該節點之節點選集中的一或多者,較佳全部之間的可能鏈路中之一或多者或全部之清單。用於該節點之節點選集可能係該節點之鄰接節點中之一或多者或全部及該節點之鄰近節點中之一或多者或全部。拓樸表可包括該節點在該時已知之鏈路中之一或多者,較佳為全部的狀態。
當節點之拓樸資料集存在改變時,可將節點之拓樸資料集的改變傳達至一或多個其他節點。當節點之拓樸資料集存在改變時,較佳地可將節點之整個拓樸資料集傳達至一或多個其他節點。該一或多個其他節點可包括一或多個或所有鄰接節點。該一或多個其他節點可包括一或多個或所有鄰近節點。該一或多個其他節點可包括節點集合中之所有節點中之一或多者。
當另一節點接收到一節點之拓樸資料集時,另一節點較佳地評估另一節點是否用該節點之拓樸資料集來更新另一節點之目前拓樸資料集。該評估可藉由接收該節點之拓樸資料集的每個另一節點執行,較佳地其中每一評估獨立於其他評估。該評估可較佳地確定另一節點之目前拓樸資料集舊於抑或新於該節點之拓樸資料集。較佳地,在另一節點之目前資料集較舊的情況下,則根據該節點之拓樸資料集而更新另一節點之目前拓樸資料集。較佳地,在另一節點之目前資料集較新的情況下,則並不根據該節點之拓樸資料集而更新另一節點之目前拓樸資料集。
當該節點接收到另一節點之拓樸資料集時,該節點較佳評估該節點是否用另一節點之拓樸資料集來更新該節點之目前拓樸資料集。該評估可較佳地確定該節點之目前拓樸資料集舊於抑或新於另一節點之拓樸資料集。較佳地,在該節點之目前拓樸資料集較舊的情況下,則根據另一節點之拓樸資料集而更新該節點之目前拓樸資料集。較佳地,在該節點之目前資料集較新的情況下,則並不根據另一節點之拓樸資料集而更新該節點之目前拓樸資料集。
可特定地針對訊息提供用於在網路內傳達之訊息及該等訊息之訊息分類的訊息分類器,該等訊息與網路之拓樸之改變相關。可提供用於訊息及該等訊息之訊息分類的訊息分類器,使得以正確序列或次序或產生時間考慮訊息。
該節點及另一節點可具備時鐘功能,諸如邏輯時鐘。該時鐘功能可提供2個資料結構,其中第一者係區域時間之記錄且第二者係分散式系統內之最熟知全域時間之記錄。舉例而言,邏輯時鐘可經由時鐘功能提供區域時間,例如邏輯區域時間之記錄,以及分散式系統內之全域時間,諸如邏輯全域時間之區域記錄。
較佳地,系統中之每一節點具備時鐘功能。
該時鐘功能可將時戳指派至系統中之一或多個或所有事件。事件可包括偵測到新節點或新鏈路。事件可包括偵測到節點或鏈路之狀態之改變。事件可包括偵測到節點或鏈路之丟失。事件可包括節點更新節點之拓樸資料集。
系統內之時戳較佳地遵循單調性,最佳為遞增。在兩個事件以因果關係連結之情況下,則結果事件可被給定有晚於導致結果事件之原因事件的時戳。
該時鐘功能可能係向量時鐘。該向量時鐘可使用時間向量。每一節點可操作單獨的時間向量。每一節點可使用該節點之時間向量以對該節點之事件加時戳。每一時間向量可具有以下形式:
其中
T
i 係節點
i之區域邏輯時鐘且描述節點
i之自時間
1至時間
n之邏輯時間進展。
節點中之一或多者且較佳全部具有一或多個或所有節點,特定地該節點之鄰接節點及鄰近節點之邏輯時間進展的至少部分知識。另一節點之邏輯時間進展的至少部分知識可能具有以下形式:
T
ij ,其表示節點
i之關於節點
j之區域時間的最新知識,其中
adj ( i )。
T
i 之維度可由
dim ( T
i )指示,且
dim ( T
i )可等於
adj ( i )之大小。
時間向量時鐘可根據一或多個規則而操作。該等規則可包括以下各項中之一或多者或全部:
1. 節點中之一或多者及較佳全部以區域時間0開始;
2. 當事件在節點處發生時,區域時間可增加例如整數,較佳地增加值1;
3. 當事件在節點處發生時,該節點將訊息發送至一或多個其他節點,較佳地拓樸資料集已改變;
4. 當另一節點接收到較佳地被視為該節點之事件之改變的訊息時,較佳地因此將規則2應用於另一節點之區域時間;
5. 當另一節點接收到較佳改變之訊息時,除規則4之增加外,另一節點之區域時間亦進一步增加,另一節點之區域時間較佳地進一步增加在規則4之增加之後的另一節點之區域時間或訊息中的另一節點之區域時間中的較大者;
6. 由一節點發送至另一節點之訊息包括該節點及所有其他節點之區域時間,對於該等其他節點,該節點具有區域時間之如下知識:區域時間可能不同於一或多個其他節點在彼時之實際區域時間;
7. 在訊息相比由節點接收之最後訊息較新的情況下,該訊息之拓樸資料集可用以更新另一節點之拓樸資料集,較佳地在該訊息較新及該訊息引起更新另一節點之拓樸資料集的情況下僅應用規則4或5其中之一或二者;
8. 在訊息比由節點接收之最後訊息較舊的情況下,該訊息之拓樸資料集可被捨棄及不用以更新另一節點之拓樸資料集,較佳地在訊息較舊及訊息之拓樸資料集被捨棄及不使用之情況下,不應用規則4或5其中之一或二者;
向量時鐘可根據一或多個規則而操作,其中該等規則包括以下各項中之一或多者或全部:
除第
i條目係1外,節點
i上之初始區域事件的時戳皆係0;
若
T
ij = x,則節點
i知曉節點
j處之區域時間已進展至
x;
向量
T
i 構成節點
i之關於邏輯全域時間之視圖;
節點
i使用其對事件加時戳;
訊息之時戳係當前時戳及傳入向量時戳之逐元素最大值;
在發送訊息之前,節點
i更新其區域時間
;
在自節點
adj ( i )接收到訊息(
m , T
j )後,節點
i即執行根據
adj ( i ) 、 來更新節點
i之邏輯全域時間的動作。
用於由一或多個或所有節點發送之一或多個或所有訊息的廣播演算法可能係確定性演算法或機率性演算法。
可提供資料集處理器及資料集處理,使得網路之拓樸之改變的知識在網路內共用。可提供用於節點之拓樸資料集的資料集處理器及資料集處理,使得該節點之拓樸資料集由來自其他節點之拓樸資料集的資料更新。
可針對一節點,較佳針對每一節點建構節點之拓樸資料集,例如拓樸表。節點之拓樸資料集可包含用於彼節點
i之主拓樸視圖
V
i 。一節點之拓樸資料集可包括該節點已知之鏈路之清單。該等鏈路可按
l
mn 之形式列出,其中
m係一個節點且
n係另一節點。形式
l
mn 及
l
nm 可互換地使用,其中列出該等對中之僅一者以提供清單中之鏈路。節點之拓樸資料集可包括該清單中之每一鏈路的標識。該標識可能具有兩個值中之一者,例如1或∞。該標識可能係關於鏈路之操作狀態,例如操作時之值及不操作時之值。
最初,節點所知之鏈路之清單可能係由該節點偵測到之該等節點及因此的鏈路,例如由於經由該等鏈路自其他節點接收到測試訊息。
一旦含有其他節點之拓樸資料集的訊息經交換,則該節點所已知之鏈路之清單便可係來自其他節點之訊息中的該等鏈路或可由該等鏈路補充。較佳地,節點所知之鏈路與來自其他節點之訊息中之該等鏈路的組合形成節點之拓樸資料集。
可針對節點或鏈路之操作狀態之改變而更新節點之拓樸資料集。可針對返回操作狀態之節點或鏈路而更新節點之拓樸資料集。可針對新鏈路或新節點正被添加至網路而更新節點之拓樸資料集。可向正被添加至網路之新節點發送來自另一節點之節點拓樸資料集,以便提供該節點之第一節點拓樸資料集。
當滿足一或多個條件時,可用來自含有另一節點之拓樸資料集之訊息內的資料更新一節點之拓樸資料集。條件可能係另一節點之拓樸資料集具有晚於該節點之拓樸資料集的時戳。條件可能係存在關於一或多個鏈路,特定地該節點之拓樸資料集及另一節點之拓樸資料集兩者中之一或多個鏈路的標識之改變,例如自1至∞或自∞至1。條件可能係另一節點之拓樸資料集含有不在該節點之拓樸資料集中的一或多個鏈路。一條件可能係另一節點之拓樸資料集含有不在該節點之拓樸資料集中的一或多個鏈路,連同如下的另一條件:節點之拓樸資料集僅關於在另一節點之拓樸資料集中的在該節點之給定度量內的此等鏈路而更新。該給定度量可在給定鄰接度量內或更佳在給定鄰近度量內。不在給定度量內之鏈路較佳地不被添加至節點之拓樸資料集。
在鏈路
係節點之拓樸資料集(例如,節點全域視圖
V
i )及另一節點之拓樸資料集(例如,另一節點全域視圖
V
j )兩者中的鏈路使得
的情況下,可更新該節點之拓樸資料集。用關於在
中接收之鏈路
的資訊更新節點之拓樸資料集可取決於時戳
,其中若條件為真,則獲取鏈路
之較新狀態。
在鏈路
係另一節點之拓樸資料集(例如,另一節點全域視圖
)中之鏈路,亦即,目前並非一節點之拓樸資料集(例如,節點全域視圖
)中的鏈路的情況下,可更新該節點之拓樸資料集。關於被添加至節點之拓樸資料集,例如節點全域視圖
之鏈路
的資訊可取決於節點
與
之間的距離,其低於針對鄰接節點之值:視距(horizon)
。條件可能係
,其中
係
之每個作用中鏈路。
每當由於一節點接收到訊息時而對該節點之拓樸資料集作出改變時,該節點即可將含有該節點之拓樸資料集的訊息發送至一或多個其他節點。較佳地,一節點可將含有該節點之拓樸資料集的訊息僅發送至係鄰近節點及鄰接節點之該等一或多個其他節點。
每當一節點鏈接至一或多個新節點時,該節點即可將含有該節點之拓樸資料集的訊息發送至新節點。較佳地,一節點可將含有該節點之拓樸資料集的訊息僅發送至係該節點之鄰接節點的該等一或多個新節點。
系統及方法內之多個節點可彼此獨立地起始更新。多個更新可在系統及方法內同時處於作用中,較佳地其中時戳控制更新應用於哪些節點處之拓樸資料集。
非結構化同級間(P2P)網路之中心問題係拓樸維護。舉例而言,當節點加入及離開網路時及當節點突然崩潰時,如何恰當地更新鄰近變數。本發明係有關拓樸更新演算法。
在P2P網路內,需要進行搜尋、資訊分發、廣播及其類似需要操作以知曉「誰連接至誰」或「誰知曉誰」。在此上下文中,已知數個廣播演算法,諸如機率性演算法及確定性演算法。
流行病(Epidemiological)演算法或閒談(Gossip)協定在本質上係機率性的,且其不依賴於固定拓樸。節點與隨機鄰近者交換資訊以實施擴散狀計算圖案,且系統因此會聚至所有節點知曉訊息之狀態。因為每一節點獨立於網路中之節點之數目而僅發送固定數目個訊息,所以閒談協定係可擴充的。另外,若應答未到達,則節點並不等待應答,亦不採取某恢復動作。因為一節點自不同節點接收訊息之複本,所以閒談協定實現抵抗間歇性鏈路故障及節點崩潰之容錯性。無節點起特定作用,且因此故障節點將無法阻止其他節點繼續發送訊息。因此,不需要故障偵測或特定恢復動作。
閒談協定之缺陷係其發送之訊息之數目。一類閒談協定(
反 熵協定(anti-entropy protocol))在非終止運行中發送無限數目個訊息。
諸如廣度優先搜尋之跨距樹演算法(Spanning Tree Algorithm)係一類確定性演算法。跨距樹提供將網路可視化為「基幹」,亦即,連接節點之邊之最小集合的簡單方式。想法係簡單的;首先建構跨距樹且將其用以收集來自每一節點之區域資料變數,且接著朝向根節點(或彙聚節點)聚集資料。每一節點將其值傳輸至其自身之親代。在每一非葉節點處,除其自身之值外,亦在沿樹向上傳輸結果之前處理其子節點之值。由於廣度優先協定不產生樹中之節點直至較淺層級處之所有節點已產生,因此其始終能找到至節點之最短路徑。跨距樹係資訊分配及收集之極高效形式,且在於其如何計算網路之新拓樸。
一般而言,類似跨距樹之結構在結構上被視為脆弱的:單一頂點或邊故障引起廣播故障。
拓樸更新問題係在每一網路站點處之網路拓樸為動態的時,亦即,在鏈路故障且在任意時間恢復時保持網路拓樸之知識最新的問題。任何拓樸演算法之正確操作在很大程度上取決於鏈路狀態改變(故障及修復)由網路節點偵測到之方式以及其他因素。
作為拓樸演算法之使用之基礎且在任何解決方案中應考量的挑戰中存在若干細微之處:
鏈路在短時間內可經歷若干拓樸改變。其他網路節點最終必須判定哪些改變係最近的。節點必須能夠區分關於鏈路之狀態的舊新資訊與新資訊。
當拓樸演算法在運行時,可發生額外拓樸改變。拓樸演算法必須能夠在執行期間併有新資訊,或能夠開始新的演算法版本。若使用不同版本,則每一節點必須能夠判定哪一者係最近版本。
單一鏈路之修復可使網路之已斷開連接的兩個部分重新連接。每一部分可能具有關於另一部分之過期拓樸資訊。演算法必須確保兩個部分最終達成一致,且適應正確的網路拓樸。
網路認識到自身內之改變的能力對於經由網路進行快速且有效之通信及對於網路充分運作係重要的。作為實例,為提供用於數位貨幣之快速支付網路,必須完全且快速地經由分散式網路共用交易及其他資訊。
在依賴於臨限密碼系統(threshold cryptosystems)以藉由將共用內容分配至參與者來保護秘密的方法中,首先建構由共同地持有秘密共用內容之子集的一組商家組成的網路。秘密共用內容之第二半部分由消費者持有。商家網路執行重要任務,諸如產生簽章、更新密鑰共用內容、定義臨限位準、驗證交易等。其合作及通信以及知曉網路拓樸之能力在此等情境中係必需的。
在以下描述中,吾人呈現允許每一商家節點維持網路拓樸之正確視圖而不管鏈路及節點故障的演算法。該演算法允許網路在有限數目個步驟內自動返回至穩定組態(所謂的「自穩定」),且使用邏輯時鐘來準確地捕獲事件之間的因果性。拓樸更新協定係事件驅動的,亦即,在偵測到某改變時啟動該協定。
系統包括用於進行以下操作之步驟:
偵測拓樸之改變;
根據發生時間對該等改變排序;及
建構反映改變之新拓樸。
為實現對本發明之完整描述,理解網路之數學模型係有用的。
參看圖1,提供一系列節點(標記為1至8)。該等節點中之每一者具備至另一節點之鏈路(或邊)。該系列節點形成集合,其中V係集合中之節點數目。
數學模型使用以下定義:
顯然,為了能夠考量拓樸改變,需要能夠偵測此改變。
拓樸改變可在任何時間發生。因此,吾人作出關於系統捕獲任何種類之初始故障的以下假設。網路中之每一節點
維持清單中之其鄰接鄰近者a
dj (i)的識別碼。節點
將測試訊息「吾仍作用(I'm alive)」週期性地發送至其鄰接節點。參看圖1,節點4僅發送此等訊息至節點1,而節點1將發送此等訊息至節點2、3、4、7、8。
「吾仍作用」訊息之分派頻率對錯誤偵測機制之效率的影響較大。為實現短的錯誤偵測時間,必須極頻繁地發送及檢查「吾仍作用」訊息。
節點
i中之每一處理器具有用以量測時間間隔之區域時鐘。不同節點處之時鐘彼此可能不同步。對於每一鏈路
,節點
為其鄰接節點
adj ( i )維持計時器
。若節點
在時間間隔
內並未自節點
接收到「吾仍作用」訊息,則其假定鏈路
不再可用且自其鄰接節點集合移除
。其接著更新其當前(可能錯誤的)拓樸表
。拓樸表係直接連接至節點
之鏈路的操作狀態之清單。因此,參看圖1,節點1將「吾仍作用」訊息發送至節點4,且節點4應將「吾仍作用」訊息發送至節點1。若節點1在所定義時間段內未自節點4接收到此訊息,則將節點4自節點1之拓樸表
T 1移除。接著,節點1之在拓樸表
T 1中的鄰接節點將僅係節點2、3、7及8。
以上考慮事項形成第一拓樸更新規則,即:
當節點偵測到鄰接鏈路已發生故障時,將故障狀態輸入於節點之主拓樸表中。
需要與節點集合
V中之其他節點共用此經更新之拓樸表。當此發生時,節點根據自鄰接節點接收之拓樸表更新其自身的拓樸表。因此,形成第二拓樸更新規則,即:
當節點自鄰近者接收到整個主拓樸表時,其藉由使用主拓樸更新演算法(下文所描述)來更新其主拓樸表。
對改變排序
如上文所提到,僅回應於已偵測到之拓樸改變而發送經更新之拓樸表訊息。由於在網路中發送之所有訊息經受延遲,因此節點永遠不能確定其在某時刻知曉正確拓樸。經更新之拓樸表訊息中之一或多者相較於另一經更新之拓樸訊息中所提到的狀態可能較舊且過期,而無關於其接收時間。因果排序廣播(如詳述於1996 IEEE之Raynal, M.及Singhal, M.的捕獲分散式系統中之因果性(Capturing Causality in Distributed Systems)中)確保若兩個訊息係因果關係且具有相同目的地,則將其以其發送次序遞送至應用程式。
本發明使用邏輯時鐘系統,其中每個節點(同級者)具有使用下文所描述之一組規則推進的邏輯時鐘。結果,每個訊息經指派有時戳,程序可藉由該時戳來推斷事件之間的因果關係。指派至事件之時戳遵從單調性;該等時戳始終遞增。亦即,若事件
以因果方式影響事件
,則
之時戳小於
之時戳。在該狀況下,事件
係事件
之結果。
邏輯時鐘根據以下規則而推進;向量時鐘。
除第
i個條目係1外,節點
上之初始區域事件的時戳皆係0。若
,則節點
知曉節點
處之區域時間已進展至
。向量
構成節點
之關於邏輯全域時間之視圖;節點
使用其對事件加時戳。所接收訊息之時戳係當前時戳及傳入向量時戳之逐元素最大值。
圖2中說明關於三個節點A、B及C的操作。在每一節點處,區域時間最初係0。當一事件在節點C處發生時,接著節點C將其區域時鐘時間增加至1且通知節點B。當節點B接收到訊息時,無其他事件已被通知節點B,且因此節點B區域時間仍係0。節點B現已經歷事件,且因此節點B將節點B區域時間更新1。由於節點B區域時間係0,因此此更新給出值1。另外,節點B亦藉由加上經更新之節點B區域時間(值現為1)或訊息中之節點B區域時間(在實例中係值0)中的較大者來修正節點B區域時間。因此,經修正之節點B區域時間係2,且節點B接著將改變通知節點A。
節點A經歷如下類似程序:更新1及藉由加上1來修正以產生至節點B之訊息A:2 B:2 C:1。當節點B接收到此訊息時,節點B已注意到另一獨立事件且已將彼事件傳達至C。因此,將節點B更新1,但修正係將1加至節點B區域時間(此刻係3)而非將1加至訊息中之節點B區域時間(此時僅係2)。因此,發送至A之新訊息具有值B:5 (3+1+1而非2+1+1)。
以相同方式處置後續訊息。由節點B在時間3發送之第二訊息獨立於上文所論述之其他訊息:訊息1 (C至B)、訊息2 (B至A)及訊息4 (A至B)及訊息5 (B至C)。
以上考慮事項形成邏輯時鐘更新規則,即:
1.在發送訊息之前,節點
更新其區域邏輯時間
。2.在自節點
adj ( i )接收到訊息
後,節點
即執行以下動作序列
a. 如下更新其邏輯全域時間:
adj( i) ,
圖3描繪在無任何失敗或丟失訊息之情況下廣播演算法的執行。吾人不指定廣播演算法(確定性或機率性),且吾人不提供對鄰近節點之定義。吾人假定節點1、2及3皆係鄰接節點,亦即,
adj(1)、
adj(2)且
adj(3)。節點1產生第一訊息
,根據所選擇之廣播演算法將該訊息任意或確定性地發送至節點2及3。由來自節點1之訊息
觸發的節點3產生新的第二訊息
,且將該訊息發送至節點1及2。由來自節點3之訊息
觸發的節點1產生新的第三訊息
,且將該訊息發送至節點2及3。
建構經更新之拓樸圖(topography)
下文論述在已偵測到改變且已確保節點處之該等改變之正確排序的情況下,節點建立新拓樸圖的方式。
以下演算法供每一節點
使用以建構其主拓樸視圖
。吾人將節點
與
之間的單一雙向鏈路稱作
或
。拓樸表
中之每一條目係鏈路
或
。鏈路可採用兩個值1或∞中之一者。當鏈路操作時,值設定為1。當鏈路不作用時,值設定為∞。
因此,更新鏈路之操作狀態的改變,添加返回操作狀態之鏈路及添加出現在網路中之新鏈路。當鏈路返回至網路或新鏈路被添加至網路時,拓樸演算法確保其具備最新拓樸表之複本。
以上考慮事項形成通信規則,即:
1. 當節點之主拓樸表中的鏈路狀態條目改變時,含有新拓樸表之訊息經發送至鄰近節點。
2. 當節點處之鏈路協定偵測到鄰接鏈路已變為可操作時,該節點經由該鏈路傳輸其整個主拓樸表。
用於該協定之合適程式碼的實例係:
1: for every
received do
2: begin
3: if
then
4: begin
5:
6: for every link
do
7: begin
8:
9: end
10: for every link
and
do
11: begin
12: if
then
13: begin
14:
15: end
16: end
17: end
18: end
現參看圖4中之網路描述拓樸更新演算法之工作實例。
因此,節點3具有相比節點1及2資訊更多且更完整之主拓樸視圖。
節點1及2 (亦即,
)檢查是否
。第一訊息係如此狀況,且因此節點1及2 (亦即,節點
)更新其邏輯時鐘
及其視圖
。實務上,此意謂將l
23添加至V
1,此係因為彼鏈路為節點1先前未知的。儘管鏈路l
45亦為節點1未知的,但未更新V
1以包括鏈路l
45,此係因為彼鏈路在可允許的鄰近節點限制之範圍外;
。節點1及2之T及V的所得更新係:
將以相同方式偵測、用訊息傳遞、排序及更新其他改變。
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不偏離本發明之如由所附申請專利範圍定義的範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被視為限制申請專利範圍。詞「包含(comprising及comprises)」及其類似者並不排除除任何請求項或說明書中整體列出之該等元件或步驟外的元件或步驟之存在。在本說明書中,「包含」意謂「包括或由……組成」。對元件之單數參考並不排除此類元件之複數參考,且反之亦然。本發明可借助於包含若干相異元件之硬體且借助於經合適程式化之電腦實施。在列舉若干構件之裝置請求項中,此等構件中之若干構件可由硬體之同一個項目體現。在相互不同之附屬請求項中敍述某些措施之純粹實情並非指示不能有利地使用此等措施之組合。
無
圖1係說明節點、鄰接節點及鄰近節點之網路拓樸圖的實例;
圖2係向量時鐘之系統的說明;
圖3描繪在不存在任何拓樸改變(失敗或丟失訊息)之情況下廣播演算法之執行;
圖4係用以描述本發明之實施例之操作的全域網路之說明;及
圖5係用以描述本發明之實施例的訊息根據時間在節點之間的交換的說明。
Claims (19)
- 一種更新一網路的關於該網路的拓樸的知識之計算機執行的方法,該方法包括: a) 藉由一網路中之一第一節點接收併有該網路的該拓樸的一改變之一拓樸資料集,該拓樸資料集與一時間指示相關聯; b) 該第一節點使一拓樸資料集與一時間指示相關聯: 其中若用於由該第一節點接收的該拓樸資料集之該時間指示比用於該第一節點的拓樸資料集之該時間指示更近,則用由該第一節點接收之該拓樸資料集更新該第一節點之拓樸資料集。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該方法進一步提供:該第一節點將任何經更新之第一節點拓樸資料集發送至該網路。
- 如請求項1或2所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該方法進一步提供:在步驟b)之後,當第二節點拓樸資料集引起對該第一節點拓樸資料集之一更新時,該第一節點將該經更新之第一節點拓樸資料發送至該網路。
- 如請求項2所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該第一節點具有鄰接節點,該等鄰接節點係在該第一節點之一給定鄰接度量內之該等節點,且該第一節點具有鄰近節點,該等鄰近節點係超出該第一節點之該給定鄰接度量且在該第一節點之一給定鄰近度量內的該等節點。
- 如請求項4所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該第一節點僅將該經更新之第一節點拓樸資料集發送至鄰接節點及鄰近節點。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中與由該第一節點接收之該拓樸資料集相關聯的該時間指示係由該節點產生,該拓樸資料集係自該節點提供。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該時間指示係由提供該拓樸資料集之該節點的一時間向量時鐘提供。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中第一節點之拓樸資料集係藉由以下操作中之一或多者更新: a) 改變該第一節點之拓樸資料集中所列的節點之間的一或多個鏈路之操作狀態; b) 添加未在該第一節點之拓樸資料集中列出的節點之間的一或多個鏈路; c) 移除在該第一節點之拓樸資料集中列出的節點之間的一或多個鏈路。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中更新該第一節點之拓樸資料的一條件係自在該網路中之一節點接收的該拓樸資料集含有不在該第一節點之拓樸資料集中的一或多個鏈路;連同另一條件係該第一節點之拓樸資料集僅自該網路中之一節點接收的該拓樸資料集中之在該節點之一給定度量內的此等鏈路而更新。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該方法進一步提供:由於該網路中之一第二節點偵測到該網路中之一事件,提供併有該網路的該拓樸的一改變之拓樸資料集。
- 如請求項10所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該事件係藉由該網路中之一節點發送至該第二節點的一訊息之停止而偵測到。
- 如請求項10或11所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該事件之該偵測產生該第二節點之拓樸資料集的一改變,且該第二節點之該拓樸資料集的該改變提供:該第二節點將該拓樸資料集之該改變至少發送至該網路中之該第一節點。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該方法進一步包含根據多個拓樸資料集之個別時間指示而對該多個拓樸資料集排序,該排序確定該多個拓樸資料集中之哪一者係該多個拓樸資料集中之最近者。
- 如請求項13所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該多個拓樸資料集中之該最近者用以更新該第一節點之拓樸資料集。
- 如請求項13或14所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該方法進一步提供:不使用或捨棄與最近時間指示不關聯之該拓樸資料集。
- 如請求項1所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法,其中該經更新之第一節點之拓樸資料集代替該先前第一節點之拓樸資料集。
- 一種經配置以執行如請求項1至16中任一項所述之更新一網路的關於該網路的拓樸的知識之計算機執行的方法的電腦實施系統。
- 如申請專利範圍第17項所述之電腦實施系統,該系統包括: a. 一偵測器,其用於偵測該網路之該拓樸之改變,該偵測器偵測影響一或多個節點及一或多個鏈路之改變的其中之一或二者; b. 一更新分類器,其用於將在該網路內傳達的經更新之拓樸資料集分類; c. 一拓樸資料集處理器,其用於處理拓樸資料集,使得藉由來自該網路中之其他節點之拓樸日期集合更新拓樸資料集;及 d. 一拓樸更新傳達器,其用於經更新之拓樸資料集,使得該網路之該拓樸的改變之該知識在該網路內共用。
- 一種在一節點網路內的用於針對該網路之拓樸之改變而更新該網路的配置,該配置包括: a. 一偵測器,其用於偵測該網路之該拓樸之改變; b. 一更新分類器,其用於將在該網路內傳達的經更新之拓樸資料集分類; c. 一拓樸資料集處理器,其用於處理拓樸資料集; d. 一拓樸更新傳達器,其用於經更新之拓樸資料集,使得該網路的該拓樸的改變之知識在該網路內共用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1701592.6A GB201701592D0 (en) | 2017-01-31 | 2017-01-31 | Computer-implemented system and method |
GB1701592.6 | 2017-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202228420A true TW202228420A (zh) | 2022-07-16 |
TWI806517B TWI806517B (zh) | 2023-06-21 |
Family
ID=58462608
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111111003A TWI806517B (zh) | 2017-01-31 | 2018-01-18 | 用於更新網路的關於網路拓樸的知識之電腦實施系統及方法 |
TW107101850A TWI763767B (zh) | 2017-01-31 | 2018-01-18 | 用於更新網路的關於網路拓樸的知識之電腦實施系統及方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107101850A TWI763767B (zh) | 2017-01-31 | 2018-01-18 | 用於更新網路的關於網路拓樸的知識之電腦實施系統及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11050821B2 (zh) |
EP (2) | EP3577858B1 (zh) |
JP (2) | JP7127035B2 (zh) |
CN (2) | CN116846809A (zh) |
GB (1) | GB201701592D0 (zh) |
TW (2) | TWI806517B (zh) |
WO (1) | WO2018142258A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294310B (zh) * | 2018-12-06 | 2022-04-29 | 上海西门子医疗器械有限公司 | 自动提取工作流程方法和在分布式系统中检测侵入方法 |
CN110149221B (zh) * | 2019-04-28 | 2022-09-20 | 众安信息技术服务有限公司 | 一种基于联盟链的自适应网络的构建方法及装置 |
CN110636113A (zh) * | 2019-08-23 | 2019-12-31 | 上海电力大学 | 区块链的拜占庭容错共识方法、系统、设备和存储介质 |
US11533233B2 (en) * | 2019-09-27 | 2022-12-20 | Apple Inc. | Techniques for selecting spanning tree among candidate links within an ad hoc network |
CA3098932C (en) * | 2019-11-06 | 2021-09-28 | Alipay (Hangzhou) Information Technology Co., Ltd. | Data security of shared blockchain data storage based on error correction code |
JP6852776B1 (ja) * | 2019-11-26 | 2021-03-31 | ダイキン工業株式会社 | ブロックチェーンシステム、プログラム及びネットワーク接続装置 |
US11689618B2 (en) * | 2019-12-18 | 2023-06-27 | Hitachi Energy Switzerland Ag | Data exchange and processing synchronization in distributed systems |
CN111314119B (zh) * | 2020-01-19 | 2023-06-27 | 合肥工业大学 | 不确定环境下无人平台信息感知网络快速重构方法和装置 |
KR102375937B1 (ko) * | 2020-10-29 | 2022-03-16 | (주)텔레필드 | 로드엠 기반 광 통신망에서 광 감시 채널을 이용한 토폴로지 정보 공유 장치 및 방법 |
CN112671584B (zh) * | 2020-12-25 | 2023-03-24 | 深圳深宝电器仪表有限公司 | 网络拓扑的识别方法、装置、系统和存储介质 |
CN113395173A (zh) * | 2021-05-27 | 2021-09-14 | 北京小米移动软件有限公司 | 信息交互方法、信息交互装置、终端及存储介质 |
CN113259459B (zh) * | 2021-06-02 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 区块链子网运行状态的控制方法和区块链系统 |
CN113572646B (zh) * | 2021-07-28 | 2024-04-02 | 上海欧冶金诚信息服务股份有限公司 | 一种适用于区块链节点外网部署的星型组网方法及系统 |
WO2023012867A1 (ja) * | 2021-08-02 | 2023-02-09 | 日本電信電話株式会社 | 情報処理装置、ノードの選択方法、及びプログラム |
CN113901619B (zh) * | 2021-09-28 | 2024-04-19 | 天津大学 | 一种基于偏相关分析的配电网网状拓扑识别方法 |
CN115314391B (zh) * | 2022-08-06 | 2024-04-26 | 北京工业大学 | 一种区块链网络拓扑动态建立和数据传输优化方法 |
CN115883364B (zh) * | 2022-12-21 | 2023-11-07 | 中山大学 | 一种分布式网络控制器动态优化方法 |
CN116896507B (zh) * | 2023-09-11 | 2023-12-01 | 成都汉度科技有限公司 | 一种基于融合终端和ltu的台区拓扑识别方法及系统 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781537A (en) * | 1995-07-07 | 1998-07-14 | International Business Machines Corporation | Setting up, taking down and maintaining connections in a communications network |
EP1063819B1 (en) | 1999-06-23 | 2004-12-22 | Sony International (Europe) GmbH | Calibration procedure for wireless networks with direct mode traffic |
US6816460B1 (en) | 2000-03-14 | 2004-11-09 | Lucent Technologies Inc. | Location based routing for mobile ad-hoc networks |
US7006453B1 (en) | 2000-03-14 | 2006-02-28 | Lucent Technologies Inc. | Location based routing for mobile ad-hoc networks |
US6836465B2 (en) | 2001-11-29 | 2004-12-28 | Ipsum Networks, Inc. | Method and system for path identification in packet networks |
DE10127880A1 (de) | 2001-06-11 | 2002-12-12 | Philips Corp Intellectual Pty | Dynamisches Netzwerk und Routing-Verfahren für ein dynamisches Netzwerk |
US7298707B2 (en) | 2004-01-21 | 2007-11-20 | Cisco Technology, Inc. | System and method for controlling the flooding of information in a network environment |
US7756017B2 (en) * | 2006-09-08 | 2010-07-13 | The Uwm Research Foundation, Inc. | System and method for scheduling routing table calculation in link state routing protocols |
EP2153577A4 (en) * | 2007-06-01 | 2011-08-24 | Nortel Networks Ltd | ESTABLISHMENT AND RESTORATION OF A CONNECTION IN A DISTRIBUTED ENVIRONMENT |
CN101374323A (zh) * | 2007-08-21 | 2009-02-25 | 华为技术有限公司 | 网络信息更新方法及系统 |
JP5292951B2 (ja) | 2008-07-03 | 2013-09-18 | 日本電気株式会社 | 経路制御方法、経路制御システム、経路制御装置、及び経路制御用プログラム |
FR2954644A1 (fr) | 2009-12-21 | 2011-06-24 | Thales Sa | Protocole de routage fiabilise |
US8644135B2 (en) | 2009-12-27 | 2014-02-04 | Sigma Designs Israel S.D.I. Ltd | Routing and topology management |
CN102668488A (zh) * | 2009-12-30 | 2012-09-12 | 中兴通讯股份有限公司 | 多协议标签交换系统中网络拓扑的更新方法及系统 |
CN102195857A (zh) * | 2010-03-18 | 2011-09-21 | 武汉迈威光电技术有限公司 | 一种网络拓扑结构与节点信息搜集方法 |
US8606847B2 (en) | 2010-05-28 | 2013-12-10 | Juniper Networks, Inc. | Application-layer traffic optimization service map updates |
US8953948B2 (en) * | 2011-02-23 | 2015-02-10 | Ciena Corporation | Optical transport network synchronization and timestamping systems and methods |
US8908539B1 (en) * | 2012-05-25 | 2014-12-09 | Google Inc. | Systems and methods for testing network connections of a centrally-controlled network |
CN103001887B (zh) * | 2012-11-22 | 2018-01-05 | 中兴通讯股份有限公司 | 一种链路保活方法、控制器及交换机 |
US9867096B2 (en) * | 2014-05-09 | 2018-01-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Uplink reconfiguration for split bearer in dual connectivity |
KR101564965B1 (ko) | 2015-05-14 | 2015-11-03 | 주식회사 티맥스 소프트 | 분산 서버 환경에서 벡터 클럭을 사용하여 메시지에 상대적인 순서를 부여하고 상기 부여된 상대적인 순서에 따라 메시지를 전달하기 위한 방법 및 장치 |
US10409782B2 (en) * | 2016-06-15 | 2019-09-10 | Chen Zhang | Platform, system, process for distributed graph databases and computing |
US20180063238A1 (en) * | 2016-08-25 | 2018-03-01 | Jiangang Zhang | Massively Scalable, Low Latency, High Concurrency and High Throughput Decentralized Consensus Algorithm |
-
2017
- 2017-01-31 GB GBGB1701592.6A patent/GB201701592D0/en not_active Ceased
-
2018
- 2018-01-18 TW TW111111003A patent/TWI806517B/zh active
- 2018-01-18 TW TW107101850A patent/TWI763767B/zh active
- 2018-01-29 US US16/482,229 patent/US11050821B2/en active Active
- 2018-01-29 CN CN202310969080.0A patent/CN116846809A/zh active Pending
- 2018-01-29 EP EP18704606.5A patent/EP3577858B1/en active Active
- 2018-01-29 WO PCT/IB2018/050515 patent/WO2018142258A1/en unknown
- 2018-01-29 CN CN201880006232.4A patent/CN110199500B/zh active Active
- 2018-01-29 EP EP21184624.1A patent/EP3952217A1/en active Pending
- 2018-01-29 JP JP2019539164A patent/JP7127035B2/ja active Active
-
2022
- 2022-08-17 JP JP2022129919A patent/JP7494256B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP3952217A1 (en) | 2022-02-09 |
CN110199500A (zh) | 2019-09-03 |
TWI806517B (zh) | 2023-06-21 |
GB201701592D0 (en) | 2017-03-15 |
CN116846809A (zh) | 2023-10-03 |
JP7494256B2 (ja) | 2024-06-03 |
JP2020505839A (ja) | 2020-02-20 |
JP7127035B2 (ja) | 2022-08-29 |
TW201832513A (zh) | 2018-09-01 |
EP3577858A1 (en) | 2019-12-11 |
WO2018142258A1 (en) | 2018-08-09 |
TWI763767B (zh) | 2022-05-11 |
JP2022159468A (ja) | 2022-10-17 |
EP3577858B1 (en) | 2021-09-15 |
US11050821B2 (en) | 2021-06-29 |
US20200053148A1 (en) | 2020-02-13 |
CN110199500B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI763767B (zh) | 用於更新網路的關於網路拓樸的知識之電腦實施系統及方法 | |
US10674486B2 (en) | System, security and network management using self-organizing communication orbits in distributed networks | |
Natoli et al. | The balance attack or why forkable blockchains are ill-suited for consortium | |
Natoli et al. | The balance attack against proof-of-work blockchains: The R3 testbed as an example | |
US11778021B2 (en) | Computer-implemented system and method for updating a network's knowledge of the network's topology | |
US9419854B1 (en) | Methods and systems for shared awareness through local observations and global state consistency in distributed and decentralized systems | |
KR102377841B1 (ko) | 서비스 존 기반의 계층적 합의 방법 및 장치 | |
CN109040198B (zh) | 信息生成和传递系统及方法 | |
Jesus et al. | Dependability in aggregation by averaging | |
Correia et al. | Worm-IT–a wormhole-based intrusion-tolerant group communication system | |
Jesus et al. | Fault-tolerant aggregation by flow updating | |
Fang et al. | Pelopartition: Improving blockchain resilience to network partitioning | |
Ramachandran et al. | Trinity: a distributed publish/subscribe broker with blockchain-based immutability | |
Veeresh et al. | Reliable fault tolerance system for service composition in mobile Ad Hoc network. | |
Duan et al. | Reliable communication models in interdependent critical infrastructure networks | |
JP2024100912A (ja) | ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法 | |
CN113010337B (zh) | 故障检测方法、总控节点、工作节点及分布式系统 | |
Wang et al. | Churn-tolerant leader election protocols | |
Fu et al. | Sink‐Convergence Cascading Model for Wireless Sensor Networks with Different Load‐Redistribution Schemes | |
Zhu et al. | Design of low-latency overlay protocol for blockchain delivery networks | |
Chang et al. | MR-Chord: A scheme for enhancing Chord lookup accuracy and performance in mobile P2P network | |
Duan et al. | Best effort broadcast under cascading failures in interdependent networks | |
CN117056131B (zh) | 基于区块链网络的数据处理方法及相关设备 | |
Blockchains et al. | Vijeth Aradhya¹ (), Seth Gilbert¹, and Aquinas Hobor¹, 2 1 National University of Singapore, Singapore, Singapore {varadhya, seth. gilbert}@ comp. nus. edu. sg 2 University College London, London, UK a. hobor@ cs. ucl. ac. uk | |
Yu et al. | D-CAST: Distributed Consensus Switch in Wireless Trustworthy Autonomous System |