- Interactivity: Applications can be interactive or noninteractive. Interactivity presumes that for a given request a response is expected for the normal functioning of the application. For interactive applications, it is important to evaluate how sensitive they are to delaysâ€”some might tolerate larger delays up to practical limits, but some might not.
- Real-time responsiveness: Real-time applications expect timely serving of data. They are not necessarily interactive. An example of a real-time application is live football match video streaming (live streaming) or video conferencing. Real-time applications are sensitive to delay. Delay is sometimes used interchangeably with the term latency. Latency refers to the total amount of time from the source sending data to the destination receiving it. Latency accounts for propagation delay of signals through media, time required for data processing on devices it crosses along the path, etc. Because of the changing network conditions, latency might vary during data exchange: some data might arrive with less latency then other. The variation in latency is called jitter.
- Amount of data generated: There are applications that produce low quantity of data, such as voice applications. These applications do not require much bandwidth. Usually they are referred to as bandwidth benign applications. On the other hand, video streaming applications produce significant amount of traffic. This kind of application is also termed bandwidth greedy.
- Burstiness: Applications that always generate a consistent amount of data are referred to as smooth or non-bursty applications. On the other hand, bursty applications at times create small amount of data, but they can change behavior for shorter periods. An example is web browsing. If you open a page in a browser that contains a lot of text, a small amount of data is transferred. But if you start downloading a huge file, the amount of data will increase during the download.
- Drop sensitivity: Packet loss is losing packets along the data path, which can severely degrade the application performance. Some real-time applications (such as Video On Demand) are sensitive to the perceived packet loss when using the network resources. You can say that such applications are drop sensitive.
- Criticality to business: This aspect of an application is “subjective” in that it depends on someone’s estimate of how valuable and important the application is to a business. For instance, an enterprise that relies on video surveillance to secure its premises might consider video traffic as a top priority, while another enterprise might consider it totally irrelevant.
- Batch applications: Applications such as FTP and TFTP are considered batch applications. Both are used to send and receive files. Typically, a user selects a group of files that need to be retrieved and then starts the transfer. Once the download starts, no additional human interaction is required. The amount of available bandwidth determines the speed at which the download occurs. While bandwidth is important for batch applications, it is not critical. Even with low bandwidth, the download is completed eventually. Their principal characteristics are:
- Typically do not require direct human interaction.
- Bandwidth important but not critical.
- Examples: FTP, TFTP, inventory updates.
- Interactive applications: Applications in which the user waits for a response to their action are interactive. Think of online shopping applications, which are offered by many retail businesses today. The interactive applications require human interaction and their response times are more important than for batch applications. However, strict response times or bandwidth guarantees might not be required, so if the appropriate amount of bandwidth is not available, then the transaction may take longer, but it will eventually complete. The main characteristics of the interactive applications are:
- Typically support human-to-machine interaction.
- Acceptable response times have different values depending on how important the application is for the business.
- Examples: database inquiry, stock-exchange transaction
- Real-time applications, such as voice and video applications, may also involve human interaction. Because of the amount of information that is transmitted, bandwidth is critical. In addition, because these applications are time critical, a delay on the network can cause a problem. Timely delivery of the data is crucial. It is also important that not too much data is lost during transmission because real-time applications, unlike other applications, do not retransmit lost data. Therefore, sufficient bandwidth is mandatory, and the quality of the transmission must be ensured by implementing QoS. QoS is a way of granting higher priority to certain types of data, such as Voice over IP (VoIP). The main characteristics of the real-time applications are:
- Typically support human-to-human interaction.
- End-to-end latency is critical.
- Examples: Voice applications, video conferencing, and live sports event online streaming.