RELEASE-NOTES
changeset 0 2b3e5ec03512
equal deleted inserted replaced
-1:000000000000 0:2b3e5ec03512
       
     1 Release Notes for DTN2
       
     2 ----------------------
       
     3 
       
     4 2.7.0 (February 2010)
       
     5 -----------------
       
     6 
       
     7 - Additions and updates to the DTN2 documentation (Please
       
     8   see DTN2/doc/manual/index.html). Documentation and examples provided
       
     9   for configuration file and command line options, arguments and syntax
       
    10   for routing protocols and algorithms, storage back ends, CLAs, link,
       
    11   interface, discovery, logging and debug parameters.
       
    12 
       
    13 - Additions and updates to the tcl commands for link, storage, bundle, route,
       
    14   discovery, and interface to provide detail on available options
       
    15   and arguments and syntax when help is requested.
       
    16 
       
    17 - Various other minor updates and bugfixes including Ubuntu 9.10
       
    18   (karmic) compatibility and compensate for lack of "hyper" type in xdr.
       
    19 
       
    20 - Change of build to stop creation of oasys-->../oasys symlinks which
       
    21   lead to recursion within oasys (i.e. /oasys/include/oasys/include/oasy..n 
       
    22   & oasys/share/oasys/share/oa..n).
       
    23 
       
    24 - Provide more searches and feedback during build. 
       
    25 
       
    26 - Support for 64-bit creation time, sequence number, and expiration time.
       
    27 
       
    28 - Addition of dtnsource and dtnsink stress-test programs. 
       
    29 
       
    30 - A NORM convergence layer (experimental) requires the NORM protocol 
       
    31   implementation from NRL see the installation doc 
       
    32 
       
    33 - A LTP convergence layer requires the LTPlib protocol implementation 
       
    34   from Trinity College Dublin see the installation doc 
       
    35 
       
    36 - Added code to check if TCP Convergence Layer needs to send/receive ACKS.
       
    37   Fix of issue related to sending bundles that are larger than the link 
       
    38   MTU from ION to DTN2
       
    39 
       
    40 - servlib/bundling/BundleDaemon.cc::event_handlers_completed: Correct sanity checking.
       
    41 
       
    42 - Fix PrOPHET problems: dtnping does not reply & dtnd segfaults after a while
       
    43 
       
    44 - DTNPerf 2.6 release.
       
    45 
       
    46 2.6.0 (July 2008)
       
    47 -----------------
       
    48 
       
    49 - Updated the source control system to mercurial, splitting the oasys
       
    50   library into a fully separate package and changing the configuration,
       
    51   build, and packaging accordingly.
       
    52 
       
    53 - Added a session layer with a publish / subscribe based interface and
       
    54   multicast capabilities as well as the ability to order bundles by
       
    55   sequence identifier and express that prior transmissions should be
       
    56   proactively deleted in-network.
       
    57 
       
    58 - Updated DTLSR to support the session layer and route advertisements
       
    59   as well as miscellaneous other bug fixes.
       
    60 
       
    61 - Restructured the core forwarding path and the router <-> convergence
       
    62   layer interface, getting rid of the BUSY state management and
       
    63   (hopefully) improving stability and scalability.
       
    64 
       
    65 - Changed the contract between the core forwarding logic and the
       
    66   router implementation to give the router better control over when
       
    67   bundles are deleted from the system.
       
    68 
       
    69 - Changed the Bundle class internals to make all member variables
       
    70   private, adding accessor functions for manipulation and state
       
    71   retrieval and improve efficiency in internal storage.
       
    72 
       
    73 - Added additional API function accesses through the SWIG interface and
       
    74   parse status reports that are returned to the app. Also removed the
       
    75   limitation on the size of bundles that can be returned in memory.
       
    76 
       
    77 - Added a fix so that bundles aren't delivered twice to the same
       
    78   registration and changes to the core forwarding path to support
       
    79   modified topologies.
       
    80 
       
    81 - Incorporated patches from BBN to fix bugs during shutdown, more
       
    82   efficient comparisons, memory leak and dangling pointer fixes, and
       
    83   modified handling of duplicate bundles.
       
    84 
       
    85 - Fixed a bunch of bugs in the dtntunnel application.
       
    86 
       
    87 - Incorporated various updates to the prophet implementation from Jeff
       
    88   Wilson.
       
    89 
       
    90 - Various other minor updates and bugfixes including Mac OS X 10.5
       
    91   (Leopard) compatibility.
       
    92 
       
    93 
       
    94 2.5.0 (October 2007)
       
    95 -------------------
       
    96 - Integrated support for the Bundle Security Protocol blocks,
       
    97   contributed by SPARTA.
       
    98 
       
    99 - Using SWIG, added bindings to export a version of the application
       
   100   interface to different scripting languages, currently supporting
       
   101   Tcl, Python, and Perl.
       
   102 
       
   103 - Implemented a polling feature in the API so applications can use
       
   104   select() to wait for bundle arrivals on the IPC handle.
       
   105 
       
   106 - Added a dtnhttpproxy application to route http requests over a DTN
       
   107   network.
       
   108 
       
   109 - Add a feature to the routing table to allow routes to point to
       
   110   alternate endpoint id instead of only a next hop link.
       
   111 
       
   112 - Fixed the compilation errors in the 2.4.0 release when trying to
       
   113   build external components. Changed the default configuration for
       
   114   these components to be enabled by default to avoid this oversight in
       
   115   the future.
       
   116 
       
   117 - Fixed the rpm specification file so the rpm builds work again.
       
   118 
       
   119 - Minor miscelleneous other bug fixes and features.
       
   120 
       
   121 2.4.0 (July 2007) 
       
   122 -----------------
       
   123 
       
   124 - BBN updated the protocol implementation to conform to BP spec
       
   125   version 10, implementing bundle protocol version 5, converting most
       
   126   fixed-length fields to SDNVs and several other changes.
       
   127 
       
   128 - BBN added support for external convergence layers and data stores,
       
   129   matching the DTN reference architecture specification, as well as
       
   130   support for deleting links.
       
   131 
       
   132 - BBN added support for the metadata extension block and improved
       
   133   fragmentation handling.
       
   134 
       
   135 - Added a new router implementation called DTLSR (Delay Tolerant Link
       
   136   State Routing) intended for environments where the inter-node
       
   137   relationships are fairly stable, but links may go up and down.
       
   138 
       
   139 - Added support for forwarding a bundle with a wildcard destination to
       
   140   multiple next-hops, which can be used to implement simple or
       
   141   constrained flooding even with the static router.
       
   142 
       
   143 - Significantly improved the DTN simulator environment including
       
   144   adding support for bandwidth and storage limits on nodes, a
       
   145   structured output format for better post-processing of simulation
       
   146   results, and an internal restructuring making the simulation
       
   147   environment match the real-world environment much more closely.
       
   148 
       
   149 - Reworked the internal class used to represent bundle payloads so
       
   150   that the router can now support fully in-memory bundles which can
       
   151   safely contain binary data in all cases.
       
   152 
       
   153 - Jeff Wilson did a complete rewrite of the Prophet router
       
   154   implementation.
       
   155 
       
   156 - Changed the API to include bundle creation timestamp when receiving
       
   157   a bundle so that it's available to applications that may need it.
       
   158 
       
   159 - Added support for neighbor discovery that uses multicast dns (aka
       
   160   Apple's Bonjour protocol). Reworked the internal structure of the
       
   161   neighbor discovery subsystem.
       
   162 
       
   163 - Made optimizations to the table based routers (including the default
       
   164   static router) to be more efficient when links are coming up and
       
   165   down.
       
   166 
       
   167 - Updated the dtntunnel application to support tunnelling protocols
       
   168   where the server side is the first to send data. Reworked command
       
   169   line arguments to be more intuitive (and similar to ssh tunnels).
       
   170 
       
   171 - Added a dtntraceroute application that sends a single bundle, with a
       
   172   bunch of status report flags turned on and prints out the times
       
   173   embedded in the status reports that come back.
       
   174 
       
   175 - Modified the build environment to enable liboasys and libdtnapi to
       
   176   be built as shared libraries, and thereby used via SWIG export to
       
   177   other programming languages.
       
   178 
       
   179 - Resurrected the Cygwin build though it's not yet back to full
       
   180   functionality.
       
   181 
       
   182 2.3.0 (December 2006)
       
   183 ---------------------
       
   184 
       
   185 - Rewritten and documented TCP convergence layer, with support for
       
   186   bidirectional communication over a single socket.
       
   187 
       
   188 - Default port used by TCP & UDP convergence layers is now 4556, newly
       
   189   registered with IANA.
       
   190 
       
   191 - Improvements to the Bluetooth convergence layer (by Jeff Wilson) to
       
   192   use the same common stream based convergence layer base class as is
       
   193   used by TCP.
       
   194 
       
   195 - Refactored bundle protocol handling code into separate block
       
   196   processing modules allowing for easier integration of security and
       
   197   other extension blocks.
       
   198 
       
   199 - Integrated full support for extension blocks.
       
   200 
       
   201 - External router interface (by MITRE) using XML to communicate
       
   202   between the router and the daemon.
       
   203 
       
   204 - Initial support for a neighborhood discovery mechanism (by Jeff
       
   205   Wilson) using either UDP multicast/broadcast or Bluetooth's builtin
       
   206   service discovery protocols.
       
   207 
       
   208 - Major enhancements to the Prophet router implementation (by Jeff
       
   209   Wilson).
       
   210 
       
   211 - Added dtntunnel and dtncat applications. Reworked and enhanced the
       
   212   dtnping application.
       
   213 
       
   214 - Modified the core for 64-bit compatibility.
       
   215 
       
   216 - Various stability and performance improvements.
       
   217 
       
   218 - Resurrection of the dtnsim simulator (by Seguti Gutierrez-Nolasco)
       
   219   for simple bundle transmission.
       
   220 
       
   221 - Switched most of the code from the Intel Open Source License to the
       
   222   Apache License.
       
   223 
       
   224 2.2.0 (March 2006)
       
   225 ------------------
       
   226 
       
   227 - Various changes for conformance with version 4 of the bundle
       
   228   protocol as specified in the Bundle Protocol Internet Draft, as
       
   229   released on November 2005.
       
   230 
       
   231 - Initial implementation of custody transfer, including
       
   232   flexible per-route timing specifications for retransmissions.
       
   233 
       
   234 - Initial implementation of a Bluetooth convergence layer from Jeff
       
   235   Wilson <Jeff_Wilson@baylor.edu>.
       
   236 
       
   237 - Added support for the ARM architecture, gcc 4.0, and BerkeleyDB 4.4.
       
   238 
       
   239 - Added support for a file system based persistent storage
       
   240   implementation as an alternative to Berkeley DB.
       
   241 
       
   242 - Many minor changes to improve stability and robustness of the code,
       
   243   largely due to an improved testing infrastructure including several
       
   244   tcl based system tests.
       
   245 
       
   246 - Miscellaneous other improvements including: a persistent
       
   247   ForwardingLog for each bundle to maintain the history of where (and
       
   248   when) the bundle was sent to peers, restored support for reactive
       
   249   fragmentation, a NullConvergenceLayer and other testing hooks, and
       
   250   some scalability improvements.
       
   251 
       
   252 2.1.99 (December 2005)
       
   253 ----------------------
       
   254 
       
   255 - Widespread changes for conformance to the latest version of the
       
   256   bundle protocol specification document including replacing the
       
   257   region/admin syntax and BundleTuple class with a new EndpointID
       
   258   class that is a standard URI, and replacing fixed-length values in
       
   259   the protocol with SDNVs.
       
   260   
       
   261   ** NOTE: Due to time constraints, this task was not completed, so
       
   262      this release does not include the full bundle spec support,
       
   263      though the next one will.
       
   264 
       
   265 - Completed implementation of expiration timers for both bundles and
       
   266   application registrations, as specified by the protocol document and
       
   267   architecture specification.
       
   268 
       
   269 - Removed the use of AddressFamily classes from the configuration of
       
   270   the Interface and Link classes, moving the address specification
       
   271   into the convergence layer specifically.
       
   272 
       
   273 - Faster and more robust configure scripts, including support for
       
   274   configuring a build directory that's different from the source
       
   275   directory. Improved build system so make -j works to build in
       
   276   parallel. Add support for the gcc-4.0 series of compilers.
       
   277 
       
   278 - Other minor cleanup of Bundle class field names and associated
       
   279   types to match the protocol document more clearly.
       
   280 
       
   281 - Rework some of the RPC API to have the daemon construct an
       
   282   appropriate endpoint id (in a scheme-specific manner).
       
   283 
       
   284 - Significant rework of the control flow of Bundles through the
       
   285   system, including the state machine for Links, a reduction in the
       
   286   number of BundleList queues around the code, and an overall
       
   287   simplification of the control flow.
       
   288 
       
   289 - Update the TCP and UDP convergence layers: removed fixed-width
       
   290   length fields from TCP; added pipelining so multiple bundles can be
       
   291   "in-flight" on a single TCP connection; removed all the framing
       
   292   overhead from UDP by simply sending a bundle per UDP datagram.
       
   293 
       
   294 - Support added for Cygwin as well as Apple OS X.
       
   295 
       
   296 2.1.1 (March 2005)
       
   297 ------------------
       
   298 - Patch to configure script to fix build problems on Apple OS X due to
       
   299   a conflict with a system include file (demmer).
       
   300 
       
   301 - Bug fix in oasys/io/NetUtils.cc so getaddrinfo works properly on OS
       
   302   X (or generally any IPv6 enabled system).
       
   303 
       
   304 - Minor updates to the manual and tutorials (jra).
       
   305 
       
   306 2.1.0 (March 2005)
       
   307 ------------------
       
   308 - Major restructuring of the configuration and build process to use
       
   309   autoconf to generate configure specifications
       
   310 
       
   311 - Additional ports to solaris, cygwin, MacOS X, and FreeBSD, as well
       
   312   as linux on ARM (sharp zaurus) both cross-compiled and native.
       
   313 
       
   314 - Major change to the BundleRouter interface to remove the "delayed
       
   315   effect" problems of the action list interface. Now all operations
       
   316   are immediately enacted by a BundleActions class.
       
   317 
       
   318 - Simplify the syntax for the link and interface commands to no longer
       
   319   require a full bundle tuple, but instead just the admin portion.
       
   320   This avoids the confusion in that the region portion was always
       
   321   ignored.
       
   322 
       
   323 - Reorganization of the test directories in both oasys and DTN2,
       
   324   including the introduction of a unit testing framework in oasys and
       
   325   the conversion of some tests to the new framework.
       
   326 
       
   327 - Added framework for link-specific option parsing for the convergence
       
   328   layers.
       
   329 
       
   330 - New version of the TCP convergence layer protocol, to be formally
       
   331   specified further in an internet draft. Addition of an idle time
       
   332   negotiation to close idle connections. Initial work on a feature for
       
   333   receiver-initiated connection to be used to traverse NAT routers.
       
   334 
       
   335 - New version of the UDP convergence layer protocol that tightens up
       
   336   the protocoll and makes more sense divergent from the tcp one.
       
   337 
       
   338 - Change the bundling protocol implementation to use NTP timestamps as
       
   339   mandated by the bundling protocol internet draft.
       
   340 
       
   341 - Initial work on integrating the dtnsim simulation environment with
       
   342   the core of the daemon.
       
   343 
       
   344 - Many other miscellaneous small changes and bug fixes.
       
   345 
       
   346 
       
   347 2.0.2 (December 2004)
       
   348 ---------------------
       
   349 - (very minor) change to enable Berkeley DB 4.3 usage
       
   350 
       
   351 2.0.1 (December 2004):
       
   352 ---------------------
       
   353 
       
   354 - First public release of the DTN2 code: stable design and overall
       
   355   code structure, though still numerous features left to be
       
   356   implemented.
       
   357 
       
   358 - Features include:
       
   359 
       
   360   - conformance to the IETF draft Bundle Protocol specification version 3
       
   361 
       
   362   - functional implementation of a TCP convergence layer and address
       
   363     capabilities amenable to internet-connected hosts
       
   364 
       
   365   - static bundle router implementation
       
   366 
       
   367   - proactive and reactive fragmentation
       
   368 
       
   369   - flexible storage framework adaptable to Berkeley DB, mysql, or
       
   370     postgresql underlying implementations