分布式系统课件:Chapter 2 Communication(RPCRMIMOM)_第1页
分布式系统课件:Chapter 2 Communication(RPCRMIMOM)_第2页
分布式系统课件:Chapter 2 Communication(RPCRMIMOM)_第3页
分布式系统课件:Chapter 2 Communication(RPCRMIMOM)_第4页
分布式系统课件:Chapter 2 Communication(RPCRMIMOM)_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DistributedComputingParadigmChapter22.1ParadigmandAbstractionImportantcharacteristicsthatdistinguishdistributedapplicationsfromconventionalapplicationswhichrunonasinglemachine:Interprocesscommunication:Adistributedapplicationrequirestheparticipationoftwoormoreindependententities(processes).Todoso,theprocessesmusthavetheabilitytoexchangedataamongthemselves.(多方参与)Eventsynchronization:Inadistributedapplication,thesendingandreceivingofdataamongtheparticipantsofadistributedapplicationmustbesynchronized.2.1ParadigmandAbstractionParadigm:

Paradigmmeans“apattern,example,ormodel.”Inthestudyofanysubjectofgreatcomplexity,itisusefultoidentifythebasicpatternsormodels,andclassifythedetailaccordingtothesemodels.一个用于说明如何完成某项特定任务的抽象模型。2.1ParadigmandAbstractionAbstractions:Arguablythemostfundamentalconceptincomputerscience,abstractionistheideaofdetailhiding.Weoftenuseabstractionwhenitisnotnecessarytoknowtheexactdetailsofhowsomethingworksorisrepresented,becausewecanstillmakeuseofitinitssimplifiedform.Gettinginvolvedwiththedetailoftentendstoobscurewhatwearetryingtounderstand,ratherthanilluminateit.(太细节的东西会影响对主要问题的理解)Abstractionplaysaveryimportantroleinprogrammingbecauseweoftenwanttomodel,insoftware,simplifiedversionsofthingsthatexistintherealworldwithouthavingtobuildtherealthings.(编程就是对所关注事情的抽象)Insoftwareengineering,abstractionisrealizedwiththeprovisionoftoolsorfacilitieswhichallowsoftwaretobebuiltwithoutthedeveloperhavingtobecognizantofsomeoftheunderlyingcomplexities.(工具和设施提供抽象)科研过程更是如此.2.1OverviewofpresentedParadigmsMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/SubscribeDistributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplicationsMessagepassing

RemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/SubscribeDistributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplications2.2TheMessagePassingParadigm2.2TheMessagePassingParadigm

Messagepassingisthemostfundamentalparadigmfordistributedapplications.Aprocesssendsamessagerepresentingarequest.Themessageisdeliveredtoareceiver,whichprocessestherequest,andsendsamessageinresponse.Inturn,thereplymaytriggerafurtherrequest,whichleadstoasubsequentreply,andsoforth.2.2TheMessagePassingParadigmMessagepassingparadigmAnIllustration:进程B

进程A

SendM1receiveReceiveM2SendSendM3receive2.2TheMessagePassingParadigmThebasicoperations:send,andreceive.Forconnection-orientedcommunication,theoperationsconnect

anddisconnectarealsorequired.Withtheabstractionprovidedbythismodel,theinterconnectedprocessesperforminputandoutputtoeachother,inamannersimilartofileI/O.TheI/Ooperationsencapsulatethedetailofnetworkcommunicationattheoperating-systemlevel.(抽象形态)Thesocketapplicationprogramminginterfaceisbasedonthisparadigm.hfdgdgttp:///products/jdk/1.2/docs/api/index.html/2.3RemoteProcedureCallMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/Subscribe

Distributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplications2.3RemoteProcedureCallTheRemoteProcedureCall(RPC)modelprovidessuchanabstraction.Usingthismodel,interprocesscommunicationsproceedasprocedure,orfunction,calls,whicharefamiliartoapplicationprogrammers.Aremoteprocedurecallinvolvestwoindependentprocesses,whichmayresideonseparatemachines.Aprocess,A,wishingtomakearequesttoanotherprocess,B,issuesaprocedurecalltoB,passingwiththecallalistofargumentvalues.Asinthecaseoflocalprocedurecalls,aremoteprocedurecalltriggersapredefinedactioninaprocedureprovidedbyprocessB.Atthecompletionoftheprocedure,processBreturnsavaluetoprocessA.

2.3RemoteProcedureCallRemoteProcedureCallparadigmProcessAProcessBProc1(arg1,arg2)返回值2.3RemoteProcedureCall2.3RemoteProcedureCallRPCallowsprogrammerstobuildnetworkapplicationsusingaprogrammingconstructsimilartothelocalprocedurecall,providingaconvenientabstractionforbothinterprocesscommunicationandeventsynchronization.Sinceitsintroductionintheearly1980s,theRPCmodelhasbeenwidelyinuseinnetworkapplications.TherearetwoprevalentAPIsforRemoteProcedureCalls.TheOpenNetworkComputingRemoteProcedureCall,evolvedfromtheRPCAPIoriginatedfromSunMicrosystemsintheearly1980s.TheOpenGroupDistributedComputingEnvironment(DCE)RPC.BothAPIsprovideatool,rpcgen,fortransformingremoteprocedurecallstolocalprocedurecalls.2.3RemoteProcedureCall拍卖系统实例:拍卖者程序为竟拍者提供2个远程过程:

1.竟拍者注册过程;2.竟拍者投标过程;每个竟拍者程序提供以下远程过程:1.允许拍卖者向竟拍者宣布拍卖开始;2.允许拍卖者向竟拍者通告最新标价;3.允许拍卖者向竟拍者宣布拍卖结束.2.4Client-ServerParadigmMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/Subscribe

Distributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplicationsPerhapsthebestknownparadigmfornetworkapplications,theclient-servermodel,assignsasymmetricrolestotwocollaboratingprocesses(非对称).Oneprocess,theserver,playstheroleofaserviceproviderwhichwaitspassivelyforthearrivalofrequests.Theother,theclient,issuesspecificrequeststotheserverandawaitsitsresponse.

2.4Client-ServerParadigmclient–server

paradigm.1.25Client和server分别扮演服务请求者和服务提供者2.4Client-ServerParadigmAnExampleClientandServer(1)Theheader.hfileusedbytheclientandserver.AnExampleClientandServer(2)Asampleserver.AnExampleClientandServer(3)Aclientusingtheservertocopyafile.1-27bSimpleinconcept,theclient-servermodelprovidesanefficientabstractionforthedeliveryofnetworkservices.Operationsrequiredincludethoseforaserverprocesstolistenandtoacceptrequests,andforaclientprocessto

issuerequestsandacceptresponses.Byassigningasymmetricrolestothetwosides,eventsynchronizationissimplified:theserverprocesswaitsforrequests,andtheclientinturnwaitsforresponses.ManyInternetservicesareclient-serverapplications.Theseservicesareoftenknownbytheprotocolthattheapplicationimplements.WellknownInternetservicesincludeHTTP,FTP,DNS,finger,gopher,etc.2.4Client-ServerParadigmProcessingLevelThegeneralorganizationofanInternetsearchengineintothreedifferentlayers1-28Client-ServerArchitectures客户机器只包含用户界面层的程序服务器包含其他部分(类似哑终端,服务器负载重)另一种可能的Client-Server模型的体系结构如下MultitieredArchitectures(1)Alternativeclient-serverorganizations(a)–(e).1-29MultitieredArchitectures(2)Anexampleofaserveractingasaclient.1-30服务器有时会担任客户机的角色,现成多层体系结构ModernArchitectures

多层是按纵向划分,也可以按横向划分(horizontaldistribution)

(例如:服务器负载均衡)

AnexampleofhorizontaldistributionofaWebservice.1-312.5.Peer-to-PeerParadigmMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/Subscribe

Distributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplicationsP2P——网络上的所有节点都可以“平等”共享其他节点的计算资源:服务器到服务器、服务器到PC机、PC机到PC机,PC机到WAP手机,所有网络节点上的设备都可以建立P2P对话。2.5.Peer-to-PeerParadigmInsystemarchitectureandnetworks,peer-to-peerisanarchitecturewherecomputerresourcesandservicesaredirectexchangedbetweencomputersystems.(资源与服务可直接交换)Theseresourcesandservicesincludetheexchangeofinformation,processingcycles,cachestorage,anddiskstorageforfiles.Insuchanarchitecture,computersthathavetraditionallybeenusedsolelyasclientscommunicatedirectlyamongthemselvesandcanactasbothclientsandservers,assumingwhateverroleismostefficientforthenetwork.(根据效率确定角色)/whatis/index.html2.5.Peer-to-PeerParadigm

Theparticipatingprocessesplayequalroles,withequivalentcapabilitiesandresponsibilities(hencetheterm“peer”).Eachparticipantmayissuearequesttoanotherparticipantandreceivearesponse.(角色平等)2.5.Peer-to-PeerParadigm

Whereastheclient-serverparadigmisanidealmodelforacentralizednetworkservice,thepeer-to-peerparadigmismoreappropriateforapplicationssuchasinstantmessaging,peer-to-peerfiletransfers,videoconferencing,andcollaborativework.Itisalsopossibleforanapplicationtobebasedonboththeclient-servermodelandthepeer-to-peermodel.(c/s适合集中式网络服务,P2P适合分散式服务)

Awell-knownexampleofapeer-to-peerfiletransferserviceisNorsimilarsiteswhichallowfiles(primarilyaudiofiles)tobetransmittedamongcomputersontheInternet.Itmakesuseofaserverfordirectoryinadditiontothepeer-to-peercomputing.(P2P文件传输服务,服务器作为集中目录)2.5.Peer-to-PeerParadigmnapster是P2PParadigm一个里程碑,它提供一个平台,供用户上传、检索和下载作品;并具有强大的搜索功能,可以将在线用户的MP3音乐信息进行自动搜寻并分类整理,以备其他用户查询。1999年,国际五大唱片公司起诉Napster,指其涉及侵权歌曲数百万首,要求每支盗版歌曲赔偿10万美元。2000年2月,法院判定Napster败诉;2002年6月,Napster宣告破产。2001年提供音乐免费下载服务的Napster公司被国际传媒巨头贝塔斯曼集团收购。2.5.Peer-to-PeerParadigmP2P:centralizeddirectoryoriginal“Napster”design1)whenpeerconnects,itinformscentralserver:IPaddresscontents2)Alicequeriesfor“HeyJude”3)AlicerequestsfilefromBobcentralizeddirectoryserverpeersAliceBob111123Ref:ComputerNetworking,JimF.KuroseandKeithW.RossP2P:problemswithcentralizeddirectorySinglepointoffailurePerformance

bottleneckCopyrightinfringement(版权问题)

Filetransferisdecentralized(分散的),butlocatingcontentsishighlycentralizedQueryflooding:GnutellaGnutella在napster之后出现的一种用于网络交换文件的完全分布式的p2p通信协议。所有利用Gnutella协议运行的客户端程序的计算机都被称为在Gnutella网络上。在Gnutella网络上,每个结点连接其他几台计算机,信息同时可能从很多来源接收。设一个用户连接4台计算机,每台计算机又连接4台计算机,用户能与计算机的总数为4+4*4=20个用户进行信息交流。消息只沿着网络传递2次(称为生存时间或者叫TTL)。假定TTL为3,则它能进行信息交流的计算机的总数4+4*4+4*4*4=84。因此,能与用户交流的计算机的数量与它的搜寻请求的TTL值和随TTL增长的计算机数目成指数增加的关系。Queryflooding:Gnutellafullydistributed—nocentralserverpublicdomainprotocolmanyGnutellaclientsimplementingprotocoloverlaynetwork:graphedgebetweenpeerXandYifthere’saTCPconnectionallactivepeersandedgesisoverlaynetworkEdgeisnotaphysicallinkGivenpeerwilltypicallybeconnectedwith<10overlayneighbors(每个节点的相邻连接数小于10)Ref:ComputerNetworking,JimF.KuroseandKeithW.RossGnutella:protocolQueryQueryHitQueryQueryQueryHitQueryQueryQueryHitFiletransfer:HTTP

Querymessage

sentoverexistingTCP

connectionspeersforward

QuerymessageQueryHit

sentover

reverse

pathRef:ComputerNetworking,JimF.KuroseandKeithW.RossThepeer-to-peerparadigmcanbeimplementedwithfacilitiesusinganytoolthatprovidemessage-passing,orwithahigher-leveltoolsuchasonethatsupportsthepoint-to-pointmodeloftheMessageSystemparadigm.(P2P可以通过基于消息传递或消息系统的方式实现Forwebapplications,thewebagentisaprotocolpromotedbytheXNSORG(theXNSPublicTrustOrganization)forpeer-to-peerinterprocesscommunication(

面向WEB的P2P协议)。

“ProjectJXTAisasetofopen,generalizedpeer-to-peerprotocolsthatallowanyconnecteddevice(cellphone,toPDA,PCtoserver)onthenetworktocommunicateandcollaborate.开源项目JXTAJava标准版本,是由BillJoy引领开发的P2P计算平台。

2.5.Peer-to-PeerParadigm即时通信软件,如ICQ、QQ、MSN等。2个或多个用户可以通过文字、语音或文件进行交流,甚至还可以与手机通信;实现共享文件资源的软件,如Napster、Gnutella和PPStream等。用户可以直接从任意一台安装同类软件的PC上下载或上载文件,并检索、复制共享的文件;游戏软件。目前的许多网络游戏都是通过对等网络方式实现的;存储软件,如Farsite。用于在网络上将存储对象分散存储。数据搜索及查询软件,如Infrasearch、Pointera。用来在对等网络中完成信息检索;协同计算软件,如Netbatch。可连接几千或上万台PC,利用其空闲时间进行协同计算;协同处理软件,如Groove。可用于企业管理。2.5.Peer-to-PeerParadigm(一些应用)对等网络尚无统一的标准。2000年8月成立了P2P工作组,成员包括Intel、IBM和HP公司等。发展对等网络的其他主要障碍还有版权问题、网络带宽问题、管理问题和安全问题等。如何连接电话、手机和家电、工业设备等,也是对等网络需要解决的问题。2.5.Peer-to-PeerParadigm2.6.

The

MessageSystemParadigmMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:

Point-to-point;Publish/SubscribeDistributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplicationsAmessagesystemservesasanintermediaryamongseparate,independentprocesses.Itactsasaswitchformessages,throughwhichprocessesexchangemessagesasynchronously,inadecoupledmanner.

(作为独立的中介实现消息以非偶合的方式异步交换)

Asenderdepositsamessagewiththemessagesystem,whichforwardsittoamessagequeueassociatedwitheachreceiver.Onceamessageissent,thesenderisfreetomoveontoothertasks.2.6.

TheMessageSystemParadigm2.6.

TheMessageSystemParadigmMessageSystemparadigmsender

receiver

MessageSystem

消息队列…Message

消息队列…进程以非偶合的方式进行通信。也可以通过一个Message-OrientedMiddleware实现消息的异步交换。两种类型:

Point-to-pointmessagemodel;Publish/subscribemessagemodel;1.ThePoint-To-PointMessageModelComparedtothebasicmessage-passingmodel,thisparadigmprovidestheadditionalabstractionforasynchronousoperations.Inthismodel,amessagesystemforwardsamessagefromthesendertothereceiver’smessagequeue.Unlikethebasicmessagepassingmodel,themiddlewareprovidesamessagedepository,andallowsthesendingandthereceivingtobedecoupled.Viathemiddleware,asenderdepositsamessageinthemessagequeueofthereceivingprocess.Areceivingprocessextractsthemessagesfromitsmessagequeue,andhandleseachoneaccordingly.2.ThePublish/SubscribeMessageModelThepublish/subscribemessagemodeloffersapowerfulabstractionformulticastingorgroupcommunication.The

publishoperationallowsaprocesstomulticasttoagroupofprocesses,andthesubscribeoperationallowsaprocesstolistenforsuchmulticast.Eachmessageisthenassociatedwithaspecifictopicorevent.

Applicationsinterestedintheoccurrenceofaspecificeventmaysubscribetomessagesforthatevent(订阅感兴趣的事件).Whentheawaitedeventoccurs,theprocesspublishesamessageannouncingtheeventortopic(事件发生时发布消息).Themiddlewaremessagesystemdistributesthemessagetoallitssubscribers.(系统将消息送给订阅者)2.ThePublish/SubscribeMessageModel该模型提供了一种用于组播或组通信的抽象机制。发布操作使一个进程可以向一组进程组播消息,订阅操作则使一个进程能够监听这样的组播消息。在该模型中,每一条消息都与某一主题或事件相关。对某个事件感兴趣的应用程序可以订阅与该事件相关的主题。当订阅者等待的事件发生时,触发该事件的进程将发布一条消息以宣布该事件或主题。中间件消息系统将该消息分发给该消息的所有订阅者。ToolkitsbasedontheMessage-SystemParadigmTheMOM(MessageOrientedMiddleware)paradigmhashadalonghistoryindistributedapplications.MessageQueueServices(MQS)havebeeninusesincethe1980’s.TheIBMMQ*Seriesisanexampleofsuchafacility./software/ts/mqseries/Otherexistingsupportforthisparadigm:Microsoft’sMessageQueue(MSQ), /library/psdk/msmq/msmq_overview_4ilh.htmJava’sMessageService(JMS) /developer/technicalArticles/Networking/messaging/例如:采用发布/订阅模型实现的拍卖系统。每个竟拍者都订阅一条“begin-auction”事件消息.拍卖者发送一条“begin-auction”事件消息,意味着拍卖会开始;竟拍者在收到“begin-auction”事件消息后,接着就订阅“end-auction”事件消息;拍卖者订阅“new-bid”事件消息;要出价的竟拍者可以发布一条“new-bid”事件消息,该消息转发给拍卖者;拍卖会结束时,拍卖者发布一条“end-auction”事件消息,将拍卖结果通报给所有的竟拍者。2.6.

TheMessageSystemParadigm2.7DistributedobjectsParadigmsMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/SubscribeDistributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplicationsTheideaofapplyingobjectorientationtodistributedapplicationsisanaturalextensionofobject-orientedsoftwaredevelopment.Applicationsaccessobjectsdistributedoveranetwork.Objectsprovidemethods,throughtheinvocationofwhichanapplicationobtainsaccesstoservices.Object-orientedparadigmsinclude:Remotemethodinvocation(RMI)NetworkservicesObjectRequestBrokerObjectspaces2.7DistributedobjectsParadigms1.RemoteMethodInvocation(RMI)

Remotemethodinvocationistheobject-orientedequivalentofremotemethodcalls.Inthismodel,aprocessinvokesthemethodsinanobject,whichmayresideinaremotehost.AswithRPC,argumentsmaybepassedwiththeinvocation.2.TheNetworkServicesParadigm

Inthisparadigm,serviceprovidersregisterthemselveswithdirectoryserversonanetwork.Aprocessdesiringaparticularservicecontactsthedirectoryserveratruntime,and,iftheserviceisavailable,willbeprovidedareferencetotheservice.Usingthereference,theprocessinteractswiththeservice.

Thisparadigmisessentiallyanextensionoftheremotemethodcallparadigm.Thedifferenceisthatserviceobjectsareregisteredwithaglobaldirectoryservice,allowingthemtobelookupandaccessedbyservicerequestorsonafederatednetwork.(3个角色,实现了动态性)2.TheNetworkServicesParadigm-2Web-servicesextendthenetworkofamessagenetworkservicetothecompleteinternet.Withweb-servicesprocessescancommunicateoverHTTP.DataistransferredusingXML-basedSOAP(SimpleObjectAccessProtocol).Webservice技术

Webservice被普遍认为是下一代分布式系统开发的模型,其目的是建立一种基于Web的、松散耦合的分布式计算平台。W3C认为webservice有三个部分组成:传输模块、描述模块和发现模块。

传输模块是在线交换的标准;描述模块用于描述服务个体或服务的收集;发现模块用于服务的发现。

Web服务模型三个基本角色:服务提供者、服务注册中心、服务请求者。三个基本操作:公布、查找、绑定。传输描述发现SOAP打包管理交流事务可靠性安全缓存异步路由WSDL服务特征剧本XMLSchema注册检查工作流语言安全

WebServices体系结构两者的结合可使系统的适应性更好CORBARMIDCOMCORBARMIDCOM内聚化应用SOAPintranet内聚化应用intranet内聚化应用CORBARMIDCOMintranetSOAPSOAPInternet数据孤岛Java’sJinitechnologyisalsobasedonthisparadigm.3.TheObjectRequestBrokerParadigm

Intheobjectbrokerparadigm,anapplicationissuesrequeststoanobjectrequestbroker(ORB),whichdirectstherequesttoanappropriateobjectthatprovidesthedesiredservice.Thedifferenceisthattheobjectrequestbrokerinthisparadigmfunctionsasamiddlewarewhichallowsanapplication,asanobjectrequestor,topotentiallyaccessmultipleremote(orlocal)objects.Therequestbrokermayalsofunctionasanmediatorforheterogeneousobjects(异构对象中介),allowinginteractionsamongobjectsimplementedusingdifferentAPIsand/orrunningondifferentplatforms.ORB(ObjectRequestBroker)ORB与RMI的区别:ORB充当中间件角色,使作为对象请求者的应用程序可以访问多个远程(或本地)对象。3.TheObjectRequestBrokerParadigm

3.TheObjectRequestBrokerParadigmThisparadigmisthebasisoftheObjectManagementGroup’sCORBA(CommonObjectRequestBrokerArchitecture)architecture.(/)Toolkitsbasedonthearchitectureinclude:Inprise’sVisibroker/visibroker/Java’sInterfaceDevelopmentLanguage(JavaIDL) /products/jdk/idl/Orbix’sIONA,andTAOfromtheObjectComputing,Inc./vendors/pages/iona.htmlCORBA结构是基于ORB的3.TheObjectRequestBrokerParadigm

4.TheObjectSpaceParadigmPerhapsthemostabstractoftheobject-orientedparadigms,theobjectspaceparadigmassumestheexistenceoflogicalentitiesknownasobjectspaces.

Theparticipantsofanapplicationconverge(会聚)inacommonobjectspace.Aproviderplacesobjectsasentriesintoanobjectspace,andrequesterswhosubscribetothespaceaccesstheentries.4.TheObjectSpaceParadigm-2Inadditiontotheabstractionsprovidedbyotherparadigms,theobjectspaceparadigmprovidesavirtualspaceormeetingroomamongprovidersandrequestersofnetworkresourcesorobjects.Thisabstractionhidesthedetailinvolvedinresourceorobjectlookupneededinparadigmssuchasremotemethodinvocation,objectrequestbroker,ornetworkservices.CurrentfacilitiesbasedonthisparadigmincludeJavaSpaces.(/products/javaspaces/)5.Component-basedTechnologiesComponent-basedtechnologiessuchasMicrosoft’sCOM,MicrosoftDCOM,Microsoft.Net,CORBA,JavaBean,andEnterpriseJavaBeanarealsobasedondistributed-objectparadigms,ascomponentsareessentiallyspecialized,packagedobjectsdesignedtointeractwitheachotherthroughstandardizedinterfaces.Inaddition,applicationservers,

popularforenterpriseapplications,aremiddlewarefacilitieswhichprovideaccesstoobjectsorcomponents.WebSpherefromIBMWebLogicPortalfromBEASystemsJEEfromSunMicrosystemsJ2EEfromSunMicrosystems2.8TheMobileAgentParadigm

MessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/SubscribeDistributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplications

软件Agent技术最早可以追溯到人工智能研究的初期阶段,1977年Hewitt在研究ConcurrentActorModel时提出了具有自组织性、反应机制和同步执行能力的软件模型,即最初的软件Agent思想。90年代初,大家都将精力集中于对软件Agent理论的研究,并从系统的角度提出了一些基本概念。2.8TheMobileAgentParadigm

90年代初,GeneralMagic公司在推出其商业系统Telescript时提出了移动Agent概念,即一个能在异构网络环境中自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互的软件实体。移动Agent可以看成是软件Agent技术与分布式计算技术相结合的产物,具有软件Agent的基本特性--自治性、响应性、主动性和推理性外,还具有移动性。

2.8TheMobileAgentParadigmAmobileagentisatransportableprogramorobject(移动性).Inthismodel,anagentislaunchedfromanoriginatinghost.Theagenttravelsfromhosttohostaccordingtoanitinerarythatitcarries.Ateachstop,theagentaccessesthenecessaryresourcesorservices,andperformsthenecessarytaskstoaccomplishitsmission.2.8TheMobileAgentParadigm

2.8TheMobileAgentParadigmTheparadigmofferstheabstractionforatransportableprogramorobject.

Inlieuof(代替)messageexchanges,dataiscarriedbytheprogram/objectastheprogramistransportedamongtheparticipants.Commercialpackageswhichsupportthemobileagentparadigminclude:IBM’sAgletsystem. http://www.trl.ibm.co.jp/aglets/MitsubishiElectricITA’sConcordiasystem /HSL/Projects/Concordia/Welcome.htmlMessagepassingRemoteProcedureCallClient-serverPeer-to-PeerMessagesystem:Point-to-point;Publish/SubscribeDistributedobjects:Remotemethodinvocation

NetworkservicesObjectRequestBroker

Objectspace

ComponentBasedTechnologiesMobileagentsCollaborativeapplications2.9TheCollaborativeApplication(Groupware)Paradigm

2.9TheCollaborativeApplication(Groupware)Paradigm

Inthismodel,processesparticipateinacollaborativesessionasagroup.Eachparticipatingprocessmaycontributeinputtopartorallofthegroup.Processesmaydosousing:multicastingtosenddatatoallorpartofthegroup,ortheymayusevirtual

sketchpads(画板)orwhiteboards

whichallowseachparticipanttoreadandwritedatatoashareddisplay.ChoosingaparadigmTovaryingdegrees,paradigmsprovideabstractionsthatinsulatethedevelopersfromthedetailofinterprocesscommunicationandeventsynchronization,allowingtheprogrammertoconcentrateonthebiggerpictureoftheapplicationitself.(根据所关注的层面选择)Inchoosingaparadigmoratoolforanapplication,therearetradeoffs(权衡)thatshouldbeconsidered,includingoverheads,scalability,cross-platformsupport,andsoftwareengineeringissues.DistributedComputingSystemsDistributedInformationSystemsDistributedPervasiveSystems2.10分布式系统的类型DistributedComputingSystems

用于高性能计算任务的系统,可以分为:ClusterComputingSystemsGridComputingSystems2.10分布式系统的类型ClusterComputingSystemsAnexampleofaclustercomputingsystem.底层由工作站或PC机组成,通过高速网络连结,每个结点运行相同的操作系统。电网电站电站电站水坝矿山油井GridComputing如同使用电力一样,无需在用户端配全套计算机系统和复杂软件,就可以简便地得到网格提供的各种服务。

GridComputing网格计算目前还没有一个标准的定义,关键问题是如何把来自不同计算机组织的资源集中起来,使一组人或机构进行协调工作。网格计算系统具有高度的异构性(硬件、OS、网络、管理域和安全策略等)。GridComputing两个比较重要的网络体系结构:Foster等提出的分层结构;结合WebService提出的开放网格服务结构OGSA。GridComputingGridComputingSystemsAlayeredarchitectureforgridcomputingsystems.应用层应用层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层构造层(Fabric)提供共享的资源,它们是物理或逻辑实体。连接层(Connectivity)

它是网格中网络事务处理通信与授权控制的核心协议。资源层(Resource)

对单个资源实施控制,实现资源注册、资源分配和资源监视。汇集层(Collective)

资源汇集,供虚拟组织的应用程序共享、调用。提供目录服务、日程安排、资源代理、资源监测诊断、网格启动、负荷控制、账户管理等多种功能。应用层(Applications)

通过各层的API调用相应的服务,再通过服务调用网格上的资源来完成任务。需要构建支持网格计算的库函数。应用层工具与应用汇集层资源与连接层各种资源构造层资源与服务的安全访问目录代理诊断与监控等OGSA--开放网格服务体系结构OGSA是以服务为中心的结构,这里服务是指具有特定功能的网络化实体。OGSA定义了“网格服务”的概念,网格服务是一种WebService,该服务提供了一组接口:网格={网格服务}网格服务=接口/行为+服务数据GGG(GreatGlobalGrid)HPIBMWebServicesMicrosof.NetSunONE/N1TeraGridIPGGIGASCIGridDataGrid信息网格和知识网格SemanticWebKnowledgeManagementOntologyInformationPlatform商业应用网格CDNRTECWebService其它模式P2PParasiticComputing计算和数据网格GridComputingSystems一些主要研究计划:GlobusLegionInformationPowerGridEuroGridDistributedTerascaleFacilityChinaGridGlobus计划

Globus是美国Argonne国家实验室的研发项目,全美有12所大学和研究机构参与了该项目。

Globus对资源管理、安全、信息服务及数据管理等网格计算理论进行研究,开发能在各种平台上运行的网格计算工具软件(Toolkit源码开放),帮助规划和组建大型的网格试验平台,开发适合大型网格系统运行的大型应用程序。Toolkit是Globus最重要的成果,其第一版在1999年推出。目前,Globus的技术已在NASA网格(NASAIPG)、欧洲数据网格(DataGrid)、美国国家技术网格(NTG)等项目中得到应用。

Legion计划维吉尼亚大学的一个基于对象的元系统软件项目,它被设计成一个具有几百万个主机和几百万亿个对象的系统,这些主机和对象通过高速链路系在一起。在家用机器上工作的用户在获取各种数据和物理资源时,例如数字图书馆、物理仿真、照相机、线性加速器和视频流,看起来就像在一台单一的计算机上获取的。用户群体可以构造共享虚拟工作空间,进行合作研究和交换信息。这一抽象概念来源于Legion计划的透明进度、数据管理、容错、位置自治、一些列的安全选项。InformationPowerGrid其定义为广泛的计算机、数据和仪器的分布式网络,以及穿过制度上的界限实现共享的协作环境。分成四层:分布式异构资源层、虚拟机器层、工具和高水平服务层、应用层。

EuroGrid由欧洲经济共同体共同出资的研究和技术发展项目(RT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论