An idea of the relations we might need to represent a Network Monitoring environment (SQL oriented):
mysql> describe theodolite; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | DomainA | varchar(16) | | | | | | DomainB | varchar(16) | | | | | | TheodoliteA | varchar(16) | | | | | | TheodoliteB | varchar(16) | | | | | +-------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
mysql> describe domain; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | Entity | varchar(16) | | | | | | Domain | varchar(16) | | | | | +--------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Query examples:
A consumer wants the packet loss between Computing Entity C2 and Storage Entity S3:
select @Dc:=Domain from domain where Entity='C2'; select @Ds:=Domain from domain where Entity='S3'; select measure from NetworkPacketLoss,theodolite where theodolite.DomainA=@Dc && theodolite.DomainB=@Ds && NetworkPacketLoss.TheodoliteA = theodolite.TheodoliteA && NetworkPacketLoss.TheodoliteB = theodolite.TheodoliteB;
Response:
+---------+ | measure | +---------+ | 0.010 | +---------+ 1 row in set (0.02 sec)
A consumer wants the packet loss between Computing Entity C2 and any Storage Entity:
select @Dc:=Domain from domain where Entity='C2'; select domain.Entity,measure from NetworkPacketLoss,theodolite,domain where -> domain.Entity LIKE 'S%' && -> theodolite.DomainA=@Dc && -> theodolite.DomainB=domain.Domain && -> NetworkPacketLoss.TheodoliteA = theodolite.TheodoliteA && -> NetworkPacketLoss.TheodoliteB = theodolite.TheodoliteB;
Response
+--------+---------+ | Entity | measure | +--------+---------+ | S3 | 0.010 | | S4 | 0.100 | +--------+---------+ 2 rows in set (0.00 sec)
A producer (theodolite) X wants to discover its partners at startup:
select theodolite.TheodoliteB from theodolite where theodolite.TheodoliteA='T4';
Response:
+-------------+ | TheodoliteB | +-------------+ | T1 | | T3 | +-------------+ 2 rows in set (0.00 sec)
Next: Conclusions
Previous: The topology of the Grid: Connectivity