版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第2章系統(tǒng)模型2第一章回顧引言分布式系統(tǒng)的目標(biāo)(設(shè)計(jì)、分析、實(shí)現(xiàn)---資源共享等)、定義(建立在網(wǎng)絡(luò)之上的軟件系統(tǒng))、特點(diǎn)(并發(fā)性、沒有全局時(shí)鐘、故障獨(dú)立性)分布式系統(tǒng)舉例
Internet/Intranet/MobileComputing等挑戰(zhàn)異構(gòu)性、開放性、安全性、可擴(kuò)展性、正確性、透明性,如何故障處理、并發(fā)處理、復(fù)制透明等總結(jié)分布式系統(tǒng)無處不在,分布式系統(tǒng)具有高度的內(nèi)聚性和透明性。第2章系統(tǒng)模型引言物理模型體系結(jié)構(gòu)模型基礎(chǔ)模型總結(jié)4引言TheSwedishShipVasa
17世紀(jì)上半葉,北歐新教勢力與中歐天主教勢力發(fā)生了一場“三十年戰(zhàn)爭”,作為北歐新教勢力的代表,瑞典的軍事力量達(dá)到鼎盛時(shí)期。1625年,號稱“北方颶風(fēng)”的瑞典國王古斯塔夫斯.阿道弗斯(GustavsAdolphus)決心建造一艘史無前例的巨型新戰(zhàn)艦——瓦薩(Vasa)戰(zhàn)艦。瓦薩戰(zhàn)艦確實(shí)是一艘令人望而生畏的戰(zhàn)艦:艦長70米,載員300人,在三層的甲板上共裝有64門重炮,火力超強(qiáng)。5瓦薩戰(zhàn)艦的首航1628年8月10日,這艘巨大的戰(zhàn)艦終于完工。在1萬多名圍觀者的目光注視下,忽然,瓦薩號奇怪地?fù)u晃了一下,便向左舷傾斜。海水從炮孔處涌入船艙,戰(zhàn)艦迅速翻入水中。幾分鐘后,這艘雄偉戰(zhàn)艦的處女航——也是唯一的一次航行結(jié)束了。瓦薩戰(zhàn)艦在它壯麗的起航時(shí)刻,帶著全身飄揚(yáng)的彩旗,沉沒于它誕生的港口。引言6引言瓦薩戰(zhàn)艦為什么沉沒?人們對瓦薩的沉沒做出了各種各樣的分析,最后的主要結(jié)論是:該艦制造工藝精良,但“比例嚴(yán)重失調(diào)”。也就是說,該戰(zhàn)艦的架構(gòu)存在缺陷。
引言物理模型:考慮組成系統(tǒng)的計(jì)算機(jī)和設(shè)備的類型以及它們的互連,不涉及特定的技術(shù)細(xì)節(jié);體系結(jié)構(gòu)模型:從系統(tǒng)的計(jì)算元素執(zhí)行的計(jì)算和通信任務(wù)方面來描述系統(tǒng);基礎(chǔ)模型:采用抽象的觀點(diǎn)描述大多數(shù)分布式系統(tǒng)面臨的單個(gè)問題的方案。8引言不同類型的分布式系統(tǒng)表現(xiàn)出共同的基本特性及設(shè)計(jì)問題。模型試圖對分布式系統(tǒng)的相關(guān)方面給出抽象、簡化但一致的描述。結(jié)構(gòu)模型(ArchitecturalModel)基礎(chǔ)模型(FundamentalModel)物理模型從計(jì)算機(jī)和所用網(wǎng)絡(luò)技術(shù)的特定細(xì)節(jié)中抽象出來的分布式系統(tǒng)底層硬件元素的表示。早期的分布式系統(tǒng)互聯(lián)網(wǎng)規(guī)模的分布式系統(tǒng)當(dāng)代的分布式系統(tǒng)移動計(jì)算---結(jié)點(diǎn)移動無處不在的計(jì)算---嵌入日常物品和周圍環(huán)境云計(jì)算---一組結(jié)點(diǎn)提供給定服務(wù)靜態(tài)、分立和自治物理模型11結(jié)構(gòu)模型結(jié)構(gòu)模型 構(gòu)成系統(tǒng)各部分(components,computers,procedures)的位置、角色和它們之間的關(guān)系,它定義了系統(tǒng)的各組件之間相互交互的方式以及它們映射到下面的計(jì)算機(jī)網(wǎng)絡(luò)的方式。客戶/服務(wù)器結(jié)構(gòu)對等結(jié)構(gòu)(客戶/服務(wù)器模型的變種)12客戶/服務(wù)器結(jié)構(gòu)它是所有網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)??蛻?服務(wù)器分別指參與一次通信的兩個(gè)應(yīng)用實(shí)體,客戶方主動地發(fā)起通信請求,服務(wù)器方被動地等待通信的建立。優(yōu)點(diǎn):可以在用戶態(tài)服務(wù)器中構(gòu)造各種各樣的API,為應(yīng)用程序與服務(wù)間通過RPC調(diào)用進(jìn)行通信提供一致的方法,且沒有限制其靈活性,為分布式計(jì)算提供了適當(dāng)?shù)幕A(chǔ)。客戶/服務(wù)器模型擴(kuò)展在(多個(gè))協(xié)作的服務(wù)器上劃分和復(fù)制數(shù)據(jù);由代理服務(wù)器和客戶進(jìn)行數(shù)據(jù)緩存;使用移動代碼和移動代理;以方便的方式添加和刪除移動設(shè)備。13對等結(jié)構(gòu)
該結(jié)構(gòu)可由若干互聯(lián)協(xié)作的計(jì)算機(jī)構(gòu)成,且至少具有如下特征之一:
系統(tǒng)依存于邊緣化(非中央式服務(wù)器)設(shè)備的主動協(xié)作;
每個(gè)成員直接從其他成員而不是從服務(wù)器的參與中受益;
系統(tǒng)中成員同時(shí)扮演服務(wù)器與客戶端的角色;
系統(tǒng)應(yīng)用的用戶能夠意識到彼此的存在,構(gòu)成一個(gè)虛擬或?qū)嶋H的群體。14基礎(chǔ)模型基礎(chǔ)模型:對體系結(jié)構(gòu)模型中公共屬性的一種更為形式化的描述交互模型:處理消息發(fā)送的性能問題,解決在分布式系統(tǒng)中設(shè)置時(shí)間限制的難題。例如對于消息傳遞,反映了進(jìn)程交互的方式。故障模型:試圖給出進(jìn)程和信道(通信通道)故障的一個(gè)精確的約定。它定義了什么是可靠通信和正確的進(jìn)程。安全模型:討論對進(jìn)程的和信道的各種可能的威脅。引入了安全通道的概念,它可以保證在存在各種威脅的情況下通信的安全。15設(shè)計(jì)者面臨的困難和挑戰(zhàn)使用模式的多樣性系統(tǒng)環(huán)境的多樣性內(nèi)部問題:非同步的時(shí)鐘,數(shù)據(jù)修改的不一致性、系統(tǒng)中單個(gè)部件的軟件硬件故障。外部問題:數(shù)據(jù)在傳輸過程中存在著對私密性、完整性的攻擊。16第2章系統(tǒng)模型引言體系結(jié)構(gòu)模型基礎(chǔ)模型總結(jié)17ArchitecturesArchitecturalstylesSoftwarearchitecturesArchitecturesversusmiddlewareSelf-managementindistributedsystems18體系結(jié)構(gòu)模型一個(gè)系統(tǒng)的體系結(jié)構(gòu)是指各個(gè)獨(dú)立指定組件的結(jié)構(gòu)。建筑物的結(jié)構(gòu)設(shè)計(jì)有類似的方面:不僅要確定它的外觀,而且要確定它的總體結(jié)構(gòu)和結(jié)構(gòu)風(fēng)格。整體目標(biāo)是確保結(jié)構(gòu)能滿足現(xiàn)在和將來可能的需求。主要關(guān)心系統(tǒng)可靠性、適應(yīng)性、可管理性和性價(jià)比。19體系結(jié)構(gòu)模型體系結(jié)構(gòu)模型首先簡化和抽象系統(tǒng)每個(gè)獨(dú)立的構(gòu)成模塊的作用和功能;其次在網(wǎng)絡(luò)中如何部署各個(gè)組件,對數(shù)據(jù)分布和負(fù)載定義有用的模式;各個(gè)模塊之間的關(guān)系,組件的角色和組件之間的通訊模式;例如:分布式存儲系統(tǒng)的角色、數(shù)據(jù)、數(shù)據(jù)的索引。由此確定了目錄服務(wù)器和數(shù)據(jù)服務(wù)器,以及它們之間的關(guān)系和通信交互模式。例如:門戶網(wǎng)站:client/server模型,因?yàn)殚T戶網(wǎng)站和用戶不可能對等(應(yīng)用模式)。為了減少服務(wù)器的負(fù)載,服務(wù)器之間可以P2P連接(效率、擴(kuò)展性)。體系結(jié)構(gòu)元素
通信的實(shí)體是什么?如何通信(通信范型)?扮演的腳色及承擔(dān)的責(zé)任是什么?如何映射到具體的基礎(chǔ)設(shè)施上(放置)?體系結(jié)構(gòu)元素——通信實(shí)體面向系統(tǒng)的角度線程進(jìn)程結(jié)點(diǎn)面向問題的角度對象:給定問題領(lǐng)域的自然單元組件:提供的接口+所需的接口Web服務(wù):經(jīng)常跨越組織邊界體系結(jié)構(gòu)元素——通信范型進(jìn)程間通信:相對底層的支持套接字、多播、消息傳遞遠(yuǎn)程調(diào)用:最常見的通信范型,雙向交換請求—應(yīng)答協(xié)議:一對消息的交換遠(yuǎn)程過程調(diào)用(RemoteProcedureCall,RPC):遠(yuǎn)程計(jì)算機(jī)上進(jìn)程中的過程能被調(diào)用遠(yuǎn)程方法調(diào)用(RemoteMethodInvocation,RMI):一個(gè)發(fā)起調(diào)用的對象能夠調(diào)用一個(gè)遠(yuǎn)程對象中的方法。體系結(jié)構(gòu)元素——通信范型進(jìn)程間通信及遠(yuǎn)程調(diào)用的限制:發(fā)送者需要知道接收者(空間耦合)發(fā)送者和接收者同時(shí)存在(時(shí)間耦合)體系結(jié)構(gòu)元素——通信范型間接通信(空間、時(shí)間解耦合)組通信:一對多通信范型發(fā)布—訂閱系統(tǒng):提供一個(gè)中間服務(wù),有效確保由生產(chǎn)者生成的消息被路由到需要這個(gè)消息的消費(fèi)者消息隊(duì)列:提供點(diǎn)到點(diǎn)服務(wù)元組空間:進(jìn)程可把任意結(jié)構(gòu)化數(shù)據(jù)項(xiàng)存放在一個(gè)持久元組空間,其他進(jìn)程可讀或刪除分布式共享內(nèi)存:用于支持在不共享物理內(nèi)存的進(jìn)程間共享數(shù)據(jù)實(shí)體及通信范型小結(jié)26體系結(jié)構(gòu)模型軟件體系結(jié)構(gòu)是指計(jì)算機(jī)里軟件的分層或模塊結(jié)構(gòu),近來多指進(jìn)程之間請求和提供的服務(wù)。中間件操作系統(tǒng)網(wǎng)絡(luò)與硬件應(yīng)用層27體系結(jié)構(gòu)模型平臺(Platform) 最底層的軟硬件,為上層提供服務(wù)。如:Intelx86(X86是處理器中一種很“本質(zhì)”的“大架構(gòu)”)/WindowsIntelx86/LinuxIntelx86/SolarisSPARC(“可擴(kuò)充處理器架構(gòu)”(ScalableProcessorARChitecture))/SunOSPowerPC(一種RISC架構(gòu))/MacOS28體系結(jié)構(gòu)模型中間件層中間件是一種軟件,它提供基本的通信模塊和其他一些基礎(chǔ)服務(wù)模塊,為應(yīng)用程序開發(fā)提供平臺。主要解決異構(gòu)網(wǎng)絡(luò)環(huán)境下分布式應(yīng)用軟件的互連與互操作問題,它可屏蔽實(shí)現(xiàn)細(xì)節(jié),提高應(yīng)用系統(tǒng)的易移植性。中間件29體系結(jié)構(gòu)模型中間件要解決的問題。硬件:數(shù)據(jù)類型在不同的硬件平臺上有不同的表示:big-endian,little-endian。PowerPC系列采用big-endian方式存儲數(shù)據(jù),而X86系列則采用little-endian方式存儲數(shù)據(jù)。通信協(xié)議:獨(dú)立于網(wǎng)絡(luò)底層的傳輸協(xié)議。操作系統(tǒng):在操作系統(tǒng)層上提供更高級的抽象API,屏蔽操作系統(tǒng)的異構(gòu)。編程語言:CORBA通過IDL,可以使得不同的語言寫的代碼互相調(diào)用。CORBA---公共對象請求代理結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture),由對象管理組織(ObjectManagementGroup,縮寫為OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言(IDL),語言綁定(binding,聯(lián)編)和允許應(yīng)用程序間互操作的協(xié)議。中間件提供了一個(gè)編程的抽象,來屏蔽上述的異構(gòu)問題。30體系結(jié)構(gòu)模型中間件的特性滿足大量應(yīng)用的需要運(yùn)行于多種硬件和OS平臺提供跨網(wǎng)絡(luò)、硬件和OS平臺的透明性的應(yīng)用或服務(wù)的交互支持標(biāo)準(zhǔn)的協(xié)議支持標(biāo)準(zhǔn)的接口
由于標(biāo)準(zhǔn)接口對于可移植性和標(biāo)準(zhǔn)協(xié)議對于互操作性的重要性,中間件已成為許多標(biāo)準(zhǔn)化工作的主要部分。對于應(yīng)用軟件開發(fā),中間件提供的程序接口定義了一個(gè)相對穩(wěn)定的高層應(yīng)用環(huán)境。不管底層的計(jì)算機(jī)硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持中間件對外的接口定義不變,應(yīng)用軟件幾乎不需任何修改。
31軟件體系結(jié)構(gòu)分布式系統(tǒng)設(shè)計(jì)主要考慮:系統(tǒng)組件之間的責(zé)任劃分;組件在網(wǎng)絡(luò)上的放置。 以上兩個(gè)因素對系統(tǒng)性能、可靠性和安全性有較大影響。32體系結(jié)構(gòu)模型---分布式體系結(jié)構(gòu)的設(shè)計(jì)需求資源共享是分布式系統(tǒng)的基本目標(biāo),但是在大規(guī)模的系統(tǒng)中仍能保證有效的共享是一個(gè)嚴(yán)重的挑戰(zhàn)。性能服務(wù)質(zhì)量緩存和復(fù)制的使用可靠性問題33體系結(jié)構(gòu)模型---分布式結(jié)構(gòu)設(shè)計(jì)的需求性能問題響應(yīng)能力服務(wù)器和網(wǎng)絡(luò)的負(fù)載操作系統(tǒng)、中間件和代碼執(zhí)行引起的延遲吞吐量單位時(shí)間內(nèi)能完成的任務(wù)量它由處理速度和傳輸速度決定負(fù)載平衡多個(gè)機(jī)器同時(shí)提供服務(wù)用applets在本地和客戶端交互34體系結(jié)構(gòu)模型---分布式結(jié)構(gòu)設(shè)計(jì)的需求QoS-服務(wù)質(zhì)量非功能性的特征:可靠性、安全性(基礎(chǔ)模型中的兩個(gè)問題)、性能。適應(yīng)性(adaptability):滿足變化的系統(tǒng)配置和資源可用性的要求,也將被看作是服務(wù)質(zhì)量的重要指標(biāo)。性能一般來說體現(xiàn)在響應(yīng)時(shí)間和吞吐量上,但是一些新的解釋是能否滿足時(shí)間性的要求。(用基礎(chǔ)模型中的交互模型來刻畫)。有些應(yīng)用處理強(qiáng)時(shí)間性數(shù)據(jù)(time-criticaldata),例如:流媒體,要求按一定的速率處理。QoS可以在操作系統(tǒng)層、網(wǎng)絡(luò)層以及各個(gè)層面上都可以實(shí)現(xiàn)。35體系結(jié)構(gòu)模型---分布式結(jié)構(gòu)設(shè)計(jì)的需求緩存和復(fù)制的使用使用數(shù)據(jù)復(fù)制和緩存解決性能問題Web緩存協(xié)議:客戶請求的響應(yīng)可能來自瀏覽器緩存,也可能來自客戶和服務(wù)器之間的代理服務(wù)器緩存。36體系結(jié)構(gòu)模型---分布式結(jié)構(gòu)設(shè)計(jì)的需求可靠性問題正確性沒有成熟的技術(shù)容錯性冗余是關(guān)鍵,例如:消息保存以便重傳,使用副本技術(shù)進(jìn)行容錯。安全性保證數(shù)據(jù)不受攻擊通過網(wǎng)絡(luò)訪問數(shù)據(jù)的權(quán)限37客戶-服務(wù)器模型歷史上最重要的結(jié)構(gòu)之一,是Internet應(yīng)用最常見的結(jié)構(gòu)。38CentralizedArchitecturesBasicClient–ServerModel--Characteristics:Thereareprocessesofferingservices(servers)Thereareprocessesthatuseservices(clients)ClientsandserverscanbeondifferentmachinesClientsfollowrequest/replymodeltousingservices39ApplicationLayeringTraditionalthree-layeredviewUser-interfacelayercontainsunitsforanapplication’suserinterfaceProcessinglayercontainsthefunctionsofanapplication,i.e.withoutspecificdataDatalayercontainsthedatathataclientwantstomanipulatethroughtheapplicationcomponents40ApplicationLayering體系結(jié)構(gòu)模式——層次化體系結(jié)構(gòu)層次化:與分層體系結(jié)構(gòu)互補(bǔ),是一項(xiàng)組織給定層功能的技術(shù)。一個(gè)給定應(yīng)用的功能分解。表示邏輯:涉及處理用戶交互和修改呈現(xiàn)給用戶的應(yīng)用視圖應(yīng)用邏輯:涉及與應(yīng)用相關(guān)的(業(yè)務(wù)邏輯)詳細(xì)的應(yīng)用特定處理數(shù)據(jù)邏輯:涉及應(yīng)用的持久存儲,通常在一個(gè)數(shù)據(jù)庫管理系統(tǒng)中。體系結(jié)構(gòu)模式——層次化體系結(jié)構(gòu)43對等體系結(jié)構(gòu)系統(tǒng)應(yīng)用中,完全由對等進(jìn)程組成,進(jìn)程間的通信模式完全依賴于應(yīng)用的需求。44DecentralizedArchitecturesObservationInthelastcoupleofyearswehavebeenseeingatremendousgrowthinpeer-to-peersystems.StructuredP2P:nodesareorganizedfollowingaspecificdistributeddatastructure結(jié)構(gòu)化P2P網(wǎng)絡(luò)使用分布式哈希表(DHT)技術(shù)將數(shù)據(jù)映射到相應(yīng)的節(jié)點(diǎn),以便在數(shù)據(jù)的存放與查找方面有很好的擴(kuò)展性,同時(shí)P2P網(wǎng)絡(luò)的路由表的容量和鏈路長度之間存在漸進(jìn)曲線的關(guān)系。首先介紹現(xiàn)有的P2P網(wǎng)絡(luò)拓?fù)漕愋?,然后對基于DHT的結(jié)構(gòu)化P2P網(wǎng)絡(luò)進(jìn)行了詳細(xì)的分析比較。45UnstructuredP2P:nodeshaverandomlyselectedneighborsHybridP2P:somenodesareappointedspecialfunctionsinawell-organizedfashionNoteInvirtuallyallcases,wearedealingwithoverlaynetworks:dataisroutedoverconnectionssetupbetweenthenodes(cf.application-levelmulticasting)46StructuredP2PSystemsBasicideaOrganizethenodesinastructuredoverlaynetworksuchasalogicalring,andmakespecificnodesresponsibleforservicesbasedonlyontheirID.47UnstructuredP2PSystemsObservationManyunstructuredP2Psystemsattempttomaintainarandomgraph.BasicprincipleEachnodeisrequiredtocontactarandomlyselectedothernode:Leteachpeermaintainapartialviewofthenetwork,consistingofcothernodesEachnodePperiodicallyselectsanodeQfromitspartialviewPandQexchangeinformationandexchangemembersfromtheirrespectivepartialviewsNoteItturnsoutthat,dependingontheexchange,randomness,butalsorobustnessofthenetworkcanbemaintained.48SuperpeersObservationSometimesithelpstoselectafewnodestodospecificwork:superpeer.49HybridArchitectures:Client-servercombinedwithP2PExampleEdge-serverarchitectures,whichareoftenusedforContentDeliveryNetworks50HybridArchitectures:C/SwithP2P–BitTorrentBasicideaOnceanodehasidentifiedwheretodownloadafileform,itjoinsaswarmofdownloaderswhoinparallelgetfilechunksfromthesource,butalsodistributethesechunksamongsteachother.51ArchitecturesversusMiddlewareProblemInmanycases,distributedsystems/applicationsaredevelopedaccordingtoaspecificarchitecturalstyle.Thechosenstylemaynotbeoptimalinallcases)needto(dynamically)adaptthebehaviorofthemiddleware.InterceptorsIntercepttheusualflowofcontrolwheninvokingaremoteobject.5253體系結(jié)構(gòu)模型變體使用多個(gè)服務(wù)器和緩存,增加性能和靈活性;使用移動代碼和移動代理;用戶需要硬件資源有限的、便于管理的低價(jià)格計(jì)算機(jī);能方便地增加和刪除移動設(shè)備的需求。54體系結(jié)構(gòu)模型變體---服務(wù)器組將不同的服務(wù)對象在不同的機(jī)器上實(shí)現(xiàn)e.g.Web在幾個(gè)主機(jī)上維護(hù)副本服務(wù)
e.g.SunNIS(NetworkInformationService)Service55體系結(jié)構(gòu)模型變體---代理服務(wù)器和緩存緩存(Cache)保存最近使用過的數(shù)據(jù),可以在本地緩存,也可以在代理服務(wù)器上做緩存。緩存可以減少不必要的網(wǎng)絡(luò)傳輸,減少服務(wù)器負(fù)擔(dān),還可以代理其它用戶透過防火墻訪問服務(wù)器。56體系結(jié)構(gòu)模型變體---移動代碼局部(本地)運(yùn)行下載的代碼的好處是,由于不會遭遇跟網(wǎng)絡(luò)通信相關(guān)的延遲或帶寬的變化(可變性),因此,會得到好的交互式響應(yīng)。例子:一個(gè)股票代理可以提供一個(gè)定制服務(wù)來通知客戶股票價(jià)格的變化。為了使用這個(gè)服務(wù),每個(gè)客戶必須下載一個(gè)特別的Applet,它從代理服務(wù)器那里接收更新,顯示給用戶,也許還要執(zhí)行自動的買和賣操作。57體系結(jié)構(gòu)模型變體---移動代碼將代碼下載到客戶端運(yùn)行,可以提高交互的效率。58體系結(jié)構(gòu)模型變體---移動代理在網(wǎng)絡(luò)上的計(jì)算機(jī)之間穿梭,并執(zhí)行的代碼。代替一些機(jī)器執(zhí)行任務(wù)。例如:利用空閑計(jì)算機(jī)完成密集型計(jì)算,計(jì)算程序(連同數(shù)據(jù))從一個(gè)機(jī)器移動到另一個(gè)機(jī)器,在目的機(jī)上運(yùn)行。和移動代碼
的區(qū)別:移動代碼是服務(wù)器與客戶端之間傳遞代碼,后者是在服務(wù)器之間傳遞。和遠(yuǎn)程調(diào)用比較:減少數(shù)據(jù)傳輸,降低通信開銷。安全威脅限制了它的使用。移動代理系統(tǒng)的例子有:IBM的Aglet以及Voyager、AgentTCL等。59體系結(jié)構(gòu)模型變體---網(wǎng)絡(luò)計(jì)算機(jī)本身不安裝操作系統(tǒng),而是從遠(yuǎn)程服務(wù)器上下載操作系統(tǒng)和應(yīng)用軟件。所有的應(yīng)用數(shù)據(jù)和代碼都存儲在文件服務(wù)器上。用戶可以移動。60體系結(jié)構(gòu)模型變體---瘦客戶本地只是一個(gè)GUI(圖形用戶界面),應(yīng)用程序在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行。早期的大型機(jī)就有啞終端的概念,只不過那時(shí)大型機(jī)和啞終端在一個(gè)機(jī)房?,F(xiàn)在可以是通過網(wǎng)絡(luò)訪問服務(wù)器。缺點(diǎn):高延遲。ThinClientApplicationProcessNetworkcomputerorPCComputeservernetwork61體系結(jié)構(gòu)模型變體---移動設(shè)備和自發(fā)互操作設(shè)備帶著軟件組件在網(wǎng)絡(luò)上移動移動透明性,變化的連接性自發(fā)互操作,能夠無線聯(lián)網(wǎng),范圍從大城市或更大的范圍,到數(shù)百米,或幾米。提供了對移動計(jì)算的支持,從而用戶能夠在網(wǎng)絡(luò)環(huán)境之間攜帶它們的移動設(shè)備,并利用本地和遠(yuǎn)程的服務(wù)。62體系結(jié)構(gòu)模型—接口與對象在分布式系統(tǒng)中,進(jìn)程間的通信除了socket連接之外,大量的交互通過遠(yuǎn)程調(diào)用的形式完成的,接口與對象是遠(yuǎn)程調(diào)用的基礎(chǔ)。接口定義一個(gè)進(jìn)程中可調(diào)用的函數(shù),要用一個(gè)或多個(gè)接口定義制定:功能,輸入,輸出。面向?qū)ο蟮恼Z言用面向?qū)ο笳Z言實(shí)現(xiàn)遠(yuǎn)程方法(rmi)調(diào)用,這是CORBA和JAVA采用的方法。分布式系統(tǒng)中責(zé)任的分布是設(shè)計(jì)的一個(gè)重要方面靜態(tài)分配,事前確定每個(gè)機(jī)器或進(jìn)程的作用。面向?qū)ο蟮哪J街?,對象可以動態(tài)實(shí)例化并馬上調(diào)用。63ArchitecturalstylesBasicideaOrganizeintologicallydifferentcomponents,anddistributethosecomponentsoverthevariousmachines.
(a)Layeredstyleisusedforclient-serversystem(b)Object-basedstylefordistributedobjectsystems.64ArchitecturalstylesDecouplingprocessesinspace(“anonymous-匿名”)andalsotime(“asynchronous-異步”)hasledtoalternativestyles.(a)Publish/subscribe[decoupledinspace](b)Shareddataspace[decoupledinspaceandtime]65第2章系統(tǒng)模型引言體系結(jié)構(gòu)模型基礎(chǔ)模型總結(jié)66基礎(chǔ)模型體系結(jié)構(gòu)模型所涉及的問題:系統(tǒng)中的主要實(shí)體是什么?它們?nèi)绾谓换??影響他們單個(gè)和集體行為的特征是什么?67基礎(chǔ)模型模型的目的顯式地表示有關(guān)正在建模的系統(tǒng)假設(shè);給定這些假設(shè),就什么是可行的,什么是不可行的給出結(jié)論。68基礎(chǔ)模型交互模型進(jìn)程之間通過消息傳遞進(jìn)行交互,實(shí)現(xiàn)系統(tǒng)的通信和協(xié)作功能。有較長時(shí)間的延遲。時(shí)間是進(jìn)程間進(jìn)行協(xié)調(diào)的基本的參照,在分布式系統(tǒng)中,很難有相同的時(shí)間概念。獨(dú)立進(jìn)程之間相互配合的準(zhǔn)確性受限于上面兩個(gè)因素。69基礎(chǔ)模型故障模型計(jì)算機(jī)或者網(wǎng)絡(luò)發(fā)生故障,會影響服務(wù)的正確性。故障模型的意義在于將定義可能出現(xiàn)的故障的形式,為分析故障帶來的影響提供依據(jù)。設(shè)計(jì)系統(tǒng)時(shí),知道如何考慮到容錯的需求。70基礎(chǔ)模型安全模型分布式系統(tǒng)的模塊特性以及開放性,使得它們暴露在內(nèi)部和外部的攻擊之下。安全模型的目的是提供依據(jù),以此分析系統(tǒng)可能收到的侵害,并在設(shè)計(jì)系統(tǒng)時(shí)防止這些侵害的發(fā)生。71基礎(chǔ)模型之交互模型兩個(gè)影響進(jìn)程交互的因素通信性能不可能維護(hù)一個(gè)全局時(shí)間概念72基礎(chǔ)模型之交互模型通信通道的性能延遲第一個(gè)比特流從發(fā)出到到達(dá)目的節(jié)點(diǎn)在網(wǎng)絡(luò)中所花費(fèi)的時(shí)間。訪問網(wǎng)絡(luò)的時(shí)間、操作系統(tǒng)通信服務(wù)的時(shí)間帶寬在單位時(shí)間內(nèi),網(wǎng)絡(luò)上能夠傳輸?shù)男畔⒌目偭慷秳觽鬏斠幌盗行畔⑺ㄙM(fèi)時(shí)間的變化值E.g.抖動會影響流媒體服務(wù)的質(zhì)量,因?yàn)檫@類數(shù)據(jù)要求相對穩(wěn)定的傳輸率。
73基礎(chǔ)模型之交互模型計(jì)算機(jī)時(shí)鐘和時(shí)間事件時(shí)鐘漂移率(Clockdriftrate)局部時(shí)鐘和一個(gè)精確的參考時(shí)鐘的差值Timingevente.g.,GPS,Logicaltime74基礎(chǔ)模型之交互模型交互模型的兩個(gè)變體同步分布式系統(tǒng)進(jìn)程執(zhí)行每一步的時(shí)間有一個(gè)上限和下限。每個(gè)在網(wǎng)絡(luò)上傳輸消息可在已知時(shí)間范圍內(nèi)接收到。每個(gè)進(jìn)程的局部時(shí)鐘相對于實(shí)際時(shí)間的漂移是在已知的范圍內(nèi)。75基礎(chǔ)模型之交互模型交互模型的兩個(gè)變種異步分布式系統(tǒng)---沒有可預(yù)測的時(shí)限進(jìn)程執(zhí)行速度每一步都可能需要任意長的時(shí)間消息傳遞延遲收到一個(gè)消息的等待時(shí)間可能任意長時(shí)鐘漂移率漂移率可能是任意的76基礎(chǔ)模型之交互模型同步分布式系統(tǒng)和異步分布式系統(tǒng)的例子異步分布式系統(tǒng)EmailFTP同步分布式系統(tǒng)VOD
(VideoOnDemand)即視頻點(diǎn)播技術(shù)
VoiceConferenceSystem交互模型——兩個(gè)變體異步分布式系統(tǒng)達(dá)成協(xié)定非常困難Pepperland協(xié)定紅師、藍(lán)師分別駐扎在兩個(gè)山頂,敵人位置他們之間的山谷;紅、藍(lán)師之間靠通信兵進(jìn)行通信,假設(shè)通信兵不會被捕獲;紅、藍(lán)師可否就誰先沖鋒達(dá)成一致?紅、藍(lán)師可否就沖鋒時(shí)間達(dá)成一致?交互模型——事件排序X、Y、Z、A之間的郵件交換X發(fā)送主題為Meeting的消息;Y讀取X的消息,并發(fā)送主題為Re:Meeting的消息進(jìn)行回復(fù);Z讀取X、Y的消息,并發(fā)送主題為Re:Meeting的消息進(jìn)行回復(fù);A收到的消息順序一定與消息發(fā)送的順序一致?交互模型——事件排序80故障模型定義故障發(fā)生的行為,幫助理解故障對分布式系統(tǒng)的影響。分類(針對分布式系統(tǒng)的節(jié)點(diǎn)與網(wǎng)絡(luò)的故障場景,多倫多大學(xué)的VassosHadzialcos和康奈爾大學(xué)SamToueg于1994年進(jìn)行了比較系統(tǒng)的分類)遺漏故障Omissionfailures隨機(jī)故障Arbitraryfailures時(shí)序故障Timingfailures81故障模型---遺漏故障進(jìn)程或者通信通道沒有正常的工作進(jìn)程遺漏故障:進(jìn)程崩潰進(jìn)程停止:在同步系統(tǒng)中通過時(shí)限是可以檢測出來的。但是在異步系統(tǒng)中,即使很長時(shí)間沒有收到來自某個(gè)進(jìn)程的消息,也不能判斷是進(jìn)程停止了。通信遺漏故障:丟失信息發(fā)送丟失,接受丟失,通道丟失丟失故障是良性故障82故障模型---遺漏故障83故障模型---隨機(jī)故障隨機(jī)故障(拜占庭故障):對系統(tǒng)影響最大的一種故障形式,而且錯誤很難探知。發(fā)生在進(jìn)程中的隨機(jī)故障:隨便遺漏應(yīng)有的處理步驟或者進(jìn)行不應(yīng)有的處理步驟,該做的不做,不該做的卻做了。E.g.對一個(gè)過程調(diào)用返回一個(gè)錯誤的信息隨機(jī)故障很少出現(xiàn)在通信信道。E.g.校驗(yàn)和,消息有序列號84故障模型---時(shí)間故障僅僅發(fā)生在同步分布式系統(tǒng)中Class effects DescriptionClock Process Process’slocalclock exceedstheboundson itsrateofdriftfromreal time.PerformanceProcess Processexceedsthe boundsontheinterval betweentwosteps.PerformanceChannel Amessage’stransmission takeslongerthanthe statedbound.8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度大數(shù)據(jù)中心運(yùn)營維護(hù)合同
- 2024年建筑工程設(shè)計(jì)與咨詢合同
- 2024年度航空公司機(jī)票代理合同
- 2024年度環(huán)保工程與技術(shù)咨詢合同
- 幼兒食品課件教學(xué)課件
- 美術(shù)課件價(jià)格教學(xué)課件
- 尿道異物課件教學(xué)課件
- 2024年塑料纖維生產(chǎn)加工許可合同
- 2024年建筑人才中介服務(wù)協(xié)議
- 2024年度南京市存量房購買合同
- GB/T 28054-2023鋼質(zhì)無縫氣瓶集束裝置
- 2023年度武漢房地產(chǎn)市場報(bào)告2024.1.12
- 新人教版九年級下數(shù)學(xué)27-1《圖形的相似》課件
- 高考模擬作文“相信與懷疑”導(dǎo)寫及范文
- 荔枝包裝工藝設(shè)計(jì)
- 浙江省9+1高中聯(lián)盟2022-2023學(xué)年高一上學(xué)期11月期中考物理試題(解析版)
- 政府?dāng)?shù)據(jù)信息保密協(xié)議范本
- 聚酯生產(chǎn)技術(shù) 聚酯工藝流程介紹
- 關(guān)于日本動漫介紹ppt
- 四年級除法豎式計(jì)算題500道
- 質(zhì)量保證體系范文(必備14篇)
評論
0/150
提交評論