SYNOPSIS
portal [OPTION] publicAddress privateAddress mooringAddress
DESCRIPTION
portal launches a portal server for a SIAM-MMC mooring.
A portal is the "gateway" between clients on the local network and a remote
platform server located on the far side of a low-bandwidth/intermittent
connection. In the case of portal, that platform is a mooring running
the SIAM application, and the connection is a satellite or RF link.
Clients do not interact with the mooring directly, but rather through the
portal, which manages traffic over the low-bandwidth connection.
The portal has two major functions; 1) retrieve new data from the mooring and distribute it to clients when a communication link is established and 2) forward client commands to the mooring when the link is established.
Communication between the portal and the mooring is implemented with Java RMI. The portal includes a lease manager. When a communication link is established, the mooring notifies the portal's lease manager. The portal responds by retrieving new data from the mooring, saving the data packets in local storage, and distributing the data to clients. The portal then forwards any new client commands to the mooring. On each subsequent link connection, the portal retrieves all new packets not yet retrieved during previous connections.
The portal distributes the data to clients in two ways. A client can get a DevicePacketStream object from the portal's RMI server; as new packets are retrieved, the portal places them into the streams requested by each client. The portal also distributes data via the Java Messaging Service.
The publicAddress is the onshore (or shipboard) network
inet address of the portal's host machine. The privateAddress is
the inet address of the portal host's connection to the deployed platform.
The mooringAddress is the inet address of the deployed platform.
OPTIONS
By default, portal starts by retrieving all packets acquired by
all instruments. The -since option can be used to specify a time-based
retrieval criterion.
-since 0
Start by retrieving all packets from all instruments
-start now
Start by retrieving all packets acquired since the portal was started
-since timestring
Start by retrieving packets newer than timestring from all instruments.
The timestring argument can have the following formats:
mm/dd/yyyy
numeric month, day-of-month, and year
mm/dd/yyyy:Thh:mm:ss
numeric month, day-of-month, and year, followed by letter 'T', followed
by hour, minutes, seconds
Note that timestring is specified by the user as local time, and is converted to GMT by the program.
ENVIRONMENT
Environment variable SIAM_HOME must be defined and
point to top-level directory for
the SIAM project software (the software can
be retrieved from cvs, as module siam).
EXAMPLES
Example 1:
Link provided Teledesigns RF modem, using ppp to support TCP/IP.
Portal host is mbari247 on the MBARI network. In this case
the /etc/hosts file on mbari247 might contain the following entries:
10.1.1.1 mooring
# RF interface to mooring
10.1.1.2
shore # RF interface to shore portal
machine
Then portal would be invoked as follows:
% portal mbari247 shore mooring
To retrieve all packets created since March 27, 2003:
% portal -since 3/27/2003 mbari247 shore mooring
Example 2:
Link provided by Globalstar satellite modem. Communications from shore
are routed through Globalstar's ground station via the Internet. Assume
stingray is the portal host, and mooring mtm has a fixed
IP-address specified in stingray's /etc/hosts file.
Then portal would be invoked as follows:
% portal stingray stingray mtm
In this case, the mooring addresses the portal through IP interface stingray, since the mooring accesses the MBARI network via dial-up from the Globalstar ground station.
BUGS
The timestring specified by the -since option is currently in
local time, but should be in GMT.
Command-forwarding to the mooring is not yet implemented.
The name of the JMS server location and topic names are currently
hardcoded; should be user-specifiable