Skip to Content.
Sympa Menu

perfsonar-user - Re: [perfsonar-user] OWAMP Implementation for Android

Subject: perfSONAR User Q&A and Other Discussion

List archive

Re: [perfsonar-user] OWAMP Implementation for Android


Chronological Thread 
  • From: Ahmad Hassan <>
  • To: Mark Feit <>
  • Cc: "" <>
  • Subject: Re: [perfsonar-user] OWAMP Implementation for Android
  • Date: Mon, 5 Jul 2021 19:19:15 -0500
  • Dkim-filter: OpenDKIM Filter v2.11.0 mta-p7.oit.umn.edu 4GJjq33H75z9w9Dg
  • Dmarc-filter: OpenDMARC Filter v1.3.2 mta-p7.oit.umn.edu 4GJjq33H75z9w9Dg

Thanks Mark for writing back. Based on your suggestions, I have started working on porting OWAMP to Android. Right now, I am using NDK to reuse perfSONAR's OWAMP code written in C and interfacing with it using JNI. However, I haven't been able to find a way to synchronize the clock of an Android device with the server, especially for unrooted phones. Could you please provide some insight on that? On the other hand, TWAMP (from perfSONAR repository) should work without time synchronization, is this true? 

Also, I found an Android implementation of TWAMP here: twamp-gui. I couldn't find source code for the Android APK but backend code (Windows/Linux/Mac) based on Qt QML backend is there. I am not sure how reliable the implementation is but I could see some activity on the github repo.

I should be able to make the owamp-android source code public once I have a working implementation (shouldn't take more than a couple of weeks).

Thanks and let me know if you think I am heading in the right direction.

Ahmad

On Thu, Jul 1, 2021 at 12:29 PM Mark Feit <> wrote:

Ahmad Hassan writes:

 

I was looking at the OWAMP project and wondering if there's any implementation of OWAMP for Android? I found J-OWAMP here and was thinking of porting the source code to Android and building an app around it. However, I first wanted to check if there's any implementation out there for Android. I also plan to make it open source for the community.

 

There are a couple of ports of iperf2 and iperf3, but I’m not aware of anyone having ported OWAMP to Android.  J-OWAMP might be a good starting point to get something running.  Given the vagaries of Android’s execution model, it would probably be worth running the measurement as a bound service rather than as a thread within an activity.

 

Also, let me know if there's a more efficient way to do the job.

 

One alternative that might yield more-accurate results than Java would be to compile the version maintained by Internet2 and perfSONAR  (see https://github.com/perfsonar/owamp) natively and use JNI or the NDK to interface with it.  That version also features client code for TWAMP, which would make it even more useful.  If you go that route, we’d be happy to take any pulls for changes that make it easier to compile as long as they don’t break the what we ship with perfSONAR.

 

Do let us know how your project goes; I’m sure there are a few people on this list who’s be interested in having something like that.

 

--Mark

 




Archive powered by MHonArc 2.6.24.

Top of Page