what is distributed processing?
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 PresentationTRANSCRIPT
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
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
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
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
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)
SYST5030/4030
More applications
SYST5030/4030
Some “applications”
FURBEOWULFhighly parallel processing system
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
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
SYST5030/4030
2-/3-TIER CLIENT-SERVER ARCHITECTURES
2-ti
er3-
tier
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
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!
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
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
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
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
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.
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).
SYST5030/4030
HTTP, WWWElectronic Commerce
– A quick introduction
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.)
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.
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”
SYST5030/4030
Web and HTTP
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.
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