Commit 9fa16c0a authored by Matteo Quintiliani's avatar Matteo Quintiliani

Improved descriptions for gaps and latencies


git-svn-id: file:///home/quintiliani/svncopy/nmxptool/trunk@1135 3cd66e75-5955-46cb-a940-c26e5fc5497d
parent 915f1886
......@@ -29,6 +29,104 @@
<integer>5</integer>
<key>GraphicsList</key>
<array>
<dict>
<key>Bounds</key>
<string>{{141.797, 1645.73}, {34.9439, 23}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
<string>Vertical</string>
<key>Flow</key>
<string>Resize</string>
<key>FontInfo</key>
<dict>
<key>Font</key>
<string>Times-Roman</string>
<key>Size</key>
<real>17</real>
</dict>
<key>ID</key>
<integer>496</integer>
<key>Shape</key>
<string>Rectangle</string>
<key>Style</key>
<dict>
<key>fill</key>
<dict>
<key>Draws</key>
<string>NO</string>
</dict>
<key>shadow</key>
<dict>
<key>Draws</key>
<string>NO</string>
</dict>
<key>stroke</key>
<dict>
<key>Draws</key>
<string>NO</string>
</dict>
</dict>
<key>Text</key>
<dict>
<key>Text</key>
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf480
{\fonttbl\f0\froman\fcharset77 Times-Bold;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\f0\b\fs38 \cf0 b)}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
<string>{{141.797, 1517.24}, {34.9439, 23}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
<string>Vertical</string>
<key>Flow</key>
<string>Resize</string>
<key>FontInfo</key>
<dict>
<key>Font</key>
<string>Times-Roman</string>
<key>Size</key>
<real>17</real>
</dict>
<key>ID</key>
<integer>495</integer>
<key>Shape</key>
<string>Rectangle</string>
<key>Style</key>
<dict>
<key>fill</key>
<dict>
<key>Draws</key>
<string>NO</string>
</dict>
<key>shadow</key>
<dict>
<key>Draws</key>
<string>NO</string>
</dict>
<key>stroke</key>
<dict>
<key>Draws</key>
<string>NO</string>
</dict>
</dict>
<key>Text</key>
<dict>
<key>Text</key>
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf480
{\fonttbl\f0\froman\fcharset77 Times-Bold;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
\f0\b\fs38 \cf0 a)}</string>
</dict>
</dict>
<dict>
<key>Class</key>
<string>LineGraphic</string>
......@@ -199,7 +297,7 @@
</dict>
<dict>
<key>Bounds</key>
<string>{{384.717, 1676.8}, {72.1555, 23}}</string>
<string>{{289.284, 1676.8}, {483.994, 23}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
......@@ -2040,7 +2138,7 @@ Files}</string>
</dict>
<dict>
<key>Bounds</key>
<string>{{187.138, 1431.1}, {668.582, 23}}</string>
<string>{{142.375, 1431.1}, {713.345, 23}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
......@@ -6922,7 +7020,7 @@ Default -60 sec.}</string>
</dict>
<dict>
<key>Bounds</key>
<string>{{452.841, 1762.56}, {256.016, 23}}</string>
<string>{{285.406, 1762.56}, {483.48, 23}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
......@@ -7344,7 +7442,7 @@ filled}</string>
</dict>
<dict>
<key>Bounds</key>
<string>{{383.974, 1549.97}, {72.1555, 23}}</string>
<string>{{285.406, 1549.97}, {256.248, 23}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
......@@ -10681,7 +10779,7 @@ gaps}</string>
</dict>
</array>
<key>ModificationDate</key>
<string>2008-08-20 12:43:47 +0200</string>
<string>2008-08-20 15:53:09 +0200</string>
<key>Modifier</key>
<string>mtheo</string>
<key>NotesVisible</key>
......
......@@ -167,7 +167,7 @@ thanks[revision]{
\backslash
small
\backslash
itshape CVS $ $Revision: 1.35 $ $ -- $ $Date: 2008-08-20 10:42:32 $ $}
itshape CVS $ $Revision: 1.36 $ $ -- $ $Date: 2008-08-20 13:56:35 $ $}
\end_layout
\end_inset
......@@ -553,62 +553,6 @@ RetxRequest
packet.
\end_layout
\begin_layout Standard
Moreover, in order to allow data continuity when short disconnections to
NaqsServer occur it would be better to set to a high value the variable
\shape italic
DataBufferLength
\shape default
inside the section
\shape italic
Datastream
\shape default
of the file Naqs.ini.
Presently, the maximum value is equal to 100, then for example:
\end_layout
\begin_layout Quotation
\begin_inset listings
lstparams "basicstyle={\scriptsize},commentstyle={\textit},keywords={Datastream,NetworkInterface,DataBufferLength,RetxRequest},morecomment={[l]//}"
inline false
status open
\begin_layout Standard
[ Datastream ]
\end_layout
\begin_layout Standard
Port = 28000 // TCP port for control/data connections to Naqs
\end_layout
\begin_layout Standard
Password = none // access password (not used in version 1.3)
\end_layout
\begin_layout Standard
MaxConnections = 10 // maximum number of simultaneous connections
\end_layout
\begin_layout Standard
SocketType = Direct // connection type (Direct or Callback)
\end_layout
\begin_layout Standard
DataBufferLength = 100 // Buffer length for data channels (# packets)
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Latency vs data continuity
\end_layout
......@@ -627,14 +571,15 @@ If the main target is the data archiving, certainly, it will be more important
packet.
nmxptool allows to declare the maximum tolerable latency you can accept,
only after that maximum wait, nmxptool breaks up the continuous data flow
and .
and revealing the gap.
The figure
\begin_inset LatexCommand ref
reference "fig:maxtolerablelatency"
\end_inset
shows the case when a packet is retransmitted out of order within a
shows the behaviour of nmxptool when the packets are retransmitted out
of order within a
\shape italic
Raw Stream
\shape default
......@@ -652,6 +597,7 @@ status open
\begin_inset Graphics
filename /Users/mtheo/Desktop/cvswork/nmxptool/no_dist/paper/images/nanometrics_gaps.eps.gz
width 10cm
subcaptionText "dddd"
\end_inset
......@@ -666,19 +612,22 @@ status open
\shape italic
Main parameter to set for the Raw Stream connection is the Maximum-Tolerable-Lat
ency you can accept, a sort of short-term-completion but managed by the
ency you can accept, a sort of Short-Term-Completion but managed by the
client and not by the server.
nmxptool slows down the acquisition only when it is waiting for a missing
packet and it waits that packets up to that maximum time.
Aiming to guarantee continuouity of the data, chronological order of packets,
minimum latency and minimum number of gaps, nmxptool is able to manage
a buffer of all kinds of packet, comprised the packets retransmitted out
of order.
*** Packet number 2 will be retrieved and used to fill the gap.
Packet number 9 will be lost.
*** Type of compressed packet is equal to 1.
bit 5 = 1 indicates the packet is being restransmitted, Type of retransmitted
packet is 33, that is 1 + 32
Aiming to guarantee the continuity of the data, the chronological order
of packets, the minimum latency and the minimum number of gaps, nmxptool
is able to manage a buffer of all kinds of packet received, comprised the
packets retransmitted out of order.
The figure shows two exemplifying cases of how the retransmitted packets
are handled by nmxptool: a) since the packet number 2 has been received
whitin reasonable and tolerable time, nmxptool uses it to fill the temporary
gap and the data flow will be only affected from a certain latency less
than the Maximum-Tolerable-Latency; b) the packet number 9 is lost because
it has been received after too much time, then nmxptool reveals a gap equal
to the duration of that packet after a time nearly equal to the Maximum-Tolerab
le-Latency.
\end_layout
\end_inset
......@@ -706,11 +655,19 @@ TODO: DataOnDemand figure and descriptions.
\end_layout
\begin_layout Standard
Moreover, for retrieving data-on-demand....
*** Moreover, for retrieving data-on-demand....
Timeoutrecv....
Packet type 1+32+64
\end_layout
\begin_layout Standard
\shape italic
*** Type of compressed packet is equal to 1.
bit 5 = 1 indicates the packet is being restransmitted, Type of retransmitted
packet is 33, that is 1 + 32
\end_layout
\begin_layout Standard
nmxptool and libnmxp have been also designed to retrieve with minimum delay
the data requested by the java application DataOnDemand developed by Nanometric
......@@ -740,6 +697,62 @@ This feature is based on the ringbuffer management on the NaqsServer and
past and you can retrieve available data defining start time and end time.
\end_layout
\begin_layout Standard
Moreover, in order to allow data continuity when short disconnections to
NaqsServer occur it would be better to set to a high value the variable
\shape italic
DataBufferLength
\shape default
inside the section
\shape italic
Datastream
\shape default
of the file Naqs.ini.
Presently, the maximum value is equal to 100, then for example:
\end_layout
\begin_layout Quotation
\begin_inset listings
lstparams "basicstyle={\scriptsize},commentstyle={\textit},keywords={Datastream,NetworkInterface,DataBufferLength,RetxRequest},morecomment={[l]//}"
inline false
status open
\begin_layout Standard
[ Datastream ]
\end_layout
\begin_layout Standard
Port = 28000 // TCP port for control/data connections to Naqs
\end_layout
\begin_layout Standard
Password = none // access password (not used in version 1.3)
\end_layout
\begin_layout Standard
MaxConnections = 10 // maximum number of simultaneous connections
\end_layout
\begin_layout Standard
SocketType = Direct // connection type (Direct or Callback)
\end_layout
\begin_layout Standard
DataBufferLength = 100 // Buffer length for data channels (# packets)
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Using option "-F" automatically involves, before exiting from the program,
the save of the time of the last sample received for each channel.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment