[core] Designs to resolve streaming issues in SenML
"Cullen Jennings (fluffy)" <fluffy@cisco.com> Wed, 13 January 2016 13:57 UTC
Return-Path: <fluffy@cisco.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5BA8F1B2DFD for <core@ietfa.amsl.com>; Wed, 13 Jan 2016 05:57:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -114.502
X-Spam-Level:
X-Spam-Status: No, score=-114.502 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BCpFy_5AngMz for <core@ietfa.amsl.com>; Wed, 13 Jan 2016 05:57:04 -0800 (PST)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9624F1B2DEE for <core@ietf.org>; Wed, 13 Jan 2016 05:57:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3660; q=dns/txt; s=iport; t=1452693424; x=1453903024; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=vrX9UqDnbmOMYwZ6T26c3Av7thbFBmAZrUJ77HLLPOg=; b=Y6IMSfn+uw57rgOrbrlL96EvRaFAPuq1nPVb4gZkofRswbN8pXUtEHdj 9rnZIvB45A1YDhHsPHZqFYqTFMd7WaJjgTI0nf/i1xda2mIEc3kabt4S6 fYzCRMqUSZPGy9EM6rvR3D4F+/YRdvFwOE3N0w9WDgY/j3usikaBdJ+qR M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CLBQDKVpZW/5FdJa1egzpSc4hUsymBZCKFbYEzORMBAQEBAQEBgQqENwR5EgGBACcEDogzDsABAQEBAQEBAQEBAQEBAQEBAQEBAQEBFASIZYc6g1iBGwWNQTqJGgGBDoQ0iBePAI5TASQBP4QKhgaBCAEBAQ
X-IronPort-AV: E=Sophos;i="5.22,289,1449532800"; d="scan'208";a="62977339"
Received: from rcdn-core-9.cisco.com ([173.37.93.145]) by rcdn-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Jan 2016 13:57:03 +0000
Received: from XCH-RTP-004.cisco.com (xch-rtp-004.cisco.com [64.101.220.144]) by rcdn-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id u0DDv3Ql032692 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 13 Jan 2016 13:57:03 GMT
Received: from xch-rtp-004.cisco.com (64.101.220.144) by XCH-RTP-004.cisco.com (64.101.220.144) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 13 Jan 2016 08:57:02 -0500
Received: from xch-rtp-004.cisco.com ([64.101.220.144]) by XCH-RTP-004.cisco.com ([64.101.220.144]) with mapi id 15.00.1104.009; Wed, 13 Jan 2016 08:57:02 -0500
From: "Cullen Jennings (fluffy)" <fluffy@cisco.com>
To: core <core@ietf.org>
Thread-Topic: Designs to resolve streaming issues in SenML
Thread-Index: AQHRTgpHsd3LX6zsUkSZYQNHY6fdOQ==
Date: Wed, 13 Jan 2016 13:57:02 +0000
Message-ID: <175A1806-ACB0-4FC7-A318-2A58FF66CDD2@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.20.249.165]
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <0AAFF9F1DAC3EB45B6BEDE016340B300@emea.cisco.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/core/ZrOrLDBTVr0NCA6YYVdZ_-M3HrM>
Subject: [core] Designs to resolve streaming issues in SenML
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Jan 2016 13:57:06 -0000
The changes we made to SenML to support streaming in the -02 version raised many issues for lots of people. In the end, one of the biggest problems is it forces all things receiving SenML to support streaming. I have an alternative design for streaming that I think addresses the issues raised and I would like the WG to think about two alternative designs for SenML and give me some direction on which one to use. The first design is the current -02 design with simple fixes and is in draft draft-jennings-core-senml-03 The second design is the new design I am proposing and is in draft-jennings-core-senml-04. It many way it moves back to be much closer to what was in -01 than what is in -02. The drafts can be found at https://datatracker.ietf.org/doc/draft-jennings-core-senml/03/ and https://datatracker.ietf.org/doc/draft-jennings-core-senml/04/ Practically speaking the differences are not that much between the two but they do resolve a bunch of the issue. Let me discuss this in terms of the JSON representation and the rest of the representations mirror that. In the new design measurements are put in JSON object as always. The object are put in array to represent a series of measurements. The objects can also have the base values right in the object and the base values apply to all the things in the object and any future objects in the array. Here is an example of something that is not a stream in both old and new design. OLD [{"bn": "urn:dev:mac:0024befffe804ff1/"}, [ { "n": "voltage", "t": 0, "u": "V", "v": 120.1 }, { "n": "current", "t": 0, "u": "A", "v": 1.2 } ] ] NEW [{"bn": "urn:dev:mac:0024befffe804ff1/"}, { "n": "voltage", "t": 0, "u": "V", "v": 120.1 }, { "n": "current", "t": 0, "u": "A", "v": 1.2 } ] Note the old design has an array with a base object, followed by a second array of measurements. The new design just has an single array and the first object happens to only have base values that apply to future object in the array. This could also be sent as [ { "t": 0, "n": "voltage", "u": "V", "bn": "urn:dev:mac:0024befffe804ff1/", "v": 120.1 }, { "n": "current", "t": 0, "u": "A", "v": 1.2 } ] Here is an example of streaming with old and new design OLD [{"bn": "http://[2001:db8::1]", "bt": 1320067464, "bu": "%RH"}, [ { "v": 21.2, "t": 0 }, { "v": 21.3, "t": 10 }, { "v": 21.4, "t": 20 }, { "v": 21.4, "t": 30 }, { "v": 21.5, "t": 40 }, { "v": 21.5, "t": 50 }, { "v": 21.5, "t": 60 }, { "v": 21.6, "t": 70 }, { "v": 21.7, "t": 80 }, { "v": 21.5, "t": 90 }, ... NEW [ {"bn": "http://[2001:db8::1]", "bt": 1320067464, "bu": "%RH"}, { "v": 21.2, "t": 0 }, { "v": 21.3, "t": 10 }, { "v": 21.4, "t": 20 }, { "v": 21.4, "t": 30 }, { "v": 21.5, "t": 40 }, { "v": 21.5, "t": 50 }, { "v": 21.5, "t": 60 }, { "v": 21.6, "t": 70 }, { "v": 21.7, "t": 80 }, { "v": 21.5, "t": 90 }, ... The draft does not have it yet but an applications that supports receiving streaming is written is a substantially different way that one that does not. I think the best way to deal with this is simply use a different mine type for streaming ( calls it senml_stream for now but send me suggestions on name for it). That way it can be clearly indicated and negotiated in existing transport protocols. Appreciate any thoughts people have on pro / cons of the -03 design vs -04 design.
- Re: [core] Designs to resolve streaming issues in… Carsten Bormann
- [core] Designs to resolve streaming issues in Sen… Cullen Jennings (fluffy)
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Carsten Bormann
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Carsten Bormann
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Carsten Bormann
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- Re: [core] Designs to resolve streaming issues in… Cullen Jennings (fluffy)
- Re: [core] Designs to resolve streaming issues in… Cullen Jennings (fluffy)
- [core] privacy issues (was: Re: Designs to resolv… Stephen Farrell
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Carsten Bormann
- Re: [core] Designs to resolve streaming issues in… Christian Amsüss
- Re: [core] Designs to resolve streaming issues in… Michael Koster
- [core] SenML and link-format in RDF (was: Re: Des… Christian Amsüss
- Re: [core] SenML and link-format in RDF (was: Re:… Michael Koster
- Re: [core] SenML and link-format in RDF (was: Re:… Christian Amsüss
- Re: [core] SenML and link-format in RDF (was: Re:… Michael Koster
- Re: [core] SenML and link-format in RDF (was: Re:… Christian Amsüss
- Re: [core] SenML and link-format in RDF (was: Re:… Michael Koster
- Re: [core] SenML and link-format in RDF (was: Re:… Michael Koster
- Re: [core] SenML and link-format in RDF Carsten Bormann
- Re: [core] SenML and link-format in RDF (was: Re:… Michael Koster