* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Peer-to-Peer VS Client/Server
Survey
Document related concepts
Transcript
Peer-to-Peer VS Client/Server Peer-to-Peer • An alternative to the client/server model of distributed computing is the peer-to-peer model. • Client/server is inherently hierarchical, with resources centralized on a limited number of servers. • In peer-to-peer networks, both resources and control are widely distributed among nodes that are theoretically equals. (A node with more information, better information, or more power may be “more equal,” but that is a function of the node, not the network controllers.) 2 Decentralization • A key feature of peer-to-peer networks is decentralization. This has many implications. Robustness, availability of information and faulttolerance tends to come from redundancy and shared responsibility instead of planning, organization and the investment of a controlling authority. • On the Web both content providers and gateways try to profit by controlling information access. Access control is more difficult in peer-to-peer, although Napster depended on a central index. 3 Technology Transition The Client/Server Model 4 The Peer-to-Peer Model Classification • • • • • • 5 Pure P2P vs. Hybrid (servers keep info) Centralized Napster Decentralized KaZaA Structured CAN Unstructured Gnutella Hybrid JXTA Applications outside Computer Science • • • • • • 6 Bioinformatics Education and academic Military Business Television Telecommunication Why Peer-to-Peer Networking? • The Internet has three valuable fundamental assetsinformation, bandwidth, and computing resources - all of which are vastly under utilized, partly due to the traditional client-server computing model. • Information - Hard to find, impossible to catalog and index • Bandwidth - Hot links get hotter, cold ones stay cold • Computing resources - Heavily loaded nodes get overloaded, idle nodes remain idle 7 Benefits from P2P • Theory • Dynamic discovery of information • Better utilization of bandwidth, processor, storage, and other resources • Each user contributes resources to network • Practice examples • Sharing browser cache over 100Mbps lines • Disk mirroring using spare capacity • Deep search beyond the web 8 CLIENT / SERVER SYSTEM CLIENT / SERVER SYSTEM What Is a Client/Server system? • A system that links a client and server through networks. • It describes a computing model for the development of computerized systems. • This model is based on the distribution of functions between two types of independent and autonomous processes; servers and clients. Client / Server System Network Server process Services: File, print, fax, multimedia, communications Client process Clients request services from different server processes. Clients can request services from several servers and servers can provide services for more than one clients. Forces that drive the trend to Client/Server Systems • The changing business environment. • The growing need for enterprise data access. • The demand for end user productivity gains based on the efficient use of data resources. • Technological advances that have made clients/server computing practical. • Growing cost/performance advantages of PC-based platforms. • Cost / Performance advantages of the PC-based platform Driving forces • Technological Advances -Microprocessor Technology: New microprocessors are capable to, or even better than, that of many mainframes and minicomputer systems. Such processing power makes it possible to dedicate PCs to tasks that used to be delegated to mainframes and minicomputers. - Data Communications and Internet: Advances in data communication and the Internet have allowed the integration of PCs with the existing networks of minicomputers and mainframes. Driving forces -cont. • Operating Systems and Graphical User Interfaces (GUI) • The GUI made it possible for end users to put this power to work, thus making the GUI a major contributing factor to the PC’s success in the workplace.The GUI has made it possible for end users to create many of their own applications, thus making them more autonomous. • Ex) Microsoft Windows, Apple’s Macintosh, IBM’s OS/2 Client/Server Architecture • The client/Server architecture is based upon hardware and software components that interact to form a system. • Front-end application(Client): Any computer process that requests services from the server. • Back-end application(Server): Any computer processing providing services to the clients. • Communications middleware(Middleware): Any computer process through which clients and servers communicate. How components interact? SQL SQL Client process Data Clients process sends SQL request through communications middleware. Communications middleware network Database server Data Middleware routes SQL request to database server process. Database server process receives request, validates it, and executes it. Server components • Database services: When server receives the SQL codes, it validates it, executes it, and sends only the results to the client. • The computer that houses the server process should be a more powerful computer than the average client computer because it must be able to handle multiple requests from multiple clients. • Minimum requirements -Fast CPU (RISC, Pentium, PowerPC) -Fault-tolerant capability -Expendability of CPU -Multiple communications options