RFXCLOCK(1) ICI executables RFXCLOCK(1)NAME
rfxclock - ION daemon task for managing scheduled events
SYNOPSIS
rfxclock
DESCRIPTION
rfxclock is a background "daemon" task that periodically applies scheduled changes in node connectivity and range to the ION node's
database. It is spawned automatically by ionadmin in response to the 's' command that starts operation of the ION node infrastructure, and
it is terminated by ionadmin in response to an 'x' (STOP) command.
Once per second, rfxclock takes the following action:
For each neighboring node that has been refusing custody of bundles sent to it to be forwarded to some destination node, to which no
such bundle has been sent for at least N seconds (where N is twice the one-way light time from the local node to this neighbor),
rfxclock turns on a probeIsDue flag authorizing transmission of the next such bundle in hopes of learning that this neighbor is now
able to accept custody.
Then rfxclock purges the database of all range and contact information that is no longer applicable, based on the stop times of the
records.
Finally, rfxclock applies to the database all range and contact information that is currently applicable, i.e., those records whose
start times are before the current time and whose stop times are in the future.
EXIT STATUS
0 rfxclock terminated, for reasons noted in the ion.log file. If this termination was not commanded, investigate and solve the problem
identified in the log file and use ionadmin to restart rfxclock.
1 rfxclock was unable to attach to the local ION node, probably because ionadmin has not yet been run.
FILES
No configuration files are needed.
ENVIRONMENT
No environment variables apply.
DIAGNOSTICS
The following diagnostics may be issued to the ion.log log file:
rfxclock can't attach to ION.
ionadmin has not yet initialized the ION database.
Can't apply ranges.
An unrecoverable database error was encountered. rfxclock terminates.
Can't apply contacts.
An unrecoverable database error was encountered. rfxclock terminates.
Can't purge ranges.
An unrecoverable database error was encountered. rfxclock terminates.
Can't purge contacts.
An unrecoverable database error was encountered. rfxclock terminates.
BUGS
Report bugs to <ion-bugs@korgano.eecs.ohiou.edu>
SEE ALSO ionadmin(1)perl v5.14.2 2012-05-25 RFXCLOCK(1)
Check Out this Related Man Page
IONRC(5) ICI configuration files IONRC(5)NAME
ionrc - ION node management commands file
DESCRIPTION
ION node management commands are passed to ionadmin either in a file of text lines or interactively at ionadmin's command prompt (:).
Commands are interpreted line-by line, with exactly one command per line. The formats and effects of the ION node management commands are
described below.
TIME REPRESENTATION
For many ION node management commands, time values must be passed as arguments. Every time value may be represented in either of two
formats. Absolute time is expressed as:
yyyy/mm/dd-hh:mm:ss
Relative time (a number of seconds following the current reference time, which defaults to the current time at the moment ionadmin began
execution but which can be overridden by the at command described below) is expressed as:
+ss
COMMANDS
? The help command. This will display a listing of the commands and their formats. It is the same as the h command.
# Comment line. Lines beginning with # are not interpreted.
e { 1 | 0 }
Echo control. Setting echo to 1 causes all output printed by ionadmin to be logged as well as sent to stdout. Setting echo to 0
disables this behavior.
v Version number. Prints out the version of ION currently installed. HINT: combine with e 1 command to log the version number at
startup.
1 node_number { ion_config_filename | '' }
The initialize command. Until this command is executed, the local ION node does not exist and most ionadmin commands will fail.
The command configures the local node to be identified by node_number, a CBHE node number which uniquely identifies the node in the
delay-tolerant network. It also configures ION's data store (SDR) and shared working-memory region using either the settings found in
the ion_config_filename file or, if '' is supplied as the ion_config_filename, a set of default settings. Please see ionconfig(5) for
details.
For example:
1 19 ''
would initialize ION on the local computer, assigning the local ION node the node number 19 and using default values to configure the
data store and shared working-memory region.
@ time
The at command. This is used to set the reference time that will be used for interpreting relative time values from now until the next
revision of reference time. Note that the new reference time can be a relative time, i.e., an offset beyond the current reference
time.
a contact start_time stop_time source_node dest_node xmit_data_rate
The add contact command. This command schedules a period of data transmission from source_node to dest_node. The period of
transmission will begin at start_time and end at stop_time, and the rate of data transmission will be xmit_data_rate bytes/second.
d contact start_time source_node dest_node
The delete contact command. This command deletes the scheduled period of data transmission from source_node to dest_node starting at
start_time. To delete all contacts between some pair of nodes, use '*' as start_time.
i contact start_time source_node dest_node
This command will print information (the stop time and data rate) about the scheduled period of transmission from source_node to
dest_node that starts at start_time.
l contact
This command lists all scheduled periods of data transmission.
a range start_time stop_time one_node the_other_node distance
The add range command. This command predicts a period of time during which the distance from one_node to the_other_node will be
constant to within one light second. The period will begin at start_time and end at stop_time, and the distance between the nodes
during that time will be distance light seconds.
d range start_time one_node the_other_node
The delete range command. This command deletes the predicted period of constant distance between one_node and the_other_node starting
at start_time. To delete all ranges between some pair of nodes, use '*' as start_time.
i range start_time one_node the_other_node
This command will print information (the stop time and range) about the predicted period of constant distance between one_node and
the_other_node that starts at start_time.
l range
This command lists all predicted periods of constant distance.
m utcdelta local_time_sec_after_UTC
This management command sets ION's understanding of the current difference between correct UTC time and the time values reported by the
clock for the local ION node's computer. This delta is automatically applied to locally obtained time values whenever ION needs to
know the current time. For machines that use UTC natively and are synchronized by NTP, the value of this delta should be 0, the
default.
m clockerr known_maximum_clock_error
This management command sets ION's understanding of the accuracy of the scheduled start and stop times of planned contacts, in seconds.
The default value is 1. When revising local data transmission and reception rates, ionadmin will adjust contact start and stop times
by this interval to be sure not to send bundles that arrive before the neighbor expects data arrival or to discard bundles that arrive
slightly before they were expected.
m production planned_data_production_rate
This management command sets ION's expectation of the mean rate of continuous data origination by local BP applications throughout the
period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be
zero, which is the default.
m consumption planned_data_consumption_rate
This management command sets ION's expectation of the mean rate of continuous data delivery to local BP applications throughout the
period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be
zero, which is the default.
m occupancy data_store_occupancy_limit
This management command sets the maximum number of bytes of storage space in ION's SDR non-volatile data store that can be used for the
storage of bundles. The default value is 60% of the SDR data store's total heap size.
m horizon { 0 | end_time_for_congestion_forecasts }
This management command sets the end time for computed congestion forecasts. Setting congestion forecast horizon to zero sets the
congestion forecast end time to infinite time in the future: if there is any predicted net growth in bundle storage space occupancy at
all, following the end of the last scheduled contact, then eventual congestion will be predicted. The default value is zero, i.e., no
end time.
m alarm 'congestion_alarm_command'
This management command establishes a command which will automatically be executed whenever ionadmin predicts that the node will become
congested at some future time. By default, there is no alarm command.
m usage
This management command simply prints ION's current data store occupancy (the number of bytes of space in the SDR non-volatile data
store that are occupied by bundles), the limit on occupancy, and the maximum level of occupancy predicted by the most recent ionadmin
congestion forecast computation.
r 'command_text'
The run command. This command will execute command_text as if it had been typed at a console prompt. It is used to, for example, run
another administrative program.
s The start command. This command starts the rfxclock task on the local ION node.
x The stop command. This command stops the rfxclock task on the local ION node.
h The help command. This will display a listing of the commands and their formats. It is the same as the ? command.
EXAMPLES
@ 2008/10/05-11:30:00
Sets the reference time to 1130 (UTC) on 5 October 2008.
a range +1 2009/01/01-00:00:00 1 2 12
Predicts that the distance between nodes 1 and 2 (endpoint IDs ipn:1.0 and ipn:2.0) will remain constant at 12 light seconds over the
interval that begins 1 second after the reference time and ends at the end of calendar year 2009.
a contact +60 +7260 1 2 10000
Schedules a period of transmission at 10,000 bytes/second from node 1 to node 2, starting 60 seconds after the reference time and
ending exactly two hours (7200 seconds) after it starts.
SEE ALSO ionadmin(1), rfxclock(1)perl v5.14.2 2012-05-25 IONRC(5)