The pattern of the traffic generated by various applications or the traffic generated by the same application under different circumstances may reveal important insights regarding the user, the network, the device, or the application. The way a user interacts with the application, the network status and conditions, the server side actions, the device capabilities, degradation or errors during content delivery – these all influence the protocol and packet level processes that can be observed and profiled at the network side through packet sniffing and monitoring. The classification of the profiles enables the identification of typical patterns that can be associated with certain types of user activities, content or application/network behaviors.
The classification of ongoing application sessions based on their traffic profile enables to detect possible degradations, or to draw conclusions on the quality perceived by the user. Additionally, such insight obtained in real time can be used to optimize the content delivery and adapt the treatment of the applications at the network side. This allows better matching of the user's demand, and improves the end-user’s quality of experience.
This paper focuses on the Facebook mobile application, which has reached more than 1 billion active users by 2015 on various smartphone platforms (iOS, Android, Windows Phone).
In this thorough study, the typical use cases of the application - such as browsing the News Feed, uploading photos and videos, chat - will be separated, and the network traffic associated with these types of user activities is going to be analyzed. In order to capture the traffic generated by the application in various use cases, a network protocol analyzer is used, which eases the identification of typical traffic patterns. Examples of these patterns include the domains used by the application, the handshake information used to build up encrypted connections, the size distribution of photos and thumbnails, or the chunk size distribution during video download.
The user satisfaction is greatly influenced by the download times of photos and textual contents, and the bandwidth limitation of video streaming. Key performance indicators can be defined taking this information into account. The application profiling is used not only to detect the application itself by monitoring the network traffic, but to detect the different use cases, as well. Key performance indicators for adequate user quality of experience can be used to adapt the treatment of the applications at the network side. This allows the enhancement of dynamic process control within the networking nodes, and to further improve the end-user’s quality of experience.