TWI595370B - 加入分散式資料庫 - Google Patents

加入分散式資料庫 Download PDF

Info

Publication number
TWI595370B
TWI595370B TW103131804A TW103131804A TWI595370B TW I595370 B TWI595370 B TW I595370B TW 103131804 A TW103131804 A TW 103131804A TW 103131804 A TW103131804 A TW 103131804A TW I595370 B TWI595370 B TW I595370B
Authority
TW
Taiwan
Prior art keywords
consensus
data
specific
decentralized
memory region
Prior art date
Application number
TW103131804A
Other languages
English (en)
Other versions
TW201528012A (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 TW201528012A publication Critical patent/TW201528012A/zh
Application granted granted Critical
Publication of TWI595370B publication Critical patent/TWI595370B/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
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Selective Calling Equipment (AREA)
  • Storage Device Security (AREA)

Description

加入分散式資料庫
本發明係關於一裝置在一分散式實體門禁控制系統中加入一分散式資料庫,且更一般而言係關於一裝置加入一分散式資料庫。
門禁控制系統可用於控制對一設施之實體進出。一門禁控制系統(以及其他類型之控制系統)可具有眾多控制器,每一控制器控制系統之一不同部分。每一控制器可儲存裝置特有資訊,諸如組態資訊、周邊裝置設定等等。
在一項實施例中,一種方法可包含將一第一資料儲存於一裝置之一記憶體之一第一記憶體區域中。該第一記憶體區域可經指定以儲存一基於共識之分散式資料庫(DB)之資料。該第一資料待新增至在一同級間網路中之其他裝置當中分配之該基於共識之分散式DB。該方法可包含將該第一資料複製至該裝置之該記憶體之一第二記憶體區域及在將該第一資料複製至該第二記憶體區域之後將該裝置新增至該同級間網路。該方法可進一步包含自該同級間網路中之該等其他裝置接收資料及藉由將該所接收資料儲存於該第一記憶體區域中而將該所接收資料新增至該基於共識之分散式DB。該方法可包含在將該裝置新增至該同級間網路之後藉由將該第一資料自該第二記憶體區域複製至該第一記憶體區域而將該第一資料新增至該基於共識之分散式DB。 此外,該方法可包含將該第一資料分配至該同級間網路中之該等其他同級間網路裝置作為該基於共識之分散式DB之部分。
在此實施例中,該第一資料可包含裝置特有資料,且該第二記憶體區域可經指定以儲存一非基於共識之DB之資料。該裝置特有資料可包含一分散式控制系統中之一控制器之組態資料。該組態資料可包含定義連接至該控制器之周邊裝置之資料。
在此實施例中,該裝置可包含一分散式實體門禁控制系統(DPACS)中之一控制器。該等其他裝置可包含該DPACS中之其他控制器。在此實施例中,該第一資料可包含用於組態該控制器之資料。
在另一實施例中,一種方法可包含將一基於共識之分散式DB儲存於一裝置中之一記憶體之一第一記憶體區域中。該裝置可連接至一同級間網路,該同級間網路在該同級間網路中之其他裝置當中分配該基於共識之分散式DB。該方法可包含將儲存於該基於共識之分散式DB中之第一資料複製至該裝置之該記憶體之一第二記憶體區域及在將該第一資料複製至該第二記憶體區域之後自該同級間網路移除該裝置。該方法可包含在將該第一資料複製至該第二記憶體區域之後且在自該同級間網路移除該裝置之後,刪除該基於共識之分散式DB中之資料。該方法可包含在刪除該基於共識之分散式DB中之該資料之後,將該第一資料自該第二記憶體區域複製至該基於共識之分散式DB。
在此實施例中,該第一資料可包含裝置特有資料,且該第二記憶體區域可經指定以儲存一非基於共識之DB之資料。此外,該裝置特有資料可包含一分散式控制系統中之一控制器之組態資訊。在此實施例中,該組態資料可包含定義連接至該裝置之周邊裝置之資料。此外,該裝置可係一DPACS中之一控制器,且該等其他裝置可包含該DPACS中之其他控制器。在此實施例中,該第一資料可包含用於組 態該控制器之資料。
在另一實施例中,一種裝置可包含該裝置之一記憶體之一第一記憶體區域,其用以儲存一基於共識之分散式DB之資料。該第一資料待新增至在一同級間網路中之其他裝置當中分配之該基於共識之分散式DB。該裝置可包含一處理器,其用以將該第一資料複製至該裝置之該記憶體之一第二記憶體區域,且在該將該第一資料複製至該第二記憶體區域之後,將該裝置新增至該同級間網路。該裝置亦可包含一接收器,其用以自該同級間網路中之該等其他裝置接收資料。此外,該處理器可經組態以藉由將該所接收資料儲存於該第一記憶體區域中而將該所接收資料新增至該基於共識之分散式DB,且藉由在將該裝置新增至該同級間網路之後將該第一資料自該第二記憶體區域複製至該第一記憶體區域而將該第一資料新增至該基於共識之分散式DB。該裝置可包含一傳輸器,其用以將該第一資料傳輸至該同級間網路中之該等其他裝置作為該基於共識之分散式DB之部分。
在此實施例中,該第一資料可包含裝置特有資料,且該第二記憶體區域可經指定以儲存一非基於共識之DB之資料。該裝置特有資料可包含一分散式控制系統中之一控制器之組態資料。該裝置特有資料可包含定義連接至該控制器之周邊裝置之資料。
在此實施例中,該裝置可包含一DPACS中之一控制器,且該等其他裝置可包含該DPACS中之其他控制器。在此實施例中,該第一資料可包含用於組態該控制器之資料。
在另一實施例中,一種裝置可包含一裝置中之一記憶體之一第一記憶體區域,其用以儲存一基於共識之分散式DB。該裝置可連接至一同級間網路,該同級間網路在該同級間網路中之其他裝置當中分配該基於共識之分散式DB。該裝置可包含一處理器,其用以將儲存於該基於共識之分散式DB中之第一資料複製至該裝置之該記憶體之 一第二記憶體區域。該處理器可經組態以在將該第一資料複製至該第二記憶體區域之後,自該同級間網路移除該裝置。該處理器可經組態以在將該第一資料複製至該第二記憶體區域之後且在自該同級間網路移除該裝置之後,刪除該基於共識之分散式DB中之資料。該處理器可經組態以在刪除該基於共識之分散式DB中之該資料之後,將該第一資料自該第二記憶體區域複製至該基於共識之分散式DB。
在此實施例中,該第一資料可包含裝置特有資料,且該第二記憶體區域可經指定以儲存一非基於共識之DB之資料。該裝置特有資料可包含一分散式控制系統中之一控制器之組態資訊。用於組態該控制器之該資料可包含定義連接至該控制器之周邊裝置之資料。
在此實施例中,該裝置可包含一DPACS中之一控制器,且該等其他裝置可包含該DPACS中之其他控制器。在此實施例中,該第一資料可包含用於組態該控制器之資料。
下文闡述其他實施例。亦即,上文所闡述之實施例僅作為實例而提供。
100‧‧‧例示性環境/環境
110‧‧‧例示性分散式控制系統/分散式控制系統/控制系統/管理系統/同級間網路
115‧‧‧單元/系統單元
115-A‧‧‧單元/系統單元
115-B‧‧‧單元/系統單元
115-C‧‧‧單元/系統單元
115-D‧‧‧單元/系統單元
115-E‧‧‧單元/系統單元
115-F‧‧‧單元/系統單元
115-N‧‧‧單元/系統單元
120‧‧‧網路
130‧‧‧管理裝置/管理員裝置
210‧‧‧控制器
210-A‧‧‧控制器
210-B‧‧‧控制器
210-C‧‧‧控制器
210-D‧‧‧控制器
210-E‧‧‧控制器
212‧‧‧匯流排
214‧‧‧處理器
216‧‧‧記憶體
218‧‧‧網路介面
220‧‧‧周邊介面
222‧‧‧外殼
230‧‧‧周邊裝置
240‧‧‧讀取器裝置
240-A‧‧‧讀取器裝置
250‧‧‧鎖裝置
250-A‧‧‧鎖裝置
260‧‧‧感測器/攝影機
260-A‧‧‧感測器
270‧‧‧致動器
270-A‧‧‧致動器
310‧‧‧應用程式介面(API)層
320‧‧‧應用程式層
322‧‧‧控制邏輯應用程式/控制邏輯
324‧‧‧門控制應用程式
326‧‧‧讀取器控制應用程式
328‧‧‧事件處置應用程式
330‧‧‧時間表處置應用程式
340‧‧‧分配層/分配層邏輯
350‧‧‧儲存層/記憶體
360‧‧‧共識資料區域/第一記憶體區域/基於共識之分散式資料庫(DB)
362‧‧‧裝置特有資料/第一資料/資料
364‧‧‧管理員憑證資料庫
366‧‧‧進出憑證資料庫
370‧‧‧非共識資料區域
372‧‧‧裝置特有(第一)資料之複本/裝置特有資料/第一資料
400‧‧‧組態
410‧‧‧牆壁
420‧‧‧門
440‧‧‧安全區域
450‧‧‧非安全區域
500‧‧‧組態/網路組態/網路/經網路連線組態
510‧‧‧建築物
520-A‧‧‧房間
520-B‧‧‧房間
520-C‧‧‧房間
520-D‧‧‧房間
520-E‧‧‧房間
520-F‧‧‧房間
530‧‧‧區域網路
610‧‧‧匯流排
620‧‧‧處理器
630‧‧‧記憶體
640‧‧‧輸入裝置
650‧‧‧輸出裝置
660‧‧‧通信介面
圖1係圖解說明根據本文中所闡述之實施例之例示性環境之方塊圖;圖2A及圖2B係圖解說明圖1之系統單元之例示性組件之方塊圖;圖3A及圖3B係圖解說明在一項實施例中圖1之系統單元之功能組件之方塊圖;圖3C係圖解說明在一項實施例中圖3B之儲存層之功能組件之一方塊圖;圖4A係圖解說明在一個組態中之一例示性系統單元之一方塊圖;圖4B係圖解說明在一獨立組態中之圖4A之系統單元之一方塊 圖;圖5A至圖5C係圖解說明在一網路連線組態中之圖4A之系統單元之方塊圖;圖6係圖解說明圖1之管理裝置之例示性組件之一方塊圖;圖7係用於將圖4A之系統單元新增至其他系統單元之一網路之一例示性程序之一流程圖;及圖8係用於自其他系統單元之網路移除圖4A之系統單元之一例示性程序之一流程圖。
以下詳細說明參考附圖。不同圖式中之相同元件符號識別相同或類似元件。
下文所闡述之一項實施例係關於一實體門禁控制系統(PACS)中之控制器。其他實施例可包含除一PACS之外的裝置或系統,諸如用於控制建築物管理、監視及安全系統內之不同應用程式之系統中之控制器。舉例而言,一項實施例可包含一家庭自動化系統中之控制器。
如上文所提及,一控制系統可具有眾多控制器,每一控制器控制系統之一不同部分。每一控制器可儲存裝置特有資料,諸如組態資料、周邊裝置設定等等。若此裝置特有資料係以一分散式方式儲存於(舉例而言)一基於共識之資料庫中,則可在對應控制器加入分配基於共識之資料庫之其他控制器之一新的或不同網路時移除、刪除或覆寫此裝置特有資料。在下文所闡述之一項實施例中,可在一控制器加入基於共識之資料庫時存留裝置特有資訊並將其引入至基於共識之資料庫中(以此一方式以避免某一裝置特有資料之丟失)。
同樣地,若裝置特有資料係以一分散式方式儲存於(舉例而言)一基於共識之資料庫中,則可在對應控制器離開分配基於共識之資料庫之一控制器網路時移除、刪除或覆寫此裝置特有資料。在下文所闡述 之一項實施例中,可在一控制器離開基於共識之資料庫時存留裝置特有資訊並將其重新引入至基於共識之資料庫中。
下文之一或多項實施例係關於一裝置在一分散式實體門禁控制系統中加入一分散式資料庫。如下文所闡述,其他實施例係關於在其他類型之系統(例如,除一實體門禁控制系統之外)中加入一分散式資料庫。
圖1係可在其中實施下文所闡述之系統及方法之一例示性環境100之一方塊圖。如圖1中所展示,環境100可包含一分散式控制系統110(例如,一分散式實體門禁控制系統)、一網路120及一管理裝置130。
分散式控制系統110可包含一分散式計算系統,該分散式計算系統包含系統單元115-A至115-N(統稱為「系統單元115」或「單元115」且個別地稱為「單元115」)。在一項實施例中,系統單元115包含一實體門禁控制裝置。舉例而言,系統單元115可包含控制對一安全區域(諸如一房間或一房間群組)之進出之一控制器。系統單元115可經由一讀取器裝置接收憑證(例如,門禁卡憑證)且可判定該等憑證是否係真實的且與進出該安全區域之授權相關聯。若如此,則該控制器可發出打開一門上之一鎖或執行與授予進出該安全區域相關聯之其他操作之一命令。
分散式控制系統110可包含一或多個分散式資料集。一分散式資料集包含以一分散式(及潛在地冗餘)方式儲存於與該分散式資料集相關聯之系統單元115中之資料。在一項實施例中,分散式資料集複製於一個以上裝置上。舉例而言,整個分散式資料集可儲存於所有單元115中。在另一實施例中,一或多個單元115可儲存分散式資料集之一子集。而且,一分散式資料集可與所有系統單元115相關聯或可與系統單元115之一子集相關聯。
在一項實施例中,單元115可達成一共識以便達成分散式資料集(例如,一基於共識之分散式資料庫)之一改變。系統單元115可提議對一基於共識之分散式資料集之一改變。若與分散式資料集相關聯之法定數之單元115接受了改變,則單元115可達成一共識,且將改變傳播至每一相關聯單元115中之分散式資料集之每一區域複本。亦即,若法定數之相關聯單元115投票贊成分散式資料集之一改變,則可達成關於該改變之一共識。
在此內容脈絡中,一法定數可對應於相關聯單元115之最小大多數。舉例而言,若一分散式資料集與N個單元115相關聯,則在N/2+1個相關聯單元115投票贊成改變且N係一偶數之情況下或在(N-1)/2+1個相關聯單元115投票贊成改變且N係一奇數之情況下,可達到一法定數。需要一最小大多數達到一法定數可確保在考量兩個衝突提議時,至少一個系統單元115接收到兩個提議且選擇該等提議中之一者以達成共識。
一基於共識之分散式資料集可確保與分散式資料集相關聯之任何系統單元115皆包含由該分散式資料集管理之資訊(例如,在一項實施例中,所有資訊)。舉例而言,一分散式資料集可包含進出規則,且該等進出規則可用於與該分散式資料集相關聯之任何系統單元115。因此,由於一或多個分散式資料集,在一項實施例中,控制系統110可對應於不具有中央控制裝置(諸如一伺服器裝置)之一分散式系統。在其他實施例中,控制系統110可包含一分散式系統及一中央控制裝置(諸如一伺服器裝置)兩者。對控制系統110之改變可在任何系統單元115處組態,且若改變與一分散式資料集相關聯,則可將該改變傳播至與該分散式資料集相關聯之其他系統單元115。此外,控制系統110可相對於裝置故障展現穩健性,此乃因可避免一單個故障點。舉例而言,若一特定系統單元115失效,則其他單元115可繼續操 作而不會丟失資料(或使資料丟失最小化)。在另一實施例中,可在無共識之情況下對分散式資料集做出一改變。
網路120可使得單元115能夠彼此通信及/或可使得管理裝置130能夠與特定單元115通信。網路120可包含一或多個電路交換網路及/或包交換網路。舉例而言,網路120可包含一區域網路(LAN)、廣域網路(WAN)、一都會區域網路(MAN)、一公共交換電話網路(PSTN)、一臨機操作網路、一內部網路、網際網路、一基於光纖之網路、一無線網路及/或此等或其他類型網路之一組合。
管理裝置130允許一管理員連接至一特定單元115以便組態控制系統110、改變控制系統110之一組態、自控制系統110接收資訊及/或以其他方式管理控制系統110。管理裝置130可包含經組態以與單元115中之一或多者通信之任何裝置。舉例而言,管理裝置130可包含一可攜式通信裝置(例如,一行動電話、一智慧型電話、一平板電話裝置、一全球定位系統(GPS)裝置及/或另一類型之無線裝置);一個人電腦或工作站;一伺服器裝置;一膝上型電腦;平板電腦或另一類型之可攜式電腦;及/或具有通信能力之任何類型之裝置。在一項實施例中,管理裝置130可係單元115之部分。如此,管理員可自單元115中之一或多者管理控制系統110。
雖然圖1展示環境100之例示性組件,但在其他實施方案中,與圖1中所繪示之組件相比,環境100可包含更少之組件、不同之組件、不同配置之組件或額外組件。另外或替代地,環境100中之任一裝置(或任何裝置群組)可執行闡述為由環境100中之一或多個其他裝置執行之功能。
圖2A及圖2B係圖解說明一單元115之例示性組件之一方塊圖。如圖2A中所展示,單元115可包含一控制器210及一或多個周邊裝置230。控制器210可控制單元115之操作,可與其他單元115通信、可與 管理裝置130通信及/或可控制周邊裝置230。周邊裝置230可包含將資訊提供至控制器210、由控制器210控制及/或以其他方式與控制器210通信之裝置。在一項實施例中,周邊裝置230可包含任何類型之安全裝置。舉例而言,周邊裝置230可包含諸如一讀取器裝置240、一鎖裝置250、一感測器260(例如,一攝影機)及/或一致動器270等安全裝置。
如圖2B中所展示,控制器210可包含一匯流排212、一處理器214、一記憶體216、一網路介面218、一周邊介面220及一外殼222。匯流排212包含准許控制器210之組件當中之通信之一路徑。處理器214可包含任何類型之單核心處理器、多核心處理器、微處理器、基於鎖存器之處理器及/或解譯並執行指令之處理邏輯(或處理器、微處理器及/或處理邏輯之族群)。在其他實施例中,處理器214可包含一特殊應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)及/或另一類型之積體電路或處理邏輯。
記憶體216儲存資訊、資料及/或指令。記憶體216可包含任何類型之動態、揮發性及/或非揮發性儲存裝置。記憶體216可儲存供由處理器214執行之指令或供由處理器214使用之資訊。舉例而言,記憶體216可包含一隨機存取記憶體(RAM)或另一類型之動態儲存裝置、一唯讀記憶體(ROM)裝置或另一類型之靜態儲存裝置、一內容可定址記憶體(CAM)、一磁性及/或光學記錄記憶體裝置及其對應磁碟機(例如,一硬碟機、光學磁碟機等等)及/或一可抽換形式之記憶體,諸如一快閃記憶體。
網路介面218可包含一收發器(例如,一傳輸器及/或一接收器),該收發器使得控制器210能夠經由有線通信鏈路(例如,導電線、雙絞線纜線、同軸纜線、傳輸線、光纖纜線及/或波導等等)、無線通信鏈路(例如,射頻、紅外線及/或視覺光學器件等等)或無線與有線通信鏈 路之一組合與其他裝置及/或系統通信(例如,傳輸及/或接收資料)。網路介面218可包含將基頻信號轉換為射頻(RF)信號之一傳輸器及/或將RF信號轉換為基頻信號之一接收器。網路介面218可耦合至用於傳輸及接收RF信號之一天線。
網路介面218可包含一邏輯組件,該邏輯組件包含輸入及/或輸出埠、輸入及/或輸出系統及/或促進將資料傳輸至其他裝置之其他輸入及輸出組件。舉例而言,網路介面218可包含用於有線通信之一網路介面卡(例如,乙太網路卡)及/或用於無線通信之一無線網路介面(例如,一WiFi)卡。網路介面218亦可包含用於經由一纜線通信之一通用串列匯流排(USB)埠、一藍芽無線介面、一射頻識別(RFID)介面、一近場通信(NFC)無線介面及/或將資料自一種形式轉換為另一形式之任何其他類型之介面。
周邊介面220可經組態以與一或多個周邊裝置230通信。舉例而言,周邊介面220可包含一或多個邏輯組件,該一或多個邏輯組件包含輸入及/或輸出埠、輸入及/或輸出系統及/或促進將資料傳輸至周邊裝置230之其他輸入及輸出組件。作為一實例,周邊介面220可使用一串列周邊介面匯流排協定(例如,韋根(Wiegand)協定及/或RS-485協定)與周邊裝置230通信。作為另一實例,周邊介面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中。記憶體216中所含有之軟體指令可致使處理器214執行本文中所闡述之程序。因此,本文中所闡述之實施方案並不限於硬體電路與軟體之任何特定組合。
返回至周邊裝置230,讀取器裝置240可包含自一使用者讀取憑證並將該等憑證提供至控制器210之一裝置。舉例而言,讀取器裝置240可包含經組態以自一使用者接收一文數字個人識別號碼(PIN)之一小鍵盤;用以組態在一磁條或另一類型之儲存裝置(諸如一射頻識別(RFID)標籤)上儲存一卡代碼之一卡之一讀卡器;經組態以讀取一使用者之指紋之一指紋讀取器;經組態以讀取一使用者之虹膜之一虹膜讀取器;一麥克風及經組態以記錄一使用者之語音標誌之一語音標誌識別器;一NFC讀取器;與面部辨識軟體相關聯之一攝影機;與語音辨識軟體相關聯之一麥克風;及/或另一類型之讀取器裝置。讀取器裝置240可包含可提供憑證之任何類型之安全裝置,且可包含一或多個感測器裝置,諸如下文參考感測器260所闡述之任何感測器裝置。舉例而言,讀取器裝置240可包含用於面部辨識之一攝影機及/或用於語音辨識之一麥克風。在此情況中,使用者之語音或面部可用作用於鑑認之一憑證。
鎖裝置250可包含由控制器210控制之一鎖。鎖裝置250可鎖住一門(例如,防止其打開或關閉)、一窗戶、一HVAC通風孔及/或至一安全區域之另一類型之進出開口。舉例而言,鎖裝置250可包含一電磁 鎖;具有由控制器210控制之一馬達之一機械鎖;一機電鎖;及/或另一類型之鎖。
感測器260可包含一感測裝置。作為實例,感測器260可包含:用以感測一門打開還是關閉之一門感測器;一可見光監視裝置(例如,一攝影機)、一紅外線(IR)光監視裝置、一熱標誌監視裝置、一音訊監視裝置(例如,一麥克風)及/或另一類型之監視裝置;一警報感測器,諸如一運動感測器、一熱感測器、一壓力感測器及/或另一類型之警報感測器;一篡改感測器,諸如位於單元115內側之一位置感測器;及/或位於與單元115相關聯之一安全區域內之一「外出請求」按鈕;及/或另一類型之感測器裝置。在以下實例中,感測器260可稱為「攝影機260」。
致動器270可包含一致動器裝置。作為一實例,致動器270可控制一照明裝置。作為其他實例,致動器270可包含:一防盜警報啟動器;用以播放訊息或產生警報信號之一揚聲器;一顯示裝置;用以移動感測器260(例如,控制一攝影機或其他監視裝置之視域)之一馬達;用於打開/關閉一門、窗戶、HVAC通風孔及/或與一安全區域相關聯之另一開口之一馬達;用以將鎖裝置250固定於一鎖住或未鎖位置中之一馬達;一滅火裝置;及/或另一類型之致動器裝置。
雖然圖2A及圖2B展示單元115之例示性組件,但在其他實施方案中,與圖2A及圖2B中所繪示之組件相比,單元115可包含更少之組件、不同之組件、額外組件或不同配置之組件。舉例而言,雖然在圖2A中展示一單個讀取器裝置240、一單個鎖裝置250、一單個感測器260及一單個致動器270,但實際上,周邊裝置230可包含多個讀取器裝置240、多個鎖裝置250、多個感測器260及/或多個致動器270。周邊裝置230亦可不包含圖2A中所展示之裝置中之一或多者。另外或替代地,單元115之任何組件(或任何組件群組)可執行闡述為由單元115 之一或多個其他組件執行之任務。
此外,雖然例示性分散式控制系統110包含一實體進出分散式控制系統,但其他實施方案可控制除實體進出之外的系統。另一方面,分散式控制系統110可包含任何類型之實體門禁控制系統(例如,在一操作環境中),諸如打開及/或關閉一門或控制對一建築物或設施之實體進出之一控制系統。分散式控制系統110亦可包含用以控制一風扇(例如,起動或停止)、用以起始一建築物管理系統中之一警報(例如,失敗之鑑認、成功之鑑認等等)或用以控制一工業自動化系統中之一機器人臂之一系統。
圖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更詳細地論述應用程式。
分配層340可管理與單元115相關聯之一或多個分散式資料集。 舉例而言,分配層340可以一同級間網路連接控制器210以用於分配資料集。分配層340可使用一協定(例如,一PAXOS協定)來建立關於一特定基於共識之分散式資料集之一改變之一共識。作為一實例,分配層340可將一改變之一提議發送至與分散式資料集相關聯之其他系統單元115且可自其他系統單元115接收改變之一法定數。作為另一實例,分配層340可投票贊成自另一單元115接收之一提議。作為又一實例,分配層340可接收已在未投票贊成一改變之情況下達成對該改變之一共識之一指示。當接收到對一改變之共識之一指示時,分配層340可在分散式資料集之區域複本中做出該改變。分配層340可經由網路120維持與其他單元115之安全連接(例如,一輸送層安全(TLS)連接)。
儲存層350可儲存與單元115相關聯之一或多個資料集。儲存於儲存層350中之一資料集可對應於一區域資料集或可對應於一分散式資料集。一區域資料集可儲存與儲存該區域資料集之特定單元115相關聯(及/或僅與該特定單元相關聯)之資訊。一分散式資料集可儲存在與該分散式資料集相關聯之其他系統單元115當中分配之資訊。
圖3B係控制器210之例示性功能組件之一方塊圖,其中為應用程式層320及儲存層350提供了更多細節。如圖3B中所展示,應用程式層320可包含一控制邏輯應用程式322(或「控制邏輯322」)、一門控制應用程式324、一讀取器控制應用程式326、一事件處置應用程式328及/或一時間表處置應用程式330。舉例而言,其他應用程式可包含警報及控制應用程式。
控制邏輯322可基於所接收憑證且基於所儲存進出規則而判定是否授予一使用者之實體進出。控制邏輯322亦可基於該判定而授予存取(例如,遠端存取,諸如一遠端登入)。如此,控制邏輯322可基於憑證(例如,一使用者名稱及密碼)而鑑認一管理員,允許該管理員更 新使用者憑證(例如,針對其他管理員及/或針對希望被授予實體進出之使用者)等等。下文關於圖3C來闡述控制邏輯322之此等功能。
門控制應用程式324可控制一或多個門及/或相關聯鎖裝置250。舉例而言,門控制應用程式324可判定一門打開還是關閉及/或鎖住還是未鎖,且可操作一或多個裝置以打開或關閉門及/或將門鎖住或開鎖。讀取器控制應用程式326可控制一或多個讀取器裝置240且可獲得並處理自一或多個讀取器裝置240接收之憑證。事件處置應用程式328可處理由單元115記錄之事件,諸如門打開事件、警報事件、感測器事件及/或其他類型之所登記事件。事件處置應用程式328可產生一報告及/或一警報並將該報告及/或警報發送至管理員裝置130(及/或發送至另一指定裝置,諸如其他單元115)。時間表處置應用程式330可管理與單元115相關聯之一或多個時間表。舉例而言,針對特定使用者群組之進出規則可基於一天之特定時間而改變。
儲存層350可包含一共識資料區域360及一非共識資料區域370。在一項實施例中,共識資料區域360可包含一分散式基於共識之資料庫;且非共識資料區域370可包含非基於共識及/或非分散式之一資料庫(即,諸如上文所闡述之區域資料集)。
圖3C係儲存層350之例示性組件之一方塊圖。如所展示,共識資料區域360可包含裝置特有資料362(或第一資料362)、管理員憑證DB 364及進出憑證DB 366。如上文所論述,裝置特有資料362可包含與一特定單元115相關聯之資訊,諸如單元115及/或控制器210之硬體組態、連接至控制器210之周邊裝置230、安裝於應用程式層320中之應用程式或其他類型之資訊。在另一實施例中,裝置特有資料362可包含未必特有或與特定單元115相關聯之資訊(例如,資料362可包含與一個以上單元115及/或控制器210相關聯之資訊)。如此,資料362亦可稱為「第一資料362」。
管理員憑證DB 364可儲存用於鑑認可管理及/或操縱系統單元115(例如,以一遠端登入)之使用者之憑證(例如,使用者名稱及密碼)。在一項實施例中,管理員憑證DB 364分散在其他控制器210當中(例如,在一基於共識之資料庫中)以允許相同管理員自控制器210或單元115中之任一者管理系統110。
進出憑證DB 366可儲存用於希望進出一實體區域之使用者之憑證(例如,卡及pin資訊、指紋資訊等等)。在一項實施例中,可將進出憑證DB 366中之資料分配(例如,在一基於共識之分散式資料庫中)至一網路中之其他控制器。
雖然圖3A至圖3C展示單元115之例示性功能組件,但在其他實施方案中,與圖3A至圖3C中所繪示之功能組件相比,單元115可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,單元115之組件(或任何組件群組)中之任一者可執行闡述為由單元115之一或多個其他功能組件執行之功能。此外,舉例而言,可經由一或多個ASIC之硬連線電路來實施單元115之功能組件。另外或替代地,可由執行來自記憶體216之指令之處理器214來實施單元115之功能組件。
圖4A係圖解說明在一個組態中之系統單元115-A之一方塊圖。如圖4A中所展示,單元115-A包含控制器210-A、讀取器裝置240-A、鎖裝置250-A、感測器260-A(例如,一攝影機)及一致動器270-A。可遠離可安裝單元115-A之位置而組態單元115-A。一安裝者可將單元115-A自其工場攜帶至一用戶端位置進行安裝。替代地,舉例而言,單元115可透過一遞送服務以經組態方式到達用於安裝之一位置。
如下文所闡述,單元115-A可安裝為一獨立單元(單獨地在一個單元之一網路中操作)或可安裝於其他單元115之一網路中。圖4B係圖解說明在一獨立組態中之圖4A之單元115-A之一方塊圖。另一方面,圖 5A至圖5C係圖解說明在其他單元115之一網路組態500中之單元115-A之方塊圖。若單元115-A安裝於網路組態500中,則可將單元115-A引入至其他單元115-B至115-F之一已有網路中,如圖5B中所展示。替代地,如圖5C中所展示,可將其他單元115-B至115-F新增(或加入)至作為一獨立單元(例如,作為一個單元之一網路)之單元115-A。
圖4B係圖解說明在一獨立組態400中之圖4A之單元115-A之一方塊圖。如圖4B中所展示,組態400可包含一牆壁410、一門420及系統單元115-A。如上文所論述,系統單元115-A包含控制器210-A、讀取器裝置240-A、鎖裝置250-A、感測器260-A及致動器270-A。
牆壁410封圍一安全區域440,諸如一建築物中之一房間。門420為一使用者提供至安全區域440之進出。在此實施例中,控制器210-A安裝在安全區域440內側。在其他實施例中,控制器210-A可安裝在一非安全區域450中。讀取器裝置240-A安裝在安全區域440外側且鎖裝置250-A在安全區域440內側安裝至牆壁410及門420。在此實例中,感測器260-A係安裝在安全區域440外側在非安全區域450中之一監視裝置。在此實例中,致動器270-A包含用於控制監視裝置之視域之一馬達。
當一使用者將憑證輸入至讀取器裝置240-A中(例如,藉由輸入一PIN、掃描一門禁卡、掃描一虹膜等等)時,控制器210-A可使用該等憑證來鑑認使用者之身份且可在一進出規則表中執行一查找以基於使用者之身份及進出規則而判定是否授予使用者之進出。若控制器210-A判定應授予進出,則控制器210-A啟動鎖裝置250-A以將門420開鎖,因此授予使用者進出安全區域440。
雖然圖4B展示組態400之例示性組件,但在其他實施方案中,與圖4B中所繪示之組件相比,組態400可包含更少之組件、不同之組件、額外組件或不同配置之組件。另外或替代地,組態400中之任一 組件(或組件群組)可執行闡述為由組態400之一或多個其他組件執行之一或若干任務。
圖5A至圖5C係圖解說明在其他單元115-B至115-F之一網路組態500(例如,而非圖4B中之獨立組態400)中之單元115-A之方塊圖。如圖5A中所展示,組態500可包含具有房間520-A至520-F之一建築物510。一區域網路530(諸如一乙太網路)可互連系統單元115-A至115-F。此實例包含圖4A中所闡述之特定單元115-A處於一不同環境中:處於其他單元115-B至115-F之一網路而非獨立網路中。圖5A中之單元115-A與圖4A中之單元115-A類似地組態(例如,包含控制器210-A、讀取器裝置240-A、鎖裝置250-A、感測器260-A及致動器270-A)。單元115-A可能以不同方式到達此組態中。舉例而言,如圖5C中所示範,單元115-A可能一直係單元115-B至115-F隨著時間新增至(或加入)之一單一單元系統。或者,如圖5B中所示範,單元115-A可能已被新增至(或加入)已包含單元115-B至115-F之一現有網路而到達組態500。
在此實例中,系統單元115-B控制進入至房間520-B中之兩個門;系統單元115-A控制進入至房間520-A中之一外側門;系統單元115-C控制自房間520-A至房間520-C之一個門,系統單元115-D控制自房間520-C至房間520-D之一個門;系統單元115-E控制自房間520-D至房間520-E之一個門;且單元520-F控制進入至房間520-F中之一外側門。
在此實例中,系統單元115-A至115-F不包含一中央控制裝置(例如,一伺服器)且可包含一或多個分散式資料集。舉例而言,系統單元115-A至115-F可維持一分散式憑證表、一分散式進出規則表及/或一分散式事件日誌。假定一管理員使用管理裝置130登入至系統單元115-A中以新增一使用者並新增與該使用者相關聯之憑證。可將所新 增之憑證分配至控制到該使用者可以進出之房間之門之其他系統單元115。舉例而言,若系統單元115-B失效,則由系統單元115-B收集之資料可由於包含於其他系統單元中之一分散式事件日誌而繼續係可用的。
在圖5A至圖5C中,每一單元115與一控制器210相關聯。此外,在圖5A至圖5C之實施方案中,每一控制器210處於與其他控制器210不同之一位置(例如,不同之房間520)中。在其他實施方案中,某些控制器210及單元115可位於與其他控制器及單元115不同之建築物、不同之地理區域、不同之國家、不同之大洲等等中。儘管其多樣之位置,但在一項實施例中,單元115及控制器210可能夠發現彼此(或做出一最大努力來發現彼此),形成一同級間網路並分配資料集。
雖然圖5A至圖5C展示組態500之例示性組件,但在其他實施方案中,與圖5A至圖5C中所繪示之組件相比,組態500可包含更少之組件、不同之組件、額外組件或不同配置之組件。舉例而言,在另一實施例中,可結合一或多個分散式資料集使用一中央控制裝置(例如,一伺服器)。另外或替代地,組態500之一或多個組件可執行闡述為由組態500之一或多個其他組件執行之一或多個任務。
圖6係圖解說明管理裝置130之例示性組件之一方塊圖。如圖6中所展示,管理裝置130可包含一匯流排610、一處理器620、一記憶體630、一輸入裝置640、一輸出裝置650及一通信介面660。
匯流排610包含准許管理裝置130之組件當中之通信之路徑。處理器620可包含任何類型之單核心處理器、多核心處理器、微處理器、基於鎖存器之處理器及/或解譯並執行指令之處理邏輯(或處理器、微處理器及/或處理邏輯之族群)。在其他實施例中,處理器620可包含一ASIC、一FPGA及/或另一類型之積體電路或處理邏輯。
記憶體630儲存資訊、資料及/或指令。記憶體630可包含一動 態、揮發性及/或非揮發性儲存裝置。記憶體630可儲存供由處理器620執行之指令或供由處理器620使用之資訊。舉例而言,記憶體620可包含一RAM、一ROM、一CAM、一磁性及/或光學記錄記憶體裝置等等。
輸入裝置640允許一操作者將資訊輸入至管理裝置130中。舉例而言,輸入裝置640可包含一鍵盤、一滑鼠、一筆、一麥克風、一觸控螢幕顯示器等等。輸出裝置650可將資訊輸出給管理裝置130之一操作者。輸出裝置650可包含一顯示器、一印表機、一揚聲器及/或另一類型之輸出裝置。
通信介面660可包含使得控制器210能夠經由有線通信鏈路、無線通信鏈路或無線與有線通信鏈路之一組合與其他裝置及/或系統通信(例如,傳輸及/或接收資料)之(例如,一傳輸器及/或一接收器)。通信介面660可包含用於有線通信之一網路介面卡(例如,乙太網路卡)及/或用於無線通信之一無線網路介面(例如,一WiFi)卡。
管理裝置130可執行與管理系統110中之單元115有關之操作。管理裝置130可回應於處理器620執行一電腦可讀媒體(諸如記憶體630)中所含有之軟體指令而執行此等操作。記憶體630中所含有之軟體指令可致使處理器620執行此等操作。
圖7係用於新增系統單元115-A(或使系統單元115-A加入一網路)以形成網路組態500(例如,具有其他單元115-B至115-F之一分散式環境)之一例示性程序700之一流程圖。程序700示範其中單元115-A變為一獨立單元(圖4B之組態400)或一網路組態中之一單元(圖5A至圖5C之組態500,作為一第一單元或作為一經新增單元)之情形。舉例而言,程序700可由在控制器210中運行之控制邏輯322及/或分配層邏輯340執行。
在此實例中,程序700以接收或判定裝置特有或其他資料(例如, 控制器210之組態資料、初始或第一資料)開始(方塊702)。舉例而言,使用管理裝置130之一管理員可組態具有讀取器裝置240-A、鎖裝置250-A、感測器260-A、致動器270-A之一控制器210-A(圖4A中所展示)。在組態(及裝置特有資料之產生)期間,管理員可能不知曉系統單元115-A將被置於組態400(獨立,圖4B中所展示)還是經網路連線組態500(圖5中所展示,與單元115-B至115-F網路連線)中。此外,若系統單元115-A將處於網路組態500中,則管理員可能不知曉單元115-A將是網路之第一單元(圖5C中所展示之情形,在此情況中其開始可係組態400之一獨立裝置)還是新增至單元115-B至115-F之一現有網路(圖5B中所展示之情形)。
如此,可將裝置特有資料(例如,組態資料或第一資料)以一資料庫儲存於一第一記憶體區域(例如,共識資料區域360)中以供分配至其他控制器210(或單元115)(方塊704)。在此實例中,可將裝置特有資料作為共識資料區域360之裝置特有資料362儲存於儲存層350中。若單元115-A係一獨立單元,則其準備好被置於組態400中(一個裝置之一網路中)。此外,單元115-A準備好使其他單元115加入其以形成單元115之一較大網路(圖5C之情形)。在此後一情況中,可在將其他控制器新增至單元115-A時將共識資料區域360中之資料分配至該等其他控制器。
另一方面,若系統單元115-A將加入單元115-B至115-F之一現有網路(圖5B之情形),則接收將控制器210-A(單元115-A)新增至分配一基於共識之資料庫之一新網路(例如,一同級間網路)之確認(方塊706)。在此情況中,應仔細避免移除、刪除或覆寫由管理員在方塊702處提供之裝置特有資料362。亦即,若單元115-A加入了單元115-B至115-F,則系統會由於共識之一缺乏而具有使單元115-A之裝置特有資料362被覆寫之風險。如此,一項實施例允許將裝置特有資料362引 入至由單元115-B至115-F分配之基於共識之DB而不會被覆寫。在另一實施例中,不必接收將系統單元115-A新增至一現有網路之確認。
為了預防裝置特有(第一)資料362自分散式資料庫被覆寫、刪除或移除,可將裝置特有(第一)資料362儲存於另一(例如,第二)記憶體區域中(方塊708),諸如非共識資料區域370(見圖3C)。在複製裝置特有資料362之後,單元115-A(亦即,控制器110-A)可加入(或被新增至)新網路(方塊710),該新網路在單元115-B至115-F(例如,一同級間網路)當中分配基於共識之資料庫(例如,圖5B之情形)。作為新網路之部分,單元115-A(亦即,控制器110-A)可自網路(例如,同級間網路)中之其他裝置(單元115-B至115-F)接收資料且可藉由將所接收資料儲存於第一記憶體區域(亦即,共識資料區域360)中而將所接收資料新增至基於共識之資料區域。
單元115-A(例如,控制器110-A)可接收將裝置特有(第一)資料新增至基於共識之資料之確認(方塊712)。舉例而言,將單元115-A新增至組態500之網路之管理員可被提示關於是否應將裝置特有資料新增至組態500之分散式DB。若如此,則控制器210-A將裝置特有(第一)資料之複本372自非共識資料區域370(亦即,第二記憶體區域)新增或複製至共識資料區域360(例如,第一記憶體區域)以供分配至由單元115-B至115-F形成之網路中之其他單元115/控制器210(方塊714)。如此,系統單元115-A被新增至網路組態500而其裝置特有資料362保持完整無損且視情況被分配。在此實例中,分配層340分配儲存於共識資料區域360中之基於共識之資料(包含裝置特有資料362)。在一項實施例中,用一裝置識別符(ID)(例如,一唯一裝置識別符)給裝置特有資料362加標籤以便使得關於裝置特有資料之共識之一缺乏為不可能的。
在系統單元115-A係網路組態500之部分之後,一管理員可能希 望自網路組態500移除單元115-A。在移除之後,管理員可能想要單元115-A作為如圖4之組態400中所展示之一獨立單元而操作。圖8係用於自圖5A中所展示之網路組態500移除單元115-A之一例示性程序800之一流程圖。
程序800以接收單元115-A將自其現有網路組態500移除之一確認(方塊802)及接收將存留單元115-A之裝置特有(第一)資料之一確認(方塊804)開始。若將存留裝置特有(第一)資料,則將裝置特有(第一)資料複製至非共識資料(第二記憶體)區域370(方塊806)(見圖3C)(例如,自共識資料(第一記憶體)區域360)。
系統單元115-A可然後離開網路組態(例如,自同級間網路移除),且可重設分散式DB(方塊808)。重設分散式DB可包含藉由抹除或刪除儲存於共識資料區域360中之資料來重設共識資料區域360。可然後將裝置特有資料(第一)362自非共識資料(第二記憶體)區域370複製至共識資料(第一記憶體)區域360(方塊810)。在此情況中,舉例而言,管理員可使單元115-A退出網路500,同時維持其裝置特有組態資訊(例如,諸如關於連接至控制器210-A之周邊裝置之組態資訊)。
在前述說明書中,已參考附圖闡述了各種實施例。然而,將顯而易見,可對本發明做出各種修改及改變且可實施額外實施例,此並不背離如以下申請專利範圍中所陳述之本發明之較寬廣範疇。因此,應將本說明書及圖式視為具有一說明性意義而非限制性意義。舉例而言,儘管已關於圖7及圖8闡述了若干系列之方塊,但在其他實施方案中可修改方塊及/或信號流之次序。此外,可並行地執行非相依方塊及/或信號流。
將明瞭,在圖中所圖解說明之實施方案中,可以許多不同形式之軟體、韌體及硬體來實施如上文所闡述之系統及/或方法。用於實施此等系統及方法之實際軟體程式碼或特殊化控制硬體並不限於該等 實施例。因此,在不參考特定軟體程式碼之情況下來闡述該等系統及方法之操作及行為--應理解,軟體及控制硬體可經設計以基於本文中之說明而實施該等系統及方法。
此外,可將上文所闡述之某些部分闡述為執行一或多個功能之一組件。如本文中所使用,一組件可包含硬體(諸如一處理器、一ASIC或一FPGA)或硬體與軟體之一組合(例如,執行軟體之一處理器)。
應強調,如本文中所使用之術語「包括(comprises及/或comprising)」規定所陳述特徵、整數、步驟或組件之存在,但並不排除一或多個其他特徵、整數、步驟、組件或其群組之存在或新增。此外,術語「例示性」(例如,「例示性實施例」、「例示性組態」等等)意指「作為一實例」且並不意指「較佳」、「最好」或類似詞語。
本申請案中所使用之元件、動作及指令不應理解為對該等實施例至關重要或必不可少,除非明確如此闡述。而且,如本文中所使用,冠詞「一」旨在包括一或多個物項。此外,片語「基於」意欲意指「至少部分地基於」,除非另有明確陳述。

