• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..07-May-2022-

autom4te.cache/H23-May-2011-24,79522,142

config/H28-Jun-2011-11,3069,090

doc/manual/H28-Jun-2011-16,31914,616

etc/H28-Jun-2011-145106

mcastproxy/H28-Jun-2011-971811

rmchat/H28-Jun-2011-749578

src/H28-Jun-2011-8,4915,475

tgif/H28-Jun-2011-339277

tools/H28-Jun-2011-1,4011,062

AUTHORSH A D17-Sep-2004162 75

ChangeLogH A D08-Jul-200926.8 KiB878776

INSTALLH A D29-Sep-2004321 149

LICENSE.QPLH A D17-Sep-20044.6 KiB10479

Makefile.amH A D31-Jan-2009413 119

Makefile.inH A D23-May-201119.2 KiB631554

READMEH A D24-Nov-20081 KiB2818

README.tgwbH A D24-Nov-20088.9 KiB283214

TODOH A D24-May-20061.4 KiB3826

aclocal.m4H A D23-May-2011263.3 KiB7,5156,757

config.h.inH A D26-Nov-20085.8 KiB223152

configureH A D23-May-2011745.7 KiB23,96019,232

configure.inH A D08-Jul-20091.1 KiB4335

libtoolH A D28-Jun-2011224.2 KiB7,9425,834

README

