|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
Development Open Discussion Anything else about the Phex development |
| LinkBack | Thread Tools | Display Modes |
| |||
Add a recommender engine to Phex Dear all, starting from the analysis of the spontaneous affinities between Gnutella users, I and some colleagues at University of Turin implemented a distributed recommender engine for p2p file sharing networks that is as simple as promising in terms of prediction accuracy. Talking with Arne, we are thinking about the possibility to integrate such scheme in Phex since it provides an interesting and very useful content filtering scheme. At the beginning of our research we implemented the algorithm in Phex but the code is not longer compatible with the current version. However, we completely redesigned the application during the last few months for another Gnutella client. The code is written in Java and it is very modular, so I think that the core engine could be reused in Phex without particular modifications. Of course, both the old Phex module and the current engine is distributed under an open source license, so I can share the source code. Moreover, I and Andre' Panisson, a Ph.D. student that developed the last version, could actively participate in the development and integration phases. We need to spread the module to a broader community in order to collect feedbacks from users and then setting up a significant evaluation. Let me know if this sounds good for you. For more details you can read this paper (also this) or visit the web site of our project. Rossano |
| ||||
Here's a link to the SVN repository: SourceForge.net Repository - [dehinter] Index of / You can get the code via Code: svn co https://dehinter.svn.sourceforge.net/svnroot/dehinter dehinter Do you have documentation, which interfaces get accessed by the GUI (apart from sourcecode documentation)?
__________________ -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
In the SVN repository, the core implementation of the recommender system is in the folder /components/xhinter. This code has no dependencies in other libraries related to the client or the interface. The client specific core implementation is available in the folder \core\com\limegroup\gnutella\recommendation. This code has dependencies with the core client, and it uses core components as SearchServices, FileManager and ConnectionManager. These components are used internally with dependency injection, and I think that if there is in Phex components that have the same funcionality, the components can be replaced with the Phex implementations. You can take a look in the RecommendationService interface and RecommendationServiceImpl. This code has dependencies only with the core components, and no dependencies with the interface. The interface implementation is available in the folder \gui\com\limegroup\gnutella\gui\recommender, and uses the core components. This part should be completely reimplemented. The main class is RecommendationMediator, which references the core components. The documentation should be improved, and I'm currently working on this. |
| ||||
I can't really comment on the feasability, so we need to wait for input from gregor_k. Would you be willing to maintain the plugin in Phex to keep it up to date as soon as there is a working implementation?
__________________ -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
arne_bab, it is our interest to maintain it up to date, as it will provide feedbacks from users to our algorithm implementation. I'm returning today from a little vacation, and will be available to help and discussions. |
| |||
Hi Arne, I started woking on the source code, and an intial patch is attached with a core (not working) implementation to Phex, to be applied to trunk. The recommender core is ready, we need just to adapt it to the Phex API. After it, we can start implementing the interface. There are some doubts about the Phex API that you could help. There's another place (chat, instant messenger) we can talk about it? |
| ||||
That sounds great! You can often find gregor_k in IRC at #phex on freenode.net - that should be the easiest way to get more speedy communication.
__________________ -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |