Italiano English
Modifica History Actions

Differenze per "GSoCIdeas2011"

Differenze tra le versioni 4 e 26 (in 22 versioni)
Versione 4 del 2011-02-06 18:25:06
Dimensione: 5368
Autore: stefanopilla
Commento:
Versione 26 del 2011-03-16 15:17:26
Dimensione: 12535
Autore: G104cch1n0
Commento: better way to tell same things help by Giulius
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
= About Google Summer of Code = = About the Google Summer of Code =
Linea 18: Linea 18:
----
<<TableOfContents>>
Linea 26: Linea 28:
 * Nino Ciurleo
 * Marco Giuntini

'''Students'''

 * Gioacchino Mazzurco
 * Vittorio Cuculo
Linea 30: Linea 39:
Freimap is a visualization and analysis environment for mesh networks, such as for example Ninux.org. This software is able to display all informations about the topology of the network and interact with the OLSR nodes. This "new" Freimap can be seen from two point of view: Freimap is a visualization and analysis environment for mesh networks, such as Ninux.org. This software is able to display all the information about the topology of a mesh network and interact with OLSR nodes. This "new" Freimap can be seen from two points of view:
Linea 35: Linea 44:
The first is that currently the software is. You can draw graphs  about links (LQ, NLQ, ETX etc) and see the data of a single node, find  service with service discovery, etc... The second is what the software can do with the interaction with Netkit that is an emulation tool. The idea is to make a module for the emulation of a node to see how it works in a particular position and environment. This means to have the possibility to test and configure it before implement all in the reality and also have the possibility to create an emulated mesh network in a few minutes!! The first depicts what currently the software is. You can draw graphs based on link data (LQ, NLQ, ETX etc) and see the information on a single node, find services with service discovery, etc... The second instead is what the software could do through interaction with the emulation framework Netkit. The key idea is to design and implement a module for the emulation of a network node to see how it works in a particular position and environment. This means having the possibility to test and configure it before deployment and also to build an emulated mesh network in a few minutes!!
Linea 50: Linea 60:
Actually Freimap is a standalone software. If you want to use it you have to download, install it and configure it. In the era of web 2.0 a lot of people have permanent access to the internet so most applications has been transferred on the web with the main purpose to use these apps everywhere you are and when you want. The only requirement is an internet connection. In this scenario you can get all informations that you need (e-mail, chat, etc) about mesh networks anywhere at anytime…Freimap like a Web Application means: Currently Freimap is a standalone software. If you want to use it you have to download, install it and configure it. In the era of web 2.0 a lot of people have permanent access to the Internet so most applications have been transferred on the web with the main purpose to use these apps wherever the users are and wherever they want, the only requirement being an Internet connection. In this scenario an user can access all information that is needed (e-mail, chat, etc) about mesh networks anywhere at anytime. Freimap like a Web Application means:
Linea 52: Linea 62:
 * Create a tool completely indipendent from the operating system
 * Create a tool accessible to all at anytime and everywhere
 * Creating a tool that is completely independent from the operating system
 * Creating a tool that is accessible to everybody at anytime and everywhere
Linea 56: Linea 66:
During the GSoC2010 has been presented a project titled: "Define a common node database schema". This is the first steps for the development of this kind of application. Define a common node database schema can simplify the development of a software that could be used by all wireless communities. During the GSoC2010 it has been presented a project entitled: "Define a common node database schema". This is one of the first steps for the development of this kind of application. The definition of a common node database schema can simplify the development of a software that could be used by all wireless communities.
Linea 58: Linea 68:
The second step is to make a porting from Java to Javascript but the automatic porting java/swing to javascript is to difficult to apply (there are some software that do that but aren’t bug-free). The main idea is to obtain javascript source code that can be simply editable on which build the new FreiMap WebApp. So for the current structure we have to rewrite only a part of Freimap software. This is the most important part, that receive informations from datasource and draws it thanks to the MainLayer. It appears to simply to put the servlet interface and run it as a servlet container (i.e. Apache Tomcat) The second step is to make a porting from Java to Javascript but the automatic porting java/swing to javascript is too difficult to apply (there is some software that do that but are not bug-free). The main idea is to obtain javascript source code that can be editable in a simple fashion on which the new FreiMap WebApp can be built. So for the current structure we have to rewrite only a part of Freimap software. This is the most important part, that receive informations from datasource and draws it thanks to the MainLayer. It appears to simply to put the servlet interface and run it as a servlet container (i.e. Apache Tomcat)
Linea 71: Linea 81:
 *
<<Anchor(MeshSocialNetwork)>>
== Social Network suitable for Mesh ==
=== General Description ===
Intensive use of social network services is the cause of a big part of the traffic in our Mesh Network, our Internet bandwidth is limited end we forecast that we cannot provide bandwidth for the increasing number of people connecting, so a possible solution to reduce the dependence from the Internet is to provide most used services like social networking also inside the mesh in a distributed fashion.

Make Social Network suitable for Mesh means:
 * Create a distributed social network, targeted also for mobile systems like android.
 * Provide mobile integration and synchronization for android address-book.
 * Provide auto-discovery between servers trough [[http://en.wikipedia.org/wiki/Zeroconf|Zeroconf]].
 * Provide auto-discovery between servers and clients trough [[http://en.wikipedia.org/wiki/Zeroconf|Zeroconf]].
 * Use [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]] as backend.

||<tablewidth="501px" tableheight="82px">'''Useful Skills: ''' ||Ruby, [[http://en.wikipedia.org/wiki/Zeroconf|Zeroconf]], HTML5, Javascript, Ajax, MySql, [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]]||
||'''Type of Work:''' ||Coding ||
||'''Level from Beginner <br>1-5 Professional:''' ||4 Semi-Professional ||

<<Anchor(MeshVideoconferencingNetwork)>>
== Videoconferencing suitable for Mesh Networks ==
=== General Description ===
Many people want to use VOIP in our mesh network but they step into some problems:
 * Existent major videoconferencing solutions depend on the Internet ( like skype or gtalk )
 * Most of major existent videoconferencing solutions have not a good mobile phone integration ( like skype )
 * Most of major existent videoconferencing solutions doesn't support ipv6 ( our network is primarily ipv6 )
 * Internet bandwidth on our network is going towards exhaustion

To solve these issues we decided to implement Videoconferencing suitable for Mesh Networks:
 * Create a distributed VOIP network compatible with good integrated VOIP clients, targeted also for mobile systems like android.
 * Provide mobile integration and synchronization for android address-book.
 * Use [[http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol|XMPP]] + [[http://en.wikipedia.org/wiki/Jingle_%28protocol%29|Jingle]] as protocol.
 * Use [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]] as backend.

||<tablewidth="501px" tableheight="82px">'''Useful Skills: ''' ||Java, Ruby, [[http://en.wikipedia.org/wiki/Zeroconf|Zeroconf]], [[http://en.wikipedia.org/wiki/Jingle_%28protocol%29|Jingle]], [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]]||
||'''Type of Work:''' ||Coding ||
||'''Level from Beginner <br>1-5 Professional:''' ||4 Semi-Professional ||

<<Anchor(MeshFilesharingNetwork)>>
== Filesharing suitable for Mesh Networks ==
=== General Description ===
Many people want to share files in our mesh network but they step into some problems:
 * Existent major P2P solutions depend on the Internet ( like emule or torrent )
 * Most of major existent P2P solutions doesn't support ipv6
 * Folder sharing like samba doesn't provide efficient file search
 * People prefer to share depending on relationships, for example you want share some photos with your school companion but not with your headmaster.
 * Internet bandwidth on our network is going towards exhaustion

To solve these issues we decided to implement Filesharing suitable for Mesh Networks:
 * Create a distributed filesharing networks, targeted also for mobile systems like android.
 * File access policy is strongly based on user's defined groups.
 * Files are accessible directly from user web interface.
 * Use [[http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol|XMPP]] + [[http://en.wikipedia.org/wiki/Jingle_%28protocol%29|Jingle]] as protocol.
 * Use [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]] as backend.

||<tablewidth="501px" tableheight="82px">'''Useful Skills: ''' ||Java, Ruby, HTML5, Javascript, Ajax, MySql, [[http://en.wikipedia.org/wiki/Zeroconf|Zeroconf]], [[http://en.wikipedia.org/wiki/Jingle_%28protocol%29|Jingle]], [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]]||
||'''Type of Work:''' ||Coding ||
||'''Level from Beginner <br>1-5 Professional:''' ||4 Semi-Professional ||

<<Anchor(MeshSocialGeotagging)>>
== Social Geotagging suitable for Mesh Networks ==
=== General Description ===
Many people in our mesh network want to know/share where their friends/them are but they step into some problems:
 * Existent major geotagging solutions depend on the Internet ( like foursquare )
 * Most of major existent geotagging solutions doesn't support ipv6
 * People prefer to share their position depending on relationships, for example you want know when your familiar or friends are next to you, but not your school classmates.
 * Internet bandwidth on our network is going towards exhaustion

To solve these issues we decided to implement Social Geotagging suitable for Mesh Networks:
 * Create a distributed social geotagging, targeted also for mobile systems like android.
 * Position access policy is strongly based on user's defined groups.
 * Use [[http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol|XMPP]] as protocol.
 * Use [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]] as backend.

||<tablewidth="501px" tableheight="82px">'''Useful Skills: ''' ||Java, Ruby, HTML5, Javascript, Ajax, MySql, [[http://en.wikipedia.org/wiki/Zeroconf|Zeroconf]], [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|Diaspora-x]]||
||'''Type of Work:''' ||Coding ||
||'''Level from Beginner <br>1-5 Professional:''' ||4 Semi-Professional ||


== RadioMate Frontend ==
=== General Description ===
[http://radiomate.org | Radiomate]] (Radio Automation Made Easy) is a modular web-radio engine developed for the Google SoC 2010.
The work was motivated by the many web radios related to community networking projects.
In Rome, for example, the Web radio FusoRadio is present but is currently using proprietary systems.
The development of the RadioMate engine is finished, but a complete Web frontend is missing to start using it in a production environment.

||<tablewidth="501px" tableheight="82px">'''Useful Skills: ''' ||HTML5, Javascript, Ajax, knowledge of a [[https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_JavaScript_frameworks|Javascript Framework]] ||
||'''Type of Work:''' ||Coding ||
||'''Level from Beginner <br>1-5 Professional:''' ||4 Semi-Professional ||

More info:

 * http://radiomate.org
 * http://wiki.ninux.org/Radiomate
 * http://wiki.ninux.org/Radiomate/Architecture

== End to End Measurement tool ==


== Mesh Network Management Tool ==
Linea 79: Linea 187:
If you are interested to partecipate please contact If you are interested to participate please contact

Google summer of Code 2011

For the year 2011 the Ninux.org community decided to participate to Google Summer of Code (GSoC 2011).

About the Google Summer of Code

Here some info on GSoC

http://code.google.com/images/GSoC2011_300x200.png

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We have worked with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together nearly 2500 successful student participants and 2500 mentors from 98 countries worldwide, all for the love of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.

To know more:

Participants

By now we list some people that proposed to be Mentors of Ninux.org gets accepted to GSoC 2011

Mentors

  • Saverio Proto
  • Stefano Pilla
  • Nino Ciurleo
  • Marco Giuntini

Students

  • Gioacchino Mazzurco
  • Vittorio Cuculo

GSoC Project Ideas 2011

Freimap as virtualization/visualization tool

General Description

Freimap is a visualization and analysis environment for mesh networks, such as Ninux.org. This software is able to display all the information about the topology of a mesh network and interact with OLSR nodes. This "new" Freimap can be seen from two points of view:

  • As a visualization tool
  • As a virtualization tool

The first depicts what currently the software is. You can draw graphs based on link data (LQ, NLQ, ETX etc) and see the information on a single node, find services with service discovery, etc... The second instead is what the software could do through interaction with the emulation framework Netkit. The key idea is to design and implement a module for the emulation of a network node to see how it works in a particular position and environment. This means having the possibility to test and configure it before deployment and also to build an emulated mesh network in a few minutes!!

Useful Skills:

Java, Javascript, Php, MySql, Netkit, UML, OLSR

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

More info:

Freimap WebApplication

General Description

Currently Freimap is a standalone software. If you want to use it you have to download, install it and configure it. In the era of web 2.0 a lot of people have permanent access to the Internet so most applications have been transferred on the web with the main purpose to use these apps wherever the users are and wherever they want, the only requirement being an Internet connection. In this scenario an user can access all information that is needed (e-mail, chat, etc) about mesh networks anywhere at anytime. Freimap like a Web Application means:

  • Creating a tool that is completely independent from the operating system
  • Creating a tool that is accessible to everybody at anytime and everywhere
  • Have a more flexible tool

During the GSoC2010 it has been presented a project entitled: "Define a common node database schema". This is one of the first steps for the development of this kind of application. The definition of a common node database schema can simplify the development of a software that could be used by all wireless communities.

The second step is to make a porting from Java to Javascript but the automatic porting java/swing to javascript is too difficult to apply (there is some software that do that but are not bug-free). The main idea is to obtain javascript source code that can be editable in a simple fashion on which the new FreiMap WebApp can be built. So for the current structure we have to rewrite only a part of Freimap software. This is the most important part, that receive informations from datasource and draws it thanks to the MainLayer. It appears to simply to put the servlet interface and run it as a servlet container (i.e. Apache Tomcat)

Useful Skills:

Java, Javascript, Php, MySql, OLSR, Ajax, GWT, DOM, HTML 5, Apache

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

More info:

Social Network suitable for Mesh

General Description

Intensive use of social network services is the cause of a big part of the traffic in our Mesh Network, our Internet bandwidth is limited end we forecast that we cannot provide bandwidth for the increasing number of people connecting, so a possible solution to reduce the dependence from the Internet is to provide most used services like social networking also inside the mesh in a distributed fashion.

Make Social Network suitable for Mesh means:

  • Create a distributed social network, targeted also for mobile systems like android.
  • Provide mobile integration and synchronization for android address-book.
  • Provide auto-discovery between servers trough Zeroconf.

  • Provide auto-discovery between servers and clients trough Zeroconf.

  • Use Diaspora-x as backend.

Useful Skills:

Ruby, Zeroconf, HTML5, Javascript, Ajax, MySql, Diaspora-x

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

Videoconferencing suitable for Mesh Networks

General Description

Many people want to use VOIP in our mesh network but they step into some problems:

  • Existent major videoconferencing solutions depend on the Internet ( like skype or gtalk )
  • Most of major existent videoconferencing solutions have not a good mobile phone integration ( like skype )
  • Most of major existent videoconferencing solutions doesn't support ipv6 ( our network is primarily ipv6 )
  • Internet bandwidth on our network is going towards exhaustion

To solve these issues we decided to implement Videoconferencing suitable for Mesh Networks:

  • Create a distributed VOIP network compatible with good integrated VOIP clients, targeted also for mobile systems like android.
  • Provide mobile integration and synchronization for android address-book.
  • Use XMPP + Jingle as protocol.

  • Use Diaspora-x as backend.

Useful Skills:

Java, Ruby, Zeroconf, Jingle, Diaspora-x

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

Filesharing suitable for Mesh Networks

General Description

Many people want to share files in our mesh network but they step into some problems:

  • Existent major P2P solutions depend on the Internet ( like emule or torrent )
  • Most of major existent P2P solutions doesn't support ipv6
  • Folder sharing like samba doesn't provide efficient file search
  • People prefer to share depending on relationships, for example you want share some photos with your school companion but not with your headmaster.
  • Internet bandwidth on our network is going towards exhaustion

To solve these issues we decided to implement Filesharing suitable for Mesh Networks:

  • Create a distributed filesharing networks, targeted also for mobile systems like android.
  • File access policy is strongly based on user's defined groups.
  • Files are accessible directly from user web interface.
  • Use XMPP + Jingle as protocol.

  • Use Diaspora-x as backend.

Useful Skills:

Java, Ruby, HTML5, Javascript, Ajax, MySql, Zeroconf, Jingle, Diaspora-x

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

Social Geotagging suitable for Mesh Networks

General Description

Many people in our mesh network want to know/share where their friends/them are but they step into some problems:

  • Existent major geotagging solutions depend on the Internet ( like foursquare )
  • Most of major existent geotagging solutions doesn't support ipv6
  • People prefer to share their position depending on relationships, for example you want know when your familiar or friends are next to you, but not your school classmates.
  • Internet bandwidth on our network is going towards exhaustion

To solve these issues we decided to implement Social Geotagging suitable for Mesh Networks:

  • Create a distributed social geotagging, targeted also for mobile systems like android.
  • Position access policy is strongly based on user's defined groups.
  • Use XMPP as protocol.

  • Use Diaspora-x as backend.

Useful Skills:

Java, Ruby, HTML5, Javascript, Ajax, MySql, Zeroconf, Diaspora-x

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

RadioMate Frontend

General Description

[http://radiomate.org | Radiomate]] (Radio Automation Made Easy) is a modular web-radio engine developed for the Google SoC 2010. The work was motivated by the many web radios related to community networking projects. In Rome, for example, the Web radio FusoRadio is present but is currently using proprietary systems. The development of the RadioMate engine is finished, but a complete Web frontend is missing to start using it in a production environment.

Useful Skills:

HTML5, Javascript, Ajax, knowledge of a Javascript Framework

Type of Work:

Coding

Level from Beginner <br>1-5 Professional:

4 Semi-Professional

More info:

End to End Measurement tool

Mesh Network Management Tool

More Info

About GSOC 2011: http://www.google-melange.com/

Previous Edition GSOC 2010: http://socghop.appspot.com/gsoc/program/home/google/gsoc2010

Contact

If you are interested to participate please contact

contatti@ninux.org .

Thank You!