The term Internet of Things (IoT) describes a scenario where embedded systems are integrated into everyday objects, turning them into smart devices to assist the user in his everyday life. Each of these smart objects only offers a very limited amount of computational power since it is only specialized in a limited set of tasks. In order to achieve complex goals, the devices have to interact with each other. Therefore, they do not only need to be interconnected either by wire or through wireless technology but also need a set of common protocols to enable vendor-independent communication. In the past years, various protocols pursuing this objective have emerged. One of the most promising approaches is the Constrained Application Protocol (CoAP) because it offers high interoperability and very lowcommunication overhead at the same time. Typical IoT applications include the observation and manipulation of their environment through sensors and actuators.
Since the physical world is continuous in time and does not wait for calculations to finish, it is essential that the execution times of the applications stay within certain boundaries. These timing constraints are referred to as real-time requirements. However, current protocol implementations do not consider real-time requirements for IoT applications. In this paper, we introduce the jCoAP communication stack as a lightweight Java implementation of CoAP. We give a brief introduction to real-time communication and CoAP and provide insight in the design concept of jCoAP and the offered functionalities. Furthermore, a performance evaluation is done in order to point out the suitability of the jCoAP framework for real-time IoT applications.