Problems with the application of a distributed system
Recommend Books for information about transparency in distributed systems
Types of transparency in distributed systems
In distributed systems there are number of forms of transparency that pose potential problems for distributed applications. In total there are eight main, important types of distribution transparency.
Here is some basic information in simple terms regarding transparency in distributed systems and the main eight types of transparency in distributed applications.
Access transparency in distributed systems means that local and remote objects should be able to be accessed with the same operations. Basically, the user should be unaware that the object is local or remote.
Location Transparency in distributed applications and distributed systems means that objects should be able to be accessed without knowledge of their particular location. Location transparency is present in a number of communication types such as multicasting communication. (don't worry if you are unfamiliar with multicasting communication).
Replication transparency in distributed systems and distributed operating systems means that multiple copies of objects should be able to be created without any effect of the replication being seen by applications that use the objects. Basically, in a distributed system all copies of replicated data or files should be maintained so they are all the same so that if an operation is peformed on them the same result will always be given.
Concurrency transparency in distrbuted operating systems and applications means that concurrent processes should be able to use shared objects without problem or interference. This is one of the biggest issues and problems present in distributed computing because concurreny access to files and data raises the issue of data consistency (i.e if more than one user/client tries to simultaneously update the same file or data).
Migration transparency in distributed applications and distributed operating systems means that objects should be able to be moved without affecting the operation of applications that use them.
Failure transparency is probably one of the most obvious problems and issues with distributed systems. It means that faults that occur during operation are concealed so that it can still continue without knowledge that a fault has occured. This is where ELECTION ALGORITHMS becomes important in distributed systems. REFER TO MY OTHER HUB ON ELECTION ALGORITHMS IN DISTRIBUTED SYSTEMS FOR MORE INFORMATION.
Performance transparency means that the performance of a distributed system should degrade gracefully as the system load increases. Basically, the distributed system should work just as well if 200 people are using it as when 2 people are using it.
Scaling transparency within distributed operating systems means that it should be possible to scale up the application/system without needing to change any of the structure or algorithms that are used.
An example of replication transparency issues in distributed systems
If a person uses a credit card at a cash machine to withdrawl money then this will update their bank account balance. Banks will obviously have multiple copies/backups of this persons bank account data and the persons balance.
When does the bank update the backup copies of the persons bank balance so that they have all of the same information?
If these back up copies are not all updated so they have the same information once the persons balance has changed, if the banks main copy of the persons balance information fails and a backup copy needs to be used that has not been correctly updated yet, this will mean the person could effectively get 'free' money as the recent withdraw from the cash machine will not have been recorded.
I realise some of this may be slighlty confusing and new to some people not familiar with different issues with transparency distributed systems and distributed operating systems, so if you have any questions, don't hesitate to ask or comment.