T
![]() |
![]() |
| CLM and NCSOCKS |

Nomadic Computing
environments are composed of several wireless domains interconned by means of a
fixed infrastructure. Mobile devices communicate with other mobile/fixed devices
through Access Points (APs) offered by the fixed infrastructure. Each Access Point
with its covering zone defines a wireless domain.
NCSOCKS (Nomadic Computing Sockets) API are a socket-like interface that provides:
Both C++ and Java versions for NCSOCKS are available. You can have a look to the on-line documentation of either the C++ version or the Java version.
The mobility management is performed by the CLM (Connection and Location Manager) daemon; it is a daemon process for PDAs and PC equipped with the Linux OS, developed in C++. It provides to NCSOCKS API an IP interface for wireless channel and the information of connection status and symbolic location. The CLM retrieve the information about the topology map of the deployed APs by collaborating with the Map Server. The Map Server is a fixed-side component, which is responsible for map provisioning and updating. It is written in Java, and exploits the CORBA notification service (using the JacORB java implementation of the CORBA specification) for map updates.The currently developed version is still under test and it is still not publicly available. Anyway, you can ask a copy of the source code to dr. Domenico Cotroneo or dr. Marcello Cinque. The lack of the Map Server requires to manually configure the topology map directly on the mobile device, as explained later.
To offer a socket-like interface on the fixed-side (Access Point side),
a Fixed NCSOCKS API is developed. It differs from mobile ones because on the
fixed-side there is no mobility management. To implement network Bluetooth access point
functionalities on a fixed computer equipped with a wireless interface refer here.
However, the Fixed NCSOCKS API is usable also for the communication between
two fixed computers; in this case, the necessary IP interface over wireless
channel has to be manually created.
Current implementation provides only the Bluetooth technology support, since it has been extensively tested. Recent efforts heve been profused with respect to the integration of the Wi-Fi support.
Further details on the CLM and NCSOCKS design and implementation can be found in our technical report.
System Requirements:
Linux O.S.
Bluez Bluetooth Stack (2.10 or later version).
Zthread library (Mobile-Side).
Root privileges.
Downloads (latest versions):
CLM version 0.8.0 and NCSOCKS (C++) version 1.1.0. The package contains the NCSOCKS documentation.
Java NCSOCKS version 1.1.0. The package contains the NCSOCKS Javadoc.
Installation
Instructions for CLM and C++ NCSOCKS:
Uncompress the package with command tar xvzf
CLMandNCSocks.tar.gz. Enter in the created directory.
Compile the package
with command make .
Switch to Root
and install the package with command make
install .
Edit xml configuration
files in the /etc/conman directory for location map information. The files have to be configured according to the actual AP topology map
being used. More information about the files configuration can be found in the README file you find in /etc/conman.
Configure IP over
Bluetooth interface and enable hotplug for it. See the Howto.
Add /usr/local/lib
directory to LD_LIBRARY_PATH
environment variable, if it is not already present.
To start CLM daemon,
switch to root and excute command conmand
start. To stop CLM daemon, execute command conmand
stop. Current implementation works on Bluetooth. Be sure that you have at least one configured Bluetooth AP in the environment. To configure and install a Bluetooth AP, you can use our NAP software, that can be downloaded here.
Once the CLM daemon is up and running, you can run legacy IP applications, or NCSOCKS applications. To develop NCSOCKS applications, it is useful to refer to the API documentation.
Installation Instructions for Java NCSOCKS:
Uncompress the package with command tar xvzf NCSOCKS_JAVAv1.1.0.tar.gz. Enter in the created directory.
Install the native library (for the communication of the java library with the CLM daemon) with commands make and make install in the native directory.
Once the CLM (downloaded together with the C++ NCSOCKS, see previous section) is up and running, and the native library is installed, you can run Java applications using the Java NCOSCKS. To develop Java NCSOCKS applications it is useful to refer to the NCSOCKS Java Documentation.
Installation
Instructions for NCSOCKS Fixed:
Uncompress it with command tar xvzf
NCSocksFixed.tar.gz . Enter in the created directory.
Compile the package with command make
.
Switch to Root and install the package with command make
install .
Add /usr/local/lib directory
to LD_LIBRARY_PATH environment
variable, if no exists.