Difference between revisions of "Mesh/Distributed Services"

added irmin, distributed database
(created the page)
 
(added irmin, distributed database)
Line 41: Line 41:
These are decentralized databases and servers that could ultimately be optimized to store data nearest to where people access it. A significant factors with mesh networks, that as "size and complexity continues to grow, mesh networks that contain multiple hops become increasingly vulnerable to problems such as bandwidth degradation, radio interference and network latency.<ref>[http://www.strixsystems.com/products/datasheets/strixwhitepaper_multihop.pdf Solving the Wireless Mesh Multi-Hop Dilemma]</ref>" There are several other methods of improving network latency, but all means should be tested and implemented to improve services.  
These are decentralized databases and servers that could ultimately be optimized to store data nearest to where people access it. A significant factors with mesh networks, that as "size and complexity continues to grow, mesh networks that contain multiple hops become increasingly vulnerable to problems such as bandwidth degradation, radio interference and network latency.<ref>[http://www.strixsystems.com/products/datasheets/strixwhitepaper_multihop.pdf Solving the Wireless Mesh Multi-Hop Dilemma]</ref>" There are several other methods of improving network latency, but all means should be tested and implemented to improve services.  


* [https://cassandra.apache.org/ Cassandra] - a decentralized database with asynchronous masterless replication allowing low latency operations for all clients. Cassandra has [http://en.wikipedia.org/wiki/Hadoop Hadoop] integration, with MapReduce support.  
* [https://cassandra.apache.org/ cassandra] - a decentralized database with asynchronous masterless replication allowing low latency operations for all clients. Cassandra has [http://en.wikipedia.org/wiki/Hadoop Hadoop] integration, with MapReduce support.  
* [https://couchdb.apache.org/ CouchDB] - I can tell you that it quickly becomes complicated to write multi-user app with CouchDB. Decent access control means that you need a database per user and likely a few extra databases. You then have to set all of these databases up to synchronize between each other which is further complicated by the limitations on what information is available by the limitations on how synchronization rules and filters can be written. There seem to be no good tools for managing/visualizing these complex relationships so you end up having to roll your own.
* [https://couchdb.apache.org/ CouchDB] - I can tell you that it quickly becomes complicated to write multi-user app with CouchDB. Decent access control means that you need a database per user and likely a few extra databases. You then have to set all of these databases up to synchronize between each other which is further complicated by the limitations on what information is available by the limitations on how synchronization rules and filters can be written. There seem to be no good tools for managing/visualizing these complex relationships so you end up having to roll your own.
* [http://pouchdb.com/ PouchDB] - a javascript based couchDB.
* [https://github.com/mirage/irmin irmin] - a distributed database with built-in snapshot, branch and revert mechanisms. (similar to git)
* [https://github.com/dominictarr/scuttlebutt Scuttlebutt] - a data synchronization protocol, or a peer-to-peer replicable data structure.
* [http://code.google.com/p/leveldb/ levelDB] - a fast and lightweight key/value database library.  
* [https://tahoe-lafs.org/trac/tahoe-lafs TahoeLAFS] - a decentralized database.
* [http://www.mongodb.org/ mongoDB] - an open-source document database, a NoSQL database. Written in C++.
* [http://code.google.com/p/leveldb/ LevelDB] - a fast and lightweight key/value database library.  
* [http://nodejs.org/ node.js] - an HTTP server written in javascript.
* [http://www.mongodb.org/ MongoDB] - an open-source document database, a NoSQL database. Written in C++.
* [http://pouchdb.com/ PouchDB] - a javascript based couchDB.
* [http://nodejs.org/ Node.js] - an HTTP server written in javascript.
* [https://github.com/dominictarr/scuttlebutt scuttlebutt] - a data synchronization protocol, or a peer-to-peer replicable data structure.
* [https://tahoe-lafs.org/trac/tahoe-lafs tahoe-lafs] - a decentralized database.
 


==Communications==
==Communications==


*[http://radicale.org/ Radicale] - a CalDAV (calendar) and CardDAV (contacts) server.  
*[http://radicale.org/ radicale] - a CalDAV (calendar) and CardDAV (contacts) server.  
*[http://keithp.com/blogs/calypso/ Calypso] - Radicale fork with a git back-end (by Keith Packard of X11 fame)
*[http://keithp.com/blogs/calypso/ calypso] - Radicale fork with a git back-end (by Keith Packard of X11 fame)
*[http://villagetelco.org Village Telco] - an initiative to build low-cost community telephone network hardware and software that can be set up in minutes anywhere in the world.  No mobile phone towers or land lines are required, it uses the internet. It has a Simple Unified Dashboard (SPUD) for mesh networks.
*[http://villagetelco.org Village telco] - an initiative to build low-cost community telephone network hardware and software that can be set up in minutes anywhere in the world.  No mobile phone towers or land lines are required, it uses the internet. It has a Simple Unified Dashboard (SPUD) for mesh networks.
*[https://ripple.com/currency/ Ripple] (XRP) - a math-based crypto-currency designed to work seamlessly with the Internet. Powered by a global network of computers; a fast, direct, and secure way to send payments on the web. '''It can be used to prevent malious attacks on servers.'''
*[https://ripple.com/currency/ Ripple] (XRP) - a math-based crypto-currency designed to work seamlessly with the Internet. Powered by a global network of computers; a fast, direct, and secure way to send payments on the web. '''It can be used to prevent malious attacks on servers.'''
*[http://openbts.org/ OpenBTS] - open source cell phone tower software.  
*[http://openbts.org/ OpenBTS] - open source cell phone tower software.  
289

edits