Cerebro: Difference between revisions
Line 29: | Line 29: | ||
A mechanism for sharing files efficiently within the mesh network is offered. When enough file recipients are present as direct neighbors [http://cerebro.mit.edu/index.php/Experimental_results (1)], a file is simultaneously broadcasted to all of them instead of establishing sequential TCP sessions. The presence mechanism is consulted in conjunction with the set of receivers to decide whether it is worth using the broadcast mechanism or not. Experiments have shown that roughly when more than 15 recipients are direct neighbors, it is more efficient using the broadcast mechanism. |
A mechanism for sharing files efficiently within the mesh network is offered. When enough file recipients are present as direct neighbors [http://cerebro.mit.edu/index.php/Experimental_results (1)], a file is simultaneously broadcasted to all of them instead of establishing sequential TCP sessions. The presence mechanism is consulted in conjunction with the set of receivers to decide whether it is worth using the broadcast mechanism or not. Experiments have shown that roughly when more than 15 recipients are direct neighbors, it is more efficient using the broadcast mechanism. |
||
The file sharing mechanism is used by Cerebro itself to transport (potentially large) user profiles within the mesh network. Also, API calls allow activities to make use of this mechanism. |
|||
==Collaboration== |
==Collaboration== |
Revision as of 19:13, 15 April 2008
What is Cerebro?
Cerebro is a scalable, light-weight platform that provides presence information, efficient file sharing and an easy collaboration mechanism for activities.
Features
The following is a list of features that Cerebro offers. Some (marked with a *) are under development.
- presence information (including distance and route) for all other users in the network
- mesh network extended to regular 802.11b/g devices
- extensible user profile including nickname, colors, keys, IP addreses, picture of arbitrary size, status message etc
- file sharing using an efficient multicast mechanism
- simple collaboration mechanism
- connect to remote mesh networks over the internet (*)
- interoperability with regular x86 machines (*)
- internet connection even without a valid IP address (*)
- programming API based on dbus (see examples)
Presence Information
Presence information involves the set of users/XOs that are currently accessible over the mesh network. This information is decoupled from the user profile so as to increase the scaling properties of the presence mechanism. For example, it is possible that we know that there are 120 users in the network, but only have detailed profile information about only 100 users. Fore the rest, we have not received their profile information, yet!
A cache is used to store user profiles (so as to avoid having to retrieve all user profiles every time we join the network) and events are triggered whenever a user modifies her profile.
File sharing
Since we have a presence mechanism that provides network layout information, we can make better decisions on how to efficiently distribute files within the mesh network.
A mechanism for sharing files efficiently within the mesh network is offered. When enough file recipients are present as direct neighbors (1), a file is simultaneously broadcasted to all of them instead of establishing sequential TCP sessions. The presence mechanism is consulted in conjunction with the set of receivers to decide whether it is worth using the broadcast mechanism or not. Experiments have shown that roughly when more than 15 recipients are direct neighbors, it is more efficient using the broadcast mechanism.
The file sharing mechanism is used by Cerebro itself to transport (potentially large) user profiles within the mesh network. Also, API calls allow activities to make use of this mechanism.
Collaboration
Programming API
(more info can be found here: http://cerebro.mit.edu)