NAO MI Software |
Memo wht-naomi-64
To: ABG
From: RMM
CC:
Date: 18 February 2003
Re: DRAMA interface for NAOMI: ideas and queries
Hi Bruce,
looking at the possibility of trying to interface something like the proposed ELECTRA-1 architecture to the rest of the WHT services via DRAMA (with the NAOMI-side acting as server and/or client), should we first try separating the communications layer interface problem from that of the format and semantics of the packets used on either side of the divide. Am I right in assuming that the former problem consists of one side talking DTM and the other DITS, whilst the latter consists of the DRAMA side talking a WHT-specific convention implemented in SDS whilst the AO-side might be talking an expanded version of the ELECTRA command/status set?
Assuming this decomposition of the problem is valid, lets look first at the comms layer problem. The SEQ interfaces to the rest of the ELECTRA architecture currently look something like this:
As
SEQ would have to be able to act in both a client and server role with respect
to the WHT DRAMA processes, it seems to follow that the SEQ process would have
to accept DRAMA input (however formatted) via (1) and (3) and also be able to
produce it on (2) and (4).
It
may be, of course, that this could actually be done by executing selects on the
two protocols at (1) and (3). However this looks tricky to me, even just
looking at the DTM side where there is a critical requirement to keep (3) live.
Failure to do this will produce virtually system-wide livelock.
Can we solve this by adding four interface processes (or perhaps, better still threads) which just add extra sources at (1) and (3) (already heavily fanned-in) and sinks at (2) and (4) (already heavily fanned-out):
Each
of the new threads would be then either a DTM-in/DITS-out or DITS-in/DTM-out
convertor.
Even
if we solved the DITS/DTM problem by relayering the entire ELECTRA/NAOMI system
over DITS we should still have the problem of the differing information
formats. Is this still true if the SDS layer were adopted for all of NAOMI; is
there still some WHT-specificity in the interpreation of commands and status as
I assumed above? Assuming this is right then something like the above could
still work. Remember all the DRAMA interface threads could still communicate as they share memory. This would
mean that if the DRAMA-side required a superset of the CMDSET info (and
vice-versa) to survive across transactions, the threads could set up
housekeeping structures to assure this.
PLEASE
LET ME KNOW A) IF THIS MAKES ANY SENSE, B) IF SO, WHAT YOU THINK, C) IF IT MIGHT
BE OK SHOULD WE CONSIDER BUILDING A LIMITED PROTOTYPE?
Cheers
Richard