A distributed system is a system in which components are situated in distinct places, these distinct places refer to networked computers which can easily communicate and coordinate their tasks by just exchanging messages to each other. These components can communicate with each other to conquer one common goal as a task.
There are many algorithms are used to achieve Distributed Computing and these are broadly divided into 2 categories: Token-Based Algorithms and Non-Token Based Algorithms.
Difference between Token based and Non-Token based Algorithms in Distributed System:
|S.No.||Token Based Algorithms||Non-Token Based Algorithms|
|1.||In the Token-based algorithm, a unique token is shared among all the sites in Distributed Computing Systems.||In Non-Token based algorithm, there is no token even not any concept of sharing token for access.|
|2.||Here, a site is allowed to enter the Computer System if it possesses the token.||Here, two or more successive rounds of messages are exchanged between sites to determine which site is to enter the Computer System next.|
|3.||The token-based algorithm uses the sequences to order the request for the Computer Systems and to resolve the conflict for the simultaneous requests for the System.||Non-Token based algorithm uses the timestamp (another concept) to order the request for the Computer Systems and to resolve the conflict for the simultaneous requests for the System.|
|4.||The token-based algorithm produces less message traffic as compared to Non-Token based Algorithm.||Non-Token based Algorithm produces more message traffic as compared to the Token-based Algorithm.|
|5.||They are free from deadlock (i.e. here there are no two or more processes are in the queue in order to wait for messages that will actually can’t come) because of the existence of unique token in the distributed system.||They are not free from the deadlock problem as they are based on timestamp only.|
|6.||Here, it was ensured that requests are executed exactly in the order as they are made in.||Here there is no surety of execution order.|
|7.||Token-based algorithms are more scalable as they can free your server from having to store session state and also they contain all the necessary information which they need for authentication.||Non-Token based algorithms are less scalable than the Token-based algorithms because here server is not free from its tasks.|
|8.||Here the access control is quite Fine-grained because here inside the token roles, permissions and resources can be easily specifying for the user.||Here the access control is not so fine as there is no token which can specify roles, permission, and resources for the user.|
|9.||Token-based algorithms make authentication quite easy.||Non-Token based algorithms can’t make authentication easy.|
|10.||Examples of Token-Based Algorithms are:
(i) Singhal’s Heuristic Algorithm (ii) Raymonds Tree Based Algorithm (iii) Suzuki-Kasami Algorithm
|Examples of Non-Token Based Algorithms are:
(i) Lamport’s Algorithm (ii) Ricart-Agarwala Algorithm (iii) Maekawa’s Algorithm
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Difference between Preemptive Priority based and Non-preemptive Priority based CPU scheduling algorithms
- Process-based and Thread-based Multitasking
- Difference between Token Bus and Token Ring Network
- Difference between Local File System (LFS) and Distributed File System (DFS)
- Various Failures in Distributed System
- Limitation of Distributed System
- Raymond's tree based algorithm
- Difference between Token ring and Ethernet
- Mutual exclusion in distributed system
- Logical Clock in Distributed System
- Features of Distributed Operating System
- Hierarchical Deadlock Detection in Distributed System
- Maekawa’s Algorithm for Mutual Exclusion in Distributed System
- Lamport's Algorithm for Mutual Exclusion in Distributed System
- Find time taken to execute the tasks in A based on the order of execution in B
- Suzuki–Kasami Algorithm for Mutual Exclusion in Distributed System
- Ricart–Agrawala Algorithm in Mutual Exclusion in Distributed System
- Difference between Network OS and Distributed OS
- Message based Communication in IPC (inter process communication)
- Difference between Client /Server and Distributed DBMS
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.