Distributed Systems Characterization and Design Goals

71
Distributed Systems Characterization and Design Goals REVIEW QUESTIONS: 1. What are the main resources of information systems, write a short account on three of them 2. Why would you design a system as a centralized system? List some advantages of centralized systems. 3. Why would you design a system as a distributed system? List some advantages of distributed systems. 4. List some disadvantages or problems of distributed systems that central only systems do not show 5. List three properties of distributed systems 6. Give a definition of middleware and show in a small diagram where it is positioned. 7. Tip: As the name "middleware" implies this software must be somewhere between other software layers, probably mediating between those layers.? 8. What is the transparency dogma in distributed systems middleware and what is wrong with it? 9. What is a Single-point-of-failure and how can distribution help here?

Transcript of Distributed Systems Characterization and Design Goals

Distributed SystemsCharacterization and Design Goals

REVIEW QUESTIONS:

1. What are the main resources of information systems, write a short account on three of them

2. Why would you design a system as a centralized system? List some advantages of centralized systems.

3. Why would you design a system as a distributed system? List some advantages of distributed systems.

4. List some disadvantages or problems of distributed systems that central only systems do not show

5. List three properties of distributed systems

6. Give a definition of middleware and show in a small diagram where it is positioned.

7. Tip: As the name "middleware" implies this software must be somewhere between other software layers, probably mediating between those layers.?

8. What is the transparency dogma in distributed systems middleware and what is wrong with it?

9. What is a Single-point-of-failure and how can distribution help here?

Centralized vs. Distributed Computing

To clarify the consequences of distributing a system, we compare its characteristics to those we find in centralized systems.In a centralized system, there is a single component that may be decomposed further. However, its parts are not autonomous, i.e. the component possess full control over them at all times. As there are no other components, there is no need to provide an interface to the component.If the component supports multiple users (e.g. a relational database), the users share the complete component at all times.A centralized system runs in a single process. There is no need to take concurrency control and synchronization into account.

Centralized Computing

mainframe computerworkstation

network host

network link

terminal

centralized computingdistributed computing

Early computing was performed on a

single processor (Host/Mainframe

/resources sharing/real time).

Uni-processor computing can be called

centralized computing

Characteristics:

One component with shared resourcesComponent shared by users all the timeAll resources accessibleSoftware runs in a single processSingle point of controlProblemsPerformance bottleneckEasy to be attackedSingle point of failure

One component with non-autonomous parts

Component shared by users all the time

All resources accessible

Software runs in a single process

Single point of control

Single point of failure

Database

Terminal

Terminal

Terminal

Mainframe computer

Centralized Computing

Centralized vs. Distributed Computing

There is only a single point of control. The component is in exactly one state that is determined by the program counter of the processor, register variable contents and the virtual memory occupied by the process.Either the system is running or it is not.Situations cannot occur where part of the system or parts of its interconnection have failed and need to recover.

Construction of Distributed Systems

Units of A Distributed System:

• Units/Nodes (Computers, sensors, … ) geographically dispersed

• Network

• Software

network

Why Distributed Systems?

Four technology advances

1. Development of powerful microprocessors

2. Development of high-speed networks

3. Development of cheap PC with denser processor, cheaper memory and storage to replace dumb terminal

4. Need for multimedia data for better decision making

What’s easy: connecting a bunch of powerful processors with a high-speed network.

What’s hard: SOFTWARE!

Model of a Distributed System Software

Component 1 Component n

Middleware

Network Operating System

Hardware

Host 1

Component 1 Component n

Middleware

Network Operating System

Hardware

Host n

..

..

………...

Network

Centralized vs. Distributed Systems

mainframe computerworkstation

network host

network link

terminal

centralized computingdistributed computing

•A distributed system is a collection of independent computers, interconnected via a network, capable of collaborating on a tasks.•Distributed Applications consist of a set of processes that are distributed across a network of machines and work together as an ensemble to solve a common problem•Ex. “client-server” where resource management centralized at the server•Ex. “Peer to Peer” computing represents a movement towards more “truly” distributed applications

Advantages:•Resource sharing •Scalability•Fault tolerance and availability•Better Performance

Distributed System Definition