1Reliable Multicast Library: RML
2
3The RML is a C library developed under QPL. It is intended to guarantee
4reliable transmission over IP Multicast. We try to develop it in a way that it
5can be used in a large set of applications.
6
7The library runs on GNU/Linux and only require a full functional IP Multicast
8network to work properly.
9
10We provide a simple multicast chat application to test the library and you can
11found it in the rmchat directory. That is the simple way to learn how to build
12a multicast application with the Reliable Multicast Library.
13
14The Tangram-II Whiteboard (TGWB) is an application built on tgif that uses RML.
15Further information about TGWB can be found at README.tgwb file.
16You can download tgif at http://bourbon.usc.edu/tgif/index.html.
17
18Documentation is available in the doc/ directory.
19
20See AUTHORS for authors' emails and/or homepages.
21See LICENSE.QPL for information about QPL.
22See INSTALL file for information on compiling the librmcast.
23
24Enjoy it.
25
26RML team at LAND (http://www.land.ufrj.br)
27
28

README.tgwb

1This is the ``tgwb - Tangram Whiteboard'' README file.
2
3Contents:
4    1. Introduction
5    2. Compiling and installing
6        2.1 Tgif version prior to 4.1.46
7        2.2 Tgif version 4.1.46 and newer
8    3. Using
9        3.1 Environment
10        3.2 Configuration
11        3.3 mcastproxy
12    4. Known bugs
13    5. Further information
14
151. Introduction
16
17This section describes a whiteboard tool built on top of TGIF: TGWB (Tangram
18Whiteboard). The tgwb allows simultaneous modifications in drawings by users in
19a group. It is a versatile multicast distributed tool. TGWB is a module of the
20Tangram2, developed at LAND (http://www.land.ufrj.br).
21
22Distributed whiteboards must ensure that every member in a session has the same
23view of the drawings. A Reliable Multicast Library and a total ordering
24mechanism was developed to allow reliable multicast transmission and member
25view consistency.
26
272. Compiling and installing
28
292.1 Tgif versions prior to 4.1.16
30
31   TGWB is basically tgif with 3 noted differences:
32
33   a) Modify Target.tmpl and change TARGET_1 to tgwb as follows:
34
35             TARGET_1 = tgwb-bin
36
37   b) Follow the instructions in the README file for tgif.  Make all the
38      selections and modifications you need for Tgif.tmpl.  Right before you
39      build (starting from running "xmkmf"), do the following in Tgif.tmpl:
40
41      i)   Replace "tgif" in the PROGRAMS line by "tgwb-bin"
42      ii)  Append the following compiler option to the MOREDEFINES line:
43
44             -D_TGIF_WB2
45
46      iii) Add the following line after the SYS_LIBRARIES line:
47
48             EXTRA_LIBRARIES = -L./rmcast/src -lz -lpthread -lrmcast
49
50   c) This version requires the rmcast library which is included
51      with the distribution.  To build the rmcast library, simple
52      do:
53
54             cd rmcast
55             ./configure
56             make
57             cd ..
58
59   d) Then build tgwb:
60
61       xmkmf
62       make tgwb
63
64   e) To install, execute as root:
65
66       make install-tgwb
67
682.2 Tgif version 4.1.46 or newer
69
70    Since version 4.1.46, tgif will load the reliable multicast library
71    dynamically. If you want to use the whiteboard mode you will have to
72    execute the following steps:
73
74    a) Compile and install tgif:
75
76        cd tgif-<version>
77        xmkf
78        make
79        make install
80
81    b) Compile and install the reliable multicast library included in the
82       rmcast directory within the tgif code:
83
84       cd rmcast
85       ./configure
86       make
87       make install
88
89       OBS: to install the library in the default location (/usr/local/lib) you
90            will need root privileges.
91
92    To run tgif in whiteboard mode execute:
93
94        tgif -tgwb2
95
96    OBS: If tgif could not find the reliable multicast library, you can try:
97
98        tgif -tgwb2 -rmcastlibdir <librmcast.so_directory>
99
100    For instance, if librmcast.so is in the /usr/local/lib directory you can
101    execute:
102
103        tgif -tgwb2 -rmcastlibdir /usr/local/lib
104
1053. Using TGWB
106
1073.1 Environment
108
109The TGWB tool was develop to be used in a IP Multicast network. If Multicast is
110not available one can use the mcastproxy program to connect the whiteboards.
111More information about mcastproxy can be found in section 3.3.
112
1133.2 TGWB Configuration
114
115The reliable multicast transmission was implemented as a function library
116called RML (Reliable Multicast Library). When tgwb is started the user is
117prompted for configuration options, such as multicast address and port and
118whether or not the mcastproxy (see section 3.3) program
119should be started. Another way to customize RML options is editing the
120configure file tgwb.conf, located at .tgwb directory in the user's home.
121
122The following is a TGWB configuration file example:
123
124#########################################################################
125#Reliable Multicast Library configuration file
126
127#Reliable Multicast Library version
128RM_VERSION=1.0
129
130#Transmission mode: 0 multicast (default), 1 unicast
131TRANSMISSION_MODE=0
132
133#Multicast or Unicast IP address to send data (destination IP)
134DEST_IP=225.1.2.3
135
136#Multicast or Unicast port to send data (destination port)
137DEST_PORT=5151
138
139#Time to live for the packets setting (1 indicates local network)
140TTL=1
141
142#Inter-packet sleep timer:
143#Time between packet transmissions ( choose from 0 to 65535 microseconds)
144MICROSLEEP=10
145
146#Log file path - NULL disable logging (default)
147LOG_FILE=NULL
148
149#Random Timers Distribution: 0 uniform 1 exponential
150TIMER_DISTRIBUTION=0
151
152#Timer parameters
153# Timers values are obtained in the intervals:
154# (TIMER_PARAM_A*T,(TIMER_PARAM_A+TIMER_PARAM_B)*T) for NAKs
155# (TIMER_PARAM_C*T,(TIMER_PARAM_C+TIMER_PARAM_D)*T) for wait for retransmitions
156# (TIMER_PARAM_E*T,(TIMER_PARAM_C+TIMER_PARAM_F)*T) for for retransmitions
157# Where
158#  TIMER_PARAM_A, TIMER_PARAM_B, TIMER_PARAM_C, TIMER_PARAM_D, TIMER_PARAM_E and
159#  TIMER_PARAM_F are integer constants
160#  T is the estimated one-way delay to the senders
161TIMER_PARAM_A=2
162TIMER_PARAM_B=2
163TIMER_PARAM_C=5
164TIMER_PARAM_D=2
165TIMER_PARAM_E=2
166TIMER_PARAM_F=2
167
168#Host related parameters and timers:
169# Must contain exactly the following lines:
170#   HOSTS_IDENTIFIED=0
171#   DEFAULT <AVERAGE_ESTIMATED_DELAY>
172#   host1   <ESTIMATED_ONE-WAY_DELAY_TO_host1>
173#   host2   <ESTIMATED_ONE-WAY_DELAY_TO_host2>
174#   ...
175#   hostN   <ESTIMATED_ONE-WAY_DELAY_TO_hostN>
176# If HOSTS_IDENTIFIED=0 then we will read only the DEFAULT
177# estimated delay.
178HOSTS_IDENTIFIED=0
179DEFAULT 50
180
181#Max number of naks that can be sent for each packet. 100 (default)
182MAX_NAK=100
183
184# We will be able to retransmit the last MAX_MEMBER_CACHE_SIZE packets from each
185# member of the multicast group, i.e., we will store the last
186# MAX_MEMBER_CACHE_SIZE PACKETS from each member of the multicast group in the
187# cache. 4000 (default)
188#
189# WARNING: if you set MAX_MEMBER_CACHE_SIZE to low values the protocol may fail!
190#
191MAX_MEMBER_CACHE_SIZE=4000
192
193#Enable support for new members 1 enabled (default), 0 disabled
194NEW_MEMBER_SUPPORT=0
195
196#Show transmission statistics: 0 disabled (default) 1 enabled
197STATISTICS=0
198
199#Time between transmission of refresh messages (seconds)
200REFRESH_TIMER=10
201
202#Loss simulation: 0 disabled (default) any float number > 0 enabled
203#
204# A note about loss simulation:
205# When loss simulation is enabled (LOSS_PROB > 0) we always loose the first 10
206# received packets, and the first received data packet - that is,
207# the first burst of received packets.
208# After that, packets are lost according to LOSS_PROB.
209# Example: LOSS_PROB=30
210# The first 10 received packets will be lost.
211# Then, 30% of the packets will be lost
212LOSS_PROB=0
213
214# Time to wait, in microseconds, before leaving the multicast group.
215LEAVE_GROUP_WAIT_TIME=500000
216
217# Size of the buffer of the receiver host
218# (maximum size of a message that may be processed by the receiver host).
219RCV_BUFFER_SIZE=10000
220#########################################################################
221
2223.3 mcastproxy
223
224When IP Multicast is not available the mcastproxy program can be used to
225connect hosts. Suppose that students from two different campi want to use TGWB.
226Suppose also that multicast is available in the local networks but it is not
227available among the campi. In that scenario, illustrated in figure below, the
228mcastproxy program can be used to connect each campi. There will be one
229instance of mcastproxy in each campus. Each mcastproxy instance can listen to
230local multicast traffic and send it unicast to each other campus. The packets
231received through unicast are sent through multicast to local users.
232
233Campus 1 Network <----Multicast----> mcastproxy1
234                                          |
235                                          |
236                                          |
237                                          |
238                                       Unicast
239                                          |
240                                          |
241                                          |
242                                          |
243Campus 2 Network <----Multicast----> mcastproxy2
244
245mcastproxy program uses a configuration file, mcastproxy.conf from the
246.tgwb directory located at user's home. Next is presented an example of
247this file.
248
249############################################
250#Multicast group address
251GROUPADDR=225.1.2.3
252#Number of hosts to send unicast packets
253NADDR=2
254#IP Addresses list to send unicast packets
255ADDRLIST
256192.168.1.2
25710.0.0.1
258# Time to live for multicast packets
259TTL=1
260REUSEADDR=0
261# Loopback: 1 enable, 0 disable
262LOOPBACK=1
263# Unicast port to use
264UCASTPORT=32566
265# Multicast port to use
266MCASTPORT=5151
267############################################
268
2694. Known bugs
270
271The current release of tgwb has a few known bugs.  The major one being
272that there is no provision made for joining a whiteboard in session; the
273way to get around this problem is to select New from the File Menu of
274a tgwb to clear all whiteboards.
275
2765. Further Information
277
278   Please read the "Copyright" file in this distribution for the copyright
279   and licensing information.
280
281   Further information can be found in the RML documentation or at
282   http://www.land.ufrj.br/tools/rmcast
283