P2P WidgetsGoal is to generalise the notion of a plugin, widget, and mashup within a zero-server P2P architecture. Status: initial design and [source:abc/branches/boudewijn/widget/Tribler 1st lines] of code Key to !P2PWidgets is the zero-server requirement for the whole software directory listing and software distribution plus update process. !P2PWidgets have access to four types of information: social network information, web 2.0 information, other running P2PWidget instances, and Bittorrent content. Our leading examples are Facebook for their directory listing and rating of widgets, Sourceforge which facilitates an active developers community, and Greasemonkey which provides a generic mashup solution. In short, evolutionary biology is applied to a software ecosystem. Support for P2P widgets or modules/plug-ins
Combining Web 2.0 with P2P: Expanding the plug-in model towards greasemonkey, pipies, widgets... User-programmable! P2PWidget architecture:
http://azureus.sourceforge.net/plugin_list.php http://www.facebook.com/apps/ 15000+ apps http://en.wikipedia.org/wiki/Greasemonkey http://www.lifehack.org/articles/productivity/top-10-greasemonkey-scripts-to-improve-your-productivity.html 10.000+ scripts: http://userscripts.org/scripts/show/22639 http://pipes.yahoo.com/pipes/pipe.info?_id=7hu75gzd2xGcqdSolfXiAA http://www.google.com/ig/directory disruptive Screenshot of prototype ThesisPlanning
prototype Runtime Design Widgets extend the TriblerWidget class, which is basically a wx.Panel. They can do whatever they want on the panel. WidgetRegistry has a Panel where Widgets can be added, moved and resized. It wraps widgets in a WidgetWrapper which creates the titlebar e.d. The registry keeps track of the widget instances. Widget examples
Notulen 5 maart Long term:
Security measures
Whitelisting There are multiple methods of whitelisting. Proposal:
Methods of gossiping:
Simulation A simulation would be handy to verify several things:
Papers
Research assignmentstatus: finished research assignment by Delft msc student Alain van den Berg report: Research Assignment P2PWidgets Draft list of topics to find 20+ scientific publications on P2PWidgets
ResearchDeployed widget systems
interesting points:
Zero-server Repository The main goal of a zero-server repository is be able to store widgets without one single server and to be able to find them. For a zero-server widget repository, other aspects play a role, like the ones in a centralized widget repository (Metadata):
Update management:
Storage of comments:
Distributed storage:
Security and sandboxing Without prevention, P2P widgets give easy access to creation of malicious widgets. Normal widget systems have a centralized repository where the widgets are stored for downloading. With moderators checking submitted plugins, the plugins which can be downloaded are already checked. In a P2P Widget repository without security measures, everyone would be able to submit their (malicious) widget and everybody could directly download and use it. Threats
Prevention:
Restricted execution of widget code Running widget code in a restricted mode would require things like editing the source code to make sure it doesn't execute malicious things (compile time, like RestrictedPython) or interpret the language (Python or another scripting language) and make sure the interpreter doesn't execute malicious code (runtime). Current restricted execution environments are mostly restricting access to for example the file system, sockets, IO components. Another form of restricting the widget is Resource Limitation, which would prevent the widget from taking all CPU, internet access (to be used by a DDoS attack for example) Restrict python:
Other scripting languages Other scripting languages would require an interpreter which restricts the language to some sort.
Related workDeployed widget systems papers
Zero Server Repository PapersDirectory service
Reputation systems
Security PapersDDoS
Pollution
Malicious Code
Proof Carrying code
Sandbox model/Security Policies
Attachments
|