What Is GENI?¶
GENI is both a project sponsored by the NSF and commonly refers to a number of applications and tools used to build and experiment with high-speed programmable networks. These tools are being developed by various institutions, and the efforts surrounding GENI are still very much in progress.
A Short Background (Or, What Are the Limitations of the Internet Today?)¶
The landscape of the internet has changed dramatically since its beginnings as ARPANET in 1969. The devices using it have grown to include everything from PCs, laptops, and mobile phones to TVs, cars, and refrigerators. In addition to the range of devices, growing advanced in video and voice technology require greater bandwidth.
Although some of these applications were foreseeable, this is not what the current architecture of the internet was intended for.
Vint Cerf, widely considered a father of the internet gives a talk below, commenting on the internet’s beginnings and its inherent limitations.
A Global Environment for Network Innovations (GENI)¶
Experimentation and research into highspeed networks, new protocols, and distributed applications was previously limited to isolated labs. The GENI project was started to facilitate wide-scale experimentation — creating a virtual laboratory where engineers, researchers, and developers have access to:
- Programmable Networks: Routers can be programmed to handle packets in new ways; opening the door to experimenting with alternatives to the core protocols of the internet.
- Gigabit Networks: High speed networks that are 250 times faster than what is available today
- Virtual Machines: Provisionable environments for running applications that leverage these programmable, high-speed networks.
GENI refers to both the overall project and the suite of tools and services that have been developed around the 3 items above. This documentation exists to show you how, as a developer, you can get set up and write your own next-generation applications.