TWI598852B - 由分散系統中的裝置執行的方法及分散系統的裝置 - Google Patents

由分散系統中的裝置執行的方法及分散系統的裝置 Download PDF

Info

Publication number
TWI598852B
TWI598852B TW103131973A TW103131973A TWI598852B TW I598852 B TWI598852 B TW I598852B TW 103131973 A TW103131973 A TW 103131973A TW 103131973 A TW103131973 A TW 103131973A TW I598852 B TWI598852 B TW I598852B
Authority
TW
Taiwan
Prior art keywords
consensus
decentralized
data set
devices
available devices
Prior art date
Application number
TW103131973A
Other languages
English (en)
Other versions
TW201528217A (zh
Inventor
馬西亞斯 布魯斯
歐爾 布羅格蘭
Original Assignee
安訊士有限公司
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 安訊士有限公司 filed Critical 安訊士有限公司
Publication of TW201528217A publication Critical patent/TW201528217A/zh
Application granted granted Critical
Publication of TWI598852B publication Critical patent/TWI598852B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Alarm Systems (AREA)

Description

由分散系統中的裝置執行的方法及分散系統的裝置
本發明一般而言係關於進入控制系統,且更具體而言係關於分散進入控制系統中之共識失去。
一分散系統可包含進行通信且協調其行動以達成一組任務之組件。舉例而言,一分散系統中之電腦可經由一網路通信以便協調而求解一演算法。為了成功地協調獨立電腦上之同時操作(諸如資料及資源管理或處理步驟之同步),可需要實施一分散演算法。已開發用以協調一分散系統之組件之各種分散演算法。
根據一項態樣,一種由一分散系統中之一裝置執行之方法可包含:由該裝置偵測該分散系統中之另一裝置已變得不可用;由該裝置基於偵測到該另一裝置已變得不可用而判定已在該分散系統中發生一共識失去;由該裝置產生該分散系統中之可用裝置之一清單;及由該裝置將一報警訊息發送至一管理裝置,其中該報警訊息指示該共識失去,且其中該報警訊息包含可用裝置之該清單。
另外,該方法可包含自該管理裝置接收創建包含在該清單中所包含之該等可用裝置中之至少某些可用裝置之一基於共識之分散系統的一指令;及回應於接收到該指令而創建該基於共識之分散系統。
另外,創建該基於共識之分散系統可包含選擇產生一法定數所需之一裝置數目,其中該數目對應於達成一大多數所需要之來自該等可用裝置之一最小裝置數目。
另外,該方法可包含給該等可用裝置中之該至少某些可用裝置中之一裝置指派一投票權重,其中當該裝置正在該所創建之該基於共識之分散系統中針對一法定數投票時,該投票權重對自該裝置接收之一投票賦予比自該等可用裝置中之該至少某些可用裝置中之另一裝置接收之一投票大之權重。
另外,該投票權重可基於以下各項中之至少一者:該裝置之一位置;該裝置在複數個實體進入控制裝置之一特定子集中之一成員資格;與該裝置相關聯之一裝置類型;指派給該裝置之一威脅位準;或與該裝置相關聯之一可靠性度量。
另外,該投票權重可基於以下各項中之至少一者:與該裝置相關聯之一或多個所紀錄事件;與該裝置相關聯之一周邊裝置之一啟動頻率;或與該裝置相關聯之一管理登入頻率。
另外,偵測該分散系統中之另一裝置已變得不可用可包含以下各項中之至少一者:偵測至該另一裝置之一連接已失去;自該另一裝置接收到裝置失效之一指示;或偵測該另一裝置與一安全漏洞相關聯。
另外,將該報警訊息發送至該管理裝置可包含以下各項中之至少一者:將一Web服務訊息發送至該管理裝置;將一電子郵件訊息發送至該管理裝置;將一短訊息服務訊息發送至該管理裝置;或將一即時服務品質訊息發送至該管理裝置。
另外,該方法可包含維持該分散系統中之可用裝置之該清單;及以特定間隔更新可用裝置之該清單。
另外,該分散系統可包含一分散資料集,且該方法可進一步包 含:回應於判定已在該分散系統中發生一共識失去而產生一應急分散資料集,其中該應急分散資料集係基於該分散資料集;及回應於判定已在該分散系統中發生一共識失去而創建包含在該清單中所包含之該等可用裝置之一應急基於共識之分散系統,其中該應急基於共識之分散系統使用該應急分散資料集。
另外,該方法可進一步包含自該管理裝置接收創建包含在該清單中所包含之該等可用裝置之一基於共識之分散系統的一指令;及回應於接收到創建該基於共識之分散系統之該指令而將來自該應急分散資料集之資料併入至該分散資料集中。
另外,該裝置可對應於一嵌入式系統。
另外,該分散系統可包含一分散實體進入控制系統,且其中該裝置及該另一裝置對應於實體進入控制單元。
根據另一方面,一種屬於一分散系統之裝置可包含邏輯,該邏輯經組態以:偵測該分散系統中之另一裝置已變得不可用;基於偵測到該另一裝置已變得不可用而判定已在該分散系統中發生一共識失去;產生該分散系統中之可用裝置之一清單;及將一報警訊息發送至一管理裝置,其中該報警訊息指示該共識失去,且其中該報警訊息包含可用裝置之該清單。
另外,該邏輯可進一步經組態以自該管理裝置接收創建包含在該清單中所包含之該等可用裝置中之至少某些可用裝置之一基於共識之分散系統的一指令;及回應於接收到該指令而創建該基於共識之分散系統。
另外,當該邏輯正創建該基於共識之分散系統時,該邏輯可進一步經組態以選擇產生一法定數所需之一裝置數目,其中該數目對應於達成一大多數所需要之來自該等可用裝置之一最小裝置數目。
另外,當該邏輯正創建該基於共識之分散系統時,該邏輯可進 一步經組態以給該等可用裝置中之該至少某些可用裝置中之一裝置指派一投票權重,其中當該裝置正在該所創建之該基於共識之分散系統中針對一法定數投票時,該投票權重對自該裝置接收之一投票賦予比自該等可用裝置中之該至少某些可用裝置中之另一裝置接收之一投票大之權重。
另外,該投票權重可基於以下各項中之至少一者:該裝置之一位置;該裝置在複數個實體進入控制裝置之一特定子集中之一成員資格;與該裝置相關聯之一裝置類型;指派給該裝置之一威脅位準;與該裝置相關聯之一可靠性度量;與該裝置相關聯之一或多個所紀錄事件;與該裝置相關聯之一周邊裝置之一啟動頻率;或與該裝置相關聯之一管理登入頻率。
另外,當該邏輯偵測該分散系統中之另一裝置已變得不可用時,該邏輯可經組態以偵測至該另一裝置之一連接已失去;自該另一裝置接收到裝置失效之一指示;或偵測該另一裝置與一安全漏洞相關聯。
另外,當將該報警訊息發送至該管理裝置時,該邏輯可進一步經組態以將一Web服務訊息發送至該管理裝置;將一電子郵件訊息發送至該管理裝置;將一短訊息服務訊息發送至該管理裝置;或將一即時服務品質訊息發送至該管理裝置。
另外,該分散系統可包含一分散資料集,且該邏輯可進一步經組態以:回應於判定已在該分散系統中發生一共識失去而產生一應急分散資料集,其中該應急分散資料集係基於該分散資料集;回應於判定已在該分散系統中發生一共識失去而創建包含在該清單中所包含之該等可用裝置之一應急基於共識之分散系統,其中該應急基於共識之分散系統使用該應急分散資料集;自該管理裝置接收創建包含在該清單中所包含之該等可用裝置之一基於共識之分散系統的一指令;及回 應於接收到創建該基於共識之分散系統之該指令而將來自該應急分散資料集之資料併入至該分散資料集中。
另外,該分散系統可包含一分散實體進入控制系統,且其中該裝置及該另一裝置對應於實體進入控制單元。
根據又一態樣,一分散系統可包含複數個實體進入控制裝置,其中該複數個實體進入控制裝置中之特定一者經組態以:偵測該分散系統中之另一裝置已變得不可用;基於偵測到該另一裝置已變得不可用而判定已在該分散系統中發生一共識失去;產生該分散系統中之可用裝置之一清單;及將一報警訊息發送至一管理裝置,其中該報警訊息指示該共識失去,且其中該報警訊息包含可用裝置之該清單;自該管理裝置接收創建包含在該清單中所包含之該等可用裝置中之至少某些可用裝置之一基於共識之分散系統之一指令;及回應於接收到該指令而創建該基於共識之分散系統。
100‧‧‧例示性環境/環境
110‧‧‧分散實體進入控制系統/分散系統/控制系統/分散控制系統
115‧‧‧裝置/實體進入控制器/系統單元/第一系統單元/第二系統單元/多系統單元/可用系統單元/新系統單元/失效之系統單元/受危害之系統單元/所復原之系統單元/可用裝置
115-A‧‧‧系統單元
115-B‧‧‧系統單元
115-C‧‧‧系統單元
115-D‧‧‧系統單元
115-E‧‧‧系統單元
115-F‧‧‧系統單元
115-N‧‧‧系統單元
120‧‧‧網路
130‧‧‧管理裝置/管理員裝置
210‧‧‧控制器/邏輯
212‧‧‧匯流排
214‧‧‧處理器
216‧‧‧記憶體
218‧‧‧網路介面
220‧‧‧周邊介面
230‧‧‧周邊裝置
240‧‧‧讀取器裝置
250‧‧‧鎖裝置
260‧‧‧感測器
270‧‧‧致動器
310‧‧‧應用程式開發介面層
320‧‧‧應用程式層
322‧‧‧進入控制邏輯應用程式
324‧‧‧門控制應用程式
326‧‧‧讀取器控制應用程式
328‧‧‧事件處置應用程式
330‧‧‧時間表處置應用程式
332‧‧‧共識失去模組
340‧‧‧分散層
350‧‧‧儲存層
352‧‧‧組態資料
354‧‧‧憑證資料
356‧‧‧進入規則資料/進入規則
358‧‧‧共識資料庫
400‧‧‧分散資料集記錄/資料集記錄
410‧‧‧分散資料集欄位
420-A至420-N‧‧‧系統單元欄位
430-A至430-N‧‧‧可用性欄位
440‧‧‧共識欄位
450‧‧‧報警欄位
610‧‧‧匯流排
620‧‧‧處理器
630‧‧‧記憶體
640‧‧‧輸入裝置
650‧‧‧輸出裝置
660‧‧‧通信介面
800‧‧‧例示性實體佈局/實體佈局
810‧‧‧牆壁
820‧‧‧門
830‧‧‧安全區
900‧‧‧例示性實體佈局/實體佈局
910‧‧‧建築物
920-A‧‧‧房間
920-B‧‧‧房間
920-C‧‧‧房間
920-D‧‧‧房間
920-E‧‧‧房間
920-F‧‧‧房間
930‧‧‧區域網路
1000‧‧‧網路拓撲
1010-A‧‧‧乙太網路交換器
1010-B‧‧‧乙太網路交換器
1020‧‧‧斷裂之鏈路
1030‧‧‧表
1040‧‧‧信號流
1042‧‧‧主資料庫共識失去報警
1044‧‧‧主資料庫共識失去報警
1046‧‧‧建築物計數器共識失去報警
1048‧‧‧主資料庫共識失去報警
1050‧‧‧主資料庫共識失去報警
1052‧‧‧房間C計數器共識失去報警
1054‧‧‧主資料庫共識失去報警
1056‧‧‧主資料庫共識失去報警
1058‧‧‧建築物計數器共識失去報警
1100‧‧‧例示性使用者介面/使用者介面
1110‧‧‧主資料庫分散資料集清單
1120‧‧‧建築物計數器分散資料集清單
1130‧‧‧房間C計數器分散資料集清單
圖1係圖解說明根據本文中所描述之一實施例之一例示性環境之一方塊圖;圖2係圖解說明圖1之一系統單元之例示性組件之一方塊圖;圖3A及圖3B係圖解說明圖1之系統單元之例示性功能組件之方塊圖;圖4係可儲存於圖3B之共識資料庫中之例示性資訊之一圖式;圖5係在一項實施例中用於處理一分散控制系統中之共識失去之一流程圖;圖6係圖解說明圖1之管理裝置之例示性組件之一圖式;圖7係在一項實施例中用於處理自一分散控制系統之系統單元接收之共識失去報警之一流程圖;圖8係圖解說明圖1之系統單元之一例示性實體佈局之一平面佈 置圖;圖9係圖解說明圖1之系統之一例示性實體佈局之一平面佈置圖;圖10A至圖10C係根據本文中所描述之一或多項實施方案之一例示性共識失去情境之圖式;及圖11係根據本文中所描述之一或多項實施方案之一例示性使用者介面之一圖式。
以下詳細描述參考附圖。不同圖式中之相同元件符號識別相同或類似元件。
本文中所描述之實施方案係關於分散控制系統中之共識失去。在一項實施例中,一分散控制系統可包含一分散實體進入控制系統。一實體進入控制系統可包含一或多個控制或系統單元,每一控制或系統單元控制對一設施之一區之實體進入。舉例而言,控制或系統單元可自一使用者獲得憑證,且若該使用者之憑證被驗證,則可將一門鎖開鎖。在其他實施方案中,一分散控制系統可包含一分散建築物管理系統、一分散監視系統、一分散安全系統及/或另一類型之一分散控制系統。
一分散控制系統可使用一分散演算法執行分散計算操作。舉例而言,一分散控制系統可管理一分散資料庫。一分散演算法可包含一共識演算法。一共識演算法可要求在執行一操作之前,由一分散系統中之節點達成一共識。舉例而言,為了採用一共識演算法更新一分散資料庫,該分散系統中之節點達成一共識來執行該更新。然後,當達成共識時,該等節點(例如,所有節點)可同意一所提議操作(例如,對一分散資料庫之一改變)。若針對一所提議操作獲得一法定數,則可達成一共識。若該等節點中之大多數投票贊成所提議操作,則可達到 一法定數。在此實施例中,要求大多數節點投票贊成一改變可確保,若正在考量兩個衝突之所提議改變,則至少一個節點接收到所提議改變兩者且選擇投票贊成所提議改變中之一者。
若無法達到一法定數,則可發生一分散系統中之一共識失去。舉例而言,若特定數目個節點失效或不可接達,則可能不能獲得針對一所提議操作之一法定數,且分散系統可能不能繼續操作。可藉由改變系統中之節點之數目或藉由將備用節點帶入至系統中來自動地處置一共識失去。然而,在分散控制系統中,此類解決方案可能係不合意的。舉例而言,改變系統中之節點之數目或帶入備用節點可改變系統之功能性。作為另一實例,備用節點可能係不可用的。作為又一實例,若一分散控制系統中之兩個節點子集之間的通信被中斷且使用每一子集中之可用節點自動地創建一新基於共識之系統,則可發生一裂腦問題。在一裂腦問題中,兩個子集各自形成其自身之分散系統,從而導致維持一分散資料集之兩個版本。
本文中所描述之實施方案可包含一種在一分散系統中之裝置,其經組態以:偵測該分散系統中之另一裝置已變得不可用且基於偵測到該另一裝置已變得不可用而判定已在該分散系統中發生一共識失去。該裝置可經組態以產生該分散系統中之可用裝置之一清單且將一報警訊息發送至一管理裝置。該報警訊息可指示已發生一共識失去,且可包含可用裝置之該清單。一管理員可基於可用裝置之所產生清單而判定是否將創建新一分散系統。使用可用裝置產生一新分散系統可在某些情況下係合意的且在其他情況下係不合意的。該裝置可經組態以自該管理裝置接收創建包含在該清單中所包含之該等可用裝置中之至少某些可用裝置之一基於共識之分散系統的一指令且回應於接收到該指令而創建該基於共識之分散系統。產生可用裝置之一清單並需要來自一管理員之對使用該等可用裝置形成一新基於共識之系統之核准 可防止一基於共識之分散系統中之一裂腦問題。
圖1係可在其中實施下文所描述之系統及/或方法之一例示性環境100之一方塊圖。如圖1中所展示,環境100可包含一控制系統110(例如,一分散實體進入控制系統)、一網路120及一管理裝置130。
分散控制系統(DCS)110可包含一分散計算系統,該分散計算系統包含系統單元115-A至115-N(統稱為「系統單元115」且個別地稱為「系統單元115」)。系統單元115可實施為一嵌入式系統。在某些實施方案中,系統單元115可包含一實體進入控制裝置。舉例而言,系統單元115可包含控制對一安全區(諸如一房間或一房間群組)之進入之一進入控制器。系統單元115可經由一讀取器裝置接收憑證(例如,進入卡憑證)且判定該等憑證是否係真實的且與進入該安全區之授權相關聯。若如此,則該進入控制器可發出打開一門上之一鎖或執行與授予進入該安全區相關聯之其他操作之一命令。在其他實施方案中,系統單元115可包含一不同類型之安全裝置,諸如一監視裝置、控制一機器之操作之一裝置等等。
DCS 110可包含一或多個分散資料集。一分散資料集包含與多個裝置相關聯之一資料集,其中在一項實施例中,多個裝置可彼此通信及協調以對該資料集做出改變。在一項實施例中,與分散資料集相關聯之每一裝置維持該分散資料集之一區域複本,且若該等裝置同意一改變,則將該改變複製至分散資料集之區域複本。在另一實施例中,舉例而言,並非所有裝置皆儲存分散資料集之一區域複本。
在某些實施例中,達成共識以便對分散資料集(例如,一基於共識之分散資料庫)做出一改變。在其他實施例中,可在無共識之情況下對分散資料集做出一改變。一分散資料集可與所有系統單元115相關聯或可與系統單元115之一子集相關聯。一系統單元115可提議對一基於共識之分散資料集之一改變。若與分散資料集相關聯之法定數之 系統單元115接受了改變,則可達成一共識,且可將改變傳播至每一相關聯系統單元115中之分散資料集之每一區域複本。因此,若法定數之相關聯系統單元115投票贊成分散資料集之一改變,則可達成關於該改變之一共識。一法定數可對應於相關聯系統單元115之最小大多數。因此,若一分散資料集與N個系統單元115相關聯,則在N/2+1個相關聯系統單元115投票贊成改變之情況下(若N係一偶數)或在(N-1)/2+1個相關聯系統單元115投票贊成改變之情況下(若N係一奇數),可達到一法定數。需要一最小大多數達到一法定數可確保在考量兩個衝突提議時,至少一個系統單元115接收到兩個提議且選擇該等提議中之一者以達成共識。
一基於共識之分散資料集可確保與分散資料集相關聯之任何系統單元115皆包含由該分散資料集管理之資訊(例如,在一項實施例中,所有資訊)。舉例而言,一分散資料集可包含進入規則,且該等進入規則可用於與該分散資料集相關聯之任何系統單元115。因此,由於一或多個分散資料集,在一項實施例中,DCS 110可對應於不具有中央控制裝置(諸如一伺服器裝置)之一非集中式系統。在其他實施例中,DCS 110可包含一非集中式系統及一中央控制裝置(諸如一伺服器裝置)兩者。對DCS 110之改變可在任何系統單元115處組態,且若改變與一分散資料集相關聯,則可將該改變傳播至與該分散資料集相關聯之其他系統單元115。此外,DCS 110可相對於裝置失效展現穩健性,此乃因可避免一單個失效點。舉例而言,若一特定系統單元115失效,則其他系統單元115可繼續操作而不會丟失資料(或使資料丟失最小化)。此外,可動態地改變DCS 110。舉例而言,可在任何時間添加應用且可視需要將新資料集儲存於系統單元115中。
DCS 110亦可包含非分散之資料集。作為一實例,一第一系統單元115可包含不包含於任何其他系統單元115中之一區域資料集。作為 另一實例,一第一系統單元115可包含以一非分散方式複製至一第二系統單元115(諸如藉由鏡射)之一區域資料集。作為又一實例,一第一系統單元115可包含一區域資料集之一第一版本且一第二系統單元115可包含區域資料集之一第二版本,其中第一系統單元115維持區域資料集之第一版本且第二系統單元115維持區域資料集之第二版本。在又一實例中,一第一系統單元115可自一分散資料集導出一第一區域資料集且一第二系統單元115可自分散資料集導出一第二區域資料集,其中該第一區域資料集不同於該第二區域資料集。
網路120可使得系統單元115能夠彼此通信及/或可使得管理裝置130能夠與特定系統單元115通信。網路120可包含一或多個電路交換網路及/或封包交換網路。舉例而言,網路120可包含一區域網路(LAN)、一廣域網路(WAN)、一都會區域網路(MAN)、一公共交換電話網路(PSTN)、一臨機操作網路、一內部網路、網際網路、一基於光纖之網路、一無線網路及/或此等或其他類型網路之一組合。
管理裝置130可使得一管理員能夠連接至一特定系統單元115以便組態DCS 110、改變DCS 110之一組態、自DCS 110接收資訊及/或以其他方式管理DCS 110。管理裝置130可包含經組態以與一系統單元115通信之任何裝置。舉例而言,管理裝置130可包含一可攜式通信裝置(例如,一行動電話、一智慧型電話、一平板電話裝置、一全球定位系統(GPS)裝置及/或另一類型之無線裝置);一個人電腦或工作站;一伺服器裝置;一膝上型電腦;平板電腦或另一類型之可攜式電腦;及/或具有通信能力之任何類型之裝置。
雖然圖1展示環境100之例示性組件,但在其他實施方案中,環境100相比圖1中所繪示之組件可包含更少之組件、不同之組件、不同配置之組件或額外組件。另外或另一選擇係,環境100中之任一裝置(或任何裝置群組)可執行描述為由環境100中之一或多個其他裝置執 行之功能。舉例而言,在某些實施方案中,系統單元115可包含一輸入及/或輸出裝置(例如,鍵盤/小鍵盤及顯示器、觸控螢幕等等),且可不需要管理裝置130。
圖2係圖解說明一系統單元115之例示性組件之一方塊圖。如圖2中所展示,系統單元115可包含一控制器210及一或多個周邊裝置230。控制器210可控制系統單元115之操作,可與其他系統單元115通信,可與管理裝置130通信,及/或可控制周邊裝置230。控制器210可包含一匯流排212、一處理器214、一記憶體216、一網路介面218、一周邊介面220及一外殼222。
匯流排212可包含准許控制器210之組件當中之通信之一路徑。處理器214可包含任何類型之單核心處理器、多核心處理器、微處理器、基於鎖存器之處理器及/或解譯並執行指令之處理邏輯(或處理器、微處理器及/或處理邏輯之族群)。在其他實施例中,處理器214可包含一特殊應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)及/或另一類型之積體電路或處理邏輯。
記憶體216可包含可儲存供由處理器214執行之資訊及/或指令之任何類型之動態儲存裝置,及/或可儲存供由處理器214使用之資訊之任何類型之非揮發性儲存裝置。舉例而言,記憶體216可包含一隨機存取記憶體(RAM)或另一類型之動態儲存裝置、一唯讀記憶體(ROM)裝置或另一類型之靜態儲存裝置、一內容可定址記憶體(CAM)、一磁性及/或光學記錄記憶體裝置及其對應磁碟機(例如,一硬碟機、光學磁碟機等等)及/或一可抽換形式之記憶體,諸如一快閃記憶體。
網路介面218可包含一收發器(例如,一傳輸器及/或一接收器),該收發器使得控制器210能夠經由有線通信鏈路(例如,導電線、雙絞線纜線、同軸纜線、傳輸線、光纖纜線及/或波導等等)、無線通信鏈路(例如,射頻(RF)、紅外線及/或視覺光學器件等等)或無線與有線通 信鏈路之一組合與其他裝置及/或系統通信(例如,傳輸及/或接收資料)。網路介面218可包含將基頻信號轉換為RF信號之一傳輸器及/或將RF信號轉換為基頻信號之一接收器。網路介面218可耦合至用於傳輸及接收RF信號之一天線。
網路介面218可包含一邏輯組件,該邏輯組件包含輸入及/或輸出埠、輸入及/或輸出系統及/或促進將資料傳輸至其他裝置之其他輸入及輸出組件。舉例而言,網路介面218可包含用於有線通信之一網路介面卡(例如,乙太網路卡)及/或用於無線通信之一無線網路介面(例如,一WiFi)卡。網路介面218亦可包含用於經由一纜線通信之一通用串列匯流排(USB)埠、一BluetoothTM無線介面、一射頻識別(RFID)介面、一近場通信(NFC)無線介面及/或將資料自一種形式轉換為另一形式之任何其他類型之介面。
周邊介面220可經組態以與一或多個周邊裝置230通信。舉例而言,周邊介面220可包含一或多個邏輯組件,該等邏輯組件包含輸入及/或輸出埠、輸入及/或輸出系統及/或促進將資料傳輸至周邊裝置230之其他輸入及輸出組件。作為一實例,周邊介面220可使用一串列周邊介面匯流排協定(諸如一韋根(Wiegand)協定、一RS-485協定及/或另一類型之協定)與周邊裝置通信。作為另一實例,周邊介面220可使用一不同類型之協定。在一項實施例中,網路介面218亦可充當用於將周邊裝置230耦合至控制器210之一周邊介面。
外殼222可封圍控制器210之組件且可保護控制器210之組件免受環境影響。在一項實施例中,外殼222可包含周邊裝置230中之一或多者。在另一實施例中,外殼222可包含管理裝置130。外殼222在一多系統單元115/控制器210系統中界定一個系統單元115及/或控制器210與其他系統單元115及/或控制器210之邊界。
如下文所描述,控制器210可執行與管理一分散系統中之共識失 去相關之特定操作。控制器210可由於一ASIC之硬連線電路而執行此等操作。控制器210亦(或另一選擇係)可回應於處理器214執行一電腦可讀媒體(諸如記憶體216)中所含有之軟體指令而執行此等操作。一電腦可讀媒體可包含一非暫時性記憶體裝置。一記憶體裝置可實施於一單個實體記憶體裝置內或跨越多個實體記憶體裝置散佈。可將軟體指令自另一電腦可讀媒體或自另一裝置讀取至記憶體216中。記憶體216中所含有之軟體指令可致使處理器214執行本文中所描述之程序。因此,本文中所描述之實施方案並不限於硬體電路與軟體之任何特定組合。
周邊裝置230可包含將資訊提供至控制器210、由控制器210控制及/或以其他方式與控制器210通信之一或多個裝置。舉例而言,周邊裝置230可包含一讀取器裝置240、一鎖裝置250、一感測器260及/或一致動器270。儘管出於說明性目的而在圖2中展示一單個讀取器裝置240、一單個鎖裝置250、一單個感測器260及一單個致動器270,但實際上,周邊裝置230可包含多個讀取器裝置240、多個鎖裝置250、多個感測器260及/或多個致動器270。在某些實施方案中,周邊裝置230可不包含圖2中所展示之裝置中之一或多者。另外或另一選擇係,周邊裝置230可包含圖2中未展示之任何其他類型之安全裝置。
讀取器裝置240可包含自一使用者讀取憑證並將該等憑證提供至控制器210之一裝置。舉例而言,讀取器裝置240可包含經組態以自一使用者接收一文數個人識別號碼(PIN)之一小鍵盤;用以組態在一磁條或另一類型之儲存裝置(諸如一RFID標籤)上儲存一卡代碼之一卡之一讀卡器;經組態以讀取一使用者之指紋之一指紋讀取器;經組態以讀取一使用者之虹膜之一虹膜讀取器;一麥克風及經組態以記錄一使用者之話音標誌之一話音標誌識別器;一近場通信NFC讀取器;及/或另一類型之讀取器裝置。讀取器裝置240可包含可提供憑證之任何 類型之安全裝置,且可包含一或多個感測器裝置,諸如下文參考感測器260所描述之任何感測器裝置。舉例而言,讀取器裝置240可包含用於面部辨識之一攝影機及/或用於話音辨識之一麥克風。
鎖裝置250可包含由控制器210控制之一鎖。鎖裝置250可鎖住一門(例如,防止其打開或關閉)、一窗戶、一HVAC通風孔及/或至一安全區之另一類型之進入開口。舉例而言,鎖裝置250可包含一電磁鎖;具有由控制器210控制之一馬達之一機械鎖;一機電鎖;及/或另一類型之鎖。此外,鎖裝置250可進行一機器、運輸運載工具、電梯及/或一電裝置之鎖住/開鎖操作。
感測器260可包含一感測器裝置。作為實例,感測器260可包含:用以感測一門打開還是關閉之一門感測器;一可見光監視攝影機、一紅外線(IR)光監視攝影機、一熱標誌監視攝影機及/或另一類型之監視裝置;一報警感測器,諸如一運動感測器、一熱感測器、一壓力感測器及/或另一類型之報警感測器;一音訊記錄裝置(例如,麥克風);一篡改感測器,諸如位於系統單元115內側之一位置感測器;及/或位於與系統單元115相關聯之一安全區內之一「外出請求」按鈕;及/或另一類型之感測器裝置。
致動器270可包含一致動器裝置。作為一實例,致動器270可控制一照明裝置。作為其他實例,致動器270可包含:一防盜報警啟動器;用以播放訊息或產生報警信號之一揚聲器;一顯示裝置;用以移動感測器260(例如,控制一攝影機或其他監視裝置之視域)之一馬達;用於打開/關閉一門、窗戶、HVAC通風孔及/或與一安全區相關聯之另一開口之一馬達;用以將鎖裝置250固定於一鎖住或未鎖位置中之一馬達;一滅火裝置;及/或另一類型之致動器裝置。
雖然圖2展示系統單元115之例示性組件,但在其他實施方案中,系統單元115相比圖2中所繪示之組件可包含更少之組件、不同之 組件、額外組件或不同配置之組件。另外或另一選擇係,系統單元115之任何組件(或任何組件群組)可執行描述為由系統單元115之一或多個其他組件執行之任務(或若干任務)。舉例而言,在某些實施方案中,周邊介面220可對應於一網路介面。作為另一實例,在某些實施方案中,周邊裝置230可經由網路介面218而非經由周邊介面220連接至控制器210。
此外,雖然DCS 110可包含一實體進入分散控制系統,但其他實施方案可控制除實體進入系統之外的系統。另一方面,DCS 110可包含任何類型之實體進入控制系統(例如,在一操作環境中),諸如用於打開及/或關閉一門或控制對一建築物或設施之實體進入之一控制系統。DCS 110亦可包含用以控制一風扇(例如,起動或停止)、用以起始一建築物管理系統中之一報警(例如,失敗之鑒認、成功之鑒認等等)或用以控制一工業自動化系統中之一機器人臂之一系統。
圖3A及圖3B係圖解說明系統單元115之例示性功能組件之方塊圖。舉例而言,可經由一或多個ASIC之硬連線電路來實施系統單元115之功能組件。另外或另一選擇係,可由執行來自記憶體216之指令之處理器214來實施系統單元115之功能組件。圖3A圖解說明系統單元115之功能層。如圖3A中所展示,系統單元115可包含一應用程式開發介面(API)層310、一應用程式層320、一分散層340及一儲存層350。
API層310包含經組態以(例如)與管理裝置130通信之一API。作為一實例,當一管理員使用管理員裝置130登入至系統單元115中時,API層310可與管理員裝置130通信以鑒認管理員。作為另一實例,API層310可與管理員裝置130通信以改變系統單元115之一組態。API層310可自管理員裝置130接收資料並將該資料提供至分散層340及/或儲存層350。API層310亦可與管理員裝置130通信以在應用程式層320 中安裝一應用程式。API層310可經組態以處置不同管理員類型。舉例而言,API層310可包含用以處置一Web服務管理員、一Linux管理員、一開放網路視訊介面論壇(ONVIF)管理員之一API及/或另一類型之API。
應用程式層320包含安裝於系統單元115上之一或多個應用程式。圖3B展示例示性應用程式。如圖3B中所展示,應用程式層320可包含一進入控制邏輯應用程式322、一門控制應用程式324、一讀取器控制應用程式326、一事件處置應用程式328、一時間表處置應用程式330及/或一共識失去模組332。
進入控制邏輯應用程式322可基於所接收憑證且基於所儲存進入規則而判定是否授予進入。門控制應用程式324可控制一或多個門及/或相關聯鎖裝置250。舉例而言,門控制應用程式324可判定一門打開還是關閉及/或鎖住還是未鎖,且可操作一或多個裝置以打開或關閉門及/或將門鎖住或開鎖。讀取器控制應用程式326可控制一或多個讀取器裝置240且可獲得並處理自一或多個讀取器裝置240接收之憑證。事件處置應用程式328可維持由系統單元115記錄或產生及/或由另一系統單元115記錄之事件之一紀錄。事件處置應用程式328可確保將區域記錄或產生之事件分散至DCS 110中之其他系統單元115以便在所有(或至少某些)系統單元115中維持一分散系統事件紀錄。因此,可自與系統事件紀錄相關聯之任何系統單元115檢索所紀錄事件。時間表處置應用程式330可管理與系統單元115相關聯之一或多個時間表。舉例而言,針對特定使用者群組之進入規則可基於一天之特定時間而改變。
共識失去模組332可偵測關於一分散資料集之共識失去。舉例而言,共識失去模組332可判定哪些系統單元115係可用的且可判定與一特定分散資料集相關聯之可用系統單元115之數目是否足以達到關於 對分散資料集之所提議操作之一法定數。若可用系統單元115之數目降至達到一法定數所需之數目以下,則共識失去模組332可偵測到關於特定分散資料集之一共識失去。共識失去模組332可產生與特定分散資料集相關聯之可用系統單元115之一清單,可產生包含所產生清單之一共識失去報警,且可將所產生共識失去報警發送至一指定裝置。該指定裝置可對應於管理裝置130及/或另一裝置,諸如一管理員之一行動通信裝置(例如,行動電話)。若管理員選擇產生用於分散資料集之一組新系統單元115,則管理員可將產生該組新系統單元115之一指令發送至系統單元115。共識失去模組332可產生與分散資料集相關聯之該組新系統單元115。
應用程式層320中可包含其他應用程式(圖3B中未展示)。作為一實例,一報警應用程式可產生一報告及/或一報警並將該報告及/或報警發送至管理員裝置130(及/或發送至另一指定裝置)及/或一或多個其他系統單元115。作為另一實例,一任務特有控制應用程式可處理與系統單元115相關聯之事件,諸如門打開事件、感測器事件、致動器事件及/或其他類型之事件。
分散層340可管理與系統單元115相關聯之一或多個分散資料集。舉例而言,分散層340可經由網路120維持與其他系統單元115之安全連接(例如,一輸送層安全(TLS)連接)。此外,分散層340可使用一協定(例如,一PAXOS協定)來建立關於一特定基於共識之分散資料集之一改變之一共識。作為一實例,分散層340可將一改變之一提議發送至與分散資料集相關聯之其他系統單元115且可自其他系統單元115接收改變之一法定數。作為另一實例,分散層340可投票贊成自另一系統單元115接收之一提議。作為又一實例,分散層340可接收已在未投票贊成一改變之情況下達成對該改變之一共識之一指示。當接收到對一改變之共識之一指示時,分散層340可在分散資料集之區域複 本中做出該改變。
儲存層350儲存與系統單元115相關聯之一或多個資料集。儲存於儲存層350中之一資料集可對應於一區域資料集或可對應於一分散資料集。一區域資料集可儲存與儲存該區域資料集之特定系統單元115相關聯(及/或僅與該特定系統單元相關聯)之資訊。一分散資料集可儲存與和該分散資料集相關聯之其他系統單元115相關聯之資訊。
圖3B中展示可包含於儲存層350中之例示性資訊。如圖3B中所展示,儲存層350可包含組態資料352、憑證資料354、進入規則資料356及共識資料庫358。組態資料352可儲存與一特定系統單元115相關聯之組態資料,諸如控制器210之硬體組態、連接至控制器210之周邊裝置230、安裝於應用程式層320中之應用程式及/或其他類型之組態資訊。憑證資料354可儲存與系統單元115相關聯之憑證。進入規則356可儲存與系統單元115相關聯之進入規則。共識資料庫358可儲存可由共識失去模組332用於偵測共識失去之資訊。下文參考圖4來描述可儲存於共識資料庫358中之例示性資訊。
雖然圖3A及圖3B展示系統單元115之例示性功能組件,但在其他實施方案中,系統單元115相比圖3A及圖3B中所繪示之功能組件可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,系統單元115之組件中之任一者(或任何組件群組)可執行描述為由系統單元115之一或多個其他功能組件執行之功能。
圖4係可儲存於共識資料庫358中之例示性資訊之一圖式。如圖4中所展示,共識資料庫358可包含一或多個分散資料集記錄400。每一資料集記錄400可儲存與系統單元115與其相關聯之一特定資料集相關之資訊。資料集記錄400可包含一分散資料集欄位410、一組系統單元欄位420-A至420-N、一組對應可用性欄位430-A至430-N、一共識欄位440及一報警欄位450。
分散資料集欄位410可儲存識別與系統單元115相關聯之一特定分散資料集之資訊。每一系統單元欄位420可儲存識別與分散資料集相關聯之另一系統單元115之資訊。一對應可用性欄位430可儲存關於另一系統單元115是否可用之資訊。共識欄位440可儲存與和特定分散資料集相關聯之共識要求相關之資訊。舉例而言,共識欄位440可儲存關於為達到用於建立與對特定分散資料集之所提議操作相關之共識之一法定數而需要來自其他系統單元115之多少投票之資訊。此外,若共識失去模組332偵測到針對特定分散資料集之共識失去,則共識欄位440可儲存已偵測到共識失去之一指示。在某些實施方案中,可給不同系統單元115指派在投票贊成對特定分散資料集之一所提議操作時不同之投票權重。投票權重資訊可儲存於系統單元欄位420中及/或共識欄位440中。
報警欄位450可儲存與回應於偵測到一共識失去而產生一共識失去報警相關之資訊。舉例而言,報警欄位450可識別待在發送共識失去報警時使用之一特定通信方法及/或可識別共識失去報警將發送至之一特定目的地裝置。
雖然圖4展示可儲存於共識資料庫358中之例示性組件,但在其他實施方案中,共識資料庫358相比圖4中所繪示之組件可包含更少之組件、不同之組件、不同配置之組件或額外組件。
圖5係在一項實施例中用於處理一分散控制系統中之共識失去之一流程圖。在某些實施方案中,圖5之程序可由控制器210執行。在其他實施方案中,圖5之程序中之某些或全部可由與控制器210分離及/或包含控制器210之另一裝置或一裝置群組執行。
圖5之程序可包含偵測一分散系統中之一系統單元已變得不可用(方塊510)。系統單元115可以特定間隔交換心跳訊息。若在一特定時間週期內未自另一系統單元115接收到一心跳訊息,則共識失去模組 332可判定另一系統單元115已變得不可用。作為一實例,另一系統單元115可具有故障或失去電力。作為另一實例,至另一系統單元115之一連接可能由於一斷裂之鏈路、網路擁塞、出故障之介面或網路裝置及/或另一原因而失效。共識失去模組332可將另一系統單元115之不可用性之一指示儲存於共識資料庫358中。
作為又一實例,一失效之系統單元115可將指示裝置失效之一訊息發送至其他系統單元115,從而致使其他系統單元115將失效之系統單元115識別為不可用。作為又一實例,一受危害之系統單元115可偵測一安全漏洞。舉例而言,受危害之系統單元115可包含一防篡改開關,若另一系統單元115之控制器210被操縱,則該防篡改開關變為啟動。回應於偵測到篡改,受危害之系統單元155可將指示一安全漏洞之一訊息發送至其他系統單元115且可將自身撤銷啟動。其他系統單元115可回應於接收到安全漏洞訊息而將受危害之系統單元115識別為不可用。共識失去模組332可維持與分散資料集相關聯之可用系統單元115之一清單,且可以特定間隔更新可用裝置之清單。
可基於偵測到系統單元已變得不可用而做出已在分散系統中發生共識失去之一判定(方塊520)。舉例而言,共識失去模組332可判定與一分散資料集相關聯之多少個系統單元115係可用的,且可判定可用系統單元115之數目是否小於為達到用以建立關於對分散資料集之一所提議操作之一共識之一法定數所需之系統單元115之數目。若可用系統單元115之數目小於達到法定數所需之系統單元115之數目,則共識失去模組332可判定已發生針對分散資料集之一共識失去。
可產生可用系統單元之一清單(方塊530),且可將包含所產生清單之一報警訊息發送至一管理裝置(方塊540)。舉例而言,共識失去模組332可存取共識資料庫358,且可判定與分散資料集相關聯之哪些系統單元115係可用的。共識失去模組332可存取報警欄位450以判定 將使用何種通信方法來發送共識失去報警,且可判定共識失去報警應被發送至之一特定目的地裝置。該目的地裝置可係管理裝置130及/或另一裝置,諸如一管理員之行動通信裝置。
作為一實例,報警欄位450可規定應將一Web服務訊息發送至目的地裝置,且共識失去模組332可將一Web服務訊息發送至目的地裝置。作為另一實例,報警欄位450可規定應將一電子郵件訊息、一短訊息服務或一即時服務品質訊息發送至目的地裝置,且共識失去模組332可將一電子郵件訊息、一短訊息服務或一即時服務品質訊息發送至目的地裝置。
可接收創建包含該清單中所包含之系統單元中之至少某些系統單元之一基於共識之分散系統之指令(方塊550),且可基於所接收指令而產生一基於共識之分散系統(方塊560)。舉例而言,系統單元115可自目的地裝置(例如,管理裝置130)接收產生用於分散資料集之一基於共識之分散系統之指令。所接收指令可包含待包含於新分散系統中之系統單元115之一清單。作為一實例,管理員可選擇將共識失去報警中所列之所有可用裝置皆包含於新分散系統中。作為另一實例,管理可選擇將可用裝置中之某些裝置自新分散系統排除。
在某些實施方案中,管理裝置130可將指令發送至將包含於新分散系統中之一特定系統單元115。在其他實施方案中,管理裝置130可將指令發送至將包含於新分散系統中之多個(及可能所有)系統單元115。接收到指令之一系統單元115可基於與共識失去報警相關聯之分散資料集而產生一新分散資料集,且然後,可繼續進行以使將包含於新分散系統中之其他系統單元115與新分散資料集相關聯。
系統單元115可在創建新分散系統時基於達到一大多數所需要之最小裝置數目而選擇達到一法定數所需之系統單元115之一數目。因此,舉例而言,若管理員選擇6個系統單元115來用於新分散系統,則 可針對新分散系統設定法定數4個系統單元115。
在某些實施方案中,可給不同系統單元115指派在針對一分散資料集之一所提議操作之一法定數投票時不同之投票權重。可基於一特定系統單元115之位置而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,可將一特定位置視為重要的,且因此可對在特定位置處之一系統單元115賦予比其他系統單元115高之一投票權重。
可基於一系統單元115群組中之成員資格而對一特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一分散資料集可基於一或多個準則而與多個系統單元115群組相關聯,且可對一第一群組中之系統單元115賦予比一第二群組中之系統單元115高之一投票權重。可基於一特定系統單元115之一裝置類型而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一第一系統單元115可對應於具有額外功能性之一新版本且可被賦予比其他系統單元115高之一投票權重。
可基於指派給一特定系統單元115之一威脅位準而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一特定系統單元115可位於一高威脅區(諸如一公共位置)中,且可因此被賦予比其他系統單元115低之一投票權重。可基於與一特定系統單元115相關聯之一可靠性度量而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一特定系統單元115可具有一高失效率(例如,由於環境條件)且可被賦予比其他系統單元115低之一投票權重。可基於與一特定系統單元115相關聯之一或多個所紀錄事件而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一特定系統單元115可包含紀錄大量運動偵測事件之一運動感測器,且因此特定系統單元115可被賦予比其他系統單元115 高之一投票權重。
可基於與一特定系統單元115相關聯之一周邊裝置之一啟動頻率而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一特定系統單元115可經歷高訊務量,從而致使一鎖裝置250以比與其他系統單元115相關聯之鎖裝置250高之一頻率被啟動,且可被賦予比其他系統單元115高之一投票權重。可基於與一特定系統單元115相關聯之一管理登入頻率而對特定系統單元115賦予比其他系統單元115高或低之一投票權重。舉例而言,一特定系統單元115可比其他系統單元115更頻繁地由管理裝置130使用,且可被賦予比其他系統單元115高之一投票權重。
在某些實施方案中,在偵測到一共識失去之後且在自管理裝置130接收到指示系統單元115產生一新分散資料集之一回應之前,系統單元115可需要繼續使用一分散資料集。因此,在某些實施方案中,回應於偵測到一共識失去,系統單元115可基於分散資料集且基於可用系統單元115之清單而產生一應急分散資料集。該應急分散資料集可由系統單元115使用直至一管理員對所產生共識失去報警做出回應為止。在自管理裝置130接收到用以創建一新分散系統之指令之後,可將來自應急分散資料集之資料併入至新分散資料集中。
在某些實施方案中,在已創建新分散資料集之後,先前與分散資料集相關聯且已變得不可用之一或多個系統單元115可再次變得可用。舉例而言,可修復一故障系統單元115或可復原一斷裂之連接。一所復原之系統單元115可請求重新加入分散資料集。儘管所復原之系統單元115已變得不可用,但所復原之系統單元115可能已累積與分散資料集有關之資料。所復原之系統單元115可請求被添加至在共識失去之後創建之新分散系統。與新分散資料集相關聯之一系統單元115可自所復原之系統單元115接收到添加至新分散資料集之一請求, 且可將所復原之系統單元115添加至新分散資料集。系統單元115可隨後自所復原之系統單元115接收將裝置資料添加至新分散資料集之一請求,可判定該裝置資料是否與新分散資料集一致;且若該裝置資料與新分散資料集一致,則可將該裝置資料添加至該分散資料集。
圖6係圖解說明管理裝置130之例示性組件之一方塊圖。如圖6中所展示,管理裝置130可包含一匯流排610、一處理器620、一記憶體630、一輸入裝置640、一輸出裝置650及一通信介面660。
匯流排610可包含准許管理裝置130之組件當中之通信之一路徑。處理器620可包含任何類型之單核心處理器、多核心處理器、微處理器、基於鎖存器之處理器及/或解譯並執行指令之處理邏輯(或處理器、微處理器及/或處理邏輯之族群)。在其他實施例中,處理器620可包含一ASIC、一FPGA及/或另一類型之積體電路或處理邏輯。
記憶體630可包含可儲存供由處理器620執行之資訊及/或指令之任何類型之動態儲存裝置,及/或可儲存供由處理器620使用之資訊之任何類型之非揮發性儲存裝置。舉例而言,記憶體630可包含一RAM或另一類型之動態儲存裝置、一ROM裝置或另一類型之靜態儲存裝置、一CAM、一磁性及/或光學記錄記憶體裝置及其對應磁碟機(例如,一硬碟機、光學磁碟機等等)及/或一可抽換形式之記憶體,諸如一快閃記憶體。
輸入裝置640可允許一操作者將資訊輸入至管理裝置130中。舉例而言,輸入裝置640可包含一鍵盤、一滑鼠、一筆、一麥克風、一遠端控制件、一音訊擷取裝置、一影像及/或視訊擷取裝置、一觸控螢幕顯示器及/或另一類型之輸入裝置。在某些實施方案中,管理裝置130可經遠端地管理且可不包含輸入裝置640。換言之,管理裝置130可係「無頭的」,且舉例而言,可不包含一鍵盤。
輸出裝置650可將資訊輸出給管理裝置130之一操作者。輸出裝 置650可包含一顯示器、一印表機、一揚聲器及/或另一類型之輸出裝置。舉例而言,管理裝置130可包含一顯示器,其可包含用於將內容顯示給一管理員之一液晶顯示器(LCD)。該顯示器可對應於一觸控螢幕。在某些實施例中,管理裝置130可經遠端地管理且可不包含輸出裝置650。換言之,管理裝置130可係「無頭的」,且舉例而言,可不包含一顯示器。
通信介面660可包含一收發器,該收發器使得管理裝置130能夠經由無線通信(例如,RF、紅外線及/或視覺光學器件等等)、有線通信(例如,導電線、雙絞線纜線、同軸纜線、傳輸線、光纖纜線及/或波導等等)或無線與有線通信之一組合與其他裝置及/或系統通信。通信介面660可包含將基頻信號轉換為RF信號之一傳輸器及/或將RF信號轉換為基頻信號之一接收器。通信介面660可耦合至用於傳輸及接收RF信號之一天線。
通信介面660可包含一邏輯組件,該邏輯組件包含輸入及/或輸出埠、輸入及/或輸出系統及/或促進將資料傳輸至其他裝置之其他輸入及輸出組件。舉例而言,通信介面660可包含用於有線通信之一網路介面卡(例如,乙太網路卡)及/或用於無線通信之一無線網路介面(例如,一WiFi)卡。通信介面660亦可包含用於經由一纜線通信之一USB埠、一BluetoothTM無線介面、一RFID介面、一NFC無線介面及/或將資料自一種形式轉換為另一形式之任何其他類型之介面。
如下文所描述,管理裝置130可執行與自系統單元115接收之共識失去報警之管理相關之特定操作。管理裝置130可回應於處理器620執行一電腦可讀媒體(諸如記憶體630)中所含有之軟體指令而執行此等操作。記憶體630可實施於一單個實體記憶體裝置內或跨越多個實體記憶體裝置散佈。可將軟體指令自另一電腦可讀媒體或自另一裝置讀取至記憶體630中。記憶體630中所含有之軟體指令可致使處理器 620執行本文中所描述之程序。另一選擇係,可代替或結合軟體指令來使用硬連線電路以實施本文中所描述之程序。因此,本文中所描述之實施方案並不限於硬體電路與軟體之任何特定組合。
雖然圖6展示管理裝置130之例示性組件,但在其他實施方案中,管理裝置130相比圖6中所繪示之組件可包含更少之組件、不同之組件、額外組件或不同配置之組件。另外或另一選擇係,管理裝置130之一或多個組件可執行描述為由管理裝置130之一或多個其他組件執行之一或多個任務。
圖7係在一項實施例中用於處理自一分散控制系統之系統單元接收之共識失去報警之一流程圖。在某些實施方案中,圖7之程序可由管理裝置130執行。在其他實施方案中,圖7之程序中之某些或全部可由與管理裝置130分離及/或包含管理裝置130之另一裝置或一裝置群組執行。
圖7之程序可包含自一分散控制系統之系統單元接收一或多個共識失去報警(方塊710)。管理裝置130可包含一共識失去報警應用程式。該共識失去報警應用程式可經組態以自DCS 110之系統單元115接收共識報警。當系統單元115偵測到共識失去時,該共識報警可接收一或多個共識失去報警。在某些實施方案中,該等共識失去報警可呈現為在接收到其時提供之一警示序列。另外或另一選擇係,共識失去報警可在呈現給管理員之前經組織及合併。
可基於與所接收報警相關聯之分散資料集而組織該等報警(方塊720),且可基於經組織報警而產生一使用者介面(方塊730)。舉例而言,若偵測到針對一分散資料集之一共識失去,則與分散資料集相關聯之起作用之系統單元115(例如,所有功能系統單元115)可將一共識失去報警發送至管理裝置130。針對一特定分散資料集之所接收共識失去報警中之某些報警可包含等同之可用裝置清單。共識失去報警應 用程式可組織所接收可用裝置清單以使得需要呈現重複之清單。可在管理裝置130上產生一警示,且當一管理員選擇觀看所產生警示時,可將所產生使用者介面呈現給管理員。
若接收到額外報警,則可更新使用者介面(方塊740)。在接收到額外共識失去報警時,共識失去報警應用程式可將所產生使用者介面更新為包含自由管理裝置130自系統單元115接收之額外共識失去報警接收之資訊。
圖8係圖解說明系統單元115之一例示性實體佈局800之一平面佈置圖。如圖8中所展示,實體佈局800可包含一牆壁810、一門820、控制器210、讀取器裝置240、鎖裝置250、感測器260及致動器270。
牆壁810封圍一安全區830,諸如一建築物中之一房間。門820為一使用者提供至安全區830之進入。在此實施例中,控制器210安裝在安全區830內側。在其他實施例中,控制器210可安裝在一非安全區850中。讀取器裝置240安裝在安全區830外側且鎖裝置250在安全區830內側安裝至牆壁810及門820。在此實例中,感測器260係安裝在安全區830外側在門820外側之一非安全區中之一監視裝置。在此實例中,致動器270包含用於控制監視裝置之視域之一馬達。
當一使用者將憑證鍵入至讀取器裝置240中(例如,藉由鍵入一PIN、掃描一進入卡、掃描一虹膜等等)時,控制器210可使用該等憑證來鑒認使用者之身份且可在一進入規則表中執行一查找以基於使用者之身份及進入規則而判定是否授予使用者之進入。若控制器210判定應授予進入,則控制器210啟動鎖裝置250以將門820開鎖,因此授予使用者進入安全區830。
雖然圖8展示實體佈局800之例示性組件,但在其他實施方案中,實體佈局800相比圖8中所繪示之組件可包含更少之組件、不同之組件、額外組件或不同配置之組件。另外或另一選擇係,實體佈局 800中之任一組件(或組件群組)可執行描述為由實體佈局800之一或多個其他組件執行之一或若干任務。
圖9係圖解說明DCS 110之一例示性實體佈局900之一平面佈置圖。如圖9中所展示,實體佈局900可包含具有房間920-A至920-F之一建築物910。一區域網路930(諸如一乙太網路)可互連系統單元115-A至115-F。在此實例中,系統單元115-A控制進入至房間920-A中之兩個門;系統單元115-B控制進入至房間920-B中之一外側門;系統單元115-C控制自房間920-B至房間920-C之一個門,系統單元115-D控制自房間920-C至房間920-D之一個門;系統單元115-E控制自房間920-D至房間920-E之一個門;且系統單元115-F控制進入至房間920-F中之一外側門。
在此實例中,系統單元115-A至115-F不包含一中央控制裝置(例如,一伺服器)且可包含一或多個分散資料集。舉例而言,系統單元115-A至115-F可維持一分散憑證表、一分散進入規則表及/或一分散事件紀錄。假定一管理員使用管理裝置130登入至系統單元115-A中以添加一使用者並添加與一使用者相關聯之憑證。可將彼等所添加之憑證分散至控制至該使用者可以進入之房間之門之其他系統單元115。舉例而言,若系統單元115-B失效,則由系統單元115-B收集之資料可由於包含於其他系統單元中之一分散事件紀錄而繼續係可用的。
雖然圖9展示實體佈局900之例示性組件,但在其他實施方案中,實體佈局900相比圖9中所繪示之組件可包含更少之組件、不同之組件、額外組件或不同配置之組件。舉例而言,在另一實施例中,一中央控制裝置(例如,一伺服器)可連同一或多個分散資料集一起使用。另外或另一選擇係,實體佈局900之一或多個組件可執行描述為由實體佈局900之一或多個其他組件執行之一或多個任務。
圖10A至圖10C係根據本文中所描述之一或多項實施方案之一例 示性共識失去情境之圖式。圖10A圖解說明在圖9之實體佈局900中之系統單元115之一可能網路拓撲1000。如圖10A中所展示,區域網路930可包含一乙太網路交換器1010-A及一乙太網路交換器1010-B。乙太網路交換器1010-A可連接至系統單元115-A、115-B及115-C之控制器。乙太網路交換器1010-B可連接至系統單元115-D、115-E及115-F之控制器。乙太網路交換器1010-A及1010-B可藉助一乙太網路纜線連接。假定乙太網路纜線被損壞,從而導致斷裂之鏈路1020。斷裂之鏈路1020可致使系統單元115-A、115-B及115-C不能與系統單元115-D、115-E及115-F通信。
圖10B圖解說明可對應於儲存於共識資料庫358中之資訊之部分之一表1030。如圖10B中所展示,表1030包含與和系統單元115-A至115-F相關聯之分散資料集相關之資訊。表1030可包含與一主資料庫分散資料集、一建築物計數器分散資料集及一房間C計數器分散資料集相關之資訊。一主資料庫分散資料集可與系統單元115-A至115-F相關聯。舉例而言,主資料庫可儲存經加密憑證資訊、進入規則資訊、系統單元115組態資訊及/或其他類型之資訊。在一項實施例中,在此實例中,所有系統單元115-A至115-F可與主資料庫分散資料集相關聯。此外,達成與對主資料庫分散資料集之改變相關之一共識可需要法定數4個系統單元。在其他實施例中,在其他實例中,並非所有系統單元115-A至115-F一定與主資料庫分散資料集相關聯。
建築物計數器分散資料集可儲存與一建築物計數器應用程式相關之資訊。建築物計數器應用程式可保持跟蹤進入及離開建築物910之人且可維持關於當前有多少人在建築物910內部之資訊。由於僅系統單元115-B及115-F控制建築物910之出口,因此僅系統單元115-B及115-F與建築物計數器分散資料集相關聯。此外,達成與對建築物計數器分散資料集之改變相關之一共識可需要法定數2個系統單元。
房間C計數器分散資料集可儲存與房間920-C之一計數器應用程式相關之資訊。舉例而言,房間920-C可對應於一自助餐廳且一房間C計數器應用程式可保持跟蹤當前有多少人在自助餐廳中。由於僅系統單元115-A、115-C及115-D控制至房間920-C之門,因此僅系統單元115-A、115-C及115-D與房間C計數器分散資料集相關聯。此外,達成與對建築物計數器分散資料集之改變相關之一共識可需要法定數2個系統單元。
斷裂之鏈路1020可導致共識失去報警之產生。圖10C圖解說明包含由系統單元115-A至115-F中之特定者回應於斷裂之鏈路1020而產生之共識失去報警之一信號流1040。系統單元115-A可不再接達系統單元115-D、115-E及115-F。因此,系統單元115-A無法達到關於主資料庫分散資料集之所需法定數4。因此,系統單元115-A可產生並將一主資料庫共識失去報警1042發送至管理裝置130。主資料庫共識失去報警1042可將系統單元115-A、115-B及115-C列示為可用裝置。此外,由於系統單元115-A仍可接達系統單元115-C,因此系統單元115-A可達到關於房間C計數器分散資料集之所需法定數2,且因此將偵測不到針對房間C計數器分散資料集之共識失去。
系統單元115-B可不再接達系統單元115-D、115-E及115-F。因此,系統單元115-B無法達到關於主資料庫分散資料集之所需法定數4。因此,系統單元115-B可產生並將一主資料庫共識失去報警1044發送至管理裝置130。主資料庫共識失去報警1044可將系統單元115-A、115-B及115-C列示為可用裝置。此外,系統單元115-B無法達到關於建築物計數器分散資料集之所需法定數2。因此,系統單元115-B可產生並將一建築物計數器共識失去報警1046發送至管理裝置130。建築物計數器共識失去報警1046可將系統單元115-B列示為僅有可用裝置。
系統單元115-C可不再接達系統單元115-D、115-E及115-F。因此,系統單元115-C無法達到關於主資料庫分散資料集之所需法定數4。因此,系統單元115-C可產生並將一主資料庫共識失去報警1048發送至管理裝置130。主資料庫共識失去報警1048可將系統單元115-A、115-B及115-C列示為可用裝置。此外,由於系統單元115-C仍可接達系統單元115-A,因此系統單元115-C可達到關於房間C計數器分散資料集之所需法定數2,且因此將偵測不到針對房間C計數器分散資料集之共識失去。
系統單元115-D可不再接達系統單元115-A、115-B及115-C。因此,系統單元115-D無法達到關於主資料庫分散資料集之所需法定數4。因此,系統單元115-D可產生並將一主資料庫共識失去報警1050發送至管理裝置130。主資料庫共識失去報警1050可將系統單元115-D、115-E及115-F列示為可用裝置。此外,系統單元115-D無法達到關於房間C計數器分散資料集之所需法定數2。因此,系統單元115-D可產生並將一房間C計數器共識失去報警1052發送至管理裝置130。房間C計數器共識失去報警1052可將系統單元115-D列示為僅有可用裝置。
系統單元115-E可不再接達系統單元115-A、115-B及115-C。因此,系統單元115-E無法達到關於主資料庫分散資料集之所需法定數4。因此,系統單元115-E可產生並將一主資料庫共識失去報警1054發送至管理裝置130。主資料庫共識失去報警1054可將系統單元115-D、115-E及115-F列示為可用裝置。
系統單元115-F可不再接達系統單元115-A、115-B及115-C。因此,系統單元115-F無法達到關於主資料庫分散資料集之所需法定數4。因此,系統單元115-F可產生並將一主資料庫共識失去報警1056發送至管理裝置130。主資料庫共識失去報警1056可將系統單元115-D、115-E及115-F列示為可用裝置。此外,系統單元115-F無法達到關於 建築物計數器分散資料集之所需法定數2。因此,系統單元115-F可產生並將一建築物計數器共識失去報警1058發送至管理裝置130。建築物計數器共識失去報警1058可將系統單元115-F列示為僅有可用裝置。
圖11係根據本文中所描述之一或多項實施方案之一例示性使用者介面1100之一圖式。如圖11中所展示,使用者介面1100可由管理裝置130回應於接收到圖10C中所展示之共識失去報警而產生。使用者介面1100可包含一主資料庫分散資料集清單1110、一建築物計數器分散資料集清單1120及一房間C計數器分散資料集清單1130。
主資料庫分散資料集清單1110可包含兩個清單。第一清單可基於自主資料庫共識失去報警1042、1044及1048接收之資訊而產生,且第二清單可基於自主資料庫共識失去報警1050、1054及1056接收之資訊而產生。在此情形中,管理員可選擇兩個清單中之一者作為用於主資料庫分散資料集之新的基於共識之系統,且將另一清單取消選擇以便避免具有主資料庫分散資料集之兩個不同版本之一裂腦問題。舉例而言,若管理員選擇系統單元115-A、115-B及115-C,則系統單元115-D、115-E及115-F將不能對主資料庫做出改變。
建築物計數器分散資料集清單1120亦可包含兩個清單。第一清單可基於自建築物計數器共識失去報警1046接收之資訊而產生,且第二清單可基於自建築物計數器共識失去報警1058接收之資訊而產生。在此情形中,管理員可選擇兩個清單,此可導致一裂腦問題。然而,管理員可將繼續保持跟蹤進入及離開建築物之人視為重要的,且可選擇手動地調解來自系統單元115-B及115-F之建築物計數器資料集。
房間C計數器分散資料集清單1130可包含基於自房間C計數器共識失去報警1052接收之資訊而產生之一清單。管理員可選擇忽略此報警,此乃因管理員可基於系統之組態認識到,系統單元115-A及115-C 仍能夠獲得關於房間C計數器分散資料集之一法定數。
在前述說明書中,已參考附圖描述了各種較佳實施例。然而,將顯而易見,可對本發明做出各種修改及改變且可實施額外實施例,此並不背離如以下申請專利範圍中所陳述之本發明之較寬廣範疇。因此,應將本說明書及圖式視為具有一說明性意義而非限制性意義。
舉例而言,儘管已關於圖5及圖7描述了若干系列之方塊,但在其他實施方案中可修改方塊之次序。此外,可並行地執行非相依方塊。
將明瞭,在圖中所圖解說明之實施方案中,可以諸多不同形式之軟體、韌體及硬體來實施如上文所描述之系統及/或方法。用於實施此等系統及方法之實際軟體程式碼或專門化控制硬體並不限於該等實施例。因此,在不參考特定軟體程式碼之情況下來描述該等系統及方法之操作及行為--應理解,軟體及控制硬體可經設計以基於本文中之描述而實施該等系統及方法。
此外,可將上文所描述之特定部分實施為執行一或多個功能之一組件。如本文中所使用,一組件可包含硬體(諸如一處理器、一ASIC或一FPGA)或硬體與軟體之一組合(例如,執行軟體之一處理器)。
應強調,術語「包括(comprises/comprising)」在本說明書中使用時應視為規定所陳述特徵、整數、步驟或組件之存在,但並不排除一或多個其他特徵、整數、步驟、組件或其群組之存在或添加。
本申請案中所使用之元件、動作及指令不應理解為對該等實施例至關重要或必不可少,除非明確如此描述。而且,如本文中所使用,冠詞「一」意欲包含一或多個物項。此外,片語「基於」意欲意指「至少部分地基於」,除非另有明確陳述。
115-A‧‧‧系統單元
115-B‧‧‧系統單元
115-C‧‧‧系統單元
115-D‧‧‧系統單元
115-E‧‧‧系統單元
115-F‧‧‧系統單元
930‧‧‧區域網路
1000‧‧‧網路拓撲
1010-A‧‧‧乙太網路交換器
1010-B‧‧‧乙太網路交換器
1020‧‧‧斷裂之鏈路

