This post is for mainly for my engineering colleagues. Over the years I have had many discussions to explain the difference between Machine-to-Machine (M2M) or Machine Type Communication (MTC) as 3GPP refers to them and the Internet of Things (IoT). Even after explaining the differences, I am often told that this is not correct. Hence I am putting this out here. Please feel free to express your views in the comments section.
Lets take an example of an office with 3 floors. Lets assume that each floor has a coffee machine like the one in this picture or something similar. Lets assume different scenarios:
Scenario 1: No connectivity
In this case a facilities person has to manually go to each of the floor and check if there are enough coffee beans, chocolate powder, milk powder, etc. He/She may have to do this say 3-4 times a day.
Scenario 2: Basic connectivity (M2M)
Lets say the coffee machine has basic sensors so it can send some kind of notification (on your phone or email or message, etc.) whenever the coffee beans, chocolate powder, milk powder, etc., falls below a certain level. In some cases you may also be able to check the levels using some kind of a app on your phone or computer. This is an example of M2M
Scenario 3: Advanced connectivity (IoT)
Lets say that the coffee machine is connected to the office system and database. It knows which employees come when and what is their coffee/drinks consumption pattern. This way the machine can optimize when it needs to be topped up. If there is a large meeting/event going on, the coffee machine can even check before the breaks and indicate in advance that it needs topping up with beans/chocolate/milk/etc.
Scenario 4: Intelligent Devices (Advanced IoT)
If we take the coffee machine from scenario 3 and add intelligence to it, it can even know about the inventory. How much of coffee beans, chocolate powder, milk powder, etc is in stock and when would they need ordering again. It can have an employee UI (User Interface) that can be used by employees to give feedback on which coffee beans are more/less popular or what drinks are popular. This info can be used by the machines to order the supplies, taking into account the price, availability, etc.
In many cases, API's would be available for people to build services on top of the basic available services to make life easier. Someone for example can build a service that if a cup is already at the dispenser and has been there for at least 2 minutes (so you know its not being used by someone else) then the person can choose/order their favourite drink from their seat so he/she doesn't have to wait for 30 seconds at the machine.
If you think about this further you will notice that in this scenario the only requirement for the human is to clean the coffee machine, top it up, etc. In future these can be automated with robots carrying out these kinds of jobs. There would be no need for humans to do these menial tasks.
I really like this slide from InterDigital as it captures the difference between M2M and IoT very well, especially in the light of the discussion above.
With the current M2M, we have:
- Connectivity: connection for machines;
- Content: massive raw data from things;
IoT is Communication to/from things which offer new services via cloud / context / collaboration / cognition technologies.
With evolution to IoT, we have:
- Cloud: cloud service and XaaS (Everything as a Service) for IoT;
- Context: context-aware design;
- Collaboration: collaborative services;
- Cognition: semantics and autonomous system adjustment
Let me know if you agree.