Soft Real-time Communication is communication system that is used to support soft real-time applications is a LAN. Soft real-time communication networks do not provide absolute Quality of Service (QoS) guarantee to applications. These networks always ensure prioritized treatment for real-time messages. It also ensures that message deadline miss ratio for real-time messages is kept to a minimum and real-time messages can be provided statistical guarantees on delay bounds.
Protocols in Soft Real-time Communication :
Protocols used in soft real-time communication usually assume transmission of both soft real-time and hard real-time messages over network. Usually, it is assumed that soft real-time traffic is made up of CBR and VBR sources. It is also assumed that soft real-time message rates are very low as compared to channel capacity. Hard real-time messages arrive aperiodically in bursts. In the presence of bursts, it becomes very difficult to endure guarantee to real-time traffic. Therefore, bursts need to be smoothed for enduring statistical guarantees on deadline for real-time messages to hold.
Soft Real-time Communication Algorithm :
Soft real-time communication uses a fixed rate traffic smoothing algorithm. Fixed-rate traffic smoothing algorithm was developed by Kweon and Shin. It is based on network-wide transmission limits. The input limit for each node in system is derived from transmission limits. The traffic smoother is placed between MAC layer and TCP/IP layer. It is used to smooth a hard real-time system so that guarantees to real-time messages could not be violated. The traffic smoothing algorithm is just like a leaky bucket algorithm which is known as Credit Bucket Depth (CBD). It has two statically fixed parameters Credit Bucket Depth (CBD) and Refresh Period (RP).
- Credit Bucket Depth (CBD) –
CBD is maximum number of credits which are added to bucket at each refresh. It also represents maximum number of credits a bucket can hold.
- Refresh Period (RP) –
RP is refresh period with which bucket is filled with new credits.
CBD/RP ratio is average guaranteed throughput for non-real-time messages. Number of credits in bucket is known as Current Network Share (CNS). When the number of available credits is positive but it is smaller than size of message to be sent then credits are borrowed. Therefore, balance of credits can become negative at any time. The current network share may become negative if credits have been borrowed. Number of credits in bucket i.e. current network share is updated at each refresh.
CNS = min (CNS + CBD, CBD)
CBD amount of credits is filled such that CNS does not exceed CBD. Smoothing process is carried out when a hard real-time message arrives from TCP/IP layer.
if (CNS > 0) CNS = CNS - messageBytes /* where messageBytes is size of the message */ transmit the message else hold the message in buffer until CNS > 0