5 research outputs found

    Congestion Control Algorithms for the Constrained Application Protocol (CoAP)

    Get PDF
    The Internet of Things (IoT) consists of physical devices, such as temperature sensors and lights, that are connected to the Internet. The devices are typically battery powered and are constrained by their low processing power, memory and low bitrate wireless communication links. The vast amount of IoT devices can cause heavy congestion in the Internet if congestion is not properly addressed. The Constrained Application Protocol (CoAP) is an HTTP-like protocol for constrained devices built on top of UDP. CoAP includes a simple congestion control algorithm (DefaultCoAP). CoAP Simple Congestion Control/Advanced (CoCoA) is a more sophisticated alternative for DefaultCoAP. CoAP can also be run over TCP with TCP's congestion control mechanisms. The focus of this thesis is to study CoAP's congestion control. Shortcomings of DefaultCoAP and CoCoA are identified using empirical performance evaluations conducted in an emulated IoT environment. In a scenario with hundreds of clients and a large buffer in the bottleneck router, DefaultCoAP does not adapt to the long queuing delay. In a similar scenario where short-lived clients exchange only a small amount of messages, CoCoA clients are unable to sample a round-trip delay time. Both of these situations are severe enough to cause a congestion collapse, where most of the link bandwidth is wasted on unnecessary retransmissions. A new retransmission timeout and congestion control algorithm called Fast-Slow Retransmission Timeout (FASOR) is congestion safe in these two scenarios and is even able to outperform CoAP over TCP. FASOR with accurate round-trip delay samples is able to outperform basic FASOR in the challenging and realistic scenario with short-lived clients and an error-prone link

    FASOR Retransmission Timeout and Congestion Control Mechanism for CoAP

    Get PDF
    The Constrained Application Protocol (CoAP) has been designed to be used on constrained devices such as Internet of Things (IoT) devices. The existing congestion control algorithms for CoAP have known shortcomings in addressing congestion and retaining a good level of performance when link errors occur. In this paper, we propose Fast-Slow RTO (FASOR) mechanism that takes into account special needs in wireless environments while still properly addressing congestion. We run a series of experiments to confirm that FASOR is able to successfully cope with challenging network conditions such as bufferbloat, high level of congestion, and high link-error rates unlike the default and CoCoA congestion control that have severe problems with bufferbloated congestion.Peer reviewe

    Is CoAP Congestion Safe?

    Get PDF
    A huge number of Internet of Things (IoT) devices are expected to be connected to the Internet in the near future. The Constrained Application Protocol (CoAP) has been increasingly deployed for wide-area IoT communication. It is crucial to understand how the specified CoAP congestion control algorithms perform. We seek an answer to this question by performing an extensive evaluation of the existing IETF CoAP Congestion Control proposals. We find that they fail to address congestion properly, particularly in the presence of a bufferbloated bottleneck buffer. We also fix the problem with a few simple modifications and demonstrate their effectiveness.Peer reviewe

    Performance Evaluation of Constrained Application Protocol over TCP

    Get PDF
    The Constrained Application Protocol (CoAP) is specifically designed for constrained IoT devices and is being rapidly deployed for the communication needs of the IoT devices. CoAP has been specified with its own congestion control algorithms because it runs on top of UDP that does not include any congestion control measures. These algorithms aim at taking into account the specific needs of the IoT communication. The need of running CoAP also over TCP has arised recently and is expected to be increasingly deployed alongside with CoAP over UDP. To understand the benefits and shortcomings of both CoAP over TCP and CoAP over UDP, we run an extensive set of experiments in different network settings and compare the performance of CoAP over TCP to the existing congestion control algorithms for CoAP over UDP. Our results reveal that even though CoAP over TCP has its known limitations it scales well and performs even better than expected in certain wireless settings that CoAP over UDP algorithms are specifically designed for, often even outperforming CoAP over UDP.Peer reviewe

    Generating Configuration Models from Requirements to Assist in Product Management : Dependency Engine and its Performance Assessment

    Get PDF
    Requirements engineering is often, especially in the context of major open source software projects, performed with issue tracking systems such as Jira or Bugzilla. Issues include requirements expressed as bug reports, feature requests, etc. Such systems are at their best at managing individual requirements life-cycle. The management of dependencies between issues and holistic analysis of the whole product or a release plan is usually scantly supported. Feature modeling is an established way to represent dependencies between individual features, especially in the context of Software Product Lines — well-researched feature model analysis and configuration techniques exist. We developed a proof-of-concept dependency engine for holistically managing requirements. It is based on automatically mapping requirements and their dependencies into a variant of feature models, enabling utilization of existing research. The feature models are further mapped into a constraint satisfaction problem. The user can experiment with different configurations of requirements. The system maintains the consistency of dependencies and resource constraints. To evaluate the feasibility of the system, we measure the performance of the system both with some real and generated requirements. Despite some remaining performance issues, it seems that the approach can scale into managing the requirements of large software projects.Peer reviewe
    corecore