Claims (20)

  1. 一種用於分散式資料庫之方法,其包括:將裝置特有(device-specific)資料儲存於一特定裝置之一第一記憶體區域中,其中該第一記憶體區域經指定以儲存一基於共識(consensus-based)之分散式資料庫(DB)之資料,其中該裝置特有資料待新增至在分散於一同級間(peer-to-peer)網路中之多個裝置中之該基於共識之分散式DB,其中該同級間網路中之該等裝置包含該特定裝置及同級裝置(peer devices),其中該基於共識之分散式DB經組態以在針對一改變之共識達成一法定數(quorum)時對儲存於該基於共識之分散式DB中之資料實施該改變,其中該法定數係少於分散於該同級間網路中該基於共識之分散式DB之多個裝置之一總數一數目,且其中該裝置特有資料包含用以組態該特定裝置之資料;將該裝置新增至該同級間網路;自該等同級裝置之一或多者接收資料且藉由將該所接收資料儲存於該第一記憶體區域中而將該所接收資料新增至該基於共識之分散式DB;在將該特定裝置新增至該同級間網路時將該裝置特有資料存留(retaining)於該特定裝置中,其中存留該裝置特有資料包含:將該裝置特有資料複製至該特定裝置之一第二記憶體區域,且在將該裝置特有資料複製至該特定裝置之該第二記憶體區域之後及在將該特定裝置新增至該同級間網路之後:藉由將該裝置特有資料新增至該基於共識之分散式DB將 該裝置特有資料自該第二記憶體區域複製至該第一記憶體區域並改變儲存於該基於共識之分散式DB中之資料;及在將該裝置特有資料新增至該基於共識之分散式DB之後,將該裝置特有資料分配至該同級間網路中之該等同級裝置作為該基於共識之分散式DB之部分。
  2. 如請求項1之方法,其中該第二記憶體區域經指定以儲存一非基於共識之DB之資料。
  3. 如請求項2之方法,其中該裝置特有資料包含組態資料以組態一分散式控制系統中之一控制器。
  4. 如請求項3之方法,其中該組態資料包含定義連接至該控制器之周邊裝置(peripherals)之資料。
  5. 如請求項1之方法,其中該裝置包含一分散式實體門禁控制系統(DPACS)中之一控制器,且該等同級裝置包含該DPACS中之其他控制器,且該裝置特有資料包含組態該控制器之資料。
  6. 一種用於分散式資料庫之方法,其包括:將一基於共識之分散式資料庫(DB)儲存於一特定裝置中之一第一記憶體區域中,其中該特定裝置連接至多個同級裝置之一同級間網路,該基於共識之分散式DB分散於該同級間網路中之多個裝置中,其中該同級間網路中之該等裝置包含該特定裝置及同級裝置,其中該基於共識之分散式DB經組態以在針對一改變之共識達成一法定數時對儲存於該基於共識之分散式DB中之資料實施該改變,其中該法定數係少於分散於該同級間網路中該基於共識之分散式DB之多個裝置之一總數一數目,且 其中該基於共識之分散式DB儲存裝置特有資料以組態該特定裝置;在自該同級間網路移除該特定裝置時將該裝置特有資料存留於該特定裝置中,其中存留該裝置特有資料包含:將該裝置特有資料複製至該特定裝置之一第二記憶體區域;在將該裝置特有資料複製至該第二記憶體區域之後,自該同級間網路移除該特定裝置;在將該裝置特有資料複製至該第二記憶體區域之後且在自該同級間網路移除該特定裝置之後,刪除該基於共識之分散式DB中之資料;及在刪除該基於共識之分散式DB中之該資料之後,藉由將該裝置特有資料新增至該基於共識之分散式DB將該裝置特有資料自該第二記憶體區域複製至該第一記憶體區域並改變儲存於該基於共識之分散式DB中之資料。
  7. 如請求項6之方法,其中該第二記憶體區域經指定以儲存一非基於共識之DB之資料。
  8. 如請求項7之方法,其中該裝置特有資料包含組態資料以組態一分散式控制系統中之一控制器。
  9. 如請求項8之方法,其中該組態資料定義連接至該特定裝置之周邊裝置。
  10. 如請求項6之方法,其中該特定裝置係一分散式實體門禁控制系統(DPACS)中之一控制器,且其中該等同級裝置包含該DPACS中之其他控制器。
  11. 一種用於分散式資料庫之裝置,其包括:該裝置之一第一記憶體區域,其用以儲存一基於共識之分散 式資料庫(DB)之裝置特有資料,其中該裝置特有資料待新增至在分散於一同級間網路中之多個裝置中之該基於共識之分散式DB,其中該同級間網路中之該等裝置包含該特定裝置及同級裝置,其中該基於共識之分散式DB經組態以在針對一改變之共識達成一法定數時對儲存於該基於共識之分散式DB中之資料實施該改變,其中該法定數係少於分散於該同級間網路中該基於共識之分散式DB之多個裝置之一總數一數目,且其中該裝置特有資料係用於組態該裝置;一處理器,其用以將該裝置新增至該同級間網路;一接收器,其用以自該同級間網路中之該等同級裝置接收資料,其中該處理器經組態以將該所接收資料儲存於該第一記憶體區域中並將該所接收資料新增至該基於共識之分散式DB,且其中該處理器並經組態以在將該裝置新增至該同級間網路時將該裝置特有資料存留於該裝置中,其中該處理器經組態以:將該裝置特有資料複製至該裝置之一第二記憶體區域,且在將該裝置特有資料複製至該裝置之該第二記憶體區域之後及在將該裝置新增至該同級間網路之後,該處理器經組態以:在將該裝置新增至該同級間網路之後藉由將該裝置特有資料新增至該基於共識之分散式DB而將該裝置特有資料自該第二記憶體區域複製至該第一記憶體區域並改變儲存於該基於共識之分散式DB中之資料;及一傳輸器,其用以將該裝置特有資料傳輸至該同級間網路中之該等同級裝置作為該基於共識之分散式DB之部分。
  12. 如請求項11之裝置,其中該第二記憶體區域經指定以儲存一非基於共識之DB之資料。
  13. 如請求項12之裝置,其中該裝置特有資料包含組態資料以組態一分散式控制系統中之一控制器。
  14. 如請求項13之裝置,其中該組態資料定義連接至該控制器之周邊裝置。
  15. 如請求項14之裝置,其進一步包括一分散式實體門禁控制系統(DPACS)中之一控制器,且該等同級裝置包括該DPACS中之其他控制器。
  16. 一種用於分散式資料庫之裝置,其包含:該裝置中之一第一記憶體區域,其用以儲存一基於共識之分散式資料庫(DB),其中該裝置連接至一同級間網路,該基於共識之分散式DB分散於該同級間網路中之多個裝置中,其中該同級間網路中之該等裝置包含該裝置及同級裝置,其中該基於共識之分散式DB經組態以在針對一改變之共識達成一法定數時對儲存於該基於共識之分散式DB中之資料實施該改變,其中該法定數係少於分散於該同級間網路中該基於共識之分散式DB之多個裝置之一總數一數目,且其中該基於共識之分散式DB儲存用以組態該裝置之裝置特有資料;一處理器,其在自該同級間網路移除該裝置時將該裝置特有資料存留於該裝置中,其中處理器經組態以:將儲存於該基於共識之分散式DB中之該裝置特有資料複製至該裝置之一第二記憶體區域,在將該裝置特有資料複製至該第二記憶體區域之後,自該 同級間網路移除該裝置,在將該裝置特有資料複製至該第二記憶體區域之後且在自該同級間網路移除該裝置之後,刪除該基於共識之分散式DB中之資料,及在刪除該基於共識之分散式DB中之該資料之後,藉由將該裝置特有資料新增至該基於共識之分散式DB而將該裝置特有資料自該第二記憶體區域複製至該第一記憶體區域並改變儲存於該基於共識之分散式DB中之資料。
  17. 如請求項16之裝置,其中該第二記憶體區域經指定以儲存一非基於共識之DB之資料。
  18. 如請求項17之裝置,其中該裝置特有資料包含組態資料組態一分散式控制系統中之一控制器。
  19. 如請求項18之裝置,其中該組態資料定義連接至該控制器之周邊裝置。
  20. 如請求項19之裝置,其進一步包括一分散式實體門禁控制系統(DPACS)中之一控制器,其中該等同級裝置包括該DPACS中之其他控制器。
