TWI450109B - 使用具有全域知識之伺服器來處理寫入請求 - Google Patents

使用具有全域知識之伺服器來處理寫入請求 Download PDF

Info

Publication number
TWI450109B
TWI450109B TW097123369A TW97123369A TWI450109B TW I450109 B TWI450109 B TW I450109B TW 097123369 A TW097123369 A TW 097123369A TW 97123369 A TW97123369 A TW 97123369A TW I450109 B TWI450109 B TW I450109B
Authority
TW
Taiwan
Prior art keywords
servers
server
data
central
receiving
Prior art date
Application number
TW097123369A
Other languages
English (en)
Other versions
TW200907721A (en
Inventor
Dmitri Gavrilov
Eric S Fleischman
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200907721A publication Critical patent/TW200907721A/zh
Application granted granted Critical
Publication of TWI450109B publication Critical patent/TWI450109B/zh

Links

Classifications

    • 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/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Description

使用具有全域知識之伺服器來處理寫入請求
本發明是有關於利用具有全域知識之伺服器以進行寫入請求處理。
分散式系統,像是檔案系統及目錄系統,會將相同資訊的複製項,或拷貝,儲存在多個不同節點上(亦即伺服器)。令多個節點具有複製項可提供像是容錯性、高度的資訊可獲用性以及經改良之系統效能的許多益處。該等分散式系統的一子集合可讓儲存有資訊之複製項的各個節點能夠接受對該資訊的變更。亦即,一節點擁有授權可對該資訊進行讀取及寫入存取。這些系統亦運用一複製協定,而其中節點可自其他節點獲取已對該資訊所作出的變更。這可讓該等節點能夠彼此獨立地運作,並接著於稍後可與其同儕點端(peer)進行「同步化」而使得其他的節點能夠具備當前性。這些類型的系統稱為多主機複製系統。
「輕量級目錄存取協定(Lightweight Directory Access Protocol, LDAP)」系統即為該等系統的範例,這些有時是實作成多主機複製系統。LDAP系統可用以儲存許多種類的資料,這些包含由使用者所供應之資料,像是位址及密碼,以及由受管IT系統所提供的資料,像是准允權。組織經常會要求對儲存在LDAP目錄內的資料施行規則或是商業邏輯。例如,此種目錄之一可儲存有使用者識別編號。 一IT組織可能要該系統施行一要求使用者識別編號具有唯一性的規則,亦即不可有兩位使用者擁有該使用者識別編號。然不幸地,在實作成多主機複製系統的LDAP系統裡,這是難以達成的。各個節點可接受對於具不同數值之使用者識別編號的寫入請求。而各節點雖可針對於該規則進行資料檢查,然確會受限於其本身對該資料的觀點。有可能其他節點會同時接受一特定節點尚未獲悉的寫入,而此節點在當完成複製時將在一不符合該規則之狀態下離出該系統(亦即相同的識別編號被指派予不同的使用者)。
本發明之具體實施例即為針對該等及其他考量所製作。同時,前文中雖討論相當特定的問題,然應瞭解不應將本發明具體實施例限制於解決在背景說明中所論述的特定問題。
本概述係經提供以介紹一種按一較簡化形式,而在後文「實施方式」乙節中進一步描述的選擇概念。本概述並非用以識別所主張之主題項目的各項關鍵特點或基本特性,亦非用以用於決定所主張主題項目之範圍的輔助。
所述者係多項針對於利用一分散式系統中具有全域資訊知識之指定伺服器以核可對該分散式系統內的節點之寫入請求的具體實施例。該等伺服器施行一資料規則,此規則對可寫入至該分散式系統內的資料施以限制,而一資料規則的範例係即為資料的唯一性。該分散式系統係設計為 向該指定伺服器提供該全域資訊知識,用以施行該資料規則。當該分散式系統內的另一伺服器收到一按照一資料規則之資料寫入請求時,在該伺服器能夠接受該寫入請求之前,其必須先向該等指定伺服器的其中一者諮詢。這可確保任何寫入至該分散式系統內的資料會與該資料規則相一致。若該指定伺服器決定該資料與該規則一致,則核可該寫入請求,並且該指定伺服器決定是否回應於該請求而更新其本地狀態。否則,拒絕該寫入請求。
可按如一電腦程序、一計算系統,或者按如一像是一電腦程式產品或電腦可讀取媒體的製造物項以實作具體實施例。該電腦程式產品可為一電腦儲存媒體,其可由一電腦系統讀取,並且編碼一電腦指令程式以執行一電腦程序。該電腦程式產品亦可為一於一載波上之經傳播信號,其可由一計算系統讀取並且編碼一電腦指令程式以執行一電腦程序。
後文中參照於隨附圖式以更完整地說明各式具體實施例,而該等圖式構成其一部份,並且顯示出用以實作本發明的示範性具體實施例。然而,該等具體實施例可按眾多不同形式所具體實作,並且不應被詮釋為受限於本文所述之各項具體實施例;相反地,該等具體實施例係經提供以使得本揭示可為通徹而完整,同時能夠將本發明範圍完整地提供予熟諳本項技藝之人士。該等具體實施例可為按如 方法、系統或裝置所實作。因此,該等具體實施例可採取一硬體實作、一全為軟體實作或者一合併軟體及硬體特點之實作的形式。因此,不應將接文詳細說明視為具有限制意義。
第1圖說明一分散式系統100,而客戶端電腦系統102及104可經由網路106及108存取多個節點,其在第1圖中係表述為伺服器電腦系統110、112、114及116。該等伺服器110、112、114及116可儲存有像是一分散式檔案系統或一分散式目錄的資訊。該等伺服器110、112、114及116各者儲存有該相同資訊的一複製項或是拷貝。該系統100係一多主機複製系統的一範例,其中該等伺服器110、112、114及116具有授權可對像是該等客戶端102及104之客戶端進行讀取及寫入存取。該系統100亦具有一複製協定,這可讓該等伺服器110、112、114及116能夠自其他伺服器獲得有關於對該資訊所作出之變更的資訊。該等伺服器110、112、114及116係獨立地運作,並且接著可彼此複製,以將對該資訊所作出的變更予以週期性地同步化。該系統100可提供多項優點,像是讓資訊能夠由多位使用者隨即存取以及容錯性,原因在於該等伺服器110、112、114及116其中一者的失效並不會導致資訊損失或是對該資訊的存取功能喪失。
該等客戶端102及104為該系統100內的節點,可向該等伺服器110及112發出請求以讀取或修改資料。在一些具體實施例裡,該等客戶端102及104並未主置任何來 自該系統100的資料,而在其他具體實施例裡,該等客戶端102及104則可主置至少部分資料。應瞭解在本專利申請案文裡該詞彙「客戶端」係為意指任何向另一程序發出一請求的程序。為簡化之目的,第1圖將該等客戶端102及104顯示如僅分別地存取該等伺服器110及112。然熟諳本項技藝之人士將能知曉有些分散式系統允許該等客戶端102及104能夠存取該等伺服器110、112、114及116的任一者。第1圖亦將該等客戶端102及104顯示如利用該等網路106及108以存取該等伺服器110及112,然熟諳本項技藝之人士將能瞭解有些分散式系統允許數個客戶端能夠透過相同的(多個)網路以存取伺服器。
該系統100雖確能提供多項優點,然亦面臨到一些限制。當該等伺服器110、112、114及116的一或更多者臨時地斷接於該系統100時,就可能會引起儲存在該系統100內之資料的衝突。在此時間過程中,該伺服器110可能接受一將一使用者ID指配予一第一使用者的寫入請求,而該伺服器112可能會將相同的使用者ID指配予一第二使用者。
該系統100並無法提供一種有效地施行全域資料規則的機制。在本專利申請案文裡,該詞彙「全域資料規則」意指一種提供與可儲存在一分散式系統內之資料相關聯的商業程序之規則。例如,該商業程序可為一對於該資料的限制項,如一使用者ID必須僅與一單一使用者相關聯,或者可為一藉該資料所執行的程序,如將所有的名稱變更 轉傳至一人力資訊資料庫。為了有效地施行全域資料規則,一或更多的伺服器必須具備全域知識(對於所有複製項或拷貝之更新的資訊知識)。全域資料規則的其一範例為資料唯一性。亦即,要求資料須對該分散式系統內資訊的所有複製項或拷貝具有一唯一數值。一特定範例即要求一使用者識別編號在整個分散式系統上具有一唯一數值。
如第1圖及後文中所述,該系統100並無法施行一全域資料規則。擴展該使用者識別編號的範例,該等伺服器110、112、114及116各者可接受並施用對於某人士之使用者識別編號的寫入請求。該客戶端102可將一寫入請求遞交至該伺服器110,此伺服器可指派予一第一使用者一識別編號。該客戶端104可近期地將一寫入請求遞交至該伺服器112,而此伺服器則可將相同的使用者識別編號指派予一不同使用者。該等伺服器110及112雖可檢查資料以決定該使用者識別編號是否為唯一,然該等確受限於其本身對於該資料的觀點。因此,該系統100將會擁有與要求使用者識別編號係唯一地關聯於一單一使用者之規則並不一致的資訊。
第2圖說明一根據一具體實施例的分散式系統200。除提供分散式系統的一般優點以外,該系統200亦可有效率地且有效地施行限制該系統200內之資料的全域資料規則。該系統200含有客戶端電腦系統202及204,其可利用網路206及208以存取多個節點,該等在第2圖中係繪示如接收伺服器電腦系統210、212、214及216。該系統 200進一步含有中央伺服器電腦系統220、222、224及226,其具備該系統200內的全域資訊知識(並可非常快速地建構全域知識),同時可被該系統200使用來施行全域資料規則。熟諳本項技藝之人士將能知曉可設有許多不同數量的此等接收及中央伺服器電腦系統。
現再度地參照接收伺服器210、212、214及216,該等儲存有像是一分散式檔案系統或一分散式目錄的資訊。該等接收伺服器210、212、214及216各者儲存有該相同資訊的一複製項或是拷貝。該系統200係一多主機複製系統的一範例,其中該等接收伺服器210、212、214及216具有授權可對像是該等客戶端202及204之客戶端進行讀取及寫入存取。該系統200亦具有一複製協定,這可讓該等接收伺服器210、212、214及216能夠自其他伺服器獲得有關於已對該資訊所作出之變更的資訊。該等伺服器210、212、214及216係獨立地運作,並且接著可彼此複製,以將在其個別複製項之中作出的變更予以週期性地同步化。該系統200可讓資訊能夠由多位使用者隨時存取並具有容錯性,原因在於該等伺服器210、212、214及216其中一者的失效並不會導致資訊損失或是對該資訊的存取功能喪失。
在一具體實施例裡,該等接收伺服器210、212、214及216並未具備全域知識以施行全域資料規則。然而,在一些具體實施例裡,該等接收伺服器210、212、214及216可儲存並施行「本地資料規則」。在本專利申請案文中,該 詞彙「本地資料規則」意指一種對於可儲存在一分散式系統中之資料提供一限制項,然並不要求有效地施行全域知識(關於所有複製項或拷貝之資訊知識)的規則。本地資料規則的範例包含使用者識別編號為具有8個位元,或者不准允電話號碼中含有文字。如所能知悉者,本地資料規則適用於限制可予儲存在一分散式系統中之資料,然並不要求有效地施行全域知識。
該系統200亦包含一組中央伺服器220、222、224及226,如在虛線218中所述者。該等中央伺服器220、222、224及226擁有該系統200內的全域資訊知識(或可快速地建構出必要知識),藉以有效率地且有效地施行一全域資料規則。該等中央伺服器220、222、224及226各者中儲存有與該等接收伺服器212、212、214及216相同之資訊的複製項或拷貝。該等中央伺服器220、222、224及226最初係類似於該等接收伺服器212、212、214及216的正常伺服器。該等中央伺服器係經選定以擁有該系統200中之資訊的最新近知識,藉此讓該等能夠施行全域資料規則。在一些具體實施例裡,該等可為由一網路管理者例如僅藉設定一旗標之方式所選定。而選定哪些伺服器應升級為中央伺服器的決策,可基於一伺服器的特定性質。例如,可選定具備最佳網路鏈結的伺服器作為中央伺服器。有關於選定哪些伺服器以作為中央伺服器之決策,可依據其他的選擇標準,例如該等個別伺服器或該系統200的特徵或性質。
而相較於在該等接收伺服器210、212、214及216內的複製項,在該等中央伺服器220、222、224及226內的複製項擁有最新近資訊。該等中央伺服器220、222、224及226內的經更新資訊可至少部份地基於其複製協定和拓樸,後文中將參照於第3圖以對此進一步詳細討論。如第2圖所示,該等接收伺服器210、212、214及216各者係連接至該等中央伺服器220、222、224及226的其中一者,並且在能夠接受一與符合一全域資料規則之資料相關聯的寫入請求前,必須先向該等中央伺服器220、222、224及226的其一者諮詢。該等中央伺服器220、222、224及226施行全域資料規則,藉以確保寫入至該系統200內之複製項的資訊是與建立的全域資料規則相一致。
該等中央伺服器220、222、224及226彼此進行複製處理,藉以自另一伺服器獲得有關於該系統200內資訊所作出的變更之資訊。該等中央伺服器220、222、224及226擁有對於符合全域資料規則之資料的全域知識(或者能夠快速地建構出全域知識)。在具體實施例裡,該等中央伺服器220、222、224及226部份地透過一複製協定而獲得其全域知識,此協定可對該等中央伺服器220、222、224及226快速地提供在該系統200之內所作出的任何變更。如後文中參照於第3圖所進一步詳述,在具體實施例裡該等中央伺服器220、222、224及226具有一複製協定,其係不同於由該等無須具備全域知識之接收伺服器210、212、214及216所使用的複製協定。在其他的具體實施例裡, 該等中央伺服器220、222、224及226可運用與該等接收伺服器210、212、214及216所使用者相同的複製協定,然更積極地複製該等變更,像是在變更複製之間具有一較短的時間窗口。
該系統200可讓一管理者能夠建立一全域資料規則,這在一些具體實施例裡是至少被儲存在該等中央伺服器220、222、224及226之上。在一些具體實施例裡,該等接收伺服器210、212、214及216儲存有關於該全域資料規則的足夠資訊以決定何時為適用。然後,該等接收伺服器210、212、214及216被要求在其能夠允許一符合該全域資料規則的寫入請求之前,須先諮詢該等中央伺服器220、222、224及226的其中一者。由於僅要求該等接收伺服器諮詢一單一中央伺服器,因此能夠在該系統200裡有效率地施行一全域資料規則。
該系統200係運作來藉由給予該等接收伺服器210、212、214及216授權以向客戶端(像是該等客戶端202及204)提供讀取及寫入存取。該等接收伺服器210、212、214及216可接受請求以將資料寫入至其個別的複製項內。然而,若一寫入請求是與符合一建立的全域資料規則的資料相關聯,則該等接收伺服器210、212、214及216在其能夠執行該寫入請求之前,必須先諮詢該等中央伺服器220、222、224及226的其中一者。由於該等中央伺服器220、222、224及226之各者擁有全域知識(或可非常快速地建構出該全域知識)來施行該全域資料規則,因此諮詢該 等中央伺服器的任一者可讓一接收伺服器能夠信任該資料確與該全域資料規則相一致,並可因而執行該請求。
現將說明一範例來進一步敘述該系統200的運作方式。一管理者可建立一全域資料規則以限制該系統200內的資料數值。如一範例中,該全域資料規則可要求該系統200內的各個使用者識別編號須為唯一,亦即不可有兩位人士擁有相同的使用者識別編號。然後再將此一要求各個使用者識別編號之唯一性的資料規則儲存在該等中央伺服器220、222、224及226內。將一該資料規則之存在表示儲存在所有的接收伺服器210、212、214及216上,因此該等知曉任何與使用者識別編號相關聯之寫入請求皆必須獲得該等中央伺服器220、222、224及226其中一者的核可。
然後,該客戶端202上的一使用者可將一寫入請求發送至該接收伺服器210,以請求將一使用者識別編號寫入至一儲存於該系統200上的資料庫內。作為回應,而該接收伺服器210將會認知到一使用者識別編號必須要滿足先前所建立的全域資料規則。因此,該接收伺服器210自該寫入請求產生出一具有該使用者識別編號的核可訊息,並且將此一核可訊息傳送至一中央伺服器220以獲核可。
當收到該核可訊息時,該中央伺服器220即施用該全域資料規則。該中央伺服器220決定在其複製項(其具備該系統200內的全域資訊知識)內的任何資訊是否與其在來自該接收伺服器210之核可請求中所收到的使用者識別編 號不相一致。若該中央伺服器220決定確有與該使用者識別編號不相一致的資訊,則其會將一拒絕該寫入請求之核可的訊息傳送至該接收伺服器210。因此,該接收伺服器210將不會准允來自該客戶端202的寫入請求。在一些具體實施例中,該接收伺服器210亦將產生並傳送一訊息至該客戶端202,藉以表示已拒絕該寫入請求。
而若該中央伺服器220決定該使用者識別編號並不符合該全域資料規則,換言之其為唯一,則該中央伺服器220會將該使用者識別編號寫入至其本身的複製項內。將該使用者識別編號寫入至其本身的複製項內可確保其擁有最新近更新的資訊。在該中央伺服器220將該使用者識別編號寫入至其本身的複製項之後,其會將此項變更複製至其他中央伺服器222、224及226上的複製項,藉此確保該等維護其全域知識。然後,該中央伺服器220將產生並傳送一訊息至該接收伺服器210,藉此表示核可該寫入請求。該接收伺服器210將該使用者識別編號寫入至其複製項內,並且在一些具體實施例中會將一訊息發送至該客戶端202,以表示已完成該寫入請求。
若就在核可來自該客戶端202的寫入請求之後不久,位於該客戶端204上的另一使用者發送一具有對於不同人士之相同使用者識別編號的寫入請求,則將會適當地拒絕該請求。當該接收伺服器212自該客戶端204收到該寫入請求時,其將會辨識出此一使用者識別編號係承受於一全域資料規則。因此,其將產生一核可訊息並且將該訊息傳 送至該中央伺服器222。該中央伺服器222將藉由檢視其複製項以施用該全域資料規則,藉此決定是否已在其對於另一人士之複製項中收到來自於該寫入請求的安全編號。由於該中央伺服器220已藉由來自該客戶端202之寫入請求的資料來更新在該等中央伺服器222、224及226上的所有複製項,因此該中央伺服器222會辨識出來自於該客戶端204之寫入請求的使用者識別編號並非唯一,並且將拒絕該寫入請求。據此,該系統200可有效率地且有效地施行要求使用者識別編號之唯一性的全域資料規則。
應瞭解第2圖所示之系統200的部分特定細節僅為簡化之目的所呈現而並不具有限制性。例如,第2圖將該等客戶端202及204顯示如僅分別地存取接收伺服器210及212,而其他的接收伺服器並未連接至任何客戶端。在其他的具體實施例中,該等客戶端202及204則能夠存取任何接收伺服器210、212、214及216。第2圖亦顯示該等客戶端202及204利用不同的網路206及208以存取伺服器210及212;然在其他的具體實施例中,該系統200可允許除該等客戶端202及204以外之多個客戶端可透過相同的(多個)網路來存取該等接收伺服器210、212、214及216。
該等網路206及208可為具有任何類型而適用於將客戶端電腦系統連接至伺服器電腦系統的電腦網路。例如,該等網路206及208可為一區域網路(LAN)或一廣域網路(WAN)。在一些具體實施例裡,該等網路206及208包含企業內網路、網際網路及/或彼等之組合。
第2圖亦顯示該等中央伺服器220、222、224及226無法由客戶端存取。然在一些具體實施例中,該等中央伺服器220、222、224及226可被客戶端存取,並且除被指派來施行一全域資料規則以外,亦可直接地接受來自客戶端的寫入請求。在該等具體實施例裡,並不需諮詢任何其他的伺服器以施行任何適用的全域資料規則,其原因在於(如前述)該等中央伺服器220、222、224及226擁有用於施行全域資料規則的全域資訊。
此外,第2圖顯示該等接收伺服器210、212、214及216各者係僅連接至一單一中央伺服器220、222、224及226。然在一些具體實施例裡,該等接收伺服器210、212、214及216可依一任何接收伺服器皆可將核可請求傳送至任何中央伺服器之方式而連接至該等中央伺服器220、222、224及226。這些具體實施例可對該系統200提供額外的容錯性。例如,若無法獲用該中央伺服器220來處理一由該接收伺服器210所發出的核可請求,則該接收伺服器210可將該請求傳送至另一中央伺服器以獲核可。
第3圖顯示一分散式系統300之另一具體實施例。該系統300係類似於該系統200,此系統含有兩種不同類型的伺服器,亦即接收伺服器310、312、314和316以及一組中央伺服器320、322、324和326,而由虛線318所分界。該等中央伺服器320、322、324和326各者擁有該系統300內的全域資訊知識(或可快速地建構出全域知識)以允許該等能夠施行全域資料規則。第3圖中顯示出多個箭 頭,其係為說明在該系統300內之伺服器間進行複製的過程中之資訊傳送方向。亦即,第3圖概略顯示該系統300內之伺服器的複製拓樸。在第3圖所示之具體實施例裡,該等接收伺服器310、312、314和316具有異於該等中央伺服器320、322、324和326者的不同複製拓樸。即如後文所討論,該等中央伺服器320、322、324和326的複製拓樸係至少部分地負責其全域知識。
如第3圖所示,該等接收伺服器310、312、314及316具有一環狀複製拓樸。在一環狀複製拓樸裡,各個伺服器複製於兩個其他伺服器,而該第一及最後伺服器則彼此複製以構成一迴圈或封環。在該系統300裡,該伺服器314複製於該等伺服器310及312,而該伺服器312則除該伺服器314外亦複製於該伺服器316。該伺服器316除該伺服器312外亦複製於該伺服器310。最後,該伺服器310複製於該等伺服器316及314,而達到構成一封環。
在一具體實施例裡,該等中央伺服器320、322、324及326具備有完全連接的複製拓樸。在一完全連接的複製拓樸裡,該等伺服器各者為彼此複製。在該系統300中,該伺服器320複製於該等伺服器322、324及326;該伺服器322複製於該等伺服器320、324及326;該伺服器324複製於該等伺服器320、322及326;以及該伺服器326複製於該等伺服器320、322及324。如第3圖所見,該等中央伺服器320、322、324及326的複製拓樸可讓所有的中央伺服器能夠將資訊直接地傳送至所有其他的中央伺服 器。此一複製拓樸可輔助該等中央伺服器維護該系統300內的全域變更知識。在該系統300中,任何對符合一全域資料規則之資訊的變更皆必須經由該等中央伺服器320、322、324及326之其一者加以核可,而其會將該變更立即地寫入至其本身的複製項內,同時依據其完全連接之複製拓樸以將該變更直接地複製到所有其他的中央伺服器。此處理程序可確保所有的該等中央伺服器幾乎是立刻在該系統300中作出任何變更之後即皆具備最新近的知識。
如熟諳本項技藝之人士將能瞭解者,對一分散式系統組態設定一有效率的複製拓樸可為一複雜任務,並且會是根據各種因素而定,像是伺服器數量、伺服器連接方式、該分散式系統係如何地組織(網站、網域等等),以及該分散式系統的目標(資料一致性、高度的資料獲用性等等)。因此,第3圖僅試圖顯示出用於一系統之複製拓樸的一種具體實施例,該系統具有接收伺服器和中央伺服器之組合,而其中該等中央伺服器擁有全域知識藉以施行全域資料規則。該系統300雖顯示出該等接收伺服器及中央伺服器擁有不同的複製拓樸,然在一些具體實施例裡該等接收伺服器及中央伺服器可為具備相同的複製拓樸。
除複製拓樸以外,在具體實施例裡該等中央伺服器320、322、324及326亦具備一有助於維護其全域知識的複製協定。由於該等中央伺服器當其收到一核可請求時應具有全域知識,因此對該等中央伺服器320、322、324及326之其一者所作出的任何變更皆必須非常快速地被複製 到其他的中央伺服器處。因此,該等中央伺服器可實作一協定,其在複製操作之間具有極為微短時段的複製排程。除在複製操作之間的微短時段以外,或另者,該等中央伺服器可實作一協定,其要求將對其複製項所作出之變更立即地(或非常快速地)直接複製到其他的中央伺服器處。
應瞭解在一些具體實施例裡,由該等中央伺服器320、322、324及326所實作之協定可根據一全域資料規則的重要性或關鍵度而施用不同複製排程。例如,對一組織來說可能有一些全域資料規則會被視為具有關鍵性,而在此情況下,一管理者可能希望任何變更皆能立即地複製到所有的中央伺服器。然而有些全域資料規則可能並非如此般重要,則在此情況下,可在一排程複製時段之過程裡複製與該等規則相關聯的變更。當然,在一些具體實施例裡,由該等中央伺服器320、322、324及326所實作之複製協定可為異於由該等接收伺服器310、312、314及316所實作之協定,因後者無須具備全域知識。
在其他的具體實施例裡,除經特定設計之複製協定及拓樸以外,該等中央伺服器320、322、324及326亦可另外實作能夠對該等提供最新近知識以施行全域資料規則的其他方法。例如,在一具體實施例裡,該等中央伺服器320、322、324及326可在核可一來自該等接收伺服器310、312、314及316的請求之前先彼此諮詢。換言之,當一中央伺服器收到一符合一全域資料規則的請求時,其將諮詢所有其他的中央伺服器,藉此確保該請求不會與在其他中 央伺服器上的資料相衝突。而在又另一具體實施例裡,當一中央伺服器收到一請求時,其可將一訊息發出至其他的中央伺服器,表示其已收到一關聯於一特定資料的請求。回應於收到此訊息,而其他的中央伺服器將不會准允任何該等所接收而與該同一資料相關聯的請求。而當其他的中央伺服器自該原始中央伺服器處收到一第二訊息時,即移除此一握持情況。該第二訊息將含有經變更的資訊。
第4及5圖說明根據多項具體實施例的操作流程400及500。可在任何適當的計算環境中執行該等操作流程400及500。例如,可由像是第2圖及第3圖所述之系統執行該等操作流程。因此,該等操作流程400及500的說明可參照第2圖及第3圖元件之至少一者。不過,任何對於第2圖及第3圖元件的參照僅係為說明之目的,並應瞭解第2圖及第3圖之實作係一運用於該等操作流程400及500的非限制性環境。
此外,該等操作流程400及500雖按一特定次序而循序地說明且描述,然在其他的具體實施例裡,該等操作可為按不同次序、重複多遍及/或平行方式所執行。並且,在一些具體實施例裡,可省略或合併一或更多操作。
第4圖說明一根據一具體實施例而用以在一分散式系統中處理一寫入請求的操作流程400。在操作402,收到一具寫入資料之寫入請求。在一些具體實施例裡,該寫入請求係由一客戶端計算裝置(像是該等客戶端202、204、302及304)所產生且傳送,以請求對一接收伺服器上的複製項 進行變更。藉由該寫入請求所收到之寫入資料包含有待予在該分散式系統內寫入至一複製項的資料。在一些具體實施例裡,該寫入請求可被一接收伺服器所接收,像是第2圖(伺服器210、212、214及216)及第3圖(伺服器310、312、314及316)中所述的接收伺服器。
在操作402之後,此流程接著進入到操作404,在此操作中將對於一全域資料規則是否施用於該寫入請求中所收到的寫入資料作出一決定。該分散式系統之一管理者可建立全域資料規則,以對儲存在該分散式系統內的資料設置限制。如前述,一資料規則範例即要求該資料在整個分散式系統上擁有一唯一數值。在一些具體實施例裡,全域資料規則的施行係由一組中央伺服器進行,像是第2圖(伺服器220、222、224及226)及第3圖(伺服器320、322、324及326)中所述的中央伺服器。
若在操作404中決定該寫入資料並非符合一全域資料規則,則流程進入到操作406。在操作406會對於該寫入資料是否滿足任何本地資料規則作出一決定。如前述,一本地資料規則可對寫入至該分散式系統內的資料設置限制,然並不要求施行全域知識。在一些具體實施例裡,一接收伺服器執行操作406並且決定該寫入資料是否滿足任何適用的本地資料規則。
若在操作406作出一該寫入資料並不滿足該本地資料規則的決定,則流程進入到操作408,在此拒絕該寫入請求。在一些具體實施例裡,操作408牽涉到自該接收伺服 器產生一訊息並傳送至原先產生該寫入請求的客戶端,以表示已拒絕該寫入請求。在操作408之後,該流程結束於操作410。
然而,若在操作406作出一該寫入資料的確滿足施用的本地資料規則的決定,則流程進入到操作412,在此操作中將接受該寫入請求,並且將該寫入資料寫入至該分散式系統。在一些具體實施例裡,操作412牽涉到自該接收伺服器產生一訊息並傳送至原先產生該寫入請求的客戶端,以表示已接受該寫入請求。在操作412之後,該流程結束於操作410。
應注意,在一些具體實施例裡,若並無本地資料規則可供施用,則該操作流程400可並不含有操作406。在這些具體實施例裡,流程將從操作404直接地進入到操作412,在此操作中將接受該寫入請求並將該寫入資料寫入至該分散式系統。然後流程結束於操作410。
現參照回到操作404,若作出的確施用一全域資料規則的決定,則流程將從操作404進入到操作414。在操作414會對於是否可獲用一中央伺服器來處理一核可請求作出一決定。在一些具體實施例裡,在一接收伺服器在操作404決定施用一全域資料規則之後,其必須將一核可請求發送至一施行全域資料規則的中央伺服器。操作414係經執行以決定是否可獲用一中央伺服器來處理一由該接收伺服器所產生的核可請求。可能基於多個原因而無法獲用一中央伺服器,像是伺服器潰毀、連接斷失及/或伺服器繁忙 於處理其他請求。
若在操作414作出無法獲用一中央伺服器的決定,則流程進入到操作416。在操作416施行一關於無法獲用一中央伺服器的政策。該政策決定當無法獲用一中央伺服器來核可(符合一全域資料規則的)寫入請求時,應將如何地處理該等請求。如第4圖所示(在虛線中),流程可根據在操作416所實作之特定政策,自操作416進入到操作406、408或416的任一者。在一些具體實施例裡,該政策可簡易如拒絕所有的這些寫入請求,在此情況下此流程進入到操作408,或者可允許所有的這些寫入請求,而在此情況下此流程進入到操作406。在其他的具體實施例裡,該政策可要求此流程自操作416迴圈返回到操作414,直到一中央伺服器成為可獲用為止。
該政策將反映出個別資料規則的重要性。例如,若一寫入請求符合一對於一組織而言具有關鍵重要性的資料規則,則該政策可藉由拒絕任何符合該關鍵資料規則而無法獲一中央伺服器核可的寫入請求,來反映出該資料規則的重要性。同時,可允許符合較不重要資料規則的寫入請求,即使該等並未被一中央伺服器核可亦然。在其他的具體實施例裡,該政策可容允一違反該全域資料規則的寫入請求,但是日誌中將登載已發生該違反事件的事實。接著可於稍後利用該日誌以調解與該全域資料規則的任何不一致性。熟諳本項技藝之人士將能瞭解到,所建立且在操作416所施用的特定政策會是根據該分散式系統之實作而定。
參照回返至操作411,若作出可獲用一中央伺服器的決定,則流程進入到操作418,在此操作中將一核可請求發送至一中央伺服器。該核可請求向一中央伺服器詢請核可以接受該寫入請求且將該寫入資料寫入至該分散式系統。在一些具體實施例裡,操作418是由一接收伺服器執行並且包含數項子操作,像是產生具有在操作402所接收之寫入資料的核可請求,然接將該核可請求傳送至一中央伺服器。
在操作418之後,流程進入到操作420,在此自一中央伺服器收到一訊息。該訊息係回應於在操作418內所發送的核可請求。在操作420之後,流程進入到操作422,在此操作中將作出一自該中央伺服器所收到之訊息是否表示該中央伺服器已核可該寫入請求的決定。若在操作422作出一該中央伺服器尚未核可該寫入請求的決定,則流程進入到操作408,在此如前所述般拒絕該寫入請求。
若在操作422作出一該中央伺服器已核可該寫入請求的決定,則流程進入到操作406,在此將作出一該寫入資料是否滿足任何本地資料規則的決定。從操作406,流程將如前述般繼續進行。在一些具體實施例裡並無任何本地資料規則,而在此情況下流程將從操作422直接地進入到操作412而在該處接受該寫入請求。然後流程結束於操作410。
第4圖不應被解釋為限制執行該流程400操作的次序。例如,在一特定具體實施例裡,操作404將在操作406 之後或共時地執行。而在其他具體實施例裡,若並未建立本地資料規則,則將一起跳略過操作406。
第5圖說明一用以在一分散式系統中施行一全域資料規則的操作流程500。流程500開始於操作502,其中儲存有一全域資料規則。在一些具體實施例裡,操作502是由具有該分散式系統內之全域資訊知識的中央伺服器執行,像是第2圖所述的中央伺服器(伺服器220、222、224及226)及第3圖所述的中央伺服器(伺服器320、322、324及326)。該等中央伺服器係用以施行全域資料規則,並且確保任何寫入至該分散式系統內之資料會與所建立的資料規則相一致。
在操作502之後流程進入到操作504,在此收到一具有寫入資料的核可請求。操作502是由一接收該核可請求的中央伺服器執行,而在一些具體實施例裡,此請求是由一接收伺服器所發送,像是第2圖(伺服器210、212、214及216)及第3圖(伺服器310、312、314及316)中所述的接收伺服器。該核可請求向該中央伺服器詢請對於一寫入請求(亦即一用以將資料寫入至該分散式系統之請求)的核可。除其他資訊外,該寫入請求含有待予寫入至該分散式系統的寫入資料。
在操作506,作出一在操作504於該核可請求中的所收寫入資料是否滿足來自操作502之所存全域資料規則的決定。若該寫入資料並不滿足該全域資料規則,則流程進入到操作508,在此傳送一拒絕該核可請求的訊息。在一 些具體實施例裡,該中央伺服器產生拒絕該核可請求之訊息,並且傳送至稍早前發出該核可請求的接收伺服器。在操作508之後,該流程結束於操作510。
若在操作506作出該寫入資料滿足來自操作502之所存全域資料規則的決定,則流程進入到操作512,在此該中央伺服器將在該核可請求中所收到之資料寫入至本身的複製項。如前述,中央伺服器擁有(或可快速地建構)該分散式系統內的全域資訊知識,藉以能夠施行全域資料規則,並因而在一些具體實施例裡,當核可一變更時,第一項操作即為將該資訊寫入至其本身的複製項內。
在操作512之後,於操作514傳送一核可該核可請求的訊息。在一些具體實施例裡,操作514牽涉到一中央伺服器產生並傳送一核可於操作504所收到之核可請求的訊息。該訊息對一接收伺服器表示其可接受一寫入請求,並且將資料寫入至一儲存在該接收伺服器上的複製項。
在一些具體實施例裡,該全域資料規則可牽涉到一與寫入至一分散式系統之資料相關聯的操作或企業程序。如一範例中,該全域資料規則可建立一規則,即當寫入一名稱(即新近增入或變更者)時,必須將該資訊轉傳至一人力資源伺服器。熟諳本項技藝之人士將能瞭解亦可建立其他的商業程序及操作。在這些具體實施例裡,可在操作512及514之前、之後或共時地執行該商業程序或操作。
在操作514之後,流程接著進入到操作516,在此將於操作512由該中央伺服器所寫入之資料複製到其他的中 央伺服器。在操作516過程中所執行之該等特定步驟將會以針對該分散式系統內之中央伺服器所建立的複製協定和拓樸為基礎。如前文中參照於第3圖所述,中央伺服器可實作各種複製協定及拓樸,該等係經設計以確保該等中央伺服器維護該分散式系統內的全域資訊知識。
第5圖不應被解釋為限制執行該流程500操作的次序。例如,在一特定具體實施例裡,將在操作514之後隨即,或共時地,執行操作516。此具體實施例確保寫入至該複製項內的資料會被快速地複製至其他中央伺服器,以確保該等維護該分散式系統內的全域資訊知識。
第6圖說明一可用以實作本揭所述具體實施例的一般電腦系統600。該電腦系統600僅為一計算環境之單一範例,而並非為意指任何有關於電腦及網路架構之使用範圍或功能性上的限制。亦不應將該電腦系統600解釋如具有對該範例電腦系統600內所述之元件的任者或組合之任何相關性或必要性。在一些具體實施例裡,該系統600可用以作為一前文中參照於第2及3圖所述的接收伺服器及/或中央伺服器。
在其一最基本組態中,該系統600通常含有至少一處理單元602及系統記憶體604。依照該計算裝置的精確組態及型式而定,該記憶體604可為揮發性(像是RAM)、非揮發性(如ROM、快閃記憶體等),或是一些兩者的組合。此最基本組態係如第6圖中的虛線606所示。該系統記憶體604儲存有在該系統600上所執行的應用程式。除應用 程式以外,該記憶體604亦儲存有在該系統600所執行之操作中,像是寫入請求610及/或一核可請求612,使用到的資訊,如對於第2-5圖所示者。
此外,該系統600亦可具有額外特性/功能性。例如,裝置600亦可含有額外的儲存裝置608(可移除及/或非可移除),這些包含磁性或光學碟片或條帶,然不限於此。其額外儲存裝置在第6圖中係按如儲存裝置608所述。電腦儲存媒體包含按任何用以儲存如電腦可讀取指令、資料結構、程式模組或其他資料之資訊的方法或技術所實作之揮發性及非揮發性、可移除及非可移除媒體。該記憶體604及該儲存裝置608為電腦儲存媒體的範例。電腦儲存媒體包含,但不限於此,RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位光碟片(DVD)或其他光學儲存、磁匣、磁帶、磁碟儲存或其他磁性儲存裝置,或者是任何其他可用以儲存所欲資訊並且可由該裝置600所存取的媒體。任何其電腦儲存媒體皆可為該系統600的一部分。
熟諳本項技藝之人士將能瞭解該儲存裝置608可儲存各種資訊。在其他類型的資訊中,該儲存裝置608可儲存一資料規則618以及有關該分散式系統之資訊的複製項620。該資料可根據該系統600究係一接收伺服器或一中央伺服器,如前文中參照於第2及3圖所述者,而為一本地資料規則或一全域資料規則。
該系統600亦可包含(多個)通訊連接612,藉以讓該 系統能夠與其它裝置進行通訊。該(等)通訊連接612為通訊媒體之一範例。通訊媒體通常可在一經調變資料信號,像是載波或其他傳送機制,裡具體實作電腦可讀取指令、資料結構、程式模組或其他資料,並且含有任何資訊遞送媒體。該詞彙「經調變資料信號」意思是一種信號,其可令其一或更多項的特徵按一將資訊編碼至該信號內之方式所設定或變化。藉由範例,而非限制,通訊媒體包含像是有線網路或直接網路連接之有線媒體,以及像是音響、RF、紅外線及其他無線媒體的無線網路。該詞彙「電腦可讀取媒體」,如在此所用,包含儲存媒體及通訊媒體兩者。
該系統600亦可具有(多個)輸入裝置614,像是鍵盤、滑鼠、點筆、語音輸入裝置、觸控輸入裝置等等。亦可包含有(多個)輸出裝置616,像是顯示器、喇叭、印表機等等。所有這些裝置屬業界眾知者,並且無需在此詳細敘述。
本文規格之全篇中參照有「單一具體實施例」或「一具體實施例」,意指一特定所述特性、結構或特徵係經納入在至少一具體實施例之內。因此,使用此一詞句可為參照於一個以上的具體實施例。此外,可按任何適當方式,將所述特性、結構或特徵合併在一或更多個具體實施例之內。
然熟諳本項技藝之人士將能認知到可實作本發明而無須一或更多該等特定細節,或是藉由其他方法、資源、材料等等而實作。在其他實例裡,並未對眾知結構、資源或操作予以詳細顯示或描述,此僅用以避免模糊本發明特點。
雖既已說明並描述多項範例具體實施例及應用,然應 瞭解本發明並不受限於前文所述的精確組態和資源。可在本文揭示之方法與系統的排置、操作及細節上進行熟諳本項技藝之人士顯知的各式修改、更動及變異,而不致悖離所主張之發明範圍。
100‧‧‧分散式系統
102‧‧‧客戶端電腦系統
104‧‧‧客戶端電腦系統
106‧‧‧網路
108‧‧‧網路
110‧‧‧伺服器電腦系統
112‧‧‧伺服器電腦系統
114‧‧‧伺服器電腦系統
116‧‧‧伺服器電腦系統
200‧‧‧分散式系統
202‧‧‧客戶端電腦系統
204‧‧‧客戶端電腦系統
206‧‧‧網路
208‧‧‧網路
210‧‧‧接收伺服器電腦系統
212‧‧‧接收伺服器電腦系統
214‧‧‧接收伺服器電腦系統
216‧‧‧接收伺服器電腦系統
218‧‧‧虛線
220‧‧‧中央伺服器電腦系統
222‧‧‧中央伺服器電腦系統
224‧‧‧中央伺服器電腦系統
226‧‧‧中央伺服器電腦系統
300‧‧‧分散式系統
302‧‧‧客戶端計算裝置
304‧‧‧客戶端計算裝置
310‧‧‧接收伺服器
312‧‧‧接收伺服器
314‧‧‧接收伺服器
316‧‧‧接收伺服器
318‧‧‧虛線
320‧‧‧中央伺服器
322‧‧‧中央伺服器
324‧‧‧中央伺服器
326‧‧‧中央伺服器
600‧‧‧電腦系統
602‧‧‧處理單元
604‧‧‧系統記憶體
606‧‧‧虛線
608‧‧‧儲存裝置
610‧‧‧寫入請求
612‧‧‧核可請求/(多個)通訊連接
614‧‧‧(多個)輸入裝置
616‧‧‧(多個)輸出裝置
618‧‧‧資料規則
620‧‧‧複製項
茲參照於下列圖式以說明多項非限制性及非耗窮性具體實施例。
第1圖說明一先前技藝分散式系統。
第2圖說明一根據一具體實施例之分散式系統。
第3圖說明在如第2圖所示之分散式系統中於複製過程期間進行資訊傳送。
第4圖說明一用以在一分散式系統中處理寫入請求的操作流程。
第5圖說明一用以在一分散式系統中施用一全域資料規則的操作流程。
第6圖說明一適用於實作多項具體實施例之計算環境的區塊圖。
200‧‧‧分散式系統
202‧‧‧客戶端電腦系統
204‧‧‧客戶端電腦系統
206‧‧‧網路
208‧‧‧網路
210‧‧‧接收伺服器電腦系統
212‧‧‧接收伺服器電腦系統
214‧‧‧接收伺服器電腦系統
216‧‧‧接收伺服器電腦系統
218‧‧‧虛線
220‧‧‧中央伺服器電腦系統
222‧‧‧中央伺服器電腦系統
224‧‧‧中央伺服器電腦系統
226‧‧‧中央伺服器電腦系統

Claims (17)

  1. 一種在一分散式系統中處理寫入請求之電腦實作方法,其中該系統含有複數個伺服器,各者儲存一具有相同資料的複製項並執行複製交接以維護儲存在該等複數個伺服器上之該等複製項各者間的資料一致性,該方法包含以下步驟:在一第一伺服器處儲存一政策,當無法獲用一中央伺服器時,該政策可用以決定應接受或拒絕一寫入請求,其中該第一伺服器係該複數個伺服器中之第一群伺服器中的其中一者,該中央伺服器係該複數個伺服器中之第二群伺服器中的其中一者;在該第一伺服器處接收一寫入請求,其具有待予寫入至一儲存在該第一伺服器上之複製項的資料;由該第一伺服器決定將寫入至儲存於該第一伺服器上之該複製項的資料是否按照一全域資料規則;回應於該第一伺服器決定將寫入至該複製項的資料係按照該全域資料規則,該第一伺服器將一核可請求傳送至該中央伺服器,以核可接受該寫入請求,其中該中央伺服器具有全域知識;自該中央伺服器接收一訊息,其表示該核可請求是否已被核可;回應於該中央伺服器核可該核可請求,該第一伺服器將接受該寫入請求並且將該資料寫入至儲存在該第一伺服 器上的該複製項;回應於該中央伺服器並不核可該核可請求,該第一伺服器將拒絕該寫入請求;其中每當一第一時間區段過去時,該等接收伺服器複製該等接收伺服器之至少一者的改變;及其中每當該等中央伺服器之至少一者改變時,該等中央伺服器複製該等中央伺服器之至少一者的改變。
  2. 如申請專利範圍第1項所述之電腦實作方法,進一步包含以下步驟:由該第一伺服器決定將寫入至儲存於該第一伺服器上之該複製項的資料是否滿足一本地資料規則;以及回應於決定該資料的確滿足該本地資料規則並且該中央伺服器核可該核可請求,而該第一伺服器將接受該寫入請求並且將該資料寫入至儲存在該第一伺服器上的該複製項;以及回應於決定該資料並不符合該本地資料規則,而該第一伺服器將拒絕該寫入請求。
  3. 如申請專利範圍第1項所述之電腦實作方法,其中該將該核可請求傳送至該中央伺服器之步驟包含產生該核可訊息並且將該資料納入於該核可請求內之步驟。
  4. 如申請專利範圍第3項所述之電腦實作方法,其中該中央伺服器儲存該全域資料規則,並且決定該核可請求內的資料是否滿足該全域資料規則。
  5. 如申請專利範圍第3項所述之電腦實作方法,其中該全域資料規則要求該資料相對於儲存在該分散式系統內的其他資料而言須為唯一。
  6. 如申請專利範圍第1項所述之電腦實作方法,其中該分散式系統儲存一分散式目錄,並且該寫入請求係利用「輕量級目錄存取協定(Lightweight Directory Access Protocol,LDAP)」所產生。
  7. 如申請專利範圍第1項所述之電腦實作方法,其中該分散式系統儲存一分散式檔案系統,並且該寫入請求係關於將資料寫入至該分散式檔案系統上的一檔案。
  8. 如申請專利範圍第1項所述之電腦實作方法,其中該寫入請求係接收自一存取該分散式系統的客戶端。
  9. 一種在一分散式系統中施行一全域資料規則之電腦實作方法,其中該系統含有複數個伺服器,各者儲存一具有 相同資料的複製項並執行複製交接以維護儲存在該等複數個伺服器上之該等複製項各者間的一致性,該方法包含以下步驟:在一中央伺服器處儲存一全域資料規則以供該中央伺服器施行,其中該中央伺服器係該複數個伺服器中之第一群伺服器中之其中一者;在該中央伺服器處接收一由一接收伺服器所傳送之核可請求,該接收伺服器係該複數個伺服器中之第二群伺服器中之一者,其中該核可請求係與一在該接收伺服器處所接收到的寫入請求相關聯,並且該核可請求含有待予寫入至一儲存在該接收伺服器上之複製項的資料,該資料係按照該全域資料規則,其中該接收伺服器儲存若沒有任何該複數個伺服器中之該第一群伺服器可用時,用於決定接受或拒絕一寫入請求之一政策;由該中央伺服器決定該待予寫入至該接收伺服器的資料是否滿足該全域資料規則;回應於決定該資料並不滿足該全域資料規則,而將一拒絕該核可請求的訊息傳送至該接收伺服器;以及回應於決定該資料滿足該全域資料規則:將該資料寫入至一儲存在該中央伺服器上的複製項;以及將一核可該寫入請求之訊息傳送至該接收伺服器; 其中每當一第一時間區段過去時,該複數個伺服器中之該第二群伺服器複製該複數個伺服器中之該第一群伺服器之至少一者的改變;及其中每當一第二時間區段過去時,該複數個伺服器中之該第一群伺服器複製該複數個伺服器中之該第二群伺服器之至少一者的改變,該第二時間區段係短於該第一時間區段。
  10. 如申請專利範圍第9項所述之電腦實作方法,進一步包含以下步驟:在寫入步驟之後,將該資料複製至一第二中央伺服器,其係該等複數個伺服器的其中一者。
  11. 如申請專利範圍第10項所述之電腦實作方法,其中該複製步驟是在該傳送步驟之前執行。
  12. 如申請專利範圍第9項所述之電腦實作方法,其中該分散式系統儲存一分散式目錄服務,並且該寫入請求係利用「輕量級目錄存取協定(LDAP)」所產生。
  13. 一種分散式系統,包含:複數個中央伺服器,該等複數個中央伺服器各者儲存一資料規則,其要求施行全域知識並且該等複數伺服器各 者可運作以執行以下步驟:接收一核可請求,其請求核可將資料寫入至一接收伺服器,其中該核可請求含有該資料,其中該資料係按照該資料規則;決定該寫入資料是否符合該資料規則;回應於決定該資料並不符合該資料規則,而將一拒絕該核可請求的訊息傳送至該接收伺服器;以及回應於決定該資料符合該資料規則:將該資料寫入至該中央伺服器,並且將一核可該核可請求之訊息傳送至該接收伺服器;以及複數個接收伺服器,該等接收伺服器各者可運作以執行以下步驟:接收一寫入請求以將資料寫入至該接收伺服器;儲存若沒有任何該等複數個中央伺服器可用時,用於決定接受或拒絕一寫入請求之一政策;將一核可請求發送至該等複數個中央伺服器之其中一者,其中該核可請求針對該寫入請求而向該等複數個中央伺服器之其中一者請求核可;回應於自該中央伺服器接收一核可該核可請求之訊息,而接受該寫入請求並將該資料寫入至該接收伺服器;以及回應於自該中央伺服器接收一拒絕該核可請求之 訊息,而拒絕該寫入請求;及其中每當一第一時間區段過去時,該等接收伺服器複製該等接收伺服器之至少一者的改變;及其中每當該等中央伺服器之至少一者改變時,該等中央伺服器複製該等中央伺服器之至少一者的改變。
  14. 如申請專利範圍第13項所述之分散式系統,其中該等複數個中央伺服器實作一異於該等接收伺服器的不同複製協定。
  15. 如申請專利範圍第13項所述之分散式系統,其中該等複數個中央伺服器實作一異於該等接收伺服器的不同複製拓樸。
  16. 如申請專利範圍第15項所述之分散式系統,其中該等複數個中央伺服器實作一完全連接複製拓樸。
  17. 如申請專利範圍第13項所述之分散式系統,其中該等複數個中央伺服器各者進一步可運作以執行以下步驟:接收一寫入請求以將資料寫入至該中央伺服器。
TW097123369A 2007-06-27 2008-06-23 使用具有全域知識之伺服器來處理寫入請求 TWI450109B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/769,474 US7945639B2 (en) 2007-06-27 2007-06-27 Processing write requests with server having global knowledge

Publications (2)

Publication Number Publication Date
TW200907721A TW200907721A (en) 2009-02-16
TWI450109B true TWI450109B (zh) 2014-08-21

Family

ID=40161925

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097123369A TWI450109B (zh) 2007-06-27 2008-06-23 使用具有全域知識之伺服器來處理寫入請求

Country Status (7)

Country Link
US (1) US7945639B2 (zh)
EP (1) EP2176777B1 (zh)
JP (1) JP4806729B2 (zh)
CN (1) CN101689166B (zh)
CL (1) CL2008001604A1 (zh)
TW (1) TWI450109B (zh)
WO (1) WO2009002752A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11340988B2 (en) 2005-09-30 2022-05-24 Pure Storage, Inc. Generating integrity information in a vast storage system
US10154034B2 (en) * 2010-04-26 2018-12-11 International Business Machines Corporation Cooperative data access request authorization in a dispersed storage network
US10866754B2 (en) 2010-04-26 2020-12-15 Pure Storage, Inc. Content archiving in a distributed storage network
US11327674B2 (en) 2012-06-05 2022-05-10 Pure Storage, Inc. Storage vault tiering and data migration in a distributed storage network
US11080138B1 (en) 2010-04-26 2021-08-03 Pure Storage, Inc. Storing integrity information in a vast storage system
US10956292B1 (en) 2010-04-26 2021-03-23 Pure Storage, Inc. Utilizing integrity information for data retrieval in a vast storage system
US9268960B2 (en) 2011-06-01 2016-02-23 Microsoft Technology Licensing, Llc Moderation of shared data objects
US9613052B2 (en) * 2012-06-05 2017-04-04 International Business Machines Corporation Establishing trust within a cloud computing system
US9584358B2 (en) 2014-03-06 2017-02-28 International Business Machines Corporation Global production rules for distributed data
CN105224541B (zh) 2014-05-30 2019-01-04 阿里巴巴集团控股有限公司 数据的唯一性控制方法、信息存储方法及装置
US11113259B2 (en) * 2017-08-02 2021-09-07 Tata Consultancy Services Limited Method and system for analyzing unstructured data for compliance enforcement
CN111600958B (zh) * 2020-05-21 2023-06-02 广州市百果园信息技术有限公司 服务发现系统、服务数据管理方法、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW514780B (en) * 1999-07-08 2002-12-21 Ibm Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US20050010618A1 (en) * 2002-05-31 2005-01-13 Lefthand Networks, Inc. Distributed Network Storage System With Virtualization
TW200709605A (en) * 2005-08-19 2007-03-01 Hon Hai Prec Ind Co Ltd System and method for managing storage of components in a distributed system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0214354A (ja) * 1988-07-01 1990-01-18 Fujitsu Ltd 共通データの管理処理方式
US6356941B1 (en) * 1999-02-22 2002-03-12 Cyber-Ark Software Ltd. Network vaults
US7024429B2 (en) * 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
US7266702B2 (en) * 2002-10-21 2007-09-04 Solid Information Technology Oy Method and system for managing security material and services in a distributed database system
US7428751B2 (en) 2002-12-05 2008-09-23 Microsoft Corporation Secure recovery in a serverless distributed file system
GB2401693B (en) * 2003-05-15 2005-08-17 Sun Microsystems Inc Conflictless replication in a multi-master directory system
JP4568576B2 (ja) * 2004-10-26 2010-10-27 株式会社デンソーアイティーラボラトリ データ共有システム及び通信端末並びにデータ共有方法
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW514780B (en) * 1999-07-08 2002-12-21 Ibm Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US20050010618A1 (en) * 2002-05-31 2005-01-13 Lefthand Networks, Inc. Distributed Network Storage System With Virtualization
TW200709605A (en) * 2005-08-19 2007-03-01 Hon Hai Prec Ind Co Ltd System and method for managing storage of components in a distributed system

Also Published As

Publication number Publication date
WO2009002752A3 (en) 2009-02-26
EP2176777A4 (en) 2012-08-22
WO2009002752A2 (en) 2008-12-31
JP2010532051A (ja) 2010-09-30
TW200907721A (en) 2009-02-16
CN101689166B (zh) 2013-04-24
US7945639B2 (en) 2011-05-17
JP4806729B2 (ja) 2011-11-02
EP2176777A2 (en) 2010-04-21
CN101689166A (zh) 2010-03-31
CL2008001604A1 (es) 2009-03-13
EP2176777B1 (en) 2015-04-29
US20090006487A1 (en) 2009-01-01

Similar Documents

Publication Publication Date Title
TWI450109B (zh) 使用具有全域知識之伺服器來處理寫入請求
JP7451565B2 (ja) 共有の秘密及び読み取りの合意を用いてメタデータ駆動型ブロックチェーン上で忘れられる権利を実施するシステム又は方法
JP7304117B2 (ja) ブロックチェーン上のプロキシ・エージェントおよびプロキシ台帳
US11128465B2 (en) Zero-knowledge identity verification in a distributed computing system
US11928233B2 (en) Distributed data rights management for peer data pools
JP2020526820A (ja) 分散型台帳を用いて公共のソフトウェアコンポーネント・エコシステムを管理するためのシステムおよび方法
US10454786B2 (en) Multi-party updates to distributed systems
US20210352077A1 (en) Low trust privileged access management
JPH07219830A (ja) レプリケーション・ファシリティ
JP5848339B2 (ja) プロビジョニングサービスのためのリーダーアービトレーション
US11693948B2 (en) Verifiable labels for mandatory access control
US20190236062A1 (en) System and method for using policy to achieve data segmentation
US9912642B1 (en) Authorization path secured electronic storage system
Stepney et al. Formal specification of an access control system
US20230222137A1 (en) Data management platform
JP2024501401A (ja) 非集中型のブロードキャスト暗号化および鍵生成ファシリティ
JP2023538497A (ja) 編集可能なブロックチェーン
JP2022088326A (ja) ブロックチェーン・ネットワークにおけるワールドステート・データベースを選択的に更新するための方法、システム、およびコンピュータ・プログラム
US11868494B1 (en) Synchronization of access management tags between databases
EP3449601B1 (en) Configuration data as code
Demichev et al. Hyperledger-based Data Provenance in Distributed Computing Environments
Shaun De Witt The Storage Resource Manager Interface Specification

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees