资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Distributed Computing ParadigmsMei-Ling Liu*1Distributed Computing Paradigms, M. LiuParadigms for Distributed ApplicationswParadigm means “a pattern, example, or model.” In the study of any subject of great complexity, it is useful to identify the basic patterns or models, and classify the detail according to these models. This paper aims to present a classification of the paradigms for distributed applications. wCharacteristics that distinguish distributed applications from conventional applications which run on a single machine. These characteristics are:Interprocess communication: A distributed application require the participation of two or more independent entities (processes). To do so, the processes must have the ability to exchange data among themselves. Event synchronization: In a distributed application, the sending and receiving of data among the participants of a distributed application must be synchronized.Date2Distributed Computing Paradigms, M. LiuAbstractionswArguably the most fundamental concept in computer science, abstraction is the idea of detail hiding. To quote David J. Barnes1:We often use abstraction when it is not necessary to know the exact details of how something works or is represented, because we can still make use of it in its simplified form. Getting involved with the detail often tends to obscure what we are trying to understand, rather than illuminate it Abstraction plays a very important role in programming because we often want to model, in software, simplified versions of things that exist in the real world without having to build the real things. wIn software engineering, abstraction is realized with the provision of tools or facilities which allow software to be built without the developer having to be cognizant of some of the underlying complexities. Date3Distributed Computing Paradigms, M. LiuDistributed Application ParadigmsDate4Distributed Computing Paradigms, M. LiuThe Message Passing ParadigmMessage passing is the most fundamental paradigm for distributed applications. nA process sends a message representing a request. nThe message is delivered to a receiver, which processes the request, and sends a message in response. nIn turn, the reply may trigger a further request, which leads to a subsequent reply, and so forth. The message- Date5Distributed Computing Paradigms, M. LiuThe Message Passing Paradigm - 2Message passing is the most fundamental paradigm for distributed applications. wA process sends a message representing a request. wThe message is delivered to a receiver, which processes the request, and sends a message in response. wIn turn, the reply may trigger a further request, which leads to a subsequent reply, and so forth. - Date6Distributed Computing Paradigms, M. LiuThe Message Passing Paradigm - 3wThe basic operations required to support the basic message passing paradigm are send, and receive. w For connection-oriented communication, the operations connect and disconnect are also required. wWith the abstraction provided by this model, the interconnected processes perform input and output to each other, in a manner similar to file I/O. The I/O operations encapsulate the detail of network communication at the operating-system level. wThe socket application programming interface is based on this paradigm. nhttp:/java.sun.com/products/jdk/1.2/docs/api/index.htmlnhttp:/www.sockets.com/Date7Distributed Computing Paradigms, M. LiuThe Client-Server ParadigmPerhaps the best known paradigm for network applications, the client-server2 model assigns asymmetric roles to two collaborating processes.One process, the server, plays the role of a service provider which waits passively for the arrival of requests. The other, the client, issues specific requests to the server and awaits its response. Date8Distributed Computing Paradigms, M. LiuThe Client-Server Paradigm - 2wSimple in concept, the client-server model provides an efficient abstraction for the delivery of network services. wOperations required include those for a server process to listen and to accept requests, and for a client process to issue requests and accept responses. wBy assigning asymmetric roles to the two sides, event synchronization is simplified: the server process waits for requests, and the client in turn waits for responses. w Many Internet services are client-server applications. These services are often known by the protocol that the application implements. Well known Internet services include HTTP, FTP, DNS, finger, gopher, etc. Date9Distributed Computing Paradigms, M. LiuThe Peer-to-Peer System Architecture http:/www.peer-to-peerwg.org/whatis/index.htmlw In system architecture and networks, peer-to-peer is an architecture where computer resources and services are direct exchanged between computer systems. wThese resources and services include the exchange of information, proce
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号