Networking Forums

Networking Forums > Computer Networking > Linux Networking > Determining avaliable bandwidth with _datagrams only_

Reply
Thread Tools Display Modes

Determining avaliable bandwidth with _datagrams only_

 
 
Wolfgang Draxinger
Guest
Posts: n/a

 
      08-12-2007, 02:47 PM
I'm currently developing the software for a ROV (remotely
operated vehicle), which has a bunch of sensors and other stuff
on board, everything controlled by a Linux (of course) computer.

By the nature of the project the network connection must be
considered unreliable. Thus the protocols to be used are of
the "fire and forget" nature. If packages arrive it's good, if
they're lost it's noting bad either, as long as some get
through. So datagrams are used (a stream might easyly timeout).

However the avaliable bandwidth may (will?) vary over a wide
range (from a few 10kBit/s up to 5MBit/s), and since there is no
stream connection I don't see an easy way to determine the
actual time a package of given length takes to be transmitted.
There shall also be no ACK datagrams be sent. If the ROV doesn't
recieve control packages within a given time it will simply stop
and wait.

Knowing the actual avaliable bandwidth, remaining after error
correction and stuff, is important, as there are also a few
cameras on board and the amount of compression and framerate
should be dynamically adapted to the avaliavle bandwidth.

Any ideas?

Wolfgang Draxinger
--
E-Mail address works, Jabber: (E-Mail Removed), ICQ: 134682867

 
Reply With Quote
 
 
 
 
Martin Blume
Guest
Posts: n/a

 
      08-13-2007, 03:34 PM
"Wolfgang Draxinger" schrieb
>
> [ Re: Determining avaliable bandwidth
> with _datagrams only_ ]
>

If nobody has any idea, I'll throw in some of mine:

- one process regularly transmits the number of bytes
and packets sent. The receiver can determine
what he received and update the sender on how to throttle
bandwidth / chattiness.

- keep at least one TCP communication, observe its
behaviour (on both sides) and update your UDP communication
strategy accordingly.

- read up on how TCP tries to optimize its communication
stuff and try to implement some of it on your platform

FWIW. HTH.
Martin

 
Reply With Quote
 
phil-news-nospam@ipal.net
Guest
Posts: n/a

 
      08-14-2007, 04:56 PM
On Sun, 12 Aug 2007 16:47:21 +0200 Wolfgang Draxinger <(E-Mail Removed)> wrote:

| I'm currently developing the software for a ROV (remotely
| operated vehicle), which has a bunch of sensors and other stuff
| on board, everything controlled by a Linux (of course) computer.
|
| By the nature of the project the network connection must be
| considered unreliable. Thus the protocols to be used are of
| the "fire and forget" nature. If packages arrive it's good, if
| they're lost it's noting bad either, as long as some get
| through. So datagrams are used (a stream might easyly timeout).
|
| However the avaliable bandwidth may (will?) vary over a wide
| range (from a few 10kBit/s up to 5MBit/s), and since there is no
| stream connection I don't see an easy way to determine the
| actual time a package of given length takes to be transmitted.
| There shall also be no ACK datagrams be sent. If the ROV doesn't
| recieve control packages within a given time it will simply stop
| and wait.

That should be a time that is an interval between received packets.
Unless you are hitting the bandwidth so hard as keep it saturated
with datagrams, the bandwidth should not have that much of an effect.


| Knowing the actual avaliable bandwidth, remaining after error
| correction and stuff, is important, as there are also a few
| cameras on board and the amount of compression and framerate
| should be dynamically adapted to the avaliavle bandwidth.

If the bandwidth can change fast, you'll have to handle it dynamically.
Since what is probably importabt is usable bandwidth in terms of how
many datagrams successfully arrive, I suggest simple measures based on
that. Measure what is getting through and keep some short and long
term numbers showing this. It won't show literal bandwidth; it will
show effective bandwidth relative to usage (if you are using it too
lightly, it will "look" relatively higher).

--
|---------------------------------------/----------------------------------|
| Phil Howard KA9WGN (ka9wgn.ham.org) / Do not send to the address below |
| first name lower case at ipal.net / spamtrap-2007-08-14-(E-Mail Removed) |
|------------------------------------/-------------------------------------|
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Determining who operates which APs Gonzago Wireless Internet 3 03-22-2012 05:39 AM
determining what process is hogging bandwidth Damon Getsman Linux Networking 5 06-25-2008 01:42 PM
Determining IP Address Neil Cameron Broadband 1 01-03-2006 03:38 PM
Which parts of Maidstone is broadband avaliable in? David Broadband 3 01-08-2004 11:06 AM
Determining IP address? mpierce Linux Networking 6 01-01-2004 12:29 PM



1 2 3 4 5 6 7 8 9 10 11