what is distributed processing?

25
SYST5030/4030 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. DISTRIBUTED PROCESSING AND CLIENT-SERVER

Upload: margie

Post on 23-Jan-2016

58 views

Category:

Documents


0 download

DESCRIPTION

DISTRIBUTED PROCESSING AND CLIENT-SERVER. What is Distributed Processing? Distributed processing refers to geographical distribution of hardware, software, processing, data, and control. Objectives - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: What is Distributed Processing?

SYST5030/4030

What is Distributed Processing?Distributed processing refers to geographical distribution of

hardware, software, processing, data, and control.

Objectives1) Move data and processing functions closer to the user,

and thereby improve systems responsiveness and reliability.

2) Make remote access transparent to user.

DISTRIBUTED PROCESSING AND CLIENT-SERVER

Page 2: What is Distributed Processing?

SYST5030/4030

Possible Advantages1) Reduced communication costs

(data close to location that needs it)

2) Users have control of their own data

3) Ease of incremental upgrades

Possible Advantages1) Reduced communication costs

(data close to location that needs it)

2) Users have control of their own data

3) Ease of incremental upgrades

Source: http://www.cwrl.utexas.edu/~runnion/icons/images/ho_gas_universe_m.jpg

Page 3: What is Distributed Processing?

SYST5030/4030

Possible Pitfalls1) Loss of control

2) Higher manpower costs

3) Costs

4) Incompatibilities

5) Standards

6) Security

7) Speed

Possible Pitfalls1) Loss of control

2) Higher manpower costs

3) Costs

4) Incompatibilities

5) Standards

6) Security

7) Speed

Page 4: What is Distributed Processing?

SYST5030/4030

Decisions1) File/data partitioning

2) Data allocation

3) Hardware allocation

5) Data ownership

6) Network design

7) Distributed DBMS

8) Security

Decisions1) File/data partitioning

2) Data allocation

3) Hardware allocation

5) Data ownership

6) Network design

7) Distributed DBMS

8) Security

Page 5: What is Distributed Processing?

SYST5030/4030

Some applications

Source: Internet Distributed Computing Projects http://www.nyx.net/~kpearson/distrib.html.

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)

Page 6: What is Distributed Processing?

SYST5030/4030

More applications

Page 7: What is Distributed Processing?

SYST5030/4030

Some “applications”

FURBEOWULFhighly parallel processing system

Page 8: What is Distributed Processing?

SYST5030/4030

Architecture Concepts

Software architecture may be divided:1. Data storage 2. Data access logic3. Application logic4. Presentation logic

Software architecture may be divided:1. Data storage 2. Data access logic3. Application logic4. Presentation logic

Host- (or Mainframe-) centric computing

Page 9: What is Distributed Processing?

SYST5030/4030

CLIENT/SERVER SYSTEM

• Presentation logic, Application logic and data are split over two or more computers.

• Communication occurs over local or wide area networks.

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 GROUPSERVER

LOCAL

DATA

LANMAIN -FRAMEHOST

ENTER-PRISEDATA

W/S

Page 10: What is Distributed Processing?

SYST5030/4030

2-/3-TIER CLIENT-SERVER ARCHITECTURES

2-ti

er3-

tier

Page 11: What is Distributed Processing?

SYST5030/4030

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.

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

SHIPPIN

G

QUERY

SHIPPIN

G

Page 12: What is Distributed Processing?

SYST5030/4030

QUERY PROCESSING IN DISTRIBUTED ENVIRONMENT

QUERY: look up U.S. census bureau recordsFor all people with last name of ‘rambelle’

QUERY: look up U.S. census bureau recordsFor all people with last name of ‘rambelle’

OPTION 1:

MYPC

CENSUSBUREAUMAIN -FRAME

OPTION 2:

MYPC

CENSUSBUREAUMAIN -FRAME

QUERY is processed here!

ASK FOR DATAGET 250 Million Records

SEND RECORDS W/LAST NAME RAMBELLE

RECEIVE 50 RECORDS

250

Mill

Records

QUERY isprocessed here!

Page 13: What is Distributed Processing?

SYST5030/4030

PIECES OF CLIENT-SERVER SYSTEMS

USER INTERFACEBusiness Functions

DBMSCOMMUNICATIONS,STANDARDS

CLIENT SERVER

User Interface: Increasingly GUI, pen-based, object-orientedWINDOWS, MAC, X-Windows, etc.

Business Functions: Execution of business logic, validationAchieving 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

User Interface: Increasingly GUI, pen-based, object-orientedWINDOWS, MAC, X-Windows, etc.

Business Functions: Execution of business logic, validationAchieving 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

Page 14: What is Distributed Processing?

SYST5030/4030

WHY CLIENT-SERVER?

Productivity

Scalability

Open and portable

Platform independence

Vendor independence

WHY CLIENT-SERVER?

Productivity

Scalability

Open and portable

Platform independence

Vendor independence

Page 15: What is Distributed Processing?

SYST5030/4030

Fat Server versus Fat ClientFat 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 traditionalIn many cases, the models complement each other and coexist

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 traditionalIn many cases, the models complement each other and coexist

Page 16: What is Distributed Processing?

SYST5030/4030

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 productsODBC (Open database connectivity)CORBA (Common object request broker architecture).

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 productsODBC (Open database connectivity)CORBA (Common object request broker architecture).

Client ServerMiddleware

Page 17: What is Distributed Processing?

SYST5030/4030

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.

Page 18: What is Distributed Processing?

SYST5030/4030

Peer-to-Peer (P2P)

• 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)

• 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).

“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).

“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).

Page 19: What is Distributed Processing?

SYST5030/4030

HTTP, WWWElectronic Commerce

– A quick introduction

Page 20: What is Distributed Processing?

SYST5030/4030

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.)

“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.)

Page 21: What is Distributed Processing?

SYST5030/4030

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.

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.

Page 22: What is Distributed Processing?

SYST5030/4030

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 paperless exchange 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”

• 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 paperless exchange 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”

Page 23: What is Distributed Processing?

SYST5030/4030

Web and HTTP

Page 24: What is Distributed Processing?

SYST5030/4030

A Simple Model for EC

CLIENT HTTPSERVER

CGI Program

1,3

2,6

4

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.

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.

Page 25: What is Distributed Processing?

SYST5030/4030

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.

•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