April 2024 - In this interview, Andreas Kraft (AK) reflects on his career in Deutsche Telekom (DT) and as a participant in oneM2M’s technical standardization activities. He also shares his views about the future of the IoT and how his current activities are helping to educate and train students and developers across the world.
Q: Would you begin with by introducing yourself to our readers?
AK: I recently retired from DT, following a 24-year career. During that time, I worked on connected home and what we would call today “customer IoT” technologies. I also worked on remote device management topics and in several standardization groups. These include ISO/IEC, the OSGi Alliance, the UPnP Forum, the Home Gateway Initiative, and, of course, oneM2M.
I helped to design the architecture for Deutsche Telekom’s SmartHome product, which still is on the market after 14 years. Most of my time I worked in DT’s innovation department “T-Labs” and, for the last five years, I worked in the IoT business unit as a principal enterprise architect.
I studied computer science (informatics) at the Technical University in Berlin. After I finished my diploma, I worked as a researcher at GMD Fokus (now a Fraunhofer institute) on the topic of interactive TV.
Q: And how are you involved with oneM2M?
AK: I joined oneM2M in 2015 when the Home Gateway Initiative (HGI) sunsetted. I had responsibility for the Smart Device Template work in HGI. The Smart Device Template (SDT) provides an easy-to-understand method for developers to create information models for all kinds of connected devices with the added capability to enhance IoT data with semantic information. This is valuable because semantic descriptors provide context for applications relying on IoT data. Luckily, HGI participants decided to continue the SDT work in oneM2M. The responsible group in oneM2M at that time was the “Management, Abstraction and Semantics” (MAS) working group. That is where I continued to develop the SDT further. Later I contributed to other oneM2M working groups as well.
One of my responsibilities at DT was to pick up new requirements and bring them to the standardization groups. Another was to transfer standardization results back to the relevant business units. For example, at that time, I was involved in several research and funded projects. One of these proof-of-concept projects was a collaboration between DT and Orange to use oneM2M as an integration platform. It would connect the connected home products of both companies and allow customers to control devices across two different product infrastructures.
Though I am now semi-retired I still continue to contribute to oneM2M. I am the rapporteur of the Smart Device Template and the technical specification document TS-0023. This contains the specification for an SDT-based Information Model and Mapping for Vertical Industries.
Nowadays, I try to support developers by improving the specifications, writing “how-to” recipes, and providing help on StackOverflow. I am the developer of the oneM2M ACME CSE, and I also publish a set of Jupyter Notebooks. These contain code examples and provide developers with an easy means of gaining hands-on experience of oneM2M’s capabilities. I also support the Korea Electronics Technology Institute (KETI) in the oneM2M International Hackathons they run and help students at Korea’s Sejong University to learn about oneM2M.
Q: What does ACME CSE stand for and what can you tell our readers about it?
AK: ACME CSE stands for “An open source CSE Middleware for Education”. It is an implementation of an IoT platform that students and developers can use to gain hands on experience of building and interacting with an IoT System based on oneM2M’s horizontal architecture and standards. It is used in university courses to teach students about IoT. I recently learned that it is also used in commercial-sector projects to evaluate the oneM2M technology. ACME CSE is implemented in Python and published under an open-source license. Here is where readers can access it.
To begin with, a developer would use ACME CSE to define a basic IoT system consisting of a sensor and a display dashboard. After that, they would use standardized functions in the ACME CSE to collect and display readings on the dashboard.
As an educational tool, ACME CSE focuses on two things. First, it is very easy to install and to configure for a newcomer. The process of starting with oneM2M can be achieved within a few minutes. The ACME CSE comes with an easy-to-use user interface and with a couple of examples. Second, the ACME CSE conforms to the oneM2M specifications. I have not implemented all aspects of the standard as yet, but those that have been implemented pass oneM2M’s conformance test suite. I think this shows that organizations can accomplish a lot with a sub-set of oneM2M technical specifications and build up as then then tackle new or more complex requirements.
Q: Having covered “ACME” would you summarize what the CSE part stands for?
AK: A oneM2M CSE, or Common Services Entity, allows a developer to initialize a system in terms of basic functions. One of these deals with the registration of entities within the system because every entity needs an identity so that sensors can communicate with actuators, control panels, dashboards and other connected devices in a given IoT system. Other reusable functions are communication and data management, and notification controls that are associated with publish-subscribe schemes. Within oneM2M, the resource tree concept corresponds to a digital twin of the deployed IoT system; the CSE maintains this as an information resource so that applications can obtain data, such as sensor readings, and device profile parameters.
The ACME CSE allows newcomers to the IoT sector to understand and experiment with a standards-based system without having to master the large body of technical reports and specifications that oneM2M publishes. Reading through the details can come at a later stage. It is like using any new piece of software. You can try out basic functions or test a “hello world” program and then turn to the documentation once you want to try more complex applications.
To make it easier for people to gain experience, I have recorded a set of short video talks about the software required to get started with ACME CSE and how to use some of its basic functions. Each one includes a Jupyter Notebook with executable code and explanations. And, if you need more help, you can post a question using the oneM2M tag on StackOverflow or the oneM2M GitHub repository.
Q: ACME CSE and the Jupyter Notebooks look like useful resources for students and developers. How would you explain oneM2M to business decision makers and product managers in organizations that are adopting IoT?
AK: I always like to think about the current market phase as “IoT 1.0,” similar to the early phase of the Web in the second half of the 1990s. The basic technologies exist and are mature enough that companies and users can implement their first use cases and get some experience with connected devices and services. But IoT is a connection AND an integration business. It will soon become necessary to integrate new devices and new services into existing infrastructures. If done right the support of the older devices and their data models will enrich the new services without a lot of extra effort. And it is also clear that the data silos of the vertical industries need to exchange data. In the “IoT 2.0” phase technologies will allow this integration of old and new by technical means. There is more to come as IoT systems support semantic interoperability which enables services to understand the meaning and the context of their IoT data.
It is worth pointing out that the oneM2M standard is applicable across multiple industry verticals and technology domains which allows the evolution to IoT 2.0 to happen independently from the scale of a deployment. That is because oneM2M approached the IoT standardization challenge by looking at commonalities in IoT system where it makes sense to standardize. For example, every IoT system needs the designer to register each entity so that control panels and visualization dashboards can recognize and communicate with sensors. Registration is a common service function (CSF) in oneM2M terminology. There are many other CSFs, such as connectivity management, device management, semantic discovery, location, and security, for example. It makes sense to standardize these CSFs so that developers do not have to master the technical variations that each provider builds into their system. That is an important consideration for business decision makers who need to account for the positives and negatives of locking into a single provider system.
Business executives and product managers should also consider non-technical factors. For example, well-crafted technical standards can be effective over prolonged periods of time. Also, a properly maintained standard can accommodate new requirements. That is what happens with your mobile phone and the same should apply to the IoT. oneM2M began standardization in 2012 and its members have evolved the standard since then. oneM2M hosts regular interoperability testing events so that vendors can test their system with one another. The lessons from these experiences help to improve the standard by clarifying ambiguities, for example. In parallel, oneM2M members work on adding new capabilities to the standard. Since IoT systems have to interact with legacy systems or sector-specific protocols, oneM2M added an interworking capability following the first release of the standard. In the industrial automation sector, for example, an architect can build an IoT system that combines native-oneM2M components with elements using an industry protocol such as m-bus via a cross-mapping procedure in an interworking proxy entity (IPE). oneM2M continues to improve and add new capabilities to the standard to the point that we are now working on Release 5 which will add capabilities such as support for AR/VR and machine learning.
Q: With such a wide scope, would a user have to use all elements that oneM2M specifies? That could result in a significant learning curve.
AK: Not at all. There are deployment examples that use a subset of the CSFs that oneM2M standardizes. As use case requirements become more demanding, it is straightforward to add new CSF capabilities because they were designed to work together. People sometimes use the toolkit analogy with oneM2M because each developer needs only to pull out a few tools to build their application. Another developer might use a different set. Since they are working with standardized tools, it is easier for them to move between applications.
In the market, developers might specialize in tools from one provider. There is a hurdle in moving to work on another provider’s platform. If a business builds applications on two platforms, they will face integration and interoperability challenges if they need to add cross-silo capabilities.
There is also a “scaling down” challenge when users lock into systems offered by large providers. If a developer wants to build a small system, for example, they might be forced to adopt and pay for a more complete set of capabilities. With proprietary systems, it is also difficult to scale down because nobody dares to remove a service. That is one way in which users end up with bloated software.
Q: Over the past year, oneM2M has covered DT’s adoption of oneM2M. What is your perspective on DT’s adoption journey?
AK: My former colleague Andre Dutra from DT pointed out that oneM2M is a framework technology that can help telcos to solve a large variety of use cases, internally and for their customers. Facing a lot of technical challenges in supporting multiple customers and their IoT use cases, Andre and his team came to realize that oneM2M solid architectural foundation in terms of interfaces and data structures. Instead of customizing each and every IoT solution, oneM2M saves a lot of time when designing a platform.
Another aspect of DT’s journey arises from the fact that a telecommunication company is responsible for managing the IoT connectivity and connected devices for all its customers. Other important IoT considerations are to ensure reliable and fair access to mobile networks, the management of the connected devices on a global scale across network providers, and the need to provide services that must last for a very long time. Customers expect that these services will be provided securely and transparently if there are changes in any technology, be it network technologies, business support system, and even perhaps regulations.
To support these requirements is daily telco business. That is why telos actively drive and support global standards like oneM2M, 3GPP and many more for prolonged periods of time. Only open, reliable, and stable specifications that can be tested and certified can be the basis for building and operating products and infrastructure.
In my opinion, the last part is especially important. Without the support and the input of the research, product development, and operation departments the challenge of adopting a new technology becomes very difficult. Their experiences are valuable for the development of a new technology.
Q: Before closing, would you summarize what resources are available for business decision makers and developers to learn about oneM2M?
AK: For business decision makers, the question is a) do you want to build and operate the infrastructure that supports IoT systems on your own or b) does your organization wants to focus on its core business and rely on oneM2M compliant software systems that other organizations offer? Depending on their answer, the two places to start are the ‘Develop with oneM2M’ and the ‘Deploy with oneM2M’ sections on the oneM2M web site.
In the case of developers, they can get hands on experience via the ACME CSE and Jupyter Notebooks that I mentioned earlier.
Q: Finally, although semi-retired, you continue to participate in oneM2M’s standardization activities. What keeps you busy at present?
AK: As mentioned above I am still the rapporteur of a specification document. I also enjoy opportunities to improve the standard with new contributions, and to help in oneM2M’s newly established Academic Relations group.
But one of my main tasks right now is to support the transition of how the standardization process works with the published specification documents. At the moment, MS Wordtm documents are the basis for drafting specifications and manual change requests for specification changes. Though this served well over the years it is not so easy to transform this format to other presentation formats, such as publishing the specifications in a web-based setting. The goal is now to change the specification format using Markdown techniques and to adopt a git-based process for providing, discussing and accepting specification changes. I hope this will make the whole process a bit easier and make the specification texts easier to find online and better understandable.