Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmark design for discovery protocols. #71

Merged
merged 7 commits into from Oct 18, 2017
Merged

Conversation

mfoltzgoogle
Copy link
Contributor

No description provided.

@mfoltzgoogle
Copy link
Contributor Author

This is to collect data related to Issue #69 (Performance data for discovery protocols).


## SSDP specific

* Interval between `M-SEARCH` requests.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we need also to consider the SSDP header MX which contains the maximum time in seconds (must be between 1 and 5 seconds) to delay M-SEARCH response. Also the CACHE-CONTROL header could be relevant.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point - MX will definitely affect latency, added it as a variable.

CACHE-CONTROL does also impact the latency of discovery and the quantity of network traffic over a long time frame, since the value is suggested to be greater than 1800 seconds. It could be interesting to vary it while making long term measurements over the course of hours (after discovery hits a steady state). Added a note about steady state behavior as future work to the end.


# Notes

Power consumption measurement only makes sense as a relative measurement, and
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can track battery level, number of discovery requests, number of found devices for both protocols mDNS and SSDP with the same number of senders and responders in the network. The experiment starts with fully charged smartphone and ends until the battery level reaches a pre-defined level e.g. 50%.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be one approach, although I worry that the amount of battery consumed is so small relative to the other power sinks on a mobile device that it will get lost in the noise. There are a lot of mobile-specific implementation techniques that can affect power like coalescing background tasks and/or radio wakeups for passive discovery mechanisms like these.

Added a note to look at battery levels as a first approximation; but this really requires some more research and I will file a task to follow up.

1. Fork and customize
[libupnp](http://pupnp.sourceforge.net/) for the [Open Screen SSDP discovery
protocol](../ssdp.md).
2. Write our own SSDP implementation from scratch, possibly based on the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to use this simple Node.js implementation https://github.com/fraunhoferfokus/peer-ssdp/blob/master/lib/peer-ssdp.js in the Benchmark responder test app which works also on Raspberry Pi. It implements only the SSDP protocol and not the whole UPnP Stack. For Android we can use this https://github.com/fraunhoferfokus/cordova-plugin-hbbtv/tree/master/src/android/ssdp class and use it in the Benchmark sender app.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, added the Node.js as an alternative implementation for the SSDP stack here. I also added a link to the Android plugin to the section at the end on mobile device benchmarking.

@louaybassbouss
Copy link
Contributor

Thx @mfoltzgoogle I added some comments inline.

@mfoltzgoogle
Copy link
Contributor Author

Thanks @louaybassbouss. I've updated the PR in response to your feedback. Feel free to look again.

@louaybassbouss
Copy link
Contributor

LGTM

@louaybassbouss louaybassbouss merged commit 5491cd7 into gh-pages Oct 18, 2017
@mfoltzgoogle mfoltzgoogle deleted the experiment-1 branch October 19, 2017 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants