README
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. Rmst Filter README
  2. June 12, 2003
  3. Fred Stann
  4. fstann@usc.edu
  5. The code in this directory constitutes the initial release of the Rmst
  6. Filter. The Rmst filter provides guranteed delivery and fragmentation
  7. / reassembly of large blobs. Rmst has had limited deployment in an
  8. actual sensor network. To that extent the Rmst filter should be
  9. considered experimental.  It has been "tuned" to the environment in
  10. which it was deployed (the ISI testbed). New environments may present
  11. traffic scenerios that cause Rmst to have sub-optimal behavior. The
  12. best way to receive help debugging such scenerios is to run the filter
  13. with the "-d 10" command line option and capture the DiffPrint screen
  14. output at key nodes (like sources and sinks), then email them to
  15. fstann@usc.edu along with a problem description file.
  16. Major Caveats:
  17. Rmst has only been tested in conjunction with the "two_phase_pull"
  18. routing algorithm in Diffusion.
  19. This initial release does not have ns-2 support. A release with ns-2
  20. support should follow shortly.
  21. Rmst has only been tested with a single sink.
  22. This release is only intended to run on top of an ARQ MAC layer like
  23. S-MAC that provides hop-by-hop repair.  Rmst "caching mode" support
  24. (in which each node caches fragments rather than just sources and
  25. sinks) is not available in this release. Future releases will
  26. re-enable this feature which was present in the simulation code used
  27. during research and development.
  28. Rmst has a coarse grained pacing mechanism for applications. After
  29. sources call sendRmst, they should not send another large blob until
  30. they get an RMST_CONT message from the filter.
  31. Users may need to manually adjust certain parameters to tailor Rmst to
  32. their particular environment. Down the road these parameters may
  33. become self adjusting or adaptive. The most important are enumerated
  34. here:
  35. 1.) Refer to the Diffusion API and sample rmst application code in
  36.   this release. You will note that the call to dr_->sendRmst has a
  37.   third parameter called "fragment_size."  Different sensor nets have
  38.   different MTU limitations.  Even MAC layers that do
  39.   fragmentation/reassembly can only handle a modest sized payload.
  40.   You must adjust fragment_size such that the combination of all your
  41.   attributes, packet overhead, and payload do not exceed your network
  42.   MTU. Rmst will break up any blob that is larger than the
  43.   fragment_size into multiple fragments.
  44. 2.) In rmst_filter.hh you will find some tunable parameters. Most
  45.   notable is the "SEND_INTERVAL." This dictates how often packets are
  46.   injected into the sensor network at the source.  The fragment send
  47.   rate is not controlled by the application when sending a large
  48.   blob. Rmst must interleave NAK responses and new packets while
  49.   pacing the overall load that it presents to the network. This rate
  50.   could be made adaptive given the addition of some sort of
  51.   backpressure mechanism to diffusion.
  52. 3.) Rmst has a coarse grained blacklisting mechanism whereby links
  53.   that deliver a low percentage of the packets placed on them are
  54.   eliminated from contention during path discovery. This percentage is
  55.   tunable in rmst_filter.hh.
  56. Thanks,
  57. Fred Stann