-
Notifications
You must be signed in to change notification settings - Fork 445
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
Experiment: one Android phone can reach an audience of millions at no cost #2060
Comments
Additional contraint : |
Interesting project and I will work on it! |
Hacking Lab direction: 20 phone demo. Show how 1 video is recorded and shows up on 20 phones+ able to stream. 6 page IEEE format report with performance analysis. Emulate 100 phones? ToDo for Friday:
|
Tips on setting up Tribler Android App development environment on Linuxtested OS: Debian stretch Step 1: set up dependencies and install p4aPlease read the instructions in the official documentation first, and before setting up please read the following tips as well. Step 2: install Android Studio with SDK and NDK (from within Android Studio)From this step on, check the path name before proceeding. Step 3: set up Git workflowStep 3.1: fork Paul's repo on GitHub Step 4: build the environment (or craft?)Step 4.1: go to Step 5: open the project in Android Studioopen |
The build now works with the latest commit on master from kivy: kivy/python-for-android@9fa15b7
On Jenkins and my laptop it works with a clean p4a install, see: https://jenkins.tribler.org/job/Build-Tribler_Android-Python/lastStableBuild/ |
Interesting goal is creating a fully automated measurement and experiment setup.
Extension on that work is doing Android platform emulation, hopefully going beyond 32 phones on our own 200+GByte machines (speed is not a concern). related Android emulations work. Vital to preserve memory If Android emulation does not provide results within a few days, look at just running Dispersy channel.py. |
Proposal for the To-Do's of the Hacking Lab Report
|
Before running the experiment I read the scripts to understand what is expected to happen. Now I've got some questions for @brussee : The questions are:
|
A question for @devos50 |
@MaChengxin you need to configure a web hook in your Github repo for that function to work (see https://help.github.com/articles/about-webhooks/). Let me know when you need any help to set that up! |
@devos50 Thanks! However, I can see that the GitHub Hook Log is changed after I click the "Test Service" button on GitHub. Another noticeable thing is that a build (#2, manually terminated) was once triggered when I was setting up the hook, but I am not sure if that is a coincidence or I set it up correctly. The Jenkins hook URL I am using is https://jenkins.tribler.org/github-webhook/. Is it right? |
is this perhaps an authorization problem? |
@MaChengxin it seems that the build has been triggered with a GitHub push? https://jenkins.tribler.org/job/pers/job/Build-Tribler_Android-Python_Chengxin/2/pollingLog/ |
@devos50 Yes, that's true, I checked the commit id in the log and it is the one I made. But I am just curious about that:
UPDATE (Dec 5, 15:41): Jenkins is now able to track the changes on GitHub, after setting the Branch Specifier to be |
That is the Multichain scalability experiment. This is what you need: https://github.com/brussee/tribler/tree/android-app-demo-2/android/TriblerApp/scripts It is called demo_time.sh
The results are processed with Matlab: https://github.com/brussee/thesis/tree/master/phone-to-phone/run3 |
@brussee |
Make sure the phones are subscribed to your new channel and have it open on screen. |
For this, I did the simplest test with two phones, one being the source (Phone A, Galaxy S6) and the other one being the subscriber (Phone B, Nexus 6). Then I observed:
The following are my questions: @brussee
|
|
@brussee :
|
|
Thanks! @brussee
|
Also, take a look at the source code of the app. You can find the answers to the last two questions there. |
Yet on the source phone only one video is logged:
Did you also meet this problem? If yes, what did you do to circumvent the mismatch of numbers of videos? |
|
@brussee On the one hand, I have some questions about this experiment in your thesis (Section 6.2).
On the other hand, I am not sure if I have set up the experiment correctly. PS: Have you meet a situation that the Tribler app would behave abnormally after rebuilding it after a Debian update? In my case Debian is upgraded to 9.0, building Tribler was OK but the app would be stuck at starting service. |
The experiment would always work for me, but the automated result fetching sometimes does not work. Use adb pull to get "ExperimentMultiChainScale.dat" manually from the device or run the last few lines of the script by hand. If you do a distribution upgrade of the build system all bets are off. I suggest only doing that if you have a good reason to do so. |
@brussee |
Brainstorm alternative thesis direction (backup plan): validated identities using phone numbers and SMS phone number validation or optionally validation using government IDs. use hashing. web-of-trust and sybil-proofness. |
@synctext |
@brussee |
So exactly that port is already in use (by adb itself). Simply use |
swarm size is still most interesting thesis direction. |
@brussee |
@brussee |
After the app is started normally. And I think I used the standard app state that had been idling for a couple of days. Otherwise right after first starting the app with a fresh installation (empty db). |
@brussee |
Have you noticed you can profile (at least on linux) with |
@vandenheuvel
What did I do wrong this time? @brussee |
TwistdActivity has been renamed to ProfilerActivity |
Possible storyline for HackingLab final report. IEEE 2-column format. Focus on 1 experiment:
Graphs:
Possible sections (citation to various papers, including Martijn work+Brussee):
|
@synctext |
@synctext |
Next possible step: "attack-resilient content popularity estimation for distributed multimedia search" |
On section C: My findings indicated that discovery time is heavily dependant on the amount of phones used in the experiment (>10), due to the limit of 10 connected peers at the same time. This may very well be the reason why your measurements, from the 3rd video onwards, diverge less. |
Conclusion: app is not stable @brussee if you have time... we have several new Google Pixel to play with... Final report for Hacking Lab by Chengxin Ma: performance-analysis-tribler.pdf |
update: |
Android development is painfully slow. We first need to hit the epic milestone of a million users. |
Experiment+storyline for scientific article
Objective: Every Android phone in the world has the potential to become a TV studio, without any infrastructure requirements
Goal: a single hash becomes a real-time updating channel with guaranteed availability
Experiment: A single Android phone is the source of various videos, only identified by a channel hash.
When a new video comes out it is immediately sees and replicated automatically in the network. A new version of Tribler will automatically boost a hardcoded test channel.
Task: boost content available with solid privacy and earn credits
The text was updated successfully, but these errors were encountered: