Using Adaptive Heartbeat Rate on Long-Lived TCP Connections | IEEE Journals & Magazine | IEEE Xplore

Using Adaptive Heartbeat Rate on Long-Lived TCP Connections


Abstract:

In this paper, we propose techniques for dynamically adjusting heartbeat or keep-alive interval of long-lived TCP connections, particularly the ones that are used in push...Show More

Abstract:

In this paper, we propose techniques for dynamically adjusting heartbeat or keep-alive interval of long-lived TCP connections, particularly the ones that are used in push notification service in mobile platforms. When a device connects to a server using TCP, often times the connection is established through some sort of middle-box, such as NAT, proxy, firewall, and so on. When such a connection is idle for a long time, it may get torn down due to binding timeout of the middle-box. To keep the connection alive, the client device needs to send keep-alive packets through the connection when it is otherwise idle. To reduce resource consumption, the keep-alive packet should preferably be sent at the farthest possible time within the binding timeout. Due to varied settings of different network equipments, the binding timeout will not be identical in different networks. Hence, the heartbeat rate used in different networks should be changed dynamically. We propose a set of iterative probing techniques, namely binary, exponential, and composite search, that detect the middle-box binding timeout with varying degree of accuracy; and in the process, keeps improving the keep-alive interval used by the client device. We also analytically derive performance bounds of these techniques. To the best of our knowledge, ours is the first work that systematically studies several techniques to dynamically improve keep-alive interval. To this end, we run experiments in simulation as well as make a real implementation on android to demonstrate the proof-of-concept of the proposed schemes.
Published in: IEEE/ACM Transactions on Networking ( Volume: 26, Issue: 1, February 2018)
Page(s): 203 - 216
Date of Publication: 15 December 2017

ISSN Information:

No metrics found for this document.

I. Introduction

Smart phones, tablet PCs and other customized PDAs try to provide the user with fresh data. This includes the user’s emails, social news feed etc. Real time communications, such as voice and video calls over Internet Protocol (IP), are also performed through such devices. Since the devices in question have limited battery life, they cannot frequently poll for information updates, incoming call notifications etc. Rather, they rely on getting timely updates using push notification technology [1]. Mobile platforms like iPhone, Android, Windows Phone, Black Berry etc. provide a Notification Service which, at a high level, can be modeled as shown in Figure 1. Rather than polling different services to check if data needs to be downloaded, the user’s device only maintains a TCP connection to a notification server. This connection is called a Notification Channel. When the user’s social network service wants to send recent activity feeds, it sends a new activity notification to the notification server. This is pushed to the device through the notification channel. Based on this notification, the device opens a new connection to the social network service, downloads the activity feed and closes the connection. Similar workflow is executed for downloading unread emails, receiving voice and video calls etc.

A model of notification service used in different mobile platforms.

No metrics found for this document.

Contact IEEE to Subscribe

References

References is not available for this document.