Kai,

Adding the ALTO list for proper archiving of this thread.

I don't see that the fact that it's a proxy matters here; if there is *any*
open request from anywhere, that's an indication that someone is still
interested in the TIPS view.

If I understand MT's comments correctly, he would prefer somewhat looser
requirements on the server here. This has some friction with my AD review,
but maybe we can synthesize something better here.

I see two ways forward:
1) This Heartbeat/DELETE design with the discussed changes. It's clever but
a little complicated, and I have concerns about the scalability of
Heartbeats.

2) A set of rules that sets reasonable expectations of the server that the
client can use, but that ultimately falls back on 404s. No Heartbeat or
DELETE. Something like:

Servers might have to delete a TIPS view due to resource constraints,
especially when the resource is specific to a single client.

- Servers SHOULD NOT delete a TIPS view when there is an open request for
an edge.
- Servers SHOULD NOT delete a TIPS view if it sent a response for an edge
in the last few seconds.
- Servers MUST respond with a 404 or 410 if the requested TIPS view has
been destroyed. Clients can then request a new TIPS view.

I would lean towards (2), but am interested in what you and the team think.

Martin Duke





On Thu, Oct 12, 2023 at 6:58 AM <kai...@scu.edu.cn> wrote:

> Hi Martin,
>
> Thanks for the comments. Please see inline.
>
> Best,
>
> Kai
>
> -----Original Messages-----
> *From:* "Martin Duke" <martin.h.d...@gmail.com>
> *Send time:* Thursday, 10/12/2023 03:27:14
> *To:* draft-ietf-alto-new-transport....@ietf.org, "Martin Thomson" <
> m...@lowentropy.net>
> *Subject:* AD comments on draft-ietf-alto-new-transport-15
>
> Hello ALTO and Martin,
>
> Thanks to Martin for his excellent HTTPDIR review and the team's quick
> work to update the draft. The primary purpose of this email is to verify
> with Martin that the edits are sufficient to address his concerns, as those
> objections are quite detailed.
>
> I also have a couple of followup questions and nits for my own
> understanding:
>
> - Is it a valid use case for the client to open a tips view and then not
> have a request open for an edge? (i.e. can it hold a tips review "in
> reserve" in case it has a need for the resource?) If not, it seems like a
> simpler way to do this would be for the server to keep the tips view open
> as long as there is an open request for an edge (giving a grace period of a
> few RTTs from when a request is filled to allow the client to request the
> next edge). IIUC, this seems much easier than the heartbeat mechanism, and
> more scalable: a cache only needs to forward one GET per update, instead of
> N heartbeats going all the way back to the origin.
>
>
> [KAI] The current document does not demand the client to always send an
> open request. One reason is that, in the case of handling dependent TIPS
> views, a client may hold the request to fetch the latest update of one
> resource (e.g., a cost map) when it is still processing updates for a
> dependent resource (e.g., a network map). Even if we demand that, one
> lesson I learnt from the previous persistent connection debate is that the
> open request, which implies that the underlying connection is still up, may
> not reflect the status of a client but that of a proxy.
>
> Assuming that doesn't work, two questions about heartbeat and DELETEs:
>
> - (S4.1) I don't think the DELETE mechanism works properly. Let's say
> there are two clients subscribing to a TIPS view and they both are sending
> Heartbeat POST requests. if the first client sends DELETE, the server
> really should not delete the TIPS view!
>
> [KAI] Yes the server should not. We do mention how to correctly manage
> shared views in section 8.7.
>
> Sec 6 says "The server MAY keep track of which clients are subscribing to
> each TIPS view to determine whether or not it should delete a TIPS view and
> its corresponding updates graph and associated data." ISTM this is an
> obsolete relic from an earlier design (as some GETs may never arrive at the
> server due to a cache), and a better sentence might be "The server SHOULD
> keep track of how many clients are sending it heartbeat messages and SHOULD
> NOT delete the TIPS view until each client has either sent a DELETE request
> or failed to send a Heartbeat message in the required interval".
>
> [KAI] The proposed text is clearer. We will update the text with a small
> variantion: the server may close the view if multiple heartbeat messages
> are not received.
>
> - (S6.4) There are a few instances of "must" here that I believe should be
> "MUST"?
>
> [KAI] Indeed. Updated as suggested.
>
> thanks
> Martin (Duke)
>
>
_______________________________________________
alto mailing list
alto@ietf.org
https://www.ietf.org/mailman/listinfo/alto

Reply via email to