Skip to content

mptcp-apps/mptcp-ios-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MPTCP iOS app example

Features

Checking the status of MPTCP

This app allows to check if MPTCP is used on your device or not. To do so, simply go on the tab "Check MPTCP", and you can select different clients/mode of MPTCP to check if they are working. Note that the aggregate mode doesn't seem to be working, as the MPTCP entitlement may be missing. A demo of this screen is available here. Until now, the following network clients can be used with MPTCP and examples of such MPTCP clients can be found in the Clients folder:

Feel free to add other clients to this list in the future!

Running benchmarks to evaluate MPTCP

Another screen of the app is the benchmarking one. On this screen, you can evaluate the performances of using or not MPTCP, by doing some download of various size (1, 10, 100 or 1000 MB). You can also select the number of times this download should be performed, to increase the reliability of results by doing multiple times the measurement. After this, you'll have a report of the results available, showing the response time and estimated bandwidth of the different request, as well as the mean response time and bandwidth once again. You can also delete some measurements that you did. Here is a demo of this feature.

Exporting results of benchmarks

Having simply the results in the app may be a bit limitating, so you have the possibilty to export the results of experiments in a json file. This allow to use these data to do plots, and further analysis of the results. The demo is available here. Note however that the data is shared between session, so don't worry about losing any data.

Sending data to a server

You also have the possibility to send the measures done to an external server. An example of such a server is provided in the backend folder, which can be run using python -m flask --host 0.0.0.0 --port 8080. Once you have a running server, you simply need to change the environment variables in the xcode scheme to set accordingly the UPLOAD_HOST and UPLOAD_PATH variables.

App preview

About

MPTCP on iOS πŸπŸ“²

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published