Claims (23)

  1. 一種由一分散系統(distributed system)中之一裝置執行之方法,該方法包括:由該裝置偵測該分散系統中之另一裝置已變得不可用(unavailable);由該裝置基於偵測到該另一裝置已變得不可用而判定在該分散系統中對於一特定分散資料集已發生一共識失去(loss of consensus);由該裝置進入(access)一共識資料庫以判定哪些與該特定分散資料集相關聯的裝置是可用的(available);由該裝置基於進入該共識資料庫及基於判定該共識失去已發生而產生該分散系統中之可用裝置之一清單;及由該裝置將一報警訊息發送至一管理裝置,其中該報警訊息指示該共識失去,且其中該報警訊息包含可用裝置之該清單。
  2. 如請求項1之方法,其進一步包括:自該管理裝置接收一指令以創建一基於共識之分散系統,該基於共識之分散系統包含在該清單中所包含之該等可用裝置中之至少某些可用裝置;及回應於接收到該指令而創建該基於共識之分散系統。
  3. 如請求項2之方法,其中創建該基於共識之分散系統包含:選擇產生一法定數(quorum)所需之一裝置數目,其中該數目對應於達成一大多數(majority)所需要之來自該等可用裝置之一最小裝置數目。
  4. 如請求項3之方法,其進一步包括:給該等可用裝置中之該至少某些可用裝置中之一裝置指派一 投票權重,其中當該裝置正在該所創建之該基於共識之分散系統中針對一法定數投票時,該投票權重對自該裝置接收之一投票賦予比自該等可用裝置中之該至少某些可用裝置中之另一裝置接收之一投票大之權重。
  5. 如請求項4之方法,其中該投票權重係基於以下各項中之至少一者:該裝置之一位置;該裝置在該等可用裝置之一特定子集中之一成員資格(membership);與該裝置相關聯之一裝置類型;指派給該裝置之一威脅位準;及與該裝置相關聯之一可靠性度量。
  6. 如請求項4之方法,其中該投票權重係基於以下各項中之至少一者:與該裝置相關聯之一或多個所紀錄事件;與該裝置相關聯之一周邊裝置之一啟動頻率;及與該裝置相關聯之一管理登入頻率。
  7. 如請求項1之方法,其中偵測該分散系統中之另一裝置已變得不可用包含以下各項中之至少一者:偵測該另一裝置之一連接已失去;自該另一裝置接收裝置失效之一指示;及偵測該另一裝置與一安全漏洞(breach)係相關聯。
  8. 如請求項1之方法,其中將該報警訊息發送至該管理裝置包含以下各項中之至少一者:將一Web服務訊息發送至該管理裝置;將一電子郵件訊息發送至該管理裝置; 將一短訊息服務訊息發送至該管理裝置;及將一即時服務品質訊息發送至該管理裝置。
  9. 如請求項1之方法,其進一步包含:維持該分散系統中之可用裝置之該清單;及在特定間隔(intervals)更新可用裝置之該清單。
  10. 如請求項1之方法,其中該分散系統包含一分散資料集,該方法進一步包括:回應於判定在該分散系統中已發生一共識失去且在從該管理裝置接收創建一包含在該清單中所包含之該等可用裝置之至少某些可用裝置之新的基於共識之分散系統之一指令之前,基於該分散資料集產生另一分散資料集;及創建另一基於共識之分散系統,該另一基於共識之分散系統使用經產生之該另一分散資料集且包含在該清單中所包含之該等可用裝置之至少某些可用裝置。
  11. 如請求項10之方法,其進一步包括:從該管理裝置接收創建該包含在該清單中所包含之該等可用裝置之新的基於共識之分散系統之該指令;及回應於接收到創建該新的基於共識之分散系統之該指令而將來自該另一分散資料集之資料併入至該新的分散資料集中。
  12. 如請求項1之方法,其中該裝置對應於一嵌入式系統。
  13. 如請求項12之方法,其中該分散系統包含一分散實體進入控制系統,且其中該裝置及該另一裝置對應於實體進入控制單元。
  14. 一種屬於一分散系統之裝置,其包括:邏輯,其經組態以:偵測該分散系統中之另一裝置已變得不可用;基於偵測到該另一裝置已變得不可用而判定在該分散系統 中對於一特定分散資料集已發生一共識失去;進入一共識資料庫以判定哪些與該特定分散資料集相關聯的裝置是可用的;基於進入該共識資料庫及基於判定該共識失去已發生而產生該分散系統中之可用裝置之一清單;一傳輸器,其將一報警訊息發送至一管理裝置,其中該報警訊息指示該共識失去,且其中該報警訊息包含可用裝置之該清單;及一記憶體,其儲存該共識資料庫。
  15. 如請求項14之裝置,其進一步包含:一接收器,其自該管理裝置接收創建包含在該清單中所包含之該等可用裝置中之至少某些可用裝置之一基於共識之分散系統的一指令;及其中該邏輯經進一步組態以回應於接收到該指令而創建該基於共識之分散系統。
  16. 如請求項15之裝置,其中當該邏輯正創建該基於共識之分散系統時,該邏輯進一步經組態以:選擇產生一法定數所需之一裝置數目,其中該數目對應於達成一大多數所需要之來自該等可用裝置之一最小裝置數目。
  17. 如請求項16之裝置,其中當該邏輯正創建該基於共識之分散系統時,該邏輯進一步經組態以:給該等可用裝置中之該至少某些可用裝置中之一裝置指派一投票權重,其中當該裝置正在該所創建之該基於共識之分散系統中針對一法定數投票時,該投票權重對自該裝置接收之一投票賦予比自該等可用裝置中之該至少某些可用裝置中之另一裝置接收之一投票大之權重。
  18. 如請求項17之裝置,其中該投票權重係基於以下各項中之至少一者:該裝置之一位置;該裝置在該等可用裝置之一特定子集中之一成員資格;與該裝置相關聯之一裝置類型;指派給該裝置之一威脅位準;與該裝置相關聯之一可靠性度量;與該裝置相關聯之一或多個所紀錄事件;與該裝置相關聯之一周邊裝置之一啟動頻率;及與該裝置相關聯之一管理登入頻率。
  19. 如請求項14之裝置,其中該邏輯偵測該分散系統中之另一裝置已變得不可用,該邏輯經組態以:偵測該另一裝置之一連接已失去;自該另一裝置接收裝置失效之一指示;或偵測該另一裝置與一安全漏洞係相關聯。
  20. 如請求項14之裝置,其中當發送該報警訊息至該管理裝置時,該傳輸器經進一步組態以:將一Web服務訊息發送至該管理裝置;將一電子郵件訊息發送至該管理裝置;將一短訊息服務訊息發送至該管理裝置;或將一即時服務品質訊息發送至該管理裝置。
  21. 如請求項14之裝置,其中該分散系統包含一分散資料集,且其中該邏輯進一步經組態以:回應於判定已在該分散系統中發生一共識失去且在從該管理裝置接收創建一包含在該清單中所包含之該等可用裝置之至少某些可用裝置之新的基於共識之分散系統之一指令之前,基於 該分散資料集產生另一分散資料集;從該管理裝置接收創建該包含在該清單中所包含之該等可用裝置之至少某些可用裝置之新的基於共識之分散系統之該指令;及回應於接收到創建該新的基於共識之分散系統之該指令而將來自該另一分散資料集之資料併入至該新的分散資料集中。
  22. 如請求項14之裝置,其中該分散系統包含一分散實體進入控制系統,且其中該裝置及該另一裝置對應於實體進入控制單元。
  23. 一種分散系統,其包含:複數個實體進入控制裝置,其中該複數個實體進入控制裝置中之特定一者包含:一處理器,其經組態以:偵測該分散系統中之另一裝置已變得不可用;基於偵測到該另一裝置已變得不可用而判定在該分散系統中對於一特定分散資料集已發生一共識失去;進入一共識資料庫以判定哪些與該特定分散資料集相關聯的裝置是可用的;及基於進入該共識資料庫及基於判定該共識失去已發生而產生該分散系統中之可用裝置之一清單;一傳輸器,其將一報警訊息發送至一管理裝置,其中該報警訊息指示該共識失去,且其中該報警訊息包含可用裝置之該清單;及一接收器,其自該管理裝置接收一指令以創建包含在該清單中所包含之該等可用裝置中之至少某些可用裝置之一基於共識之分散系統,其中該處理器經進一步組態以回應於接收到該指令而創建該基於共識之分散系統。
