Presentation is loading. Please wait.

Presentation is loading. Please wait.

PRO-2015-0739-Discussion_on_fragmentation_&_content_format_negotiation_in_MQTT_binding Source: Sung-Chan Choi, Yong-Suk Park, Jaeho Kim (csc@keti.re.kr)

Similar presentations


Presentation on theme: "PRO-2015-0739-Discussion_on_fragmentation_&_content_format_negotiation_in_MQTT_binding Source: Sung-Chan Choi, Yong-Suk Park, Jaeho Kim (csc@keti.re.kr)"— Presentation transcript:

1 PRO-2015-0739-Discussion_on_fragmentation_&_content_format_negotiation_in_MQTT_binding
Source: Sung-Chan Choi, Yong-Suk Park, Jaeho Kim Data:

2 Fragmentation Issue TS-0010 describes
Note: MQTT packets are subjected to a theoretical maximum message size of 256MB, but it is good practice not to send packets that are bigger than a 100kB. If a larger amount of data needs to be sent, it should be segmented into multiple PUBLISH packets.

3 MQTT Fragmentation Fixed Variable Payload MQTT Message Format In order to reassemble fragmented application messages which are delivered over MQTT payload, when the application message is to be fragmented, there need to express the information about fragmented sequence number, flag indicating more fragmented message following or not, .. And this information may be included in MQTTT Payload part

4 Each Fragmentation data may need following information
MQTT Fragmentation MQTT Client MQTT Broker MQTT Client Frag4 Frag3 Frag4 Frag3 Frag2 Frag1 Frag2 Frag1 Each Fragmentation data may need following information Identification Fragmented Data Sequence Number More Fragmented Data Indication Flag Fragmented Data Size

5 ID/SequenceNumber/MoreFlag/FragmentDataSize
Example MQTT Broker MQTT Client MQTT Client Application data size: 200KB Fragmentation data size: 50KB PUBLISH #w77e/0/1/51200 PUBLISH #w77e/1/1/51200 PUBLISH #w77e/2/1/51200 PUBLISH #w77e/3/0/51200 ID/SequenceNumber/MoreFlag/FragmentDataSize

6 Content Format Negotiation
In HTTP binding, for negotiation, it uses “Accept” and “Content-type” in HTTP Header Fields In MQTT binding TS-0010, section content format negotiation describes the similar concept as in HTTP binding To this end, we can define parameters for example, MQ-M2M-ACCEPT MQ-M2M-DATATYPE And this information could be included in MQTT payload

7 Example MQTT Broker MQTT Client MQTT Client PUBLISH
Request PUBLISH MQ-M2M-ACCEPT=“application/onem2m-res+xml” MQ-M2M-DATATYPE=“application/onem2m-res+xml” Response PUBLISH MQ-M2M-DATATYPE=“application/onem2m-res+xml”

8 Protocol Binding Option1
Allocate bytes in MQTT payload for fragmentation & content format negotiation information and save the information as string data format MQTT Payload Fragmentation Part Negotiation Part “#w77e/0/1/51200” “MQ-M2M-ACCEPT=application/onem2m-res+xml, MQ-M2M-DATATYPE=application/onem2m-res+xml”

9 Protocol Binding Option2
Allocate MQTT payload byte in more detail for each fragmentation & content format negotiation information MQTT Payload Fragmentation Part Negotiation Part ID Sequence Number More Flag FragmentDataSize Example 10bytes 20bytes 1bytes 30bytes

10 Protocol Binding MQTT Payload Fragmentation Part Negotiation Part
MQ-M2M-ACCEPT MQ-M2M-DATATYPE Example 30bytes 30bytes


Download ppt "PRO-2015-0739-Discussion_on_fragmentation_&_content_format_negotiation_in_MQTT_binding Source: Sung-Chan Choi, Yong-Suk Park, Jaeho Kim (csc@keti.re.kr)"

Similar presentations


Ads by Google