== Tutorial: Quick and easy network service and packet processing using !NetServ == ==== Organizers ==== Jae Woo Lee, ''Columbia Univ.''; Roberto Francescangeli, ''Univ. of Perugia'' ==== Time ==== Thurs 3:30 - 5:30 pm === Description === !NetServ is a programmable router architecture, designed for dynamically deploying in-network services. Using !NetServ, GENI experimenters can write TCP/IP and packet processing application modules quickly in Java, and dynamically install them into any !NetServ-enabled ProtoGENI or !PlanetLab nodes. In this hands-on tutorial, you will learn the !NetServ architecture, and develop a simple !NetServ application module. A step-by-step instruction is available here: [wiki:NetServTutorialInstruction] === Prerequisites: === ==== Required: ==== - Basic understanding of GENI concepts - Java programming experience ==== Helpful, but not required: ==== - Experience working with ProtoGENI (covered in an earlier tutorial: Introduction to GENI using Flack by Rob Ricci) === Please arrive with: === A laptop with Pre-work completed (see below) if you want to follow along the hands-on tutorial. === Pre-work: === ==== Required: ==== None, if you simply wants to watch the tutorial. If you want to follow along the tutorial with your hands on the keyboard: - Bring a laptop with !VirtualBox (http://www.virtualbox.org/) installed. - Download and import into !VirtualBox the GEC12 Tutorial VM. ==== Suggested background materials if you have time: ==== - 14-minute video of !NetServ demo at GEC9 plenary session: http://vimeo.com/16474575 - Latest paper describing !NetServ (14 pages): http://www.cs.columbia.edu/~jae/papers/netserv-2011-10-v2.1.pdf === Results: === After completing this tutorial, you will: - Understand !NetServ architecture--for example, how various technologies such as Netfilter, JNI and OSGi work together to enable packet processing in Java. - See how !NetServ can shorten the development cycle of your experiments, and how it can create a gentler educational environment for your networking classroom. - Know how to write a !NetServ application module.