MultiMob

Get MultiMob here.

This page provides you artifacts for the paper “Tuning Multipath TCP for Interactive Applications on Smartphones” published at IFIP Networking 2018.

MultiMob is composed of several pieces of software.

You need adb and fastboot on your computer. First reboot the phone into bootloader mode and plug it to your computer. Then flash the following files: boot.img, cache.img, userdata.img and system.img.

# Replace 'name' with the name of the flashed file
fastboot -S 256M flash name name.img

You should also install TWRP.

fastboot -S 256M flash recovery twrp-3.0.2-0-hammerhead.img

Once this is done, reboot the phone. Notice that it may take a while.

Once the phone is ready, put the SuperSU apk on the storage of the phone and reboot it into recovery mode. Once the phone is in TWRP, you can install the SuperSU zip file and reboot the system (it may reboot twice in a row). Then check that SuperSU application is present and working. You might also want to disable toast notifications before installing MultipathControl app to avoid your phone from being flooded by toast messages. You also need to install the patched version of iproute, available here.

unzip iproute_scritps.zip
cd iproute_scripts
# Notice the ending dot
./install_iproute2.sh .

Then install via adb the following applications: SELinuxModeChanger and MultipathControl.

adb install -r apkfile.apk

Open first SELinuxModeChanger and check that the permissive mode is checked. Then, you can open MultipathControl and grant it root permissions. Then MultiMob should be working. You might want to setup a ShadowSocks proxy to redirect all connections with Multipath TCP. At client side, you can install the ShadowSocks apk. At server side, set up a shadowsocks proxy on a device with the server scheduler. The MultiMob server implementation is available here.