The oneM2M Mcc interface?

62 views Asked by At

I know that interface Mca is the channel throught CRUD operations comme from AE to CSE. But, what about Mcc? Mcc is proposed to connect two CSEs. But which kind of operations are executed through this Mcc interface? Please, a sample operation would be very appreciated. Thank you.

A sample command that may be sent through Mcc interface

1

There are 1 answers

6
Andreas Kraft On

Though they are defined as different reference points, both Mca and Mcc are technically very similar. They share the same operations and the formats for requests and responses are basically the same. Similar to Mca the same transport bindings (http, matt, soap, web sockets) and serialisations (xml, json, cbor) are used as well.

There are, of course, slight differences in the request handling and some transformation. For example, one CSE that needs to communicate with another CSE must make sure that (resource) identifiers are changed to SP-relative formats (to identify the CSE on which a resource is hosted).

Also, there are different procedures that are only defined for communication over Mcc, for example the registration of one CSE with another, the announcement of resources to another CSE, or the forwarding of requests from an AE via its hosting CSE to a target CSE.

From an architecture point of view Mcc is mainly used between CSEs to either manage resources on another CSE (creating, updating, notifying, etc) as well as forwarding requests from an entity that is not the CSE itself towards a target CSE or a another remote AE.

Here is an example of an MN-CSE that registers itself with an IN-CSE (with an http request). The registration is done by successfully creating a <remotCSE> resource at the other CSE.

POST http://127.0.0.1:8080/~/id-in/cse-in
Date: Thu, 27 Jul 2023
User-Agent: ACME 0.13.0-dev
Content-Type: application/json;ty=16
X-M2M-Origin: /id-mn
X-M2M-RI: 7483637638789744322
X-M2M-RVI: 4

{
    "m2m:csr": {
        "rn": "id-mn",
        "rr": true,
        "csi": "/id-mn",
        "cst": 2,
        "csz": [
            "application/json",
            "application/cbor"
        ],
        "poa": [
            "http://127.0.0.1:8081"
        ],
        "srv": [
            "2a",
            "3",
            "4",
            "5"
        ],
        "cb": "/id-mn/cse-mn",
        "dcse": []
    }
}

The response looks similar to any other response received via Mca (http):

Server: Werkzeug/2.3.6 Python/3.11.4, ACME 0.13.0-dev
Date: Thu, 27 Jul 2023 19:38:36 GMT
X-M2M-RSC: 2001
X-M2M-RI: 7483637638789744322
X-M2M-RVI: 4
Content-Type: application/json
Content-Length: 351

{
    "m2m:csr": {
        "rn": "id-mn",
        "rr": true,
        "csi": "/id-mn",
        "cst": 2,
        "csz": [
            "application/json",
            "application/cbor"
        ],
        "poa": [
            "http://127.0.0.1:8081"
        ],
        "srv": [
            "2a",
            "3",
            "4",
            "5"
        ],
        "cb": "/id-mn/cse-mn",
        "dcse": [],
        "ri": "id-mn",
        "pi": "id-in",
        "ct": "20230727T193836,890237",
        "lt": "20230727T193836,890237",
        "ty": 16,
        "et": "20280725T193836,896471"
    }
}