Hello Richard Thanks a lot for your reviews. We will go over your comments in detail.
Ss Danny Lachos On Mon, Jul 9, 2018 at 6:14 PM Y. Richard Yang <[email protected]> wrote: > Danny, Christian, > > Very interesting work. I finished a review of Sec. 6, and below is > the second part of my review. > > Richard > > ==== > 6. Proposed Approach > > The primary design goal for ALTO-based Broker-assisted Multi-domain > Orchestration is to discover resource and topology information from > different administrative domains involved in the federation, while > also safeguarding the privacy and autonomy of every domain. > > [yry] Connect to all requirements above? > > In the architectural proposal shown in Figure 1, a broker component > is conceived to be working as coordinator of a set of MdOs, whose key > > [yry] coordinator -> a coordinator; whose it is not clear righ away > what "whose" refers to, MdOs or broker? > > components are: the Inter-domain Resource (IdR), the Inter-domain > Topology (IdT) and the ALTO Server. > > > BROKER COMPONENT > [yry] COMPONENTS > > +--------------------------------------------+ > | | > | +-----------------+ | > | | | | > XXXXXXXXXXXXXXXXXXX ALTO SERVER(s) | | > X | | + | > X | +----------------+\ | > X | / \ | > X | / \ | > X | +------+/+-------+ +---------------+ | > X | | Inter-domain | | Inter-domain | | > X | | Topology (IdT) | | Resource (IdR)| | > X | +-^------^-------+ +---^-------^---+ | > X | | | | | | > X +--------------------------------------------+ > X | | | | > X | | | | > +--X--------+---+--------------------+ | > | | | | > | | +------------+------------+---+ > | MdO1 | | | > | +<------------->+ +---+ > +---------------+ | MdO2 | | > | | | > +-+--------------+ | > | | > Legend: | MdO(n) | > XXX ALTO Protocol +------------------+ > > > > Figure 1: Broker-assisted Multi-operator Network Architecture > > [yry] Does it help to label all, or key edges, not only the single > XXX, on which protocol (protocols) will be used? You mentioned > BGP/BGP-LS, ... > > 6.1. Inter-domain Resource (IdR) Component > > It creates a hierarchical database that contains inter-domain > resource information such as resource availability (i.e., CPU, > memory, and storage), Virtual Network Functions (VNFs) and Physical > Network Functions (PNFs) supported and Service Access Points (SAPs) > to access those resources. UNIFY [UNIFY.NFFG], TOSCA [TOSCA], ETSI- > > [yry] It can be ambiguous what Service Access Points refer to, > only VNFs/PNFs or all? The idea of a hierarchical database appears > to > be not fully specified. > > NFV [ETSI-NFV-MANO], among other data models can be used to create > the interface between IdR and MdOs. > > [yry] IdR not defined yet---appeared only in the section title. > > 6.2. Inter-domain Topology (IdT) Component > > A hierarchical TED (Traffic Engineering Database) that contains > inter-domain network topology information including additional key > parameters (e.g., throughput and latency of links). This information > can be retrieved from each MdO through BGP-LS or REST interfaces. > > 6.3. ALTO Server Functionalities > > The ALTO server component is the core of the broker layer. Multiple > logically centralized ALTO servers use the information collected from > IdR and IdT modules to create and provide abstract maps with a > > [yry] module vs component > > simplified view, yet enough information about MdOs involved in the > federation. This information includes domain-level topology, storage > resources, computation resources, networking resources and PNF/VNF > capabilities. > > [yry] Consistency: missing CPU, as above? > > As an ALTO client, each MdO sends ALTO service queries to the ALTO > server. This server provides aggregated inter-domain information > exposed as set ALTO base services defined in [RFC7285], e.g., Network > Map, Cost Map and ALTO extension services, e.g., Property > Map [DRAFT-PM], Multi-Cost Map [RFC8189], Path Vector [DRAFT-PV]. > > For example, when a source MdO receives a customer service request, > it checks whether or not it can deliver the full service. If it is > unable to do so, the MdO consumes from the ALTO Server the Property > Map service to have a clear global view of the resource information > offered by other MdOs. This information allows discovering which > candidate MdOs may be contacted to deliver the remaining requirements > of a requested end-to-end service deployment. The connectivity > information among discovered MdOs can be retrieved by a Cost Map > service, responding, for instance, a path vector with the AS-level > topology distance between the source MdO and candidate MdOs. > > 6.4. Filtered Cost Map Extension > > [yry] A bit disruptive transition. Why only Filtered Cost Map? > It helps to state the basic ALTO services that broker uses and > state that this is the one needs extension---I actually think > this should be a new service, instead of filtered cost map. > > The ALTO server MUST provide connectivity information for every SG > link in the SG path for an E2E requirement. This information is the > AS-level topology distance in the form of path vector, and it > includes all possible ways for each (source node, destination node) > pair in the SG link. > > [yry] Is it necessary to limit to only AS-hop distance? I assume > that other distances such as bw, latency can be useful as well. > > In this section, we introduce a non-normative overview of the > Filtered Cost Map defined in Section 6.1 of [DRAFT-PV] [1]. > > The specifications for the "Media Types", "HTTP method", > "Capabilities" and "Uses" (described in Section 6.1 of [DRAFT-PV] > [2]) are unchanged. > > > 6.4.1. Accept Input Parameters > > The ReqFilteredCostMap object in Section 6.1.2 of [DRAFT-PV] [3] is > extended as follow: > > > object { > [NFFG sg;] > } ReqFilteredCostMap; > > [yry] If sg is optional, the req can have an empty body. What is > the response to an empty request? Non-optional makes more sense, > to me. > > [yry] One key question that we should think: is it possible that > NFFG is an example of a more *generic* query model, for example, > waypoint model, so that the generic query is > src -> dst: waypoints? > > object { > JSONString nfs<1..*>; > JSONString saps<1..*>; > NextHops sg_links<1..*>; > REQs reqs<1..*>; > } NFFG; > > object { > JSONNumber id; > JSONString src-node; > JSONString dst-node; > } NextHops; > > object { > JSONString id; > JSONString src-node; > JSONString dst-node; > JSONNumber sg-path<1..*>; > } REQs; > > > > sg: If present, the ALTO Server MUST allow the request input to > include an SG with a formatted body as an NFFG object. An NFFG > object contains NFs, SAPs, SG links representing logical > connections between NFs, SAPs or both and E2E requirements as a > list of ids of SG links. > > It is worth noting that further versions of this draft will define a > more elaborated NFFG object to support extended parameters such as > monitoring parameters, resource requirements, etc. > > [yry] Also, need consistency requirement, for example, src-node string > appears in union of nfs, saps ... > > 6.4.2. Response > > If the ALTO client includes the path vector cost mode in the "cost- > type" or "multi-cost-types" field of the input parameter, the > response for each SG link in each E2E requirement MUST be encoded as > a JSONArray of JSONArrays of JSONStrings. Anyone of the sub-arrays > indicates a potential candidate path calculated as the per-domain > topological distance corresponding to the amount of traversing > domains. > > [yry] The encoding is quite interesting, but without an example, > and a bit explanation, it can be hard to understand the nested > data structure. I feel that the model can be a generic model, > such as waypoint, beyond SG; see above. > > Moreover, as defined in Section 6.3.6 of [DRAFT-PV] [4], If an ALTO > client sends a request of the media type "application/alto- > costmapfilter+json" and accepts "multipart/related", the ALTO server > MUST provide path vector information along with the associated > Property Map information (e.g., entry points of the corresponding > foreign domains), in the same body of the response. > > Section 6.5.2 gives an example of the Filtered Cost Map query and the > corresponding responses. > > 6.5. Examples of Message Exchange > > This section list a couple of examples of the Property Map and > Filtered Cost Map queries and the corresponding responses. These > responses are based on the information in Table 1 and Table 2 of a > use case implementation described in Appendix A. > > 6.5.1. Property Map Service > > In this example, the ALTO client wants to retrieve the entire > Property Map for PID entities with the "entry-point", "cpu", "mem", > "storage", "port" and "nf" properties. > > GET /propmap/full/inet-ucmspn HTTP/1.1 > Host: alto.example.com > Accept: application/alto-propmap+json,application/alto-error+json > > HTTP/1.1 200 OK > Content-Length: ### > Content-Type: application/alto-propmap+json > { > "property-map": { > "pid:AS1": { > "entry-point": [ "http://172.25.0.10:8888/escape" ], > "cpu": [ "50.0" ], > "mem": [ "60.0" ], > "storage": [ "70.0" ], > "port": [ "SAP1" ], > "nf": [ "NF1", "NF3" ] > }, > "pid:AS2": { > "entry-point": [ "http://172.26.0.10:8888/escape" ], > "cpu": [ "10.0" ], > "mem": [ "20.0" ], > "storage": [ "30.0" ], > "nf": [ "NF2" ] > }, > "pid:AS3": { > "entry-point": [ "http://172.27.0.10:8888/escape" ], > "cpu": [ "80.0" ], > "mem": [ "90.0" ], > "storage": [ "100.0" ], > "port": [ "SAP2" ], > "nf": [ "NF1", "NF3" ] > } > } > } > > [yry] A key issue that one may encounter in multi-domain > aggregation is ambiguity of aggregated resources. Is the semantics > that each resource is the *local* resource? If so, is there > a naming/scoping requirement on naming entities? > > [yry] If you do hierarchical brokers and each broker can hide the > details, the resource aggregation can become ambiguous: (1) broker 1 can > say it has 10 units of CPUs, and broker 2 can say the same, but they > may aggregate the 10 from the same individual domain. > > 6.5.2. Filtered Cost Map Service > > The following example uses the Filtered Cost Map service to request > the path vector for a given E2E requirement. The SG request > information in Table 2 is used to describe the service, and it is > composed of three NFs (NF1, NF2, and NF3) and two SAPs (SAP1 and > SAP2). Links connecting the NFs and SAPs ("sg_links" tag) are also > included, followed by an E2E requirement ("reqs" tag) with > information about the order in which NFs are traversed from SAP1 to > SAP2. > > Note that the request accepts "multipart/related" media type. This > means the ALTO server will include associated property information in > the same response. > > POST /costmap/pv HTTP/1.1 > Host: alto.example.com > Accept: multipart/related, application/alto-costmap+json, > application/alto-propmap+json, application/alto-error+json > Content-Length: [TBD] > Content-Type: application/alto-costmapfilter+json > > { > "cost-type": { > "cost-mode": "array", > "cost-metric": "ane-path" > }, > "sg": { > "nfs": [ "NF1", "NF2", "NF3" ], > "saps": [ "SAP1", "SAP2" ], > "sg_links":[ > { > "id": 2, > "src-node": "SAP1", > "dst-node": "NF1", > > }, > { > "id": 2, > "src-node": "NF1", > "dst-node": "NF2", > }, > { > "id": 3, > "src-node": "NF2", > "dst-node": "NF3", > }, > { > "id": 4, > "src-node": "NF3", > "dst-node": "SAP2", > } > ], > "reqs": [ > { > "id": 1, > "src-node": "SAP1", > "dst-node": "SAP2", > "sg-path": [ 1, 2, 3, 4 ] > } > ] > } > } > > > The ALTO server returns connectivity information for the E2E > requirement provided by the ALTO Client request of the above example. > Also, the response includes Property Map information for each element > in the path vector. In this case, it is retrieved a Property Map > with the "entry-point" property, i.e., the URL of the MdO entry point > for the corresponding network. > > > > HTTP/1.1 200 OK > Content-Length: [TBD] > Content-Type: multipart/related; boundary=example > > --example > Content-Type: application/alto-endpointcost+json > > { > "meta": { > "cost-type": { > "cost-mode": "array", > "cost-metric": "ane-path" > }, > }, > > "cost-map": { > "SAP1": { > "SAP2": { > "SAP1": { > "NF1": [ > [ "AS1" ], [ "AS1", "AS2", "AS3" ] > ] > }, > "NF1": { > "NF2": [ > [ "AS1", "AS2" ], [ "AS3", "AS2" ] > ] > }, > "NF2": { > "NF3": [ > [ "AS2", "AS1" ], [ "AS2", "AS3" ] > ] > }, > "NF3": { > "SAP2": [ > [ "AS1", "AS2", "AS3" ], [ "AS3" ] > ] > } > } > } > } > } > > --example > Content-Type: application/alto-propmap+json > > { > "property-map": { > "pid:AS1": { "entry-point": "http://172.25.0.10:8888/escape" }, > "pid:AS2": { "entry-point": "http://172.26.0.10:8888/escape" }, > "pid:AS3": { "entry-point": "http://172.27.0.10:8888/escape" } > } > } > > --example-- > [yry] Very interesting design. It helps if you add some text to go over > the meaning, such as [ "AS1" ], [ "AS1", "AS2", "AS3" ] are two > alternative > paths. > ==== > > On Sun, Jul 8, 2018 at 9:47 PM Y. Richard Yang <[email protected]> wrote: > >> Dear Danny, Christian, >> >> I started to read this draft. It addresses an important, timely issue. >> Below is the first part (on Sections 1-6) of my review, and I will send the >> second part on Sections 7-9 by tomorrow. >> >> Great work! >> Richard >> >> ==== >> Existing proposals for the network service orchestration are >> intrinsically conceived for single administrative domain scenarios. >> >> [yry] Add citations right after existing proposals? >> >> For example, in the standard service orchestration model described in >> ETSI NFV MANO framework [ETSI-NFV-MANO], one orchestrator is supposed >> to >> work within one administrative domain. The analysis of >> orchestration and management of network Services over multiple >> >> [yry] case, network vs Services >> >> administrative domains have begun to be addressed by ETSI >> in [ETSI-NFV-MANO-MDO]. >> >> [yry] The last sentence gives a related work. To make reading >> easier, >> it may help to differentiate between proposals (first sentence) and >> analysis (this sentence). >> >> All such proposals described above envision the potential >> introduction of new business model approaches, including federation >> models [PPP-5:2013] among administrative domains. In this context, >> this document considers each network operator involved in the >> community advertises its abstracted capabilities (e.g., software/ >> hardware resources, physical/virtual network functions, etc.) to a >> broker (i.e., 3rd party). This latter, in its turn, provides or >> >> [yry] latter -> broker >> >> assists coordinate E2E network services spanning multi-domain >> networks. >> >> 5. Problem Statement and Challenges >> >> The provision of a complete E2E network service requires chaining >> services provided by multiple network operator with multiple >> >> [yry] operator -> operators >> >> technologies. In this multi-domain environment, the orchestration >> process will require an advertise mechanism through which single >> >> [yry] advertise -> advertisement, single -> individual >> >> domains can describe their capabilities, resources, and VNFs in an >> interoperable manner. Moreover, a discovery mechanism is also >> necessary so that source domains can obtain candidate domains (with >> >> [yry] Although one can infer what source/candidate domains mean, >> it can help if you define them. >> >> the corresponding connectivity information) which can provide a part >> of the service and/or slide in an E2ENS requirement. >> >> [yry] slide -> slice? >> >> In order to the advertising and discovery process works in a proper >> way, a number of challenges can be identified: >> >> [yry] "In order to" -> "In order that" >> >> Lack of Abstractions: Multiple vendors with heterogeneous >> technologies need an information model to adequately represent >> in confidentiality-preserving fashion the resource and topology >> information. >> >> Scalability: Involves the distribution of topology and resource >> information in a peer-to-peer fashion (MdO-to-MdO). Multi- >> >> [yry] Note that the previous item mentions generic information model >> but here mentions only topology and resource information. It can >> help if >> the scoping is clarified up front: only topology/resource. >> >> operator multi-domain environments where the information >> distribution is advertised in a peer-to-peer model scales >> linearly. It means more MdO interconnections one has, the more >> >> [yry] Why linearly? There can be ambiguity. Assume the total >> transmission load of one domain grows linearly with n, which is >> the number of domains. Total system scales w/ n^2. But there can be >> other peer-to-peer systems such as CHORD which publish >> (advertises) with a constant cost. It helps to specify some more details. >> >> it "costs" to distribute. >> >> Flexibility: Considers that a distributed approach does not allow >> domains without physical infrastructure (e.g., without BGP or >> BGP-LS) to advertise resource capabilities and networking >> resources. Such procedures consist in deploying and configuring >> physical peering points for these domains. >> >> [yry] The description above is not clear to me yet. One can run BGP >> w/o a physical infrastructure. It helps if you can clarify this challenge. >> >> Complexity: Refers to the discovery mechanism to pre-select >> candidate domains, accounting for resources and capabilities, >> necessary for an E2E network service deployment. An intrinsic >> complexity exists in the process of assembling, logically >> organizing, and enabling abstraction views of different >> resources and capabilities in multi-domain scenarios. >> >> [yry] A summary comment on the 4 items. Are they challenges, issues >> or requirements? The wording appears to have multiple aspects: lacking >> of abstractions seems to imply issues; flexibility seems to imply >> requirements... Is the set complete, for example how about security, >> autonomy, privacy ...---some you touch right below? One more comment is >> that the terms used (e.g., flexibility) can be too generic. If you go a bit >> more specific, for example, Discovery Flexibility, it may help. >> >> ==== >> >> On Mon, Jul 2, 2018 at 8:25 PM Danny Alex Lachos Perez < >> [email protected]> wrote: >> >>> Dear WG members >>> >>> This new version (-01) considers a section on benefits and open >>> questions (section 7) where we analyze the advantages and open issues in >>> the broker-assisted architecture. Moreover, we removed the Property Map >>> Extension section because the current Property Map draft [0] already >>> supports property values encoded as JSONArray. >>> >>> Other changes include (i) update the Problem Statement and Challenges >>> section and (ii) many minor style and grammar edits. >>> >>> Comments and feedback will be highly appreciated. >>> >>> Thank you very much >>> >>> [0] >>> https://tools.ietf.org/html/draft-ietf-alto-unified-props-new-04#section-4.6 >>> >>> Ss >>> >>> Danny Lachos >>> >>> On Mon, Jul 2, 2018 at 4:18 PM <[email protected]> wrote: >>> >>>> >>>> A new version of I-D, draft-lachosrothenberg-alto-brokermdo-01.txt >>>> has been successfully submitted by Danny Alex Lachos Perez and posted >>>> to the >>>> IETF repository. >>>> >>>> Name: draft-lachosrothenberg-alto-brokermdo >>>> Revision: 01 >>>> Title: ALTO-based Broker-assisted Multi-domain Orchestration >>>> Document date: 2018-07-02 >>>> Group: Individual Submission >>>> Pages: 22 >>>> URL: >>>> https://www.ietf.org/internet-drafts/draft-lachosrothenberg-alto-brokermdo-01.txt >>>> Status: >>>> https://datatracker.ietf.org/doc/draft-lachosrothenberg-alto-brokermdo/ >>>> Htmlized: >>>> https://tools.ietf.org/html/draft-lachosrothenberg-alto-brokermdo-01 >>>> Htmlized: >>>> https://datatracker.ietf.org/doc/html/draft-lachosrothenberg-alto-brokermdo >>>> Diff: >>>> https://www.ietf.org/rfcdiff?url2=draft-lachosrothenberg-alto-brokermdo-01 >>>> >>>> Abstract: >>>> Evolving networking scenarios (e.g., 5G) demand new multiple >>>> administrative domain (aka multi-domain) orchestration models. This >>>> document proposes the use of Application-Layer Traffic Optimization >>>> (ALTO) services to offer topology and resources addressing network >>>> service discovery and provisioning by multi-domain orchestrators. >>>> The ALTO services with the proposed protocol extension offer >>>> aggregated views on various types of resources contributing to a more >>>> simple and scalable solution for resource and service discovery in >>>> multi-domain, multi-technology environments. >>>> >>>> >>>> >>>> >>>> >>>> Please note that it may take a couple of minutes from the time of >>>> submission >>>> until the htmlized version and diff are available at tools.ietf.org. >>>> >>>> The IETF Secretariat >>>> >>>> _______________________________________________ >>> alto mailing list >>> [email protected] >>> https://www.ietf.org/mailman/listinfo/alto >>> >> >> >> -- >> -- >> ===================================== >> | Y. Richard Yang <[email protected]> | >> | Professor of Computer Science | >> | http://www.cs.yale.edu/~yry/ | >> ===================================== >> > > > -- > -- > ===================================== > | Y. Richard Yang <[email protected]> | > | Professor of Computer Science | > | http://www.cs.yale.edu/~yry/ | > ===================================== >
_______________________________________________ alto mailing list [email protected] https://www.ietf.org/mailman/listinfo/alto
