Virtual Time Carrier Sensed Multiple Access (VT-CSMA)

Virtual Time Carrier Sensed Multiple Access (VTCSMA) is used mostly in hard real-time system. It is used in transferring signals simultaneously and efficiently in a real-time system for avoiding a collision. In a real-time system, CSMA can not be used but Virtual Time CSMA can be used for signal transfer.

Every node in VTCSMA uses 2 types of clocks:

  1. Virtual Clock called as VC: RC shows the real time which is synchronized for all the nodes.
  2. Real Clock called as RC: VC is different for different nodes in the system.

The rate of VC is greater than the RC.

  • If a node senses the communication channel to be busy, then the Virtual Clock or VC freezes and stops.
  • If a node senses the communication channel to be free, the Virtual Clock of VC is reset.

Every node in the system decides a time, VSX(M) (virtual time to start transmission of message M) for the transmission of a message M. If VSX(m) <= VC, then the transmission signal is sent by the node and does not transfer otherwise.

If many nodes transfer the message signal at the same time, then collision may occur. If a collision occurs while transferring the signal, then the next signal is transmitted using the probability of p or (1-p) after the channel is idle.



Flow Diagram of Virtual Carrier Sensed Multiple Access:

The basic idea of using Virtual Time CSMA instead of CSMA is to incorporate the priority to the nodes or devices in the real-time system. Global ordering of priorities can be achieved using a priority function of the current time RC and VC and some other parameters, which makes Virtual Time CSMA better and efficient as compared to that of CSMA.

VTCSMA is generally used in the Broadcast network.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.