This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Distributed softwares are operating system and applications that enable computers to coordinate their processing activities and share the network ressources: equipments, softwares and data.
• softwares: files, Data bases, Programming langages ,…
• Every network ressource is managed by a ressource manager (e.g DBMS, …)
• Costs Reduction.
Openess:
• New softwares and hardwares can be easily added within a distributed system.
MultiThreading:
• Many programs running in parallel on the same CPU.
• It is important to keep a control on this processing behavior.
Transparency:
• Consist of using a distributed system to hide components details to the End user and programmer in a way that they see the system as a black box that offers services than as a collection of independant components
To resume a distributed system running process after a failure has occured it is important for permanent data states(files and any hardware data stored in memory) to be saved after any failure detection.
Scalability:A distributed system should efficiently work at different scales:
– Few desktops with a file server
– Local network with a hundreds of computers and a file server
– Many Local networks linked together ( Internet).
• Appears when many running processes are updating their data in parallel.
• Updates should be atomic tasks. A set of changes made by a process should seem instantaneous for the other running processe.
• To make sure that long lasting data are saved within all the components, failure recovery routines are necessary in order to resume the running process to the state befor the failure.
APIs (interfaces) design:
• Text, GUI (Graphical User Interface), hypertexte, hypermedia, multimedia, ...
Communication is achived through messages exchanged between two peer to peer (P2P) processes. A process is the client, and the other one is the server.
The processes represent cooperative or colleagues systems.
This cooperation results in an exchange of data: where the client receives final results from the server.
Used to implements transaction processing systems :
OLPT: On line Transaction Processing Client Call a remote procedure that implement a transaction. Transaction server (or transaction monitor: MT) runs this procedure.
New monitor are trying to integrate other features : communication, distribution, ...