“A collection of Host processors interconnected by a communication network in which each processor has its own software, local memory and other peripherals and the communication between any two processors of the system takes place by message passing over the communication network“

1. Group of autonomous hosts, each host executes components and operates distribution applications.

2. Hosts are Geographically dispersed/separated over (LAN, WAN,……)

3. Hosts Connected via a network4. The network is used to: transfer

messages and mail, and execute applications: airline reservation, stock control, ….)

Meaning of Distributed Systems definitionsIn a DS there are multiple components that may be decomposed further. These components are autonomous, i.e. they possess full control over their parts at all times.There may be components that are used by only some users but are not used by others. It is then beneficial to have these components residing on machines that are local to the users that use them.A DS runs in multiple processes. These processes are usually not executed on the same processor. Hence inter-process communication involves communication with other machines through a network. There are multiple points of control, but these are not totally independent. Components have to take into account that they are being used by other components and have to react properly to requests.There are multiple points of failure in a distributed system. The system may fail because a component of the system has failed. It may also fail if the network has broken down. It may also fail if the load on a component is so high that it does not respond within a reasonable time frame. Even so, the distributed system is more fault-tolerant than a centralized one.

Features of Distributed Systems1. Resource sharing: sharing hardware, software, and data

2. Openness: openness of main interface of the system, scalability of the current system

3. Concurrency: concurrent execution of the processes, high performance, optimum rate of price and performance

4. Fault tolerance: ability to tolerate the fault of system units, availability (using potential redundancy to overcome the system fault).

5. Transparency: a distributed system can be looked as one computer (access transparency, position transparency, parallel transparency,….)

6. Scalability: can solve larger problems without larger computers

7. Openness and heterogeneity: applications and data may be difficult to relocate and reconfigure

Systems involve hardware (processors), application and system software (control) and application and system information (data).Which of these dimensions have to be distributed for the system to be a distributed system?Enslow requires that distribution is transparent and system users are unaware of the fact that the system is composed of multiple processors.Enslow´s model is fairly rigid: A system is a fully distributed system if and only if all dimensions are fully decentralized.Full hardware decentralization includes multiple heterogeneous control units (as opposed to a single control unit with multiple processors and multiple homogeneous control units).Control must be provided by multiple units cooperating with each other rather than in a master-slave relationshipData must be partitioned and/or replicated, each part with its own local directory.

Distributed System Types (Enslow 1978)

The major components of a complete system are:System = hardware+ System software (control + data)+ Application software (control + data).

In many systems the distinction between system software and application software is not exist.

The distinction can then be made between control and data rather than between system and application.

Distributed systems can then be examined using these three dimensions of hardware, control and data:

Distributed system = distributed hardware And/or distributed controlAnd/or distributed data.

Distributed System Types (Enslow 1978)

What Is Distribute Systems?

There is no unique definition for distributed systems. Similar terms are

• Networked system

• parallel systems

• Concurrent systems

• Decentralized systems

Enslow’s Definition

Distributed System = Distributed hardware + Distributed control + Distributed data

Distributed System Types (Enslow 1978)

Fully Distributed

Processors

Control

Fully replicated

Not fully replicated master directory

Local data, local directory

Master-slave

Autonomous transaction based

Autonomous fully cooperative

Homog. specialpurpose

Heterog.specialpurpose

Homog.generalpurpose

Heterog.generalpurpose

HeterogeneitySystems Variety and differences in Networks Computer hardware Operating systems Programming languages Implementations by different developers

Middleware as software layers to provide a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, OS, and programming languages.

Mobile Code to refer to code that can be sent from one computer to another and run at the destination (e.g., Java applets and Java virtual machine).

Distributed Hardware

Physically shared/distributed memory and logically shared/distributed memory

Logically shared Logically distributed

Physically shared

Common memory Simulated message passing

Physically distributed

Distributed shared memory

message passing

processor processor processor

Network

memory

Physically shared memory

processor processor processor

Network

memorymemory memory

Physically distributed memory

1) Processing hardware: A distributed system must contain two or more computers, each

with their own local memory and processors. This aspect of physical distribution is the most important factor in defining a distributed system.

In order for the distributed computers to cooperate they must be interconnected: hence the need for some form of communications network.

