Main Page | Features | Central Services | csv-Files | Types | Transfer | Access | API-C | API-.NET | API-Java | Examples | Downloads
page generated on 05.05.2024 - 04:45
TINE Repeater

Often one needs to 'replicate' a server due to security (fire wall) criteria, load balancing scenarios, etc. In such cases, the most straightforward way of doing this is to make use of the TINE repeater server.

Consider the case where a server needs to be accessed by a client from a network not normally visible to the server. If a 'gateway' host exists which is able to access both the server's network and the client's network, then running a TINE repeater process on the gateway host can solve this dilemma.

The TINE repeater server is a simple command line server. By typing 'tineRepeater' at the command line (after installing TINE) you should see output similar to the following:

tine repeater: acquire and re-register and export information
from the specified TINE device server
Usage : tineRepeater <context> <device server> [/c=<new context> /s=<new servername>
/f=<fec name> /p=<port offset> /r=<polling interval> /m=<polling mode>
/l=<listener table capacity> /x=TRUE /i=TRUE /h=TRUE /t=<idle time> /d=<debug level>]
if no new context or server are specified, the repeater server will
have the same context as the target server, and a server name given
by the target server name appended with '.RPT'
e.g.
tineRepeater HERA BPM
will produce a server called BPM.RPT in context HERA
tineRepeater PETRA undulator /c=PETRA.EXT /s=undulator
will produce a server called undulator in context PETRA.EXT
a port can be specified with the /p switch (default = 101)
a polling interval can be specified with the /r switch (default = 1000 ms)
(note: the polling interval determines the listener refresh rate for any repeated properties)
the listener table capacity can be adjusted with the /l switch (default= 5000 entries)
a polling mode can be specified with the /m switch, e.g. /m=DATACHANGE (default = TIMER)
a specific FEC name can be given with the /f switch (default = Rpt<context%2><server%7>.<port>)
exclusive read can be specified with /x=TRUE
the listening idle time (default = 300 seconds) can be set with the /t switch
(e.g. /t=86400 will continue listening for 1 day even when the targetvalue is not being read)
ignore listening errors (e.g. via history configuration) can be specified with /i=TRUE
remote local histories will be repeated if /h=TRUE (default = FALSE => maintain true local histories)

Running the TINE repeater will acquire all device and property information from the targeted server and re-export all devices and properties under the new server name and context established by the TINE repeater. One can make use of the command line arguments to specify the desired context, server, and fec names of the repeater server as well as its port offset. As an absolute minimum the TINE Repeater server will need to know the context and server name of the server it is supposed to repeat. If no other input is given, the new context will be the same as the old, and the new server name will be the old server name with ".RPT" appended. The default port offset is '101'.

If no clients access the repeater server it will essentially do 'nothing'. Any read access will start an asynchronous static listener for the desired property and device targeting the same information from the target server. The default polling interval of the listener is 1000 msec. This can be influenced (if desired) by specifying the appropriate command line parameter ('/p=100' for instance).

Write access calls (syncrhonous) will be forwarded directly to the targeted server. To this end, the appropriate security information must be duly encoded at every step of the way. The repeater server will have to be granted access to the target server in order for write commands to succeed (the repeater's fec name in the users list, and/or the repeaters IP address in the networks list). Likewise the repeater should make use of security files, otherwise any client could initiate write commands via the repeater!


Impressum   |   Imprint   |   Datenschutzerklaerung   |   Data Privacy Policy   |   Declaration of Accessibility   |   Erklaerung zur Barrierefreiheit
Generated for TINE API by  doxygen 1.5.8