Using Sync As A Part Of Post-Disaster Situation Analysis Project ~ Some Thoughts


Recommended Posts

As I said here, we are trying to use Sync as a part of post-disaster situation analysis project, but facing some problems. Kevin@bittorrent.com gives me the idea to share it in the forum. So it goes here.

 

I have attached a proposed four-tier architecture of our theoretical model. The DTN (Delay Tolerant Network) nodes are Android devices whereas Information Drop Box (IDB) is laptop/Raspberry Pi. The mobile nodes are moving in the area where disaster happened & collecting various informations (images, videos, texts etc.). The whole bunch of data needed to be synced with a storage folder in the IDB. As there is absolutely little/no chance of getting internet & 2G/3G connection, we plan to use Ad-Hoc (IBSS) connection between the nodes & the IDB.

 

Now one of the main problem is stock Android doesn't natively support detection/connection of IBSS networks but we solved it using CyanogenMod which contains the necessary patches. On the other hand, Sync related problems are as follows:

 

Discovery of other devices - When multiple Android devices are connected, each of them can easily find the others but the PC acting as IDB can't discover any of them. FYI, the PC is running Windows 8.1 & Ubuntu. I have already tried the solution provided here but it violates the our original idea. We can't define predefined host/port in Android client & alternatively it isn't feasible (& impossible) to add all the host/port address of all of the Android devices.

        As a test, we have tried to add the host address & port address (which is ridiculously problematic to find on Android; Terminal Emulator+Shell Script - any different idea besides native app?) of Android nodes in the IDB & then it can find the nodes.

 

Priority implementation- It is already one of the top requested feature, so nothing to say here.

 

API related- I'm not a programmer (Statistics guy :ph34r: ), so still trying to understand the API. Is it possible to create some wrapper, possibly for Python?

 

As for the other side, Sync is a lifesaver for us. Previously we had tried to use syncing using Python, Rsync or by creating apps from scratch which was a disaster. Sync gives us the true result which we want to achieve. The transfer speed is spectacular, the UI is simple & the algorithm of load balancing is awesome!! Btw, is it possible to implement WebGUI for Windows builds??

 

I can't find the exact place for putting this thread; its a compilation of feature requests, developing using API, troubleshooting & mostly a general discussion. So I choose the last one  ;)

 

I'm open for any further suggestion & queries. Our website is http://www.nitdgp.ac.in/MCN-RG/mcn-rg.html. Hoping for brighter future with strong collaboration :)

 

 

*P.S - I'm using Sync from last year to sync my movie & software collection with my other PCs & friends. :wub:  

 

Arch.jpg

Link to comment
Share on other sites

@Titokhan

 

Regarding your issues:

Discovery of other devices

I would like to test it in our lab. Do I understand correctly that your devices are using ad-hoc wifi networks to communicate each other and while mobile phones work fine - BTSync on laptops does not detect other devices in ad-hoc network?

 

Priority implementation

Already on the Wishlist. Cannot share ETA for now, though - definitely not upcoming 1.4 release.

 

API related

I suggest taking peek into this topic.

Link to comment
Share on other sites

@RomanZ

 

Thanks for the prompt reply  :D

 

Discovery of other devices

 

Exactly so; please take a look. If you want more data, I can send it (like images or videos of our experiments).

 

Priority implementation

 

Thanks. Btw, has this API something to do with priority??

SET FILE PREFERENCES

 
Selects file for download for selective sync folders. Returns file information with applied preferences.

 

 

API related

 

You made my day!! How can I miss it?  :wacko:  I'm starting to explore it asap.

 

** Advanced logging feature **

 

I forgot this topic. Can something like an advanced logging feature be included (or accessed via API) in the clients, specially for the Android one? Timestamps, volume of data transferred from one peer to another, upload/download stats  - as much as informations so that I, along with my team can do some statistical analysis on it (like given some constraints, finding the distribution of upload speed).

 

Regards,

Tito

 

:rolleyes:

Link to comment
Share on other sites

Tito,

 

Discovery of other devices

We are in progress, will let you know if issue replicates in our lab or we need some debug info from you.

 

Priority implementation

Not actually. The only one thing I can think of is using selective sync (it is available in API) - then you can prioritize your transfers on files level.

 

** Advanced logging feature **

API provides no logging, while Sync produces a debug log itself. You can take a peek here on how to turn it on. Generally, this log is intended for development and issue analysis, so no documentation available for it or planned. But log is stored in human-readable format, so you probably can sieve couple of message types you need to monitor.

Link to comment
Share on other sites

@RomanZ

 

Thanks again for the heads up!

 

I'll take a look in the selective sync API.

 

Regarding the advanced logging feature request, I can't find the particular instruction for Android client. Should I place debug.txt in root/data/data/com.bittorrent.sync? Btw is com.bittorrent.sync/SyncStatistics.xml somehow useful for me (seems not)??

 

And the discovery issue - I'm happy to be a (small) part of bug hunting  :D

Link to comment
Share on other sites

@RomanZ

 

Sorry to bother you, but I can't find the actual sync.log (like in Windows) for the Android client  :unsure:

 

Kinda off topic, but I also support the idea of a port for MIPS platform (Arduino Yún - OpenWrt).

 

We plan to add MIPS support.

 
 

freigeist,

 

I suggest putting it to Wishlist. We'll consider it for future releases.

 
Link to comment
Share on other sites

Tito,

 

You won't find the file. On Android it is stored to logcat, sort of circular buffer in the memory. There are bunch of utilities capable of monitoring logcat (and probably saving it as a file?).

 

As for the MIPS support - well, not supported yet, and not going to be in next release, sorry.

Link to comment
Share on other sites

Kinda off topic, but I also support the idea of a port for MIPS platform (Arduino Yún - OpenWrt).

 

As for the MIPS support - well, not supported yet, and not going to be in next release, sorry.

@Titokhan, for reference, there's a dedicated thread over in the Feature Request forum for MIPS support - I'd suggest adding your voice/support there!

Link to comment
Share on other sites

@RomanZ

 

First of all, thanks for releasing the new version.

 

 

Officially Sync is not intended to run in API or Config mode on mobile. The solution you point simply runs a linux binary compiled for ARM CPU - which should work.

 

... then things are getting complicated again!  :unsure:

 

Regarding the logcat, I have tried to dump it using verbose mode & filtering com.bittorrent.sync related logs only but can't get the logs like in Windows. Have I missed something??

 

I'll post our progress in details tomorrow.

 

Regards,

Tito

 

^_^

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.