TW103131804A 2013-09-16 2014-09-15 加入分散式資料庫 TWI595370B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/028,059 US9621644B2 (en) 2013-09-16 2013-09-16 Joining a distributed database

Publications (2)

Publication Number Publication Date
TW201528012A TW201528012A (zh) 2015-07-16
TWI595370B true TWI595370B (zh) 2017-08-11

Family

ID=49223671

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103131804A TWI595370B (zh) 2013-09-16 2014-09-15 加入分散式資料庫

Country Status (6)

Country Link
US (1) US9621644B2 (zh)
EP (1) EP2849062B1 (zh)
JP (1) JP6147234B2 (zh)
KR (1) KR101757345B1 (zh)
CN (1) CN104462171B (zh)
TW (1) TWI595370B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180147722A1 (en) * 2016-11-30 2018-05-31 Nanjing Avatarmind Robot Technology Co., Ltd. Method and system for managing wireless networking of units inside robot
US10831917B2 (en) 2018-10-29 2020-11-10 At&T Intellectual Property I, L.P. Database system consensus-based access control
TWI753716B (zh) * 2020-12-23 2022-01-21 財團法人工業技術研究院 運動數據收集方法及系統

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085805B1 (en) * 2000-07-07 2006-08-01 Sun Microsystems, Inc. Remote device management in grouped server environment
US20060253856A1 (en) * 2005-04-13 2006-11-09 Carl Hu Fault tolerant distributed lock management
TW200725454A (en) * 2005-12-30 2007-07-01 Ind Tech Res Inst Product managing system and method using RFID technology
TW200805185A (en) * 2006-03-29 2008-01-16 Raytheon Co Managing an entity
US20090063582A1 (en) * 2007-08-28 2009-03-05 International Business Machines Corporation Maintaining message versions at nodes in a network
US20090070571A1 (en) * 2007-09-10 2009-03-12 Neely E Terry Networked physical security access control system and method
US20110289344A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Automated node fencing integrated within a quorum service of a cluster infrastructure
US20130124546A1 (en) * 2010-02-26 2013-05-16 Adobe Systems, Inc. Group access control for a distributed system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047332A (en) 1997-06-30 2000-04-04 Sun Microsystems, Inc. Global file system-based system and method for rendering devices on a cluster globally visible
US6243744B1 (en) 1998-05-26 2001-06-05 Compaq Computer Corporation Computer network cluster generation indicator
US20060080112A1 (en) * 2003-03-10 2006-04-13 Fontijn Wilhelmus Franciscus J Method and apparatus for ownership transfer of transactions in peer-to-peer systems
US20060195361A1 (en) * 2005-10-01 2006-08-31 Outland Research Location-based demographic profiling system and method of use
US8424064B2 (en) * 2006-11-02 2013-04-16 Koninklijke Philips Electronics N.V. Distributed device revocation
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
US10296937B2 (en) * 2009-06-29 2019-05-21 Excalibur Ip, Llc Operating a sensor recording marketplace

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085805B1 (en) * 2000-07-07 2006-08-01 Sun Microsystems, Inc. Remote device management in grouped server environment
US20060253856A1 (en) * 2005-04-13 2006-11-09 Carl Hu Fault tolerant distributed lock management
TW200725454A (en) * 2005-12-30 2007-07-01 Ind Tech Res Inst Product managing system and method using RFID technology
TW200805185A (en) * 2006-03-29 2008-01-16 Raytheon Co Managing an entity
US20090063582A1 (en) * 2007-08-28 2009-03-05 International Business Machines Corporation Maintaining message versions at nodes in a network
US20090070571A1 (en) * 2007-09-10 2009-03-12 Neely E Terry Networked physical security access control system and method
US20130124546A1 (en) * 2010-02-26 2013-05-16 Adobe Systems, Inc. Group access control for a distributed system
US20110289344A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Automated node fencing integrated within a quorum service of a cluster infrastructure

Also Published As

Publication number Publication date
EP2849062A1 (en) 2015-03-18
CN104462171B (zh) 2019-07-26
US20150081831A1 (en) 2015-03-19
CN104462171A (zh) 2015-03-25
US9621644B2 (en) 2017-04-11
EP2849062B1 (en) 2019-06-26
JP6147234B2 (ja) 2017-06-14
TW201528012A (zh) 2015-07-16
KR20150032187A (ko) 2015-03-25
JP2015057702A (ja) 2015-03-26
KR101757345B1 (ko) 2017-07-12

Similar Documents

Publication Publication Date Title
JP6234348B2 (ja) ユーザ認証情報の配信
JP6307393B2 (ja) アクセス制御システムにおける分散されたイベント
JP6247618B2 (ja) アクセス制御システムにおける匿名の決定
TWI623839B (zh) 藉由分散系統內之裝置所執行之方法及分散系統內之裝置
TWI595370B (zh) 加入分散式資料庫