Mitch,

Ah ... I didn't see this before I responded to Thiago - I think my response 
complements your comments.

Ravi Subramaniam
Principal Engineer
Intel - (408) 765-3566

> On Feb 4, 2016, at 1:50 PM, Mitch Kettrick <cpm at openinterconnect.org> 
> wrote:
> 
> Hi Thiago,
> 
> Thank you for your reply.
> 
> Regarding bandwidth and power consumption, I've never implemented a protocol
> in HW so you may be right that sending extra payload won't have an effect.
> We all come to this with our direct experience and our assumptions and often
> times we're wrong no matter how right we think we are. :)
> 
> My ideas about this come from two sources.  First, I've seen other protocols
> (BTLE, for example) that go to great lengths to reduce the message payload
> to make things more efficient from a bandwidth and power consumption point
> of view.  I have no idea how much a difference that makes with respect to
> battery life, for example.  
> 
> Second, from a logical point of view, sending an extra 50 to 60 bytes seems
> like a lot (assumes that the different "if" messages are similar to what I
> suggested in my first email).  Again, I have no idea how much that
> translates to with respect to power consumption but it will likely more than
> double the size of every message sent.
> 
> With that said, if you have small-cell battery sensor that sends its
> temperature once every second, that's a whole lot of transmissions in one
> year and saving just a few uA on each transmission could add up to a lot.
> 
> Regarding the fact that in the end, the Client dictates the interface used,
> I agree.  But, many people who write client applications won't know that if
> the Default is oic.if.baseline, they could save power by adding an oic.if.s
> query to their request; otherwise the Server will be forced to operate in an
> less efficient way.
> 
> If we don't agree on giving Servers the flexibility to set their own Default
> Interface based on the application, one solution, as I said before, is to
> make the Interface that uses the fewest number of bits as the Default
> Interface wherever possible to ensure that if Servers have to send "the
> whole package" it's because the Client explicitly asked for it.
> 
> Mitch
> 
> -----Original Message-----
> From: Thiago Macieira [mailto:thiago.macieira at intel.com] 
> Sent: Thursday, February 04, 2016 1:27 PM
> To: Mitch Kettrick
> Cc: 'Subramaniam, Ravi'; 'Maloor, Kishen'; oswg at openinterconnect.org;
> iotivity-dev at lists.iotivity.org
> Subject: Re: [oswg] Re: [dev] Default interface signaling
> 
>> On quinta-feira, 4 de fevereiro de 2016 11:26:09 PST Mitch Kettrick wrote:
>> Hi,
>> 
>> Just to add a few points/clarifications to what Ravi has said:
>> 
>> 1.       From a test and certification standpoint, we will be verifying
> that
>> read-only Properties cannot be written/updated regardless of the 
>> Interface used.  In other words, even though oic.if.baseline supports 
>> writing, you should not be able to update a read-only Property when 
>> using it.  This will be checked.
> 
> Hello Mitch
> 
> Thank you, this was implied but is of course good to have it stated
> explicitly.
> 
>> 2.       Think about a sensor that is asked to send it's temperature every
>> second.  With oic.if.baseline, the message would looks something like:
> [cut]
>> Some clients may be smart enough to use an "if" query to request 
>> oic.if.baseline the first time and oic.if.s for all subsequent messages.
>> But not all clients (or their developers) will think from a 
>> constrained device perspective and will be perfectly happy to get the 
>> full oic.if.baseline response every time and only filter out the 
>> temperature value from the entire message.  Not good from a battery life
> perspective.
>> Allowing the sensor vendor the ability to declare oic.if.s the Default 
>> Interface at least forces Clients to specifically ask for more info 
>> (using and "if" query for oic.if.baseline) rather than having that be 
>> the de facto message format.
> 
> Here I disagree with you.
> 
> First, I disagree that sending a smaller packet will result in battery
> savings, if a transmission is to happen at all. I may be wrong on my details
> of how the transceivers work, but I doubt that sending a handful of bytes
> fewer will affect the consumption at all. So long as the baseline's response
> don't cause fragmentation and thus the need for multiple packets, the power
> consumption should be the same.
> 
> Second, and this is my main point of contention in this discussion, the
> server's choice in default is meaningless. You said it yourself: "some
> clients may be smart enough to use an "if" query to request [...] oic.if.s
> for all subsequent messages". The relevant portion here is that the *client*
> makes the choice and the server's default was never factored into that
> decision-making process.
> 
> So I repeat my argument: having a per-device default is equal to having no
> default. We may as well abandon the idea of talking about defaults in that
> case.
> 
> --
> Thiago Macieira - thiago.macieira (AT) intel.com
>  Software Architect - Intel Open Source Technology Center
> 
> 
> -----
> No virus found in this message.
> Checked by AVG - www.avg.com
> Version: 2016.0.7357 / Virus Database: 4522/11549 - Release Date: 02/03/16
> 

Reply via email to