The distribution of the computers can reflect the physical distribution of the application or the functional decomposition of the system, where different computers provide different functions in the system.

Distributed Hardware

Distributed Control

• Master/Slave (fixed/dynamic)

• Multi control points (homogenous/heterogeneous)

Autonomous transaction based

Autonomous fully cooperative

2) Control:Systems contain both physical resources in the form of processors, terminals, devices etc. and logical resources in the form of processes, files etc. There must be some form of control provided to manage the resources and coordinate activities running on the individual processors. The strategy used to manage the resources of the system could be centralized, hierarchical or allow complete autonomy of the individual processors over local resources.

3) Data One of the major resources requiring control by both the system and the

application software is data. The data being processed can itself be distributed by replication (multiple copies at different locations) or partitioning (parts of the data kept at different locations).

Data distribution is often used to enhance tolerance to failures and to provide improved performance by locating the data close to where it is generated and/or used.

The question is whether all three dimensions have to be distributed to classify a system as distributed, or is one sufficient?

Distributed Data

• Copies: Processors hold data copies.

• Divided data: Data are divided and distributed to processors.

Fully replicated

Not fully replicated master directory

Local data, local directory

Advantages of DISTRIBUTION Advantages of Centralization

1) Technological changes 1) Economy of scale

2) User needs 2) More powerful capabilities

3) Modularity and simpler software 3) Operating costs

4) Flexibility and extensibility 4) Staff Satisfaction

5) Availability and integrity 5) Local programming and development

6) Performance 6) Communication subsystem

7) Local control 7) Stretching the state of the art

1) Arbitrary number of system and application processes (logical resources):

It should be possible to support these processes and accept (within limits) arbitrary increases and decreases in their number. This is essential for system flexibility and availability. In some case the system distribution and implementation structure should be transparent.

2) Modular physical architecture (physical resources):The system can consist of multiple interconnected and

special-purpose processing elements. These can be physically distributed and may also vary in number during the system lifetime, e.g. system extension or component failures.

1.1.2. Distributed Systems Model:

3) Communication by message passing using a shared communications system:

This provides for the transfer of messages in a cooperative (rather than master-slave) manner. It may support higher-level protocols, such as procedure calls to remote process components.

4) Some system-wide control:This is necessary to integrate the autonomous distributed

processing elements into a 'single' coherent system. A common policy is provided to indicate how the system is used, facilities provided, access control, protection etc. The actual control provided depends on the overall goal of the system, but it usually includes transparent resource access and fault tolerance by loose coupling between the elements of the system.

1.1.2. Distributed Systems Model:

1) Technological changes:The growth in microelectronics, VLSI etc., has changed the

price-performance ratio to favor multiple low-performance processors rather than single high-performance processors.

Also, the interconnection and communication costs have fallen dramatically in the past few years. Buses, packet-switched networks, local area networks etc. are now readily available and cost effective.

2) User needs: The general growth in the use of computing has led to

demands for more sophisticated facilities (faster, extensible, reliable . . .).

At the same time there is pressure for more economic solutions which reduce unnecessary communications an provide computer power where it is needed.

1.2. The Objectives of Distribution (WHY?):

3) Reduced costs: the advent of low-cost micro- and minicomputers with a high

performance-cost ratio has been the main impetus for providing distributed processing. However, the cost of peripheral devices has not declined as dramatically. The sharing of expensive resources (laser printers, databases, special-purpose processors, . ) is another major objective for distributed systems.

In process-control applications there can be a large saving of wiring costs by placing processing power adjacent to the plant. This results in the replacement of parallel wiring with serial twisted pair or coaxial cable.

In many applications it is possible to use local intelligence to reduce communication costs by reducing the volume of traffic.

This can be achieved by:– increased local processing;– using data compression techniques;– using memory as a buffer for smoothing 'burst" traffic; and/or– use of more efficient communication protocols.

1.2.2 Distributed Systems Objectives:

4) Modularity and simpler software: Distributed systems must be constructed in a very

modular fashion, where each component provides well-defined interfaces or services to the rest of the system.

The enforced modularity leads to simpler system design, installation and maintenance, and allows analytical verification techniques to be used, at least at the component level.

The reduction in hardware costs has made it feasible to under-utilize a processor and dedicate it to a particular function or task.

Where feasible, this functional allocation of tasks to processors has obviated the need for a complex multipurpose operating system at every computer station.

1.2.2 Distributed Systems Objectives:

5) Flexibility and extensibility:As mentioned, distributed systems enforce modularity and the use of very clear

interfaces, both for the hardware and the software.This discipline has the added advantage of facilitating modification or

extension of a system to adapt to a changing environment without disrupting its operation.

Hardware flexibility is provided by the replacement or addition of processing elements and communications connections; similar flexibility can be provided for the software without affecting the other components in the system.

It is therefore possible to start with a small configuration, and provide functional or performance upgrades by adding additional computers at low cost increments.

By using standardized communication protocols, it is possible to incorporate equipment from different manufacturers into a network, reducing reliance on any one manufacturer.

Delivery time of mini- or microcomputers is usually much less than for larger computers, making it easier to plan upgrades.

1.2.2 Distributed Systems Objectives:

6) Availability and integrity: Distributed systems have the potential ability to continue operation if a

failure occurs in the hardware or software. The use of multiple processors means that the failure of one processor need

not cause the whole system to fail. Critical resources can be replicated. Using mutual inspection, faults can be detected and recovery effected by

reconfiguration of the system to use the redundant resource. This is sometimes difficult to achieve in practice (e.g. if a processor is

connected to a device, it is not possible for another processor to take over its function unless it is also connected to that device).

The autonomous nature of the system components does facilitate graceful degradation of the available services.

1.2.2 Distributed Systems Objectives:

7) Performance:Performance is generally defined in terms of response time and throughput.

Response time can be reduced particularly if most processing is done locally. The parallelism of multiple processors reduces the processing bottlenecks and can provide improved all round performance.

Local intelligence can also be used to preprocess data by data reduction and formatting before transmitting it to a remote site. This helps to increase throughput.

8) Local control:Local sovereignty over data and processing can make the system more

responsive to local needs. It may also result in increased motivation and involvement of local personnel.

1.2.2 Distributed Systems Objectives:

1) Economy of scale:

For some time, the rule was that the cost of a computer is proportional to the square root of its processing power (known as Grosch's law).

Computer cost = C x processing power

This meant that it was cheaper to double the power of a large-scale centralized computer than to buy a second computer of similar power.

With the advent of VLSI technology and the decline in cost of computer hardware, this is no longer true.

However, it does still apply to secondary storage such as disks.

Resource sharing in a distributed system provides a possible alternatives.

1.2.3 Advantages of Centralization (WHY NOT Distribution):

2) More powerful capabilities:

A large centralized computer center can provide a far wider range of services, in terms of operating system software, and compilers which are not generally available for small computers.

Also, some scientific programs are just too large: they require vast amounts of memory and processing power, and so must be run on large computers.

Again, these special facilities could be provided at a central site within a resource-sharing network.

1.2.3 Advantages of Centralization (WHY NOT Distribution):

3) Operating costs:

The cost of personnel required to support a computing system is less if they can be centralized. It would not be possible to support operators, maintenance engineers, specialized programmers at every site in a distributed system. This obviously does not apply to a distributed system which is local to a single site; here the personnel could still be centralized and shared.

Computer installation management, such as security, provision of a 24-hour service and of an air-conditioned environment, is simpler for a centralized system.

4) Staff satisfaction:

Highly skilled professional computer staff prefer to work in an environment where they can interact with colleagues having similar interests. Staff may feel isolated if assigned to remote sites. Again, this applies to geographical distribution and is not applicable to distribution within a local site.

1.2.3 Advantages of Centralization (WHY NOT Distribution):

Distributed Processing Applications Overview (WHERE?):

Data Communication:

1.3.1. Data Communication:

A number of computers can be interconnected to form a network which is used to switch messages or packets of information between different geographical sites - sometimes between continents.

Communication is between terminal, and computers or between computers themselves.

The computers connected to the network may or may not form a distributed processing system themselves, depending on whether there exists some overall goal for the connected computers together with some system-wide control.

However, the data communication subsystem itself can be considered as a distributed system. It is physically distributed, its components cooperate to provide a common service, and it is controlled by a network-management system.

1.3.1. Data Communication:

A more constrained use of data communication is in data collection and point of sales terminals which collect data on items being produced or sold.

This information is transmitted to a remote computer for automatic stock control, credit checks, discount calculation etc.

In this case the terminals can usually operate independently in case the remote computer fails.

Examples of Distributed Systems

1.3.2. Resource Sharing:

A number of resources, such as computers, peripherals, special-purpose processors, programs, databases etc. are interconnected by a communication system in order to allow the sharing of resources.

These can be LAN within an organization, research or industrial establishment.

Resource-sharing system must have an overall common operating systemto be considered a true DPS.

Resource-sharing system must have an overall common operating systemto be considered a true DPS.

Examples:

1. Office automation is one of the fastest-growing applications of resource sharing including e-mail, document filing, conferencing, and resource sharing, such as laser printers and databases.

2. Intelligent terminals for word processing, accounting, some graphics etc., office automation systems provide other services.

1.3. Distributed Processing Applications Overview (WHERE?):

The system was designed to provide the services usually associated with a large conventional 'time-sharing' system, except that it would employ small, self-contained PCs and terminals for user access, and servers for those shared facilities (e.g. disks, printers, large memory and processing power).

Case Study 1: The Cambridge Distributed Computer System:

Cambridge Distributed Systems Objectives: The objectives were to provide a high-performance system at low cost.

The loose coupling between the system components would contribute to system flexibility and resilience to failures.

The system would consist of heterogeneous components, usually dedicated to performing a particular function as a service to the rest of the system.

The distributed nature of the system should be transparent.

The physical system has the following main components:

– 50 heterogeneous machines in the system.

– Terminals connected via concentrators to the network.

– Use of a 1 km Cambridge ring for communication. This provides a train of fixed-size message slots endlessly circulating around the ring.

Case Study 1: The Cambridge Distributed Computer System:

The software structure is based on the use of servers: the services of the system are provided by servers each performing a particular function.

Servers Used:

1- File server: This provides a uniform interface accessible from all the different machine subsystems.

It has a basic naming structure using unique identifiers which prevents unauthorized access but allows different direction structures to be superimposed.

All the required functions are provided, such as disk management and integrity, atomic updates and interlocks for shared access.

Case Study 1: The Cambridge Distributed Computer System:

2- Processing servers (processor bank):

For work which is too demanding for a user's local machine, requests can be made to the processing servers.

According to the requirements, allocation will be made to one of the heterogeneous collection of minicomputers which also support different operating systems.

It is even possible to run concurrent programs by the allocation of multiple machines.

Case Study 1: The Cambridge Distributed Computer System:

3- Resource manager:

This server keeps account of what has been allocated, to whom, and for how long. It is essentially responsible for allocating and reclaiming resources.

4- User authentication server (provides tokens to prevent resource usage by an unauthorized user)

User authentication and protection was essential to prevent unauthorized access.

Case Study 1: The Cambridge Distributed Computer System:

5- boot server (loads server code at initialization)

6- Time stamp server (time of day) provide real time stamp to messages handled by the system users.

7- Name server (gives the location of a named service or machine).

8- Message server: exchange of users mails and also used for technical support to provide adequate user response and system performance.

Case Study 1: The Cambridge Distributed Computer System:

Case Study 2: Distributed system for underground monitoring and control in coal mines:

The advent of small, cheap microcomputers has made it possible to place them physically close to a device or plant being controlled. This had led to the use of multiple microcomputers performing the local monitoring and control. These are interconnected (often via a master computer) to coordinate their actions.

Eventually, all devices which contain some electronics are likely to include one or more microprocessors.

A device station would thus include the device (a sensor, actuator or mechanism controller) directly interfaced to a processor and provided with a communications interface for direct connection onto a network.

Each device station communicates with other stations, and possibly a central computer, to cooperate in the overall control of the plant.

Case study 2: Process Control and Laboratory Automation:

Some of the advantages of the use of local processors are:

1. Reduction in wiring costs:

Industrial sites usually extend over distances of up to 1000 m, and all wiring for control systems have to be specially laid.

Wiring can often account for a substantial proportion of the cost of a control system.

Serial transmission lines can be used rather than the traditional use of large numbers of parallel lines linking instruments with a central computer.

