@startuml
!pragma teoz true
actor "Instrument"
database "Storage 1" as summit
participant "Storage\nInventory 1" as ssi
participant "Global\nStorage\nInventory" as gsi
participant "Storage\nInventory 2" as hqsi
database "Storage 2" as hq
Instrument -> summit : writes file
summit -> ssi : minoc adds entry to SSI
gsi -> ssi : queries SI1 for new files
ssi -> gsi : GSI gets metadata about new file
gsi -> gsi : updates inventory database
hqsi -> gsi : queries GSI for new files
gsi -> hqsi : SI2 gets metadata about new file
summit -> hq : file transferred
hqsi -> hqsi : updates inventory database
& gsi -> gsi : updates inventory database
@enduml