routing, while host functions can also include
higher-layer tasks such as the addition of reliability
facilities in a transport-layer protocol.
IP multicasting is the transmission of an IP
datagram to a host group, a set of zero or more hosts
identified by the single IP destination address of
class D. Multicast groups are maintained by IGMP
(IETF RFC 1112, RFC 2236). Multicast routing
considers multicasting routers equipped with
multicast routing protocols such as DVMRP (RFC
1075), MOSPF (RFC 1584), CBT (RFC 2189),
PIM-DM (RFC 2117), PIM-SM (RFC 2362), or
MBGP (RFC 2283). For Ethernet-based Intranets,
the Address Resolution Protocol provides the last-
hop routing by mapping class D addresses on
multicast Ethernet addresses.
6 CASE STUDY
The presented case study, used to demonstrate the
introduced concepts, includes several groups of
smart pressure and temperature sensors that clients
can access effectively through Internet. Each sensors
group is supported by an active web page with Java
applets that, after downloading, provide clients with
transparent and efficient access to pressure
measurement services over such geographically
distributed objects as the considered large systems of
gas pipes. The complete system comprises several
groups of smart pressure sensors complemented by
temperature sensors that enable computing of
temperature corrections (Sveda and Vrba, 2003).
6.1 Network Configuration
Each sensor group is supported by an active web
page with Java applets that, after downloading,
provide clients with transparent and efficient access
to pressure measurement services. This section
demonstrates the above-introduced concepts and
tools adapted and applied to the development of
such a gas-pipes pressure analyzer
In this case, clients communicate to transducers
using a messaging protocol defined by client-server
and subscriber-publisher patterns employing 1451.1
Network Block functions. A typical configuration
includes a set of smart pressure sensors generating
pressure values for the users of those values. To
register itself for a specified group of sensors, the
user — playing the role of either subscriber or client
— opens the related server’s web page with the
relevant Java applet. This applet is, after uploading
to the subscriber/client site, started on
subscriber/client’s computer, which launches
communications with a group of transducers
allowing Java clients to connect and subscribe to the
smart sensors. Java can directly support both client-
server and subscriber-publisher application
architectures as the core Java specifications include
TCP/IP and UDP/IP networking APIs.
The developed Java applet uses the core java.net
package to implement both client-server and
subscriber-publisher application distribution
allowing to access smart sensors and supporting
nodes. The applet consists of a series of object
classes, including multi-threaded applet
environment, animation, and UDP/IP-based
subscriber and TCP/IP-based client communications.
The subscriber/client software implemented in Java
enables applets to be included in a web server
HTML page, and run under a regular web browser
on subscriber/client side. The subscriber/client
communicates with the transducer by standard
UDP/TCP sockets employing IP multicast.
The communication scheme applies multicast
both for distributing measured values from a
transducer to a group of subscribers/clients
registered by the web server for this transducer, and
for spreading commands of a client to a group of
transducers registered for this client.
6.2 Implementation Concepts
In the transducer’s 1451.1 object model, basic
Network Block functions initialize and cover
communication between a client and the transducer,
which are identified by unique unicast IP addresses.
The client-server style communication, which in this
application covers both the configurations of
transducers and initialization actions, is provided by
two basic Network Block functions: execute and
perform. The standard defines a unique ID for every
function and data item of each class. If the client
wants to call some function on server side, it uses
command execute with the following parameters: ID
of requested function, enumerated arguments, and
requested variables. On server side, this request is
decoded and used by the function perform. That
function evaluates the requested function with the
given arguments and, in addition, it returns the
resulting values to the client. Those data are
delivered by requested variables in execute
arguments.
The subscriber-publisher style of communication,
which in this application covers primarily
distribution of measured data, but also distribution
of group configuration commands, employs IP
multicasting. All clients wishing to receive messages
from a transducer, which is joined with an IP
multicast address of class D, register themselves to
this group using IGMP. After that, when this
ICE-B 2006 - INTERNATIONAL CONFERENCE ON E-BUSINESS
66