2. Faster response

Response time is one of the most important factors in the design of the control system.

A local processor can be dedicated to a device and so respond very quickly. In fact the communication system for process control application differs from that for other applications in that low delays and response times are far more important than high throughput.

Some of the advantages of the use of local processors are:

3. Easier development and maintenance:

This is aided by the enforced modularity of the software, which must be distributable.

Also, the local intelligence in the device means it can be isolated from the rest of the plant for development or maintenance purposes.

Degraded operation is also possible: local processing cancontinue to provide some level of control even when the central control station has failed.

Case Study 2: Distributed system for underground monitoring and control in coal mines:

There are a large number of diverse activities in a coal mine which would greatly benefit from computer monitoring and control: coal cutting and extraction, coal transport, power consumption, monitoring of the environment and control of fans and water drainage.

The functions required vary from simple remote monitoring to full automatic control.

Not only would this provide more cost-effective operation, but also provide a safer environment by more comprehensive monitoring and enabling personnel to be removed or remote from some of the dangerous and unhealthy activities.

The main characteristics of such a system are that it would be very large (perhaps hundreds of computer stations), physically distributed (up to 20 km), and real-time.

Remote sensing Distributed Systems Objectives:

Bank of America in California operated a very large database consisting of information on their customer's accounts - 10 million of them!

The bank had over 1000 community offices and two main centers, one in Los Angeles and one in San Francisco.

During office hours an estimated peak of 50 account enquiries per second per center were made. The overnight hours are used to perform the total of approximately 4 million transactions, transits and clearing items to other banks.

A courier service was used to bring the entries from the community offices to the centers, they were processed in overnight batch and the results returned by courier in the early morning.

In order to provide better information access and remote the need for the courier service, new system architectures were proposed.

An initial proposal was to provide two super computers and databases at the centers and have multi-drop communication lines to the community offices and a communication line between the centers (Fig. 1.4).

Case Study 3: The Bank of America distributed system:

Case Study 3: The Bank of America distributed systemTwo centralized databases processing systems

Large demand-savings enquiry Database

Large Computer

Communicationinterface

Large demand-savings enquiry Database

Large Computer

Communicationinterface

However this approach raised a number of doubts concerning the architecture adopted at each center:

Reliability: What if the central computer goes down? Standby computers would be too expensive.

Performance: Would the response for queries and throughput for batch be sufficient? Even if it would be adequate now, what bout the future?

Extensibility: New larger central computer?

Maintenance: Of both the hardware and software? Insufficient redundancy in the system.

Case Study 3: The Bank of America distributed system:

The database itself used replicated files on four spindles and the file-management system, message logger, message handling processor and intra- and inter-module communications systems were all duplicated.

Hence each center constituted a distributed system giving the required reliability, performance, extensibility and opportunity for simpler software and hardware maintenance.

•It is interesting to note that the bank still operated (and, to our knowledge, continues to operate) queries only during the day. •All transactions were logged for overnight processing and data base update.•They thereby avoided many of the difficult problems of consistency in replicated data bases in an environment of concurrent, real-time access and update. •This would have required sophisticated locking and the use of atomic indivisible and recoverable updates. •The Bank of America system is implemented using one of the general purpose systems which are available from some manufacturers to support transaction processing between autonomous computer systems. •In this case it is a DBMS (IMS, Information Management System) which coordinates transactions dealing with data base enquiries and updates, and integrates with a system for inter-program communication SNA, Systems Network Architecture both products of IBM.

Case Study 3: The Bank of America distributed system:

2. Other Examples of Distributed Systems

A- Local Area Network and Intranet

B- Database and Database Management System

C- Automatic Teller Machine Network

D- Internet/World-Wide Web WWW

E- Mobile and mobile Computing

F- Video on demand

G- Traffic controls

A- Local Area Network

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

A LAN consists of a number of different computers. Clients (Workstations and PCs) provide the front-end for network users. Different servers provide shared services (applications, database, ftp, mail,…etc).One or several network file servers provide data storage services. All clients store files on disks maintained by these file servers.A local name server maps clients names to IP addresses, user names to user ids and group names to group ids. Any client can request a service to resolve a certain name.One or several print servers control the access to shared printers. Clients have the server printing jobs for them.Routers provides a gateway to the WAN.Users are not aware which machine provides which service.Name servers provide the information regarding machine (by IP address), user names (by user ids), and group name (by group ids).LANs (Intranets) can be connected together to form Extranets.

