Hi Jerry,
This will bound the problem - the network will deliver within one
minute of the scheduled start time, or declare a fault condition and
fall on its sword. We can discuss if this is adequate for V1.0.
And what the recovery action should be: release the connection and
notify the user? notify the user and continue provisioning? ...?
I think a related, just as important question is, do you extend the
termination time? For an application which
has to transfer N TBs of data, starting 20 minutes late might be useless
if the requested reservation time
is shortened by that... I admit a videoconferencing app will prefer to wait.
This is IMO first a policy question - who is following you in the
resource schedule? Are you more important than they are?
From the protocol point of view, terminating would be the cleanest
thing to do. With the right configuration
of provisioning times in each domain, a timeout of a minute, say, would
indicate a deeper problem, so waiting might
be pointless.
Exactly.
However, an alternative would be to keep the user (agent/application) in
wait state until provisioning successful or
termination time - whatever comes first. The user app can then abort if
it thinks it's beyond repair, and try to
reschedule. But this implies that there is always a status (change)
notification to the user agent. Then we can get rid
of the timeout, actually.
(Note that's not contradicting my earlier statements - the goal remains
to provision at the requested time.)
Yeah, a timeout is useful for the protocol more generally. You never
leave a protocol in a non-terminal state. There should always be a way
for the state machine to terminate. If we issue a Provision down the
tree and nothing ever comes back...at some point we have to assume
something is wrong (!) And we have to be able to recover if nothings
is ever EVER going to come back (the NSA died some how...) The
timeout does this. When we wake up and realize nothings happened from
below, we can eitehr check on progress, or just bail out. So, we can
either issue a query() request down "Are we there yet?" "Nope, still
working", or we can issue a notify up "Working, please stand by." "ok,
thanks" after which the RA waits some more or bails out with a Release.