APIs Device to Cloud One M2 M AE - Application Entity / IPE

An AE resource (resourceType = 2) represents any kind of application or functionality in a oneM2M system that implements any kind of functional, management, or business logic. This could be:

  • An application or abstracted functionality on an end-device, a node . There could be as many AE’s on a node as necessary.
  • An application running in the proximity of a CSE, e.g. a connector to other cloud platforms.
  • An application running remotely.

An AE is the other entity that accesses resources on the CSE that is not the CSE itself.

A special form of AE is an Interworking Proxy Entity (IPE). Conceptually it is an AE and belongs to one of the categories described above, but its purpose is to work, as the name implies, as a proxy between a oneM2M and a non-oneM2M system. It has knowledge and authority to access resources and entities in both worlds and to perform the necessary actions to map one to the other. It may also convert identities, notifications, and policies.

Supported child resources

Child Resources TypeMultiplicityDescription
subscription0..nA subscription to a resource allows an entity in the oneM2M architecture to be notified about changes of the subscribed-to resource.
container0..nThe container resource represents a container for data instances. It is used to share information with other entities and potentially to track the data.
flexContainer0..nA flexContainer represents a customizable container for data instances that can be extended with so-called custom attributes.
accessControlPolicy0..nThe AccessControlPolicy resource is used to control access to resources withing a oneM2M CSE. It is designed to fit different access control schemes, such as access control lists, role-based and attribute-based access control.

Universal and common attributes

NameFull NameTypeMultiplicityMode
tyresourceTypem2m:resourceType / integer1RO
riresourceIDm2m:ID / string1RO
rnresourceNamestring1WO
piparentIDm2m:ID / string1RO
lbllabelsm2m:labels / list of string0..1(L)RW
acpiaccessControlPolicyIDsm2m:acpType / list of resourceID0..1(L)RW
ctcreationTimem2m:timestamp1RO
ltlastModifiedTimem2m:timestamp1RO
holder0..1RW

Mode: RW = Read/Write, RO = Read Only, WO = Write Once

Resource specific attributes

NameFull NameMultiplicityModeCreateUpdate
apnappName0..1RWOO
apiApp-ID1WOMNP
aeiAE-ID1RONPNP
poapointOfAccess0..1(L)RWOO
nlnodeLink0..1RWOO
cszcontentSerialization0..1(L)ROOO
srvsupportedReleaseVersions0..1(L)WOOO

Mode: RW = Read/Write, RO = Read Only, WO = Write Once

Request Optionality: NP = not provisioned, O = optional, M = Mandatory

Attribute: apn (appName)

The name of the application, as declared by the application developer (e.g. “HeatingMonitoring”). Several sibling resources may share the appName.

Attribute: api (App-ID)

The identifier of the Application. An Application Identifier (App-ID) uniquely identifies an M2M Application in a given context. More precisely, there are two types of App-ID: registration authority defined App-ID (registered App-ID) and non-registered App-ID. The establishment of the registered App-ID is guaranteed to be globally unique; the non-registered App‑ID is not guaranteed to be globally unique.

The first character of the App-ID shall be a capital letter of ‘R’ for registered and ‘N’ for non-registered.

  • Registered App-IDs shall be in the format: R{authority‑ID}.{reverseDNS}.{applicationName}
  • Non-registered App-IDs shall be in the format: N{non-registered-App-ID}

Attribute: aei (AE-ID)

The identifier of the Application Entity. An Application Entity Identifier (AE-ID) uniquely identifies an AE resident on an M2M Node, or an AE that requests to interact with an M2M Node. An AE-ID shall identify an Application Entity for the purpose of all interactions within the M2M System. The AE-ID is globally unique and when used internally within a specific M2M Service Provider domain, it is sufficient to be unique within that M2M Service Provider domain. It is extended to become globally unique when used outside the M2M Service Provider boundaries. The IN-CSE shall perform this task of adding or removing identifier portions (identifying the M2M SP).

The AE-ID, when used in the context of a specific CSE where the AE is registered, it is sufficient to be unique within the scope of that specific CSE. It is extended to become M2M Service Provider unique when used outside such specific CSE. The Hosting CSE of the AE shall perform this task of adding or removing the identifier portions.

Attribute: poa (pointOfAccess)

The list of addresses for communicating with the registered Application Entity over Mca reference point via the transport services provided by Underlying Network (e.g. IP address, FQDN, URI). This attribute shall be accessible only by the AE and the Hosting CSE. If this information is not provided and the pollingChannel resource does exist, the AE should use pollingChannel resource. Then the Hosting CSE can forward a request to the AE without using the PoA.

The resource identifier of a node resource that stores the node specific information of the node on which the AE represented by this AE resource resides.

Attribute: csz (contentSerialization)

The list of supported serializations of the Content primitive parameter for receiving a request and a response from its registrar CSE. (e.g. XML, JSON, , CBOR). The list shall be ordered so that the most preferred format comes first. If set it shall at least contain one entry “application/json”. Other allowed values are “application/xml” and “application/cbor”. Others may be added in the future.

Attribute: srv (supportedReleaseVersions)

The oneM2M release versions supported by the Registree AE represented by this AE resource. Starting with Release 2, this attribute is mandatory for an AE. For AEs compliant to older releases, this attribute is optional. For AEs that do not include this attribute, the default release version shall be Release 1.

JSON representation example

The following shows a reduced (leaving out, for example, the specification of acpi) example of an AE resource, considering the current implementation of AE created to represent the functionality of non-oneM2M device

{
    "m2m:ae": {
        "aei": "S-ae4360105260801007955",
        "api": "N-COT-AE",
        "ct": "20200214T122342,454243",
        "lt": "20200214T122342,454243",
        "nl": "nod86059386240078299",
        "pi": "cse-id",
        "ri": "ae4360105260801007955",
        "rn": "aNode-AE",
        "st": 0,
        "ty": 2
    }
}