TW103131973A 2013-09-16 2014-09-16 由分散系統中的裝置執行的方法及分散系統的裝置 TWI598852B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/028,243 US9686161B2 (en) 2013-09-16 2013-09-16 Consensus loss in distributed control systems

Publications (2)

Publication Number Publication Date
TW201528217A TW201528217A (zh) 2015-07-16
TWI598852B true TWI598852B (zh) 2017-09-11

Family

ID=49263126

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103131973A TWI598852B (zh) 2013-09-16 2014-09-16 由分散系統中的裝置執行的方法及分散系統的裝置

Country Status (6)

Country Link
US (1) US9686161B2 (zh)
EP (1) EP2849067B1 (zh)
JP (1) JP6254499B2 (zh)
KR (1) KR101809994B1 (zh)
CN (1) CN104468690B (zh)
TW (1) TWI598852B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049011B2 (en) * 2016-05-03 2018-08-14 International Business Machines Corporation Continuing operation of a quorum based system after failures
US10295982B2 (en) * 2016-06-09 2019-05-21 Honeywell International Inc. Detecting and tracking changes in engineering configuration data
CN110430064B (zh) 2017-03-30 2020-12-04 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
CN108230506A (zh) * 2018-01-03 2018-06-29 西安科技大学 一种分布式的安全管理系统
JP7317488B2 (ja) * 2018-04-17 2023-07-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、情報処理装置、管理システム、及び、プログラム
CN112883119B (zh) * 2021-04-30 2022-05-17 腾讯科技(深圳)有限公司 数据同步方法、装置、计算机设备及计算机可读存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243744B1 (en) * 1998-05-26 2001-06-05 Compaq Computer Corporation Computer network cluster generation indicator
EP1107119A3 (en) 1999-12-02 2005-07-20 Sun Microsystems, Inc. Extending cluster membership and quorum determinations to intelligent storage systems
US7325046B1 (en) * 2000-05-31 2008-01-29 International Business Machines Corporation Method, system and program products for managing processing groups of a distributed computing environment
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US20040139125A1 (en) * 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
WO2003073278A2 (en) * 2002-02-22 2003-09-04 Mission Critical Linux, Inc. Clustering infrastructure system and method
US7620680B1 (en) * 2002-08-15 2009-11-17 Microsoft Corporation Fast byzantine paxos
JP2005025289A (ja) * 2003-06-30 2005-01-27 Fujitsu Ltd 複数計算機間で共有する外部記憶装置におけるデータ保護プログラムおよびデータ保護方法
US7856502B2 (en) * 2004-06-18 2010-12-21 Microsoft Corporation Cheap paxos
US7950044B2 (en) * 2004-09-28 2011-05-24 Rockwell Automation Technologies, Inc. Centrally managed proxy-based security for legacy automation systems
US7739677B1 (en) * 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters
KR101268432B1 (ko) * 2006-01-09 2013-05-28 삼성전자주식회사 스마트 커뮤니케이터를 이용한 지능형 출입 인증 시스템 및방법
US20070208688A1 (en) * 2006-02-08 2007-09-06 Jagadish Bandhole Telephony based publishing, search, alerts & notifications, collaboration, and commerce methods
US8234704B2 (en) * 2006-08-14 2012-07-31 Quantum Security, Inc. Physical access control and security monitoring system utilizing a normalized data format
US20080077635A1 (en) * 2006-09-22 2008-03-27 Digital Bazaar, Inc. Highly Available Clustered Storage Network
US8554865B2 (en) 2007-09-21 2013-10-08 Honeywell International Inc. System and method for remotely administering and synchronizing a clustered group of access control panels
JP4796086B2 (ja) * 2008-03-14 2011-10-19 株式会社東芝 クラスタシステム及び同システムにおいてマスタノードを選択する方法
US8230253B2 (en) * 2008-07-21 2012-07-24 International Business Machines Corporation Byzantine fault tolerant dynamic quorum using a trusted platform module
US9690818B2 (en) * 2009-12-01 2017-06-27 Sybase, Inc. On demand locking of retained resources in a distributed shared disk cluster environment
US8417899B2 (en) * 2010-01-21 2013-04-09 Oracle America, Inc. System and method for controlling access to shared storage device
JP5035390B2 (ja) * 2010-06-02 2012-09-26 富士通株式会社 システム管理情報表示プログラム、システム管理情報表示装置、システム管理情報表示方法および運用管理システム
US8135987B2 (en) * 2010-06-03 2012-03-13 Microsoft Corporation Collection ordering for replicated state machines
US9262229B2 (en) * 2011-01-28 2016-02-16 Oracle International Corporation System and method for supporting service level quorum in a data grid cluster
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US8595546B2 (en) * 2011-10-28 2013-11-26 Zettaset, Inc. Split brain resistant failover in high availability clusters
GB2496840A (en) * 2011-11-15 2013-05-29 Ibm Controlling access to a shared storage system
US20140095925A1 (en) * 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server
US8621062B1 (en) * 2013-03-15 2013-12-31 Opscode, Inc. Push signaling to run jobs on available servers