A- Local Area Network

B- Distributed Database Systems

Different client applications want to access and update shared data in a database.Client applications might be banking systems, real-estate agencies, airline-ticket reservation systems accessing data like balances of bank accounts, details of property that are for sale or to let, or airfares and aircraft reservation data.The database is physically distributed over several processors to take advantage of local data accesses for increased performance of client applications.Data may be replicated to reduce the impact of failures of a processor and/or the network.Each processor runs a database monitor that implements the mapping between the database seen by clients and the physical database stored on the different processors.Database monitors have to cooperate with each other to implement client accesses to remote data, updates of replicated data and concurrency control.The physical distribution of data is therefore transparent to clients.

B- Distributed Database Systems

C- Automatic Teller Machine Network

An automatic teller machine network enables bank customers to withdraw cash from their bank account.Banks and building societies maintain large networks of ATM.Customer have high security, privacy and reliability requirements.Customers may want to withdraw cash from their account through a ´foreign´ ATM.A front-end computer controls one or several ATMs. It transfers withdrawal requests to the computer of the account holder's bank, awaits the bank granting the request, and therefore has to be interoperable with heterogeneous computer systems.Each bank has fault-tolerant systems to quickly recover from failures of their account holding computers. An example is the ´Hot standby´ computer which maintains a copy of the account database and can replace the main computer within seconds.

C- ATM Network

D- Internet and WWW

intranet

ISP

desktop computer:

backbone

satellite linkserver:

%

network link:

%

%%

D- Web Servers and Web Browsers

Internet

BrowsersWeb servers

www.google.com

www.cse.cuhk.edu.hk

www.w3c.org

Protocols

Activity.html

http://www.w3c.org/Protocols/Activity.html

http://www.google.comlsearch?q=lyu

http://www.cse.cuhk.edu.hk/

File system ofwww.w3c.org

A Web browser is a user interface to the world's biggest distributed system, the Internet.A Web page includes links to other Web pages. These links are specified as URLs.An URL is the name of a protocol (ftp, http, etc.), the name of a site (gateway1.cse.cuhk.edu.hk) and the name of a file.To follow a link to a remote Web page, Web browser talks to the local DNS server to resolve the symbolic site name into an IP address (137.189.89.153), talks to the http daemon running on that web site and requests the delivery of the Web page addressed by the URL.To obtain a file from a remote ftp site, Web browser resolves the site name with the local DNS server

D- World-Wide-Web

E- Mobile Computing

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetLTE/GSM/GPRS

Wireless LAN

phone

gateway

Host site

Mobile and ubiquitous computer extend the access of Internet and distributed system architecture from wire-line connections to wireless connections.

Mobile Computing Resource Sharing Resources in a distributed system are:

– Encapsulated within computers.– Can only accessed from other computers by communication.– Managed by a program that offers a communication

interface. The term service is used for a distinct part of a computer system

which manages a collection of related resources and presents their functionality to users and applications via a well-defined set of operations.

Server refers to a running program on a networked computer that accepts request messages from programs, clients, running on other computers to perform a service and responds appropriately by reply messages.

A complete interaction between a client and a server is called a remote invocation.

F- Video-on-Demand Client components are used to display videos

Clients are hosted in the customers workstations

Servers components load and transmit videos

Multiple servers are needed in order to enlarge video conferencing

Servers Video HubVideo Hub

Video Cameras+ Workstations

G- A multiprocessor traffic control system

Traffic lights

Lightcontrolprocess

Traffic light controlprocessor

Traffic flowprocessor

Operator consolesTraffic flow sensors

and cameras

Sensorprocessor

Sensorcontrolprocess

Displayprocess

IT Service Architecture of a Bank

Service architecture consists of heterogeneous new and legacy components

Hardware platforms range from mainframes to WINTEL

Programming languages including Assembler, C++, Java, …

Different types of middleware can be used to resolve distribution and heterogeneity

Customer Information

Services

Authorization Services

ATM Services

Trading Services