Hi WG, Adrian, Qin, Jordi, all, Thank you so much for the wonderful reviews of the new alto transport design. Roland, Lachlan, Kai and I are taking a final pass and will go over it on Thursday during the interim meeting.
One key issue that we want to discuss, in this specific thread, is a clarification of the high-level structure: - Conceptually, the system consists of 3 types of resources: (R1) tips, which is a frontend to manage (create/delete) transport states (R2) transport state directory, which provides metadata (e.g., references) about the network data (R3) the actual network data, encoded as alto resources (e.g., cost map, network map) or incremental updates One key high-level design decision is the flexibility in locating the 3 types of resources: at one extreme, they are all located on the same server, and the other extreme (flexible servers) is that they can be located on separate servers. The advantage of the first "extreme" is that the first request (R1) can already set up the connection, and hence, there is a single connection to manage. Hence, it is a simple, clean design. The advantage of the second "extreme" (flexible servers) is, flexibility, but the complexity is that it then requires additional connections. In the current document, it takes a middle ground, R1 can create individual R2 at different locations, but R2 and its corresponding R3 must be co-located. Hence, the fetching of R2 opens the connection for R3 as well. One benefit of this design is that the backend synchronization between R2 and R3 can be easier. Another key issue is the relationship between the server state and the clients' views. In the current design, the specification is that this relationship is implementation specific, and hence not specified. But it has become clearer that we need to discuss this issue more to provide guidance. The third main issue is whether we allow direct links. From a structural's point of view, we can consider the view of a client of a network resource as a directed, acyclic graph, where each node in the graph is a version of the network resource. Each R3 resource is a link in the graph. Introducing a virtual root, the client essentially traverses the links to obtain the resources. An absolute (direct, not incremental) resource of a version is a direct link from the virtual root directly to the version, and an incremental resource traverses just one link, from the previous version to the next version. The current document allows direct links, but we are discussing the possibility of removing such direct links by the interim meeting. Any comments are greatly appreciated and we look forward to a wonderful meeting soon. Thank you so much! Roland, Richard, Lachlan and Kai
_______________________________________________ alto mailing list [email protected] https://www.ietf.org/mailman/listinfo/alto
