DISTRIBUTED PROCESSING AND
What is Distributed Processing?
Distributed processing refers to geographical distribution of
hardware, software, processing, data, and control.
1) Move data and processing functions closer to the user,
and thereby improve systems responsiveness and
2) Make remote access transparent to user.
1) Reduced communication costs
(data close to location that
2) Users have control of their own
3) Ease of incremental upgrades
Source: http://www.cwrl.utexas.edu/~runnion/icons/images/ho_gas_universe_m.jpg SYST5030/4030
1) Loss of control
2) Higher manpower costs
1) File/data partitioning
2) Data allocation
3) Hardware allocation
5) Data ownership
6) Network design
7) Distributed DBMS
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.
•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
highly parallel processing system
may be divided:
1. Data storage
2. Data access logic
3. Application logic
4. Presentation logic
Host- (or Mainframe-) centric computing
• Presentation logic,
Application logic and
data are split over two or
• Communication occurs
over local or wide area
W/S LAN HOST PRISE
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
QUERY PROCESSING IN DISTRIBUTED ENVIRONMENT
QUERY: look up U.S. census bureau records
For all people with last name of ‘rambelle’
OPTION 1: CENSUS
ASK FOR DATA MAIN - 250
PC GET 250 Million Records Mill
OPTION 2: CENSUS
MY SEND RECORDS W/LAST NAME RAMBELLE MAIN -
PC RECEIVE 50 RECORDS
PIECES OF CLIENT-SERVER SYSTEMS
USER INTERFACE COMMUNICATIONS, DBMS
Business Functions STANDARDS
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
Standards: Define uniform way of performing task in a
Open and portable
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
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).
Rules of Thumb for Client-Server Implementation
Rules 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.
“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.
• “Music and movie sharing will only represent five
percent of the total use [of P2P] in the future” (Clark
– Edge service
– Intelligent-agent services
– Distributed computing (Clark 2001)
– A quick introduction
“The Hypertext Transfer Protocol
(HTTP) is an application-level
protocol for distributed,
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 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
• The connection is closed - The connection is terminated by the server, no
knowledge of the transaction is retained.
• 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
• “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”
Web and HTTP
A Simple Model for EC
CLIENT HTTP CGI
2,6 SERVER Program
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.
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.