Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
What is Distributed Processing? PowerPoint Presentation
Download Presentation
What is Distributed Processing?

What is Distributed Processing?

182 Vues Download Presentation
Télécharger la présentation

What is Distributed Processing?

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. DISTRIBUTED PROCESSING AND CLIENT-SERVER What is Distributed Processing? Distributed processing refers to geographical distribution of hardware, software, processing, data, and control. Objectives 1) Move data and processing functions closer to the user, and thereby improve systems responsiveness and reliability. 2) Make remote access transparent to user.

  2. Possible Advantages • Reduced communication costs (data close to location that needs it) • Users have control of their own data • Ease of incremental upgrades Source: http://www.cwrl.utexas.edu/~runnion/icons/images/ho_gas_universe_m.jpg

  3. Possible Pitfalls • Loss of control • Higher manpower costs • Costs • Incompatibilities • Standards • Security • Speed

  4. Decisions 1) File/data partitioning • Data allocation • Hardware allocation 5) Data ownership 6) Network design 7) Distributed DBMS 8) Security

  5. Some applications • Distributed computing is a science which solves a large problem by giving small parts of the problem to many computers to solve and then combining the solutions for the parts into a solution for the problem. • Examples: • SETI@Home (Help look for aliens) • Entropia (Various science and medical research projects) • DCypher.Net (Design safer storage vessels for nuclear waste) • Golem@Home (Design and evolve robotic life forms) • Distributed.net (Cracking encryption schemes) • Electric Sheep (Developing Art) Source: Internet Distributed Computing Projects http://www.nyx.net/~kpearson/distrib.html.

  6. More applications

  7. Some “applications” FURBEOWULFhighly parallel processing system

  8. Architecture Concepts Software architecture may be divided: 1. Data storage 2. Data access logic 3. Application logic 4. Presentation logic Host- (or Mainframe-) centric computing

  9. CLIENT/SERVER SYSTEM • Presentation logic, Application logic and data are split over two or more computers. • Communication occurs over local or wide area networks. WORK GROUP SERVER LOCAL DATA MAIN - FRAME HOST ENTER- PRISE DATA W/S LAN

  10. 2-/3-TIER CLIENT-SERVER ARCHITECTURES 2-tier 3-tier

  11. QUERY PROCESSING ALTERNATIVES • 1) Local Processing • Access remote records and pass them to local node • Process records locally • Return them to remote node for updating (if necessary) • 2) Remote Processing • Send message to remote node to perform processing and return only the information required to the requesting node. DATA SHIPPING QUERY SHIPPING

  12. QUERY PROCESSING IN DISTRIBUTED ENVIRONMENT QUERY: look up U.S. census bureau records For all people with last name of ‘rambelle’ OPTION 1: CENSUS BUREAU MAIN - FRAME ASK FOR DATA 250 Mill Records MY PC GET 250 Million Records QUERY is processed here! OPTION 2: CENSUS BUREAU MAIN - FRAME SEND RECORDS W/LAST NAME RAMBELLE MY PC RECEIVE 50 RECORDS QUERY is processed here!

  13. USER INTERFACE Business Functions DBMS COMMUNICATIONS, STANDARDS PIECES OF CLIENT-SERVER SYSTEMS CLIENT SERVER User Interface: Increasingly GUI, pen-based, object-oriented WINDOWS, MAC, X-Windows, etc. Business Functions: Execution of business logic, validation Achieving business purpose of application DBMS: CREATION, UPDATE, RETRIEVAL, DELETION of DATA. Maintaining Integrity of Data. Communications: Transmission of messages/data between nodes in a reliable manner Standards: Define uniform way of performing task in a computing environment

  14. WHY CLIENT-SERVER? • Productivity • Scalability • Open and portable • Platform independence • Vendor independence

  15. Fat Server versus Fat Client Fat Server places more functions on the server. (e.g., GroupWare servers, object servers) – easier to manage and deploy Fat Client places more functions on client. (e.g., file servers, database servers) – more traditional In many cases, the models complement each other and coexist

  16. Client Server Middleware Middleware Middleware is software that sits between the application software on both the client and the server. It is the “GLUE” that lets a client obtain service from a server. There are dozens of standards for middleware. Examples of products ODBC (Open database connectivity) CORBA (Common object request broker architecture).

  17. Rules of Thumb for Client-Server ImplementationRules of Thumb = heuristics ;) • Push maximum possible processing onto the client. • Do all compute intensive tasks on the client. • Manage all shared resources on the server. • Manage all data with the server. • Avoid centralization of services (e.g. split the database). • Local data should be locally owned and managed. • Use tiered processing for scalability. • Minimize amount of data transferred between client and server. • Cache slowly changing or static data. • Compress large data transfers if possible. • Design for remote administration and monitoring. • Find bottlenecks by analyzing the throughput chain.

  18. Peer-to-Peer (P2P) “Client/server computing as currently practiced is merely one step toward fully distributed computing Nirvana: the decentralized, peer-to-peer collaborative computing utopia of the 21st century” (Lewis 1995). • Historically, P2P originated in LAN technology (e.g. Ethernet). • “Music and movie sharing will only represent five percent of the total use [of P2P] in the future” (Clark 2001). Applications: • Collaboration • Edge service • Intelligent-agent services • File-sharing • Distributed computing (Clark 2001) A study found that 70 % of Gnutella (a P2P system) users share no files, and nearly 50 % of all responses are returned by the top 1 % of sharing hosts (Adar and Huberman 2000).

  19. HTTP, WWWElectronic Commerce – A quick introduction

  20. HTTP Protocol “The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods.” (Internet Standards Track Protocol Definition for HTTP/1.1.)

  21. HTTP Details • The HTTP connection has four basic stages : • Open the connection - The client contacts the server over a TCP/IP connection at the address and port number specified in the URL, with the default port being 80. • Make the request - The client sends a message to the server. This message contains HTTP request headers that define the transaction method and information about the client and its capabilities. This is optionally followed by the data being sent to the server. The typical HTTP methods are GET and POST. • Send the response - The server sends a response header followed by the data. The response header consists of the status of the response and the type of data being sent. • The connection is closed - The connection is terminated by the server, no knowledge of the transaction is retained.

  22. Electronic Commerce: Definitions • Business transactions conducted by electronic means other than conventional telephone service, e.g., Fax or E-mail” • “Use of Computers to Improve Organizational Performance in a Web-Enabled World” • “Electronic Commerce (EC) is the paperlessexchange of business information using Electronic Data Interchange (EDI), Electronic Mail (E-Mail), computer bulletin boards, FAX, Electronic Funds Transfer (EFT), and other similar technologies” • “The buying and selling of goods and services, and the transfer of funds, through digital communications”

  23. Web and HTTP

  24. A Simple Model for EC 4 1,3 CGI Program HTTP SERVER CLIENT 2,6 5 1,2.A client connects to the server and downloads a form. 3. The client fills the form (item/quantity requested, shipping address, credit card number, etc.) and submits it. 4,5.A CGI program on the server processes the form. 6. The server sends a reply to the client.

  25. Planning for Electronic Commerce • Catalog Software Design Issues • – Understand how electronic catalogs work. • – How search engines work. • Finding the right EC software product. • – Support for associate program (referral commission) • – Media management (for managing images) • – Payment methods/Discounts/S&H/ • – Languages and currency • – CGI Interface • – Order tracking • – Ease of use • Security of your site. ….FINE