This is the simplest form of NoTA network. All nodes exist within the same subsystem - in this case, a Linux PC.
Here's how you can set up an environment like this:
1. Download the latest version of all the core technology packages at http://notaworld.org/downloads/nota_core
2. For each package, follow these steps:
tar xvfz <package>.tar.gz
cd <package>
./autogen.sh
./configure && make && make install
For more detailed information on compiling the packages, refer to http://notaworld.org/documentation/tutorials
You need to install the packages in a bottom-up order, namely:
1.libnota-l-in
2.libnota-h-in
3.libnota-stubadapter (optional)
4.nota-resource-manager (optional)
Then, install whatever programs you wish to try:
tar xvfz <package>.tar.gz
cd <package>
./autogen.sh
make
make install
Now, start up the NoTA daemon - be sure to have it act as Hmanager by passing NOTA_LMANAGER=1!
NOTA_LMANAGER=1 nota-ind
With the daemon running, launch the service(s) you want to use. With the service(s) registered on the network, see if application nodes can find them.
The TCP L_down implementation provides a way to build NoTA networks over common TCP.
To set up the network, download and install the NoTA Core Technology package - it uses the TCP L_down by default.
First, you should verify that connections between the devices work correctly. Then, start the Interconnect Daemon. Remember to pass RM=1 to the HManager:
NOTA_LMANAGER=1 nota-ind (HManager)
or
nota-ind
The HManager should be started first.
In single process mode, the Interconnect stack is run as part of the program, rather than as a daemon. So, in single-process mode, one node needs to be assigned the role of HManager:
NOTA_LMANAGER=1 service_sp
This node should be launched first. After that, other services/applications may be launched normally:
application_sp,
service_sp
Few examples how to run NoTA on a single PC
term1: nota-ind -m
term2: dump_datacheck_sn
term3: dump_datacheck_an
All communication goes withing one nota-ind. DIP L_IN is used only to define IA (Interconnect Address).
term1: nota-ind -m
term2: dump_datacheck_sn
term3: dump_datacheck_an_sp # note: single-process
SN connects to nota-ind, AN process includes both the H_IN/L_IN and the application (single process). Now the data goes through L_IN and L_INdown (e.g. TCP L_INdown)
term1: NOTA_IN_DAEMON=/tmp/nota-test-d0 nota-ind -m
term2: NOTA_IN_DAEMON=/tmp/nota-test-d0 dump_datacheck_sn
term3: NOTA_IN_DAEMON=/tmp/nota-test-d1 nota-ind
term4: NOTA_IN_DAEMON=/tmp/nota-test-d1 dump_datacheck_sn
SN connects to first nota-ind and AN connects to second nota-ind. NOTA_IN_DAEMON-variable is necessary because there are multiple nota_ind's in the device. Data goes through L_IN and L_INdown.
term1: NOTA_LMANAGER=1 dump_datacheck_sn_sp
term2: dump_datacheck_an_sp
SN becomes the manager. Data goes through L_IN and L_INdown.