Also Published As

Publication number Publication date
JP6254499B2 (ja) 2017-12-27
JP2015057692A (ja) 2015-03-26
KR20150032200A (ko) 2015-03-25
TW201528217A (zh) 2015-07-16
US9686161B2 (en) 2017-06-20
EP2849067A1 (en) 2015-03-18
US20150081805A1 (en) 2015-03-19
CN104468690B (zh) 2019-05-28
KR101809994B1 (ko) 2017-12-18
EP2849067B1 (en) 2019-06-12
CN104468690A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
TWI598852B (zh) 由分散系統中的裝置執行的方法及分散系統的裝置
JP6307393B2 (ja) アクセス制御システムにおける分散されたイベント
JP6937764B2 (ja) 物理空間へのアクセスを制御するためのシステムおよび方法
KR102076796B1 (ko) 익명의 접근을 제어하는 방법 및 디바이스
JP2020013591A (ja) 自己プロビジョニングアクセス制御
TWI623839B (zh) 藉由分散系統內之裝置所執行之方法及分散系統內之裝置
TW201527966A (zh) 用於自事件紀錄選擇事件以用於時間軸產生之方法與設備
JP6147234B2 (ja) 分散データベースの結合
US20200064792A1 (en) Event Engine for Building Management System Using Distributed Devices and Blockchain Ledger
KR101444079B1 (ko) 하이브리드 제어 패널 및 방법