History of Jagornet DHCPv6

In 1997, I began working for Quadritek (later acquired by Lucent), where I was responsible for developing the "world's fastest" DHCPv4 server - QDHCP.  It was multithreaded, supported multiple NICs, and ran on multiple platforms - Windows, Solaris, Linux, AIX, HP-UX.  You can imagine the difficulties in maintaining that support for a server implemented in C/C++.

In 2002, Java 1.4 was introduced, including IPv6 and "new" IO support.  These features made it possible to consider Java as a viable language for cross-platform development of a low-level protocol server such as DHCP.

In late 2002, I began working on a prototype of a stateless DHCPv6 server in Java.  It started as a simple proof-of-concept that I played with every so often, like in the cold winter months of Philly.  Over the course of a couple years, I toyed with various home-grown server frameworks.  As soon as I had a working prototype using one of my frameworks, I would decide I did not like it, and start with a new design - typical engineer!

From mid 2004 through 2005, development of the prototype was halted while I was busy caring for my dear, sweet, wonderful, and beautiful, late wife, who was diagnosed with a brain tumor, yet lived a full and gracious life until her death on Christmas Eve, 2005.  May she rest in peace.

In late 2006, Java 6 was released, with a host of improvements, including virtually native performance levels.  Finally, Java was really on par with native C/C++ with respect to performance.  Many low level issues related to multiple NICs and broadcast and multicast packets were improved, with more to come in Java 7.

In mid 2007, development of the DHCPv6 server began again in earnest.  Well, not really, there was still much grieving... but I digress.  In any event, I threw out all of my home-grown server architectures in favor of Apache MINA (originally developed by Trustin Lee).  The framework was much better than my lame attempts, so I refactored all of my DHCPv6 protocol handling code to work with MINA.

In early 2008, the first, legitimate prototype successfully passed all stateless server interoperability tests at an event held at Comcast HQ in Philadelphia with the majority of commercial and open source DHCPv6 client and server vendors.

The later part of 2008 was spent toying with a GUI for the server.  This was an excuse to learn Google Web Toolkit (GWT).

Jagornet Technologies, LLC was formed in January 2009.

In April 2009, the source code of the Jagornet DHCPv6 Server Community edition was moved to Google Code hosting, and version 0.9.5 was released, with support for stateless DHCPv6 server only.

From 2009 through early 2010, stateful DHCPv6 server behavior was added, including support for DDNS updates.  In addition, the MINA-based implementation was scrapped in favor of JBoss Netty (what Trustin Lee created after leaving MINA).

In April 2010, Jagornet 1.0 DHCPv6 Server beta was released.  The remainder of the year was spent working towards IPv6 Ready certification, which involved passing the TAHI DHCPv6 tests for conformance as well as performing and verifying an extensive suite of interoperability tests.

In March 2011, Jagornet 1.0 DHCPv6 Server passes IPv6 Phase II Ready Certification for DHCPv6 server, and is released for general availability on Google Code.
Comments