1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
Diffusion 3.2.0
---------------
- Added support for blacklisting neighbor nodes to the Filter API. The
two new API functions (addToBlacklist() and clearBlacklist()) were added
to dr.cc and supporting code was added to the filter_core.
- Added the first alpha version of RMST (Reliable Multi-Segment Transport).
The sendRmst() API function was added to dr.cc. This filter is located
in the filters directory and there are sample rmst applications in
the apps directory.
- Changed the node id environment variable from scadds_addr
to node_addr.
- Added support for emstar-class devices with the --with-emstar
configure option.
- Added --disable-stats and --with-emsim options to configure.
--with-emsim is a super-set of --with-emstar, but also adds
support running diffusion under emsim. It will try to detect
if it's being executed under emsim and then get node and
group ids from the corresponding environment variables. When compiled
with --with-emsim, Gear will also try to get node location information
from emsim's SIM_LOC environment variable.
--disable-stats will remove all iostats code from the filter_core
(and the two stats-related command-line options -s and -i).
- Added the DiffPrintWithTime function. It works the same way as
DiffPrint, but will print a timestamp before the message.
- Added support for gear to forward messages to geographic points
(in addition to regions).
- Changed diffusion so it outputs stats to /tmp/diffusion-%d.out,
allowing multiple nodes running on a single machine to create
separate files (removed the ifdef for ns to it will do it also
inside ns).
- Changed the directory structure to group diffusion filters and
applications in separate directories. Also moved stats.cc from the
library to the filter_core directory.
- Renamed gradient --> two_phase_pull and diffusion --> filter_core
to avoid confusion. Some gear files were also renamed to match files
in other directories.
- Removed support for the old rpc_stats mechanism (from lib/drivers)
Diffusion 3.1.3
---------------
- Diffusion now compiles with GCC 3.1 without any warnings.
- Updated the autoconf/automake scripts to work with autoconf 2.52,
automake 1.6.3 and libtool 1.4.2. These versions are now required if
users want to re-create the configure script. make dist now includes
all other files (CHANGES, VERSION, COPYRIGHT, doc/*, and config/*).
In addition, the --with-sh4 and --with-ipaq configure options were
removed (the new autoconf version uses --host for cross-compiling).
- Changed the sendPacket function in the WINSNG driver to print the
destination node if it is not cached.
- Fixed a bug in gradient.cc that caused positive reinforcements to also
go to local sources.
- Updated parameters in config.hh to optimize diffusion for the various
supported radios.
- Changed the iolog module to also output time information, allowing
logs to be merged later offline if node's clocks are synchronized
(this requires users to upgrade to Diffusion Visualization Tools 1.0.1
as this release will not work with prior versions).
- Merged a few ns related fixes from the ns distribution.
- Updated push_sender and push_receiver to work with gear.
- Added new addTimer function to the diffusion API. Old addTimer still
works but it is now obsolete and support will be removed in future
releases. Refer to the updated diffusion API document for more details.
- Changed the event management functions in diffusion/library. There is
a new class (TimersManager) that now controls the event queue. Changed
all applications that use timers (diffusion, gradient, and gear) to
use the new addTimer API.
- removeTimer is now supported in ns.
- Removed all timer references from config.hh in lib/main.
- Changed gradient.cc not to forward data back to where it comes from.
This will suppress duplicate traffic when we have a lot of cross
subscriptions.
- Improved debugging in Gear. All debug messages now have a timestamp.
Diffusion 3.1.2
---------------
- Fixed timing issue in dr.cc (ns related issue).
- Added support for gear to work with push.
- Added an iohook layer that allows code to work between diffusion core
and the device drivers.
- Added support for an iolog layer that logs incoming and outgoing
packets as they are received/sent to the various device drivers.
- Removed support for the BBN logger.
Diffusion 3.1.1
---------------
- Added support for the new Sensoria RF API (Tested with Sensoria
software version 2.0.1).
- Changed the filter add/update scheme so diffusion can be
started after filters.
Diffusion 3.1
-------------
- Revised GEAR to add support for all four operators (GE, GT, LE, LT)
for declaring a closed geographic region.
- Added support for PUSH in the library API and in the gradient filter.
- Added push_sender and push_receiver to the pingapp directory. These
are the 'push' versions of ping_sender and ping_receiver.
- Removed agent1/agent2 from the distribution.
- Changed the log filter to also print the packet size.
- Included a revised (release 9.0) API document, with examples of
PUSH and GEAR subscriptions/publications.
- Diffusion now uses autoconf/automake. It simplifies configuring/
compiling diffusion for the different hardware platforms and
rf device options.
Diffusion 3.0.7
---------------
- Added the first alpha version GEAR in the apps directory. Diffusion
now should be able to use geographic information to route packets,
not requiring all interest messages to be flooded.
- Changed the filter scheme so now each filter has to have a
distinct priority (i.e. we don't support two filters with the
same priority value anymore).
- Merged SendMessage and SendMessageToNext into a single function,
(SendMessage). It now allows filters to specify the next filter's
priority and therefore allows filters to be bypassed.
- Changed the message class not to include a copy of the raw packet
anymore.
- Changed all instances of FLAGGED_DATA to EXPLORATORY_DATA, in order
to be consistent with the names used elsewhere.
- Added functionality to the API allowing filters work to in a single
thread mode. Added the doIt() and doOne() API functions to allow
the application/filter to give up its thread (either permanently
or just for a moment) for the library API to receive packets and
manage timers.
- Added the DiffApp class that applications and filters can derive
from. It adds basic command line parsing code and keeps some of
the library's interface code.
- Fixed a bug in agent1/agent2 when running in multi-threaded mode
(there's a lock inside libc that blocks fflush when also doing a
getc).
- Added the iPaq ARM platform to the supported systems (in config.mk).
Diffusion 3.0.6
---------------
- Added support for BBN's distributed logger.
- Changed the diffPrint function to use the variable argument
list syntax, as suggested by Peter Boettcher.
- Renamed the agent applications to ping_sender and ping_receiver,
and added some extra functionality to measure latency and packet
loss.
- Included the Steel Knight Applications (sk_sensorApp and
sk_gatewayApp).
- Fixed bug when receiving an incoming message from the MoteNIC.
- Included the nested queries applications in the distribution under
apps/nested.
Diffusion 3.0.5
---------------
- Changed several makefiles to ease code integration.
- Changed diffusion statistics to include total number of messages sent
to a neighbor (unicast + broadcast).
- Changed some internal names to allow easier NS integration.
- Added wrappers for time and output functions to allow distributed
logging and easier NS integration.
- Added option to support delayed positive reinforcement messages in
response to an exploratory data message.
Diffusion 3.0.4
---------------
- Fixed the code to work when only a single data packet is sent in
response to an interest message.
- Added more randomization to the code so it works better when clocks
are synchronized.
- The distribution now includes a source routing filter that can be
used to send a message along a pre-specified path.
- Tuned diffusion parameters for optimal operation on the SensIT
hardware.
Diffusion 3.0.3
---------------
- Diffusion can now use alternate ports (instead of the default 2000)
with the new command line option '-p port'. Other apps will have to
be changed to use this feature.
- The '-s' command line option has been removed.
- This version features an initial implementation of the device independent
layer in diffusion along with diffusion drivers for the RPC, the MoteNic
Wired UDP and UDP communication with local modules/apps. Everything has
been moved to main/drivers.
- Diffusion/and the API library now use dynamically allocated buffers for
both incoming and outgoing packets.
- Fixed the code to compile without warnings on gcc 2.97 (used to cross
compile code for the new Sensoria nodes).
- Fixed all Makefiles to include the config.mk configuration file.
- The UDP driver now can support diffusion running on port other than
2000. The config file for the wired diffusion now accepts the port
number along with the host ip address. This allows one to run multiple
'diffusion nodes' on a single machine.
- Diffusion now has a driver for the WINSNG 2.0 nodes' radios.
Diffusion 3.0.2
---------------
- Removed all dependencies from the radiometrix library.
It should compile fine now with Red Hat 7.1. This version
of diffusion does not support the old 'userland' implementation
of the radiometrix drivers.
Diffusion 3.0.1
---------------
- Initial release of diffusion 3.
|