461  M2M Architectures and Standards

461.1 Learning Objectives

By the end of this chapter, you will be able to:

  • Describe M2M Service Platform: Explain the four-layer M2M platform architecture (device, user, application, access)
  • Compare Network Architectures: Distinguish between IP-based and non-IP M2M networks
  • Apply ETSI Requirements: Implement ETSI M2M standards for scalability, scheduling, and path optimization
  • Design Resource Trees: Create oneM2M-compliant resource hierarchies for device management
  • Configure M2M Gateways: Set up practical gateway solutions for legacy device integration

461.2 Prerequisites

Before diving into this chapter, you should be familiar with:


461.3 M2M Service Platform (M2SP)

M2M Service Platform architecture with device, user, application, and access platforms providing end-to-end M2M services

M2M Service Platform architecture
Figure 461.1: M2M Service Platform (M2SP) architecture with device, user, application, and access platforms providing end-to-end M2M services

The M2M Service Platform provides the middleware infrastructure for M2M applications, abstracting device heterogeneity and enabling service composition.

M2M Service Platform four-layer architecture showing Device Platform, Application Platform, User Platform, and Access Platform

Graph diagram
Figure 461.2: M2M Service Platform four-layer architecture: Device Platform (device registration, management, firmware updates) connects M2M devices to Application Platform (orchestration, analytics) through User Platform (access control, billing) to Access Platform (web/mobile APIs).

461.3.1 Device Platform

Responsibilities:

  • Device registration and lifecycle management
  • Device profile management (type, location, capabilities)
  • Authentication and authorization
  • Monitoring and control
  • Firmware updates

The M2M resource tree organizes device capabilities hierarchically, enabling standardized access to sensor data, configuration, and control endpoints across heterogeneous device types.

M2M resource tree hierarchy showing structured organization of device resources including containers for sensor data, access control policies, subscriptions for event notifications

M2M Resource Tree Structure
Figure 461.3: M2M resource tree providing hierarchical organization of device capabilities for standardized access

The oneM2M standard defines a hierarchical resource tree structure that enables interoperable device management across heterogeneous IoT platforms.

461.3.2 oneM2M Resource Tree Fundamentals

The resource tree follows a RESTful design where every entity (device, sensor, data) is addressable via a URI. The tree structure enables:

  • Uniform access: Same operations (CREATE, RETRIEVE, UPDATE, DELETE) work on all resources
  • Discovery: Applications can navigate the tree to find available devices and data
  • Access control: Permissions are inherited down the tree hierarchy
  • Subscriptions: Applications subscribe to tree branches for change notifications

461.3.3 Core Resource Types

CSEBase (Common Services Entity Base)
|- AE (Application Entity)          # Applications registered on platform
|- Container                        # Data containers (like folders)
|   +- ContentInstance              # Actual sensor readings
|- Group                            # Logical groupings of resources
|- AccessControlPolicy              # Permission definitions
|- Subscription                     # Event notification registrations
|- RemoteCSE                        # Link to another M2M platform
+- Node                             # Physical device representation
    +- DeviceInfo                   # Hardware details

461.3.4 Resource Tree Example: Smart Building

/cse-smartbuilding                           # CSEBase - platform root
|- /ae-hvac-controller                       # Application: HVAC system
|   |- /container-zone-temps                 # Container: temperature readings
|   |   |- /cin-1704067200                   # ContentInstance: reading at timestamp
|   |   |   +- content: {"zone": "3A", "temp": 22.5, "unit": "C"}
|   |   |- /cin-1704067260
|   |   +- /cin-1704067320
|   |- /container-setpoints                  # Container: desired temperatures
|   |   +- /cin-latest
|   |       +- content: {"zone": "3A", "setpoint": 21.0}
|   +- /subscription-temp-alerts             # Subscription: notify on changes
|       +- notificationURI: "mqtt://alerts.building.local/hvac"
|
|- /ae-occupancy-sensors                     # Application: occupancy system
|   +- /container-presence
|       |- /cin-1704067200
|       |   +- content: {"room": "301", "occupied": true, "count": 4}
|       +- /cin-1704067205
|
|- /group-floor3-sensors                     # Group: all floor 3 sensors
|   +- memberIDs: ["/ae-hvac-controller", "/ae-occupancy-sensors"]
|
+- /acp-admin-policy                         # Access Control Policy
    +- privileges:
        - originatorID: "admin@building.local"
        - operations: [CREATE, RETRIEVE, UPDATE, DELETE]
        - resources: ["/*"]                  # Full tree access

461.3.5 RESTful Operations on Resources

Operation HTTP Method oneM2M Operation Example
Create POST CREATE Add new sensor reading
Retrieve GET RETRIEVE Fetch latest temperature
Update PUT UPDATE Change device configuration
Delete DELETE DELETE Remove stale subscription
Discover GET + filter DISCOVERY Find all temperature sensors
Notify POST (from platform) NOTIFY Push event to subscriber

461.3.6 Performance Considerations

Design Decision Impact Recommendation
Deep nesting (>5 levels) Slower traversal Flatten structure where possible
Large containers (>10K instances) Memory pressure Use maxNrOfInstances limit
Wildcard subscriptions High notification volume Be specific with event criteria
Frequent polling Platform load Use subscriptions instead

461.3.7 User Platform

Responsibilities:

  • User registration and profile management
  • Access control (which users can access which devices)
  • Billing and charging
  • Administrative privileges

461.3.8 Application Platform

Responsibilities:

  • Service orchestration (compose services from multiple devices)
  • Data integration from heterogeneous sources
  • Analytics and intelligence
  • Connection management

461.3.9 Access Platform

Responsibilities:

  • Web and mobile app hosting
  • API gateway for external access
  • App management (registration, versioning)
  • Device-app mapping

461.3.10 M2M Security Model

Security in M2M systems operates at multiple layers, from device authentication through encrypted communication channels to access control policies at the application level.

M2M security model showing layered security architecture with device authentication, transport security with TLS/DTLS, and application security with access control policies

M2M Security Architecture
Figure 461.4: Multi-layered M2M security architecture from device authentication to application-level access control

461.3.11 M2M Service Capabilities

M2M service capabilities define the standardized functions that platforms must provide, including device management, data management, security, and communication management.

M2M service capabilities framework showing core functions including device management, data management, security management, and communication management

M2M Service Capabilities Framework
Figure 461.5: Standardized M2M service capabilities enabling interoperable platform implementations

461.4 M2M Network Architectures

M2M network architecture showing three-layer model: device layer, network layer, and application layer with management and security functions

M2M three-layer architecture
Figure 461.6: M2M network architecture showing three-layer model: device layer, network layer, and application layer

461.4.1 M2M Service Architecture

The M2M service architecture defines how services are composed and delivered across the platform, from device-level data collection through processing and analytics to application delivery.

M2M service architecture showing three-tier design with device services layer, platform services layer, and application services layer

M2M Service Architecture
Figure 461.7: Three-tier M2M service architecture enabling scalable platform deployments

461.4.2 M2M Protocol Stack

The M2M protocol stack defines the layered communication protocols from physical connectivity through application messaging.

M2M protocol stack showing layers from physical layer through network layer, transport layer, to application layer

M2M Protocol Stack
Figure 461.8: M2M protocol stack from physical connectivity to application messaging

461.4.3 Non-IP Based M2M Network

Non-IP based M2M network using proprietary protocols and gateways

Non-IP based M2M network
Figure 461.9: Non-IP based M2M network architecture using proprietary protocols and gateways for device connectivity

Legacy M2M networks using non-IP protocols remain common in industrial settings where reliability and deterministic behavior are prioritized over interoperability.

Characteristics:

  • Proprietary protocols (Modbus, BACnet, HART)
  • Limited interoperability
  • Gateway required for internet connectivity
  • Common in industrial automation

Non-IP M2M architecture showing field devices using legacy protocols connecting through gateways to IP networks

Flowchart diagram
Figure 461.10: Non-IP M2M architecture showing field devices (Modbus PLC, BACnet sensor, HART device) using legacy protocols connecting through gateways to IP networks and cloud platforms.

461.4.4 IP-Based M2M Network

IP-based M2M network with direct internet connectivity

IP-based M2M network
Figure 461.11: IP-based M2M network architecture where devices have IP addresses enabling direct internet connectivity

Modern M2M leverages IP connectivity end-to-end.

Characteristics:

  • Standard protocols (IPv6, 6LoWPAN, CoAP, MQTT)
  • Direct internet connectivity
  • Interoperable
  • Cloud-native

461.4.5 Practical M2M Gateway Configuration Example

Scenario: Factory with 50 legacy Modbus devices (PLCs, sensors) needing cloud connectivity

Gateway Hardware:

