-
Notifications
You must be signed in to change notification settings - Fork 0
Peer-to-peer micro-sharing built with Node.js.
License
Unknown, GPL-3.0 licenses found
Licenses found
Unknown
LICENSE
GPL-3.0
COPYING
defunct/synapse
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SYNAPSE Open Source Peer-to-Peer Micro-Sharing Wish and Discuss: http://alan.uservoice.com/pages/synapse Develop: http://github.com/bigeasy/synapse/tree/master Contact: alan@blogometer.com License: GPL v 3.0 with Classpath Exception See Also: INSTALL, HACKING, COPYING, LICENSE UX Synapse is an open source peer-to-peer micro-sharing application. Synapse is used to implement a network where people share short messages no longer than an SMS text message. Particpants in the Synapse network subscribe to the messages of other participants. They will be able to follow a stream of messages from the people that they follow. Addtionally, a person can search across all messages in the network. They can create a custom stream based on matching search terms, subscriber, tags and URLs. Synapse will be distributed with Java Swing UI customized for OS X, Windows XP and Vista, and Linux desktops. The user interface, when launched, will also launch a Synapse node. ARCHITECTURE Synapse is a distributed database of messages. Each client serves as a node on the network. To paricipate in the network, they provide the network with an order of magnitude more memory than the memory required to store all of the messages they with to share. Messages are stored in the network. Each participant in the network is a node. Data Model The Synapse network stores messages and user profiles. Messages are parsed into search terms. The network stores these Messages, Profiles and Terms. When a node becomes active, the messages are injected into the network. Each node contains storage for messages, profiles and terms. Each node will store a portion of the messages, profiles and terms, acting as leaf nodes in a distributed search tree. Routing The network consists of a distributed B+Tree. Each node will host a number of routing tables. The routing tables will change shape using a tree algorithm that will split the routing tables from the storage leaves up, as the storage leaves and routing tables become full. Messages Messages are sent one way. A node initiates a injection or query and waits for a callback indicating that the injection has been performed, or query results are returned. These actions are pulsed out into the network until afirmations are received. Search Search is always a matter of returning the most recent messages that match a query, so requests for the terms are sent out into the network, and the results are merged. Search happens quickly because search terms are ordered by date and merging can optimize by skipping over terms based on the oldest term, looking for a possible match. Searches for a specific single term, are fast.
About
Peer-to-peer micro-sharing built with Node.js.
Resources
License
Unknown, GPL-3.0 licenses found
Licenses found
Unknown
LICENSE
GPL-3.0
COPYING
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published