site_archiver@lists.apple.com Delivered-To: macnetworkprog@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=IVkdPHg1BZ4crO6Kz1 7zhRn4Z6G9ZSVa/zj2XE/fZ0Y=; b=NA8HxYRTLPfw9GUKptmgzObGBrHZHWpTTI dVIl0tmr1PJcZEl2Y3RoJHB1CqsCk3/ucbs1hiv80NUpEXU6nZG7YXLPJ6ja4wcS zAq4Dcb4hl77SpRnDzKtLJrTBFXlQJ3/q+PlmivQqEbOK+V0nzotfwq6a4uSBg7B qdAw4YnELe3lriLIB9mop5Ei8/lMWXQbik3XkxmaYgqZnjtmQEqUUsWCUceXNPwH uGQ16mGIXti+O4c//Win4lAIQcY+bBnAfsnZAtFxzorxZMpve3M7oAlP+zOPV6Kp FMnFjHtpDmAVRkLpEvUO3Xnn16t2CAxTmRZSiKV0WUBQKee71OEA==
On Jul 12, 2017, at 11:03 AM, David Hoerl <dhoerl@mac.com> wrote:
Thanks so much for your response! The desired solution is targeted at an environment that currently uses "Firebase". The problem now is that if the iOS devices lose internet access, the whole network goes down.
The application is as follows. A few up to say 16 iOS devices need to communicate to each other to keep all devices synced to a distributed data set - something that changes over time, but doesn't require a lot of bandwidth. A contrived example: a local farmers market has a standalone WIFI network. At a very slow rate, new sellers show up, and some leave. When a new seller shows up, their iPad goes on line, uses Bonjour to find all other sellers on the network.
I’m not usually the type to plug my employer’s product … but you’re actually describing a great use case of Couchbase Lite, of which I’m the architect and tech lead. (And it is a genuine open source project, as well as a commercial product.) https://github.com/couchbase/couchbase-lite-ios/ <https://github.com/couchbase/couchbase-lite-ios/> https://www.couchbase.com/products/mobile <https://www.couchbase.com/products/mobile> Couchbase Lite actually focuses on the sync portion of the problem (which is another big can of worms and more difficult than it seems), and its primary usage is client/server, but it does offer a P2P mode where two clients can sync with each other instead of a server. The sync protocol is REST-based using NSURLSession and a GCDAsyncSocket-based HTTP micro-server. This can be extended by having any combination of clients sync with each other through arbitrary topologies. What we don’t offer yet is the discovery and topology layer on top of this — that’s why I’ve been so interested in this discussion. However, some of our customers have implemented this layer, and I’ve got a demo version that, as I said earlier in this thread, should scale acceptably for moderate numbers of clients and low traffic. I gave a conference presentation about this in 2015: http://connect15.couchbase.com/agenda/couchbase-mobile-103-building-peer-pee... <http://connect15.couchbase.com/agenda/couchbase-mobile-103-building-peer-peer-app-couchbase-mobile/> Feel free to contact me directly if you have questions... —Jens _______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (Macnetworkprog@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/macnetworkprog/site_archiver%40lists... This email sent to site_archiver@lists.apple.com