Platform: Industrial PC (Advantech ARK-1123)
CPU: Intel Atom x5, 4 GB RAM, 64 GB eMMC
Network: Ethernet (factory LAN), LTE (cloud uplink)
Industrial I/O: 2x RS-485 (Modbus RTU)
Operating system: Linux (Ubuntu IoT Core)
Power: 24V DC (industrial power supply)
Environment: -20C to 60C, IP40 rating

Gateway Software Stack:

# M2M Gateway Configuration
Protocol Translation:
  - Modbus RTU -> MQTT (for cloud)
  - Modbus registers -> JSON data model

Local Services:
  - Node-RED (visual flow programming)
  - Mosquitto MQTT broker (local messaging)
  - InfluxDB (time-series buffer)

Cloud Integration:
  - AWS IoT Core (MQTT over TLS)
  - Certificate-based authentication
  - Shadow state synchronization

Devices:
  - 50 Modbus slaves (addresses 1-50)
  - Poll interval: 10 seconds per device
  - Register mapping: 100 registers per device

Data Flow:

1. Gateway polls Modbus device #7 every 10 seconds
   Modbus RTU: Read Holding Registers (FC=03, Address=7, Start=0, Count=10)
   Response: [temp: 45.2C, pressure: 3.5 bar, flow: 120 L/min, ...]

2. Gateway translates to JSON:
   {"device_id": "modbus_007", "timestamp": 1698765432,
    "temperature": 45.2, "pressure": 3.5, "flow_rate": 120}

3. Local processing (Node-RED):
   - Check thresholds (if temp > 50C -> local alarm)
   - Store in InfluxDB (local 7-day buffer)
   - Publish to local MQTT: factory/plc/007/data

4. Cloud sync (when network available):
   - Publish to AWS IoT Core: MQTT topic "factory/site_A/plc/007/data"
   - TLS encryption, X.509 certificate authentication
   - If offline: buffer in InfluxDB, sync when reconnected

Benefits:

  • Legacy integration: 50 Modbus devices connected without hardware changes
  • Protocol translation: Modbus RTU to MQTT (industry standard)
  • Offline resilience: Local operation + buffering during LTE outages
  • Bandwidth efficiency: 10-second polling + local filtering = ~50 KB/day per device
  • Security: TLS encryption, certificate authentication, local firewall

461.5 M2M Requirements (ETSI Standards)

The European Telecommunications Standards Institute (ETSI) defines comprehensive M2M system requirements:

461.5.1 1. Scalability

  • Support millions of connected devices
  • Efficient resource allocation as network grows
  • Distributed architecture for horizontal scaling

461.5.2 2. Anonymity

  • Hide device identity when required (privacy)
  • Support pseudonymous communication
  • Comply with regulatory requirements (GDPR)

461.5.3 3. Logging and Auditing

  • Record important events (failures, security incidents)
  • Tamper-proof logs for compliance
  • Accessible for forensics and debugging

461.5.4 4. Communication Principles

  • Support diverse communication techniques:
    • SMS for command and control
    • IP for data streaming
    • Peer-to-peer for local coordination
  • Multiple transport protocols (TCP, UDP, CoAP, MQTT)

461.5.5 5. Delivery Methods

  • Unicast: One-to-one communication
  • Multicast: One-to-many (group communication)
  • Anycast: One-to-nearest (server selection)
  • Broadcast: One-to-all (minimize when possible)

461.5.6 6. Message Scheduling

  • Control network access to prevent congestion
  • Schedule non-urgent messages during off-peak
  • Respect application delay tolerance

461.5.7 7. Communication Path Selection

  • Optimize paths based on:
    • Transmission failures (avoid bad links)
    • Delays (minimize latency)
    • Network costs (prefer Wi-Fi over cellular)
  • Support multi-path communication

461.6 Summary

This chapter covered M2M architectures and standards:

  • M2M Service Platform: Four-layer architecture (device, user, application, access) providing middleware for M2M applications
  • oneM2M Resource Tree: Hierarchical resource structure enabling interoperable device management
  • Network Architectures: Non-IP (legacy protocols + gateways) vs IP-based (standard protocols, cloud-native)
  • ETSI Requirements: Scalability, anonymity, logging, scheduling, path optimization standards
  • Gateway Configuration: Practical setup for legacy device integration with cloud platforms

Continue Learning:

Protocol Deep Dives:

  • MQTT - M2M messaging protocol
  • CoAP - Constrained M2M protocol
  • LwM2M - Lightweight M2M device management

461.7 What’s Next

The next chapter explores M2M Design Patterns, covering common mistakes in M2M implementations, resilience strategies, and best practices for production deployments.

Continue to M2M Design Patterns ->