We define a common format for the logs related to the messages dissemination. Any system that produce logs and translate them to this format will be able to use the DGS tools related to the messages dissemination (e.g. comparison between the horizons and the message journeys)
The events are the following:
The generic line format is the following:
date event node-id [key=value]*
with:
date
: the event date in msevent
: one of the 4 events detailed belownode-id
: the id of the node related to the eventkey=value
: properties depending on the event typethe values of the arguments or properties may be in quotes
date sub|unsub node-id gid=grp-id
with:
node-id
: the id of the node that (un)subscribes to a groupgrp-id
: the id of the group or a regex that identifies the message
contents the node is interested indate snd node-id mid=msg-id [key=value]*
with:
node-id
: the id of the node that sends the messagemsg-id
: the id of the messagethe optional properties can be:
size=size-msg
: the size of the message in bytesdst=dst-ids
: the message recipients (or content description for
recipients represented by a regex)dst-ids
: dst-id[,dst-id]*
dst-id
: (node-id|grp-id)
date rcv node-id mid=msg-id [key=value]*
with:
node-id
: the id of the node that receives the messagemsg-id
: the id of the messagethe optional properties can be:
sdr=node-id
: the id of the node that forwarded the messageText file that contains tabular data.
CSV stands for Comma-Separated Values, but we consider here tab-separated values. Indeed, the CSV format is not fully standardized: CSV also denotes several delimiter-separated formats that use other field delimiters such as semicolons, tabs or spaces. The MUON parsing tools are build on the assumption that the delimiter character is a tab.
Each line of the file is a table row. Each row consists of one or more fields, separated by tabs, that form the columns of the table. Lines starting with the '#' character are considered comments and can contain the columns names (tab-separated textual values).
CSV files can be used to represent data to be displayed in graphs (plots).
DGS files are the default files of the GraphStream project. GraphStream allows the visualisation and analysis of graphs, in particular dynamic graphs through the use of its Java library.
These files allow the storage of both static and dynamic graphs using a textual yet human understandable representation, whilst maintaining an overall small file size. Using events such as the creation, removal or modification of a node or an edge, as well as the addition, removal or modification of attributes on either a node, an edge or even a graph, the dynamics of various graphs can be defined.
For more information, please consult this link.
The horizons file format describes the horizons of nodes and their progression over time. The horizon of a node at some time is the set of nodes for which a journey exists starting at this node and at this time.
The horizons files are composed of lines in the form
node time nrcvrs (+|-) nodes_set
where:
node
is the id of the starting node time
is the start time of the journeys starting from node
nrcvrs
is the number of nodes in the horizon set of node
(receivers)(+|-)
indicates whether the following set has been added (+) or removed (-) from the horizonnodes_set
is the set of nodes that have been added to a removed from the horizons set of node
nodes_set
: '[' node [ ',' node ]* ']'
dmis01 0 9 + [dmis05,dmis08,dmis09,dmis12,dmis13,dmis14,dmis17,dmis18,dmis20]
dmis01 1479477 8 - [dmis14]
dmis01 1491424 7 - [dmis12]
dmis01 1492648 6 - [dmis05]
dmis01 1496019 0 - [dmis08,dmis09,dmis13,dmis17,dmis18,dmis20]
A journey is a temporal directed path in a dynamic graph, i.e. a path with temporal attributes: the journey start time and the time for each edge.
Journeys could be grouped together, thus forming a tree if:
A 'group of journeys' represents the dissemination of a message amongst nodes in an opportunistic network. Thus, journey files are calculated from applicative events files. A 'group of journeys' also represent 'ideal' journeys that messages could take by exploiting the contacts in an opportunistic scenario. Thus, journey files are calculated from DGS files.
A journey file is composed of lines, composed of tokens separated by
tab characters (\t
). Each journey or group of journeys is
represented by several lines, described below. Groups of journeys are
separated by an empty line.
File format specification:
journeys_file ::= journey_group [ '\n\n' journey_group ]*
journey_group ::= journey_start '\n' statistics [ '\n\t' journey_edge ]*
journey_start ::= <identifier> <start_time> <source_node>
statistics ::= <nb> <sum> <min> <max> <avg> <std_dev>
journey_edge ::= <edge_time> <depth> source_nodes target_nodes
source_nodes ::= nodes_list
target_nodes ::= nodes_list
nodes_list ::= '[' <node_id> [ ',' < node_id> ]* ']'
In the compact journey file format are represented the journey source node and start time, and, for each edge, the time and target node. Each journey or group of journeys is represented by a single line.
journeys_file ::= journey_group [ '\n' journey_group ]*
journey_group ::= journey_start [ journey_edge ]*
journey_start ::= <identifier> <start_time> <source_node> <nb_nodes>
journey_edge ::= <target_node>,<edge_time>
<nb_nodes>
) does not include the source node
of the journeyThe ONE is an Opportunistic Network Environment simulator. The ONE files represent the evolution of nodes connectivity in an opportunistic network.
The ONE file format is composed of lines in the form
time CONN node1 node2 up|down
where
time
is the time when the event occursnode1
and node2
are the ids of the nodes concerned by this eventup|down
indicates whether an edge between the nodes is added or removedFor more information, please consult this link.
Text file representing the command generated and passed to Gnuplot to create a graphical representation.
For more information, please consult this link.
Scalable Vector Graphics (SVG) is a vector image format for defining two-dimensional graphics. SVG images are defined in a vector graphics format and stored in XML text files. SVG images can thus be scaled in size without loss of quality.
SVG images are usually graphical representations of various data
The views file format describes the views of nodes and their progression over time. The view of a node at some time is the set of nodes from which a journey exists arriving at this node and at this time.
The horizons files are composed of lines in the form
node time nrsdrs (+|-) nodes_set
where:
node
is the id of the destination node time
is the arrival time of the journeys arriving at node
nrsdrs
is the number of nodes in the view set of node
(senders)(+|-)
indicates whether the following set has been added (+) or removed (-) from the horizonnodes_set
is the set of nodes that have been added to a removed from the views set of node
nodes_set
: '[' node [ ',' node ]* ']'