On 16-May-24 18:58, Sheng JIANG wrote:
Hi, Toerless,
Thanks for your further suggestion. It is fair to have a specific resource
deployment as a proof example alongside the framework document. Storage
could be one. Actually, I am thinking computing resource may be even more
straight forward as the newly merged resource have not been explored a lot.
I will talk around to my friends in carriers and vendors to find some people
who are interested to work on this with me. Meanwhile, I will try to
modified the current document towards an informational framework/guidance
document. By the way, I guess our prefix management could also be an example
if we take prefix availability as a type of network resource.
Yes. If you remember, I wrote a demo application of prefix management, and if
integrated with DHCPv6-PD it should work. I haven't touched the code for
several years, but it is still at
https://github.com/becarpenter/graspy/blob/master/ASA-examples/pfxm4.py
If you need a good project for a student, it is right there, to add support for
PD, as described in RFC 8992.
There is even some partly obsolete documentation at
https://github.com/becarpenter/graspy/blob/master/documentation/pfxm3.pdf.
It doesn't strictly conform to RFC 8992, since it was written before the RFC
was finalized. Also, of course, although the algorithm is distributed it needs
a single source, called the Origin ASA, presumably in the NOC, that provides
valid prefixes.
Brian
Cheers,
Sheng
-----Original Message-----
From: [email protected] <[email protected]> On
Behalf Of 'Toerless Eckert'
Sent: Wednesday, May 15, 2024 12:05 AM
To: Sheng JIANG <[email protected]>
Cc: [email protected];
[email protected]; [email protected]
Subject: Re: [Anima] draft-ietf-anima-network-service-auto-deployment-06
comments
Sheng,
I think it would be good to create a well received proof point for one
type of
resource first - for example RAM or storage. These two are also services
where
we might approach COINRG and/or NFSv4 WG to get feedback,
e.g.: ask for a slot to ask what they think.
Ultimetely, in the IETF, the hard job is always to find the lowest hanging
practical fruit that someone actually would want to implement. Finding,
selecting and aquiring/releasing some resources like this might be one
such low
hanging fruit - but we will only know if/when we talk to folks who are
closer to
those use-cases than i think we are right now.
The path based stuff would IMHO require for someone with a lot more TEAS
involvement to help/be-interested. Otherwise i fear we'd be faced with the
challenge of explaining how the work relates to TEAS, and we likely
wouldn't
have a good answer withou doing such an engagement.
Cheers
Toerless
On Sat, May 04, 2024 at 08:31:20AM +0800, Sheng JIANG wrote:
Hi, Toerless,
Thanks so much for this great comments. It is very valuable and
constructive. This draft was initiated by end-to-end deterministic
forwarding service. I was too ambitious to make it generic, even I
knew generic was very difficult. Later, we got lost between the
specific use case and a generic mechanism. We got further lost when it
came
to path-oriented.
It is a lot more complicated using node-by-node negotiation mechanism
to make up a multiple-node path-oriented mechanism than a single-round
path-through mechanism.
Actually, like we mentioned, there is a lot network resources that can
make up various services. Therefore, these seems to be worth a series
of documents. And beyond the potential documents each focuses on a
specific solution, there should be an informational framework
document. It could be the direction to modify this document, if
agreed. This would be feasible with minimum modification in an
acceptable timeline, I think. Another specific-resource document,
which had better not be path-oriented, should be also started as an use
case
of such framework.
How do you think?
Best regards,
Sheng
-----Original Message-----
From: Anima <[email protected]> On Behalf Of Toerless Eckert
Sent: Thursday, May 2, 2024 11:21 PM
To: [email protected];
[email protected]
Cc: [email protected]
Subject: [Anima] draft-ietf-anima-network-service-auto-deployment-06
comments
Dear Authors
Thank you for this work. The document sounds and currently intends
to
target
a full standard specification for arbitrary services management via
GRASP.
I
think this is an unattainable goal. What i think is attainable is to
outline how to
build such GRASP based signaling specifications, and for that the
document
has
good starting text, but it does not really well focus on that in
comparison to e.g.:
pre-existing methods.
If the resource is located on a single GRASP speaking node, such as
maybe storage, compute or memory, this is easy to imagine:
- One needs to figure out what the type of resource and the specific
resource attributes are.
- One needs to figure out how to define objectives to find server
nodes
that meet those resource attirbute needs - aka: memory of a
certain minimum
size, and for example minimum speed, with or without persistance,
etc.
pp
- One then needs to define the GRASP objectives to request/negotiate
and
re-negotiate such a service consumption request.
- Finally, one has to define the GRASP objectives to consume such a
resource,
e.g. read/write actual memory. I guess this part is not necessarily
part
of the intended scope of this draft, but could use other
pre-existing
protocols, but it would help a lot of listing all thise bullet
points
and
pointing this out explicitly.
The draft has some of these aspects covered, but it seems very
incomplete
and
in parts confusing. Primarily also because it simply enumerates a
long
list of
possible resources in section 8.2, but does not provide enough
specification to
actually implement in GRASP any single such resource management
solution, because there are no mentioning of relevant attributes to
show where GRASP could be better than existing mechanisms.
More problematic though is the implication that this draft can
support
resource
management like RSVP, aka: services for path properties. But then it
does
not
explain how the resource management would work when like for a path,
it requires allocation of resources from multiple nodes together. Is
there
some
on-path signaling like in RSVP, NSIS ? Is there a central controller ?
Does it
require some fixed path ? What happens when the path changes ? etc.
pp.
And unlike compute, storage, memory resources, path resource
management has a tremendous number of RFCs specifying thousands of
details - around
TE,
RSVP, RSVP-TE, PCE, Netconf/YANG and so on. And there is no
comparison or even specific claims of why this GRASP approach would
be beneficial for
any
scenario in which these existing solutions work or where it is
understood
that
they could be adopted to.
So, i think it would be very useful to discuss primarily the
intended
scope of the
document before going into further details of the text.
For example, i think it would be very helpful to constrain the scope
single-node
resource management and discuss the path resource
issues/complexities only in an appendix like section, pointing to
the variety of existing protocols
from
IETF and suggesting if any, some of the benefits the GRASP approach
could have.
If this makes sense, then i would also suggest to select some
example
service
and on each step of the document discuss example details of that
service.
Ideally, the service in question would already have one or more
existing consumption protocols and the GRASP solution could be
presented as a unifying single protocol to do discovery, negotiation,
selection.
Specifically
highlighting, that GRASP has network-based discovery, so it can
operate without the need of prior discovery servers (e.g.; no need
to set up a
DNS-SD
server or CORE-SD server for example)
I am not sure what the lowest-hanging fruit for such a service would
be,
e.g.:
the type of service for which this management aspect is least well
supported
today.
I do not know a lot of details of remote memory access, but i can
well
imagine
how this mechanism could be nice for storage. On the other hand, for
storage,
i can easily imagine a serious long list of service parameters
ranging
from the
consumption protocol (NFSv3, NFSv4, SMBv1, SMBv2, SMBv3, WebDAV,
and
a lot more), connection parameters (TCP, UDP, credentials),
resilience of
storage,
performance parameters, maximum size, cost, number of files, maximum
file size, etc. pp). And storage of course would have the nice
aspect that it
would
easily allow negotiation of several of those parameters (such as
maximum storage allowed, maximum through given to client, session
credentials,
sharing
of the storage across multiple clients.
Aka: I think that as soon as we think of any specific service, it
becomes
clear
that this document can not be normative for even a small part of
relevant
spec
details, but can only point out how "easy" it is to use GRASP to
define
them.
Aka:
include text about formal specification of the data model via CDDL,
and
easy
extensibility, etc. pp.
In the end it would be good to evolve this document into one that
has
enough
details of one service so that a minium interoperable implementation
could
be
built from it. Not because this should be seen as a complete
specification, but
only to have a prac tical enough explanation that coders can make
sense of
it.
And then highlight the benefits of GRASP, e.g.: why not use other
protocols:
- lightweight, binary encoded, appropriate for LLN up to SP core
networks.
- In-network discovery - no need to have third-party (services
server) dependencies
- Ability to find "closest" resource (network distance).
- separated security and transport substrate - can deploy GRASP on
various such substrates
- CDDL formal specifications of data model
- easily extensible service properties (as compared to DNS-SD TXT
record limits).
- negotation of consumption (not in DNS-SD, CORE-LF/CORE-SD).
...
And with this scope it would make a lot more sense to make this
draft
target
informational.
If this makes sense then i can provide further detail feednback
after
you've
tried to come up with a version that attempts to re-scope the
document
this
way.
If you want to keep the path-properties a core goal of the document
than
i'd
have to provide more feedback for that, but i think it would be a
lot more
work,
and much less likely to get through IETF.
Cheers
Toerless
2 ANIMA
S. Jiang, Ed.
3 Internet-Draft
BUPT
4 Intended status: Standards Track
J.
Dang
5 Expires: 4 October 2024
Huawei
6
Z. Du
7
China Mobile
8
2 April 2024
10 A Generic Autonomic Deployment and Management Mechanism for
Resource-
11 based Network Services
12
draft-ietf-anima-network-service-auto-deployment-06
14 Abstract
16 This document specifies an autonomic mechanism for
resource-based
17 network services deployment and management, using the
GeneRic
18 Autonomic Signaling Protocol (GRASP) to dynamically
exchange
the
19 information among the autonomic nodes. It supports the
coordination
20 and consistently operations within an autonomic network
domain.
This
21 mechanism is generic for most, if not all, of kinds of
network
22 resources, although this document only defines the
process of
quality
23 transmission service deployment and management. It can
be
easily
24 extended to support network services deployment and
management
that
25 is based on other types of network resources.
27 Status of This Memo
29 This Internet-Draft is submitted in full conformance with
the
30 provisions of BCP 78 and BCP 79.
32 Internet-Drafts are working documents of the Internet
Engineering
33 Task Force (IETF). Note that other groups may also
distribute
34 working documents as Internet-Drafts. The list of
current
Internet-
35 Drafts is at
https://datatracker.ietf.org/drafts/current/.
37 Internet-Drafts are draft documents valid for a maximum
of six
months
38 and may be updated, replaced, or obsoleted by other
documents
at
any
39 time. It is inappropriate to use Internet-Drafts as
reference
40 material or to cite them other than as "work in
progress."
42 This Internet-Draft will expire on 4 October 2024.
44 Copyright Notice
46 Copyright (c) 2024 IETF Trust and the persons identified
as the
47 document authors. All rights reserved.
49 This document is subject to BCP 78 and the IETF Trust's
Legal
50 Provisions Relating to IETF Documents
(https://trustee.ietf.org/
51 license-info) in effect on the date of publication of
this
document.
52 Please review these documents carefully, as they describe
your
rights
53 and restrictions with respect to this document. Code
Components
54 extracted from this document must include Revised BSD
License
text
as
55 described in Section 4.e of the Trust Legal Provisions
and are
56 provided without warranty as described in the Revised BSD
License.
58 Table of Contents
60 1. Introduction . . . . . . . . . . . . . . . . . . . .
. . . .
2
61 2. Requirements Language . . . . . . . . . . . . . . . .
. . . .
4
62 3. Terminology & Abbreviations . . . . . . . . . . . . .
. . . .
4
63 4. A Generic Auto-deployment Mechanism of Resource-based
Network
64 Services . . . . . . . . . . . . . . . . . . . .
. . . .
5
65 4.1. Discover RM ASA on Proper Service Responsers . .
. . . .
6
66 4.2. Authentication and Authorization . . . . . . . .
. . . .
6
67 4.3. Negotiate Resource with Service Responser . . . .
. . . .
6
68 4.4. Change Reserved Resources . . . . . . . . . . . .
. . . .
7
69 4.5. Releasing Resources during Service Ending . . . .
. . . .
8
70 5. Autonomic Resource Management Objectives . . . . . .
. . . .
8
71 6. Process of the Quality Network Transmission Service
72 Auto-deployment . . . . . . . . . . . . . . . . .
. . . .
10
73 6.1. Quality Transmission Service Scenario & Service
Type . .
10
74 6.2. Negotiation between a Service Initiator and a
Service
75 Responser . . . . . . . . . . . . . . . . . . . .
. . . .
11
76 6.3. Coordination among Multiple Service Responsers .
. . . .
12
77 6.4. Service Ending . . . . . . . . . . . . . . . . .
. . . .
12
78 7. Security Considerations . . . . . . . . . . . . . . .
. . . .
12
79 8. IANA Considerations . . . . . . . . . . . . . . . . .
. . . .
12
80 8.1. Service type . . . . . . . . . . . . . . . . . .
. . . .
13
81 8.2. Resource Type . . . . . . . . . . . . . . . . . .
. . . .
13
82 9. Acknowledgements . . . . . . . . . . . . . . . . . .
. . . .
13
83 10. References . . . . . . . . . . . . . . . . . . . . .
. . . .
13
84 10.1. Normative References . . . . . . . . . . . . . .
. . . .
13
85 10.2. Informative References . . . . . . . . . . . . .
. . . .
14
86 Authors' Addresses . . . . . . . . . . . . . . . . . . .
. . . .
14
88 1. Introduction
90 Traditionally, IP networks are based on the best-efforts
model.
The
91 IP layer does not reserve resources for upper-layer
applications.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^
nit:
s/IP layer/IP protocols/
92 However, more and more emerging applications that require
quality
93 services, such as video, VR, AR, and so on. They need
supports
from
94 steady network resources, such as bandwidth, queue,
memory,
priority,
95 computational resources, etc. On another side, from
network
side,
96 more and more generic services, such as quality
transmission
97 services, in-network data cache services and computing
services,
98 etc., are starting to be deployed so that networks can
serve
these
99 resource-consumption applications well. These network
services
are
nit:
Please provide references for "quality transmission services",
"in-nework
data
cache services", etc..
100 strongly based on the availability and stability of
network
101 resources.
103 To enable these resource-based applications and services,
IETF
have
104 developed many resource reservation mechanisms, such as
RSVP
105 [RFC2205] that is mainly to reserve bandwidth only and
path-oriented,
nit:
When you say many, please cite at least one more example, ideally
one most different from RSVP.
106 etc. However, most of them are mainly for reservation
during
the
107 deployment only and are rigid for dynamic adjustment.
Furthermore,
nit:
It is unclear what other than "during the deployment only" means.
Please explain in text.
108 most of them are dedicated for a certain type of network
resources.
110 This document introduces an enhanced and extensible
mechanism
that
111 supports dynamically dispatching of network resources,
using the
112 GeneRic Autonomic Signaling Protocol (GRASP) defined in
[RFC8990]
to
113 dynamically exchange the information among the autonomic
nodes.
Its
nit:
Please explain what "enhanced" means - readers assume enhanced
compared to RSVP, or any other prior mentioned example, but how ?
114 dynamic adjust ability is mainly enabled by the
negotiation
ability
115 defined by [RFC8990].
117 This mechanism is generic for most, if not all, of kinds
of
network
nit:
Generic itself is not very specific, but generic or not generic wrt.
to a
specific
network resource is even less clear. Please explain.
118 resources. It can be easily extended to support network
services
119 deployment and management that is based on other network
resources.
nit:
Other "network resources" than what network resource ? Please
explain in text.
120 It can be used, but no limited, in below network services
scenarios:
122 * Quality transmission services. The quality could
means
guaranteed
nit:
Please provide a reference or explain what "quality transmission
services"
means.
123 bandwidth, or jitter, etc. In order guarantee the
quality of
124 transmission services, the network should reserve
transmission
125 resource, particularly bandwidth or queues, on a
selected
path
126 from the ingress to the egress node. The dynamic
resource
127 dispatching mechanism should ensure the consistent of
reserved
128 resources on all the nodes in this path, particularly,
when
129 dynamic changes are operated on this path.
131 * Difference transmission services. The network may
provide
nit:
This probably should say "Differentiated Services" ?? If so, then
please
add
reference for DiffServ arch RFC, else explain or provide other
reference
for
what "Difference ... services" means.
132 different transmission services by putting the user
packets
into
133 different processes that have different resources,
such as
134 bandwidth, queue length, priority, etc. The results
would be
135 different user experience in delay and jitter, or even
packet
lose
136 rate.
138 * In network cache/storage services. The network may
provide
cache
139 or storage service by memory in the network devices or
attached
140 devices. The idle memory space is the resource that
need to
be
141 request and managed. The location or distance of the
memory
is
142 also relevant to user experience.
nit:
Please provide a reference for any such network cache/storage
service and
any
existing means to manage their resources. I can imagine such a
thing, but
i am
not aware of anything in the IETF context (CDNI for example does not
seem
to
be about managing resources, but rather content). Likewise "idle
memory"
space.
It is unclear to me what even a simple example of network based
memory resource (idle or not) would be.
144 * Computing services. More and more spare computational
resources
145 are from network providers. They may be idle
computational
cycles
146 on the network devices or deployed computational
servers.
The
147 occupation of these computational resources are
time-sensitive.
148 Also, the location or distance of the computational
resource
is
149 relevant to user experience.
nit:
Same question about providing example reference.
If there are no useful referrences, then it would help to provide a
simple explanation of a use-case exemplifying such a service. E.g.:
for memory
one
could think of an application that needs more memory, so it tries to
get
it from
a "memory server" and consumes it via e.g.: proprietary protocols
like
RoCEv2
(https://www.infinibandta.org/ibta-announces-new-roce-specification/).
151 * Information services. In some scenarios, network may
be
the
best
152 information provider. It may be the information are
from or
153 generated by network itself. Or the network has the
best
location
154 to provide the information.
nit:
reference and/or scenario.
156 The Autonomic Control Plane (ACP) [RFC8994] and the
Bootstrapping
157 Remote Secure Key Infrastructure (BRSKI) [RFC8995]
provide the
secure
158 precondition for this mechanism.
nit:
We should always try to emphasize how the components provided by
ANIMA can support each other but can also be used independently, e.g.:
s/provide ..."/may provide the secure precodnitions for this
mechanism/.
Nevertheless, the meachanism as presented is not dependent on them
but can equally be combined with other security mechanisms that
support mutual authentication between devices employing the mechanism
proposed here.
160 This document defines an Autonomic Resource Management
Objective in
161 Section 5. Three new corresponding registries are
defined in
162 Section 8. This document defines the process of quality
transmission
163 service deployment and management in Section 6.
165 2. Requirements Language
167 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL
NOT",
168 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and
169 "OPTIONAL" in this document are to be interpreted as
described
in
BCP
170 14 [RFC2119] [RFC8174] when, and only when, they appear
in all
171 capitals, as shown here.
173 3. Terminology & Abbreviations
175 This document uses terminology defined in [RFC7575].
177 RM ASA: the Resource Manager ASA on an autonomic nodes.
It
manages
178 the local resources on the node, such as bandwidth,
queue,
memory,
179 priority, computational resources, etc. The RM ASA
communicate
with
180 other counterpart RM ASAs in order to dynamically
dispatch
network
181 resources within the autonomic network domain. This
document
assumes
182 all autonomic nodes have a RM ASA.
184 Service Initiator: the autonomic node that initiates and
manages
a
185 network service. It requests and dynamically adjusts the
resources
186 of this network service through its RM ASA. Normally, a
network
187 service SHALL have one service initiator within an
autonomic
network
188 domain. However, multiple Service Initiators model MAY
also
189 operational if there were good synchronous or coordinate
mechanisms
190 among them.
192 Service Responser: the autonomic node that responses to
the
requests
193 from the Service Initiator. It receives the requests
through its
RM
194 ASA, checks or operates on its local resources, and
responds the
195 results to the Service Initiator. Typically, a network
service
MAY
196 involve multiple Service Responser. The consistency
among
them
are
197 the responsibility of the Service Initiator.
199 4. A Generic Auto-deployment Mechanism of Resource-based
Network
200 Services
202 This section describes the generic procedures of
autonomic
deployment
203 and management of the resource-based network services, as
Figure1
204 shows. The detailed implementation or internal
algorithms of
the
205 Resource Manager ASAs are out of scope of this document.
This
206 section does not cover the specific details that depend
on
certain
207 network services or certain type of network resources.
The
208 prepositive operation that indicates the Service
Initiator to
start
209 the service deployment are out of scope. The information
or
reasons
210 that trigger the dynamic service changes are also out of
scope.
212 | Node Discovery |
213 |- - - - - - - - - - - - - - - - - ->|
214 +-----------------+
+-----------------+
215 | RM ASA | | RM
ASA
|
216 |Service Initiator| |Service
Responser|
217 +-----------------+ ASA Discovery
+-----------------+
218 |----------------------------------->|
219 | Authentication and Authorization |
220 |----------------------------------->|
221 | M_RESPONSE
|
222 |<-----------------------------------|
223 |
|
224 | Multiple rounds Negotiation |
225 |<---------------------------------->|
226 | on Resource Availability |
227 |
|
228 | reserve the local
resource
229 |
|
230 ... ...
231 | Coordination with other RM ASAs |
232 |<---------------------------------->|
233 ... ...
234 | Service Ending |
235 |<---------------------------------->|
236 | release
resources
238 Figure-1: generic procedures of autonomic deployment and
management
240 4.1. Discover RM ASA on Proper Service Responsers
242 The Service Initiator MAY first discover the relevant
network
nodes
243 according to the service setup in order to reduce the
node range
of
244 sending GRASP Discovery message. It may be all the nodes
on a
giving
245 path or nodes that have idle resource available for
giving
service
246 condition, etc. The node discover methods can be
pre-configured,
247 outbound discover, path detection, etc.
249 The Service Initiator SHOULD send out a GRASP Discovery
message
that
250 contains a Resource Manager Objective option defined in
Section
5, in
251 which the network service is described. The Discovery
message
SHOULD
252 send to the reduced range nodes, by abovementioned
mechanism, or
all
253 nodes within the AN domain.
255 A RM ASA that receives the Discovery message with the
Resource
256 Manager Objective option SHOULD check its satisfaction
against
the
257 service description. If meet, the node is a proper
Service
258 Responser. It SHOULD respond a GRASP Response message
back to
the
259 Service Initiator.
261 Defined in the section 2.5.5.1 of [RFC8990], the
Discovery
message
262 MAY combine with the below negotiation process, if the
rapid
263 negotiation function has been enabled network wide. If
the
rapid
264 negotiation function has been disabled, the process would
fall
back
265 to the normal discovery-only process.
267 4.2. Authentication and Authorization
269 In principle, any operations on resources MUST be
authorized.
The
270 Service Responser SHOULD check the authentication of the
Service
271 Initiator and the authorization information for the
operation it
272 requests. This document assumes all autonomic nodes
within
the
AN
273 domain have been authenticated and their requested
operations
are
274 authorized, giving the Autonomic Control Plane (ACP)
[RFC8994]
and
275 the Bootstrapping Remote Secure Key Infrastructure
(BRSKI)
[RFC8995]
276 has provided the secure environment for this mechanism.
278 4.3. Negotiate Resource with Service Responser
280 After the discovery step, the RM ASA on the Service
Initiator
sends a
281 GRASP Request message with a Resource Manager Objective
option,
in
282 which the value of the requested resource is indicated.
284 When the RM ASA on a Service Responser receives a
subsequent
Request
285 message, it SHOULD conduct a GRASP negotiation sequence,
using
286 Negotiate, Confirm Waiting, and Negotiation End messages
as
287 appropriate. The Negotiate messages carry a Resource
Manager
288 Objective option, which will indicate the resource type
and value
289 offered to the requesting RM ASA.
291 During the negotiation, the RM ASA on the Service
Responser will
292 decide at each step how much resource can be offered.
That
decision,
293 and the decision to end the negotiation, are
implementation
choices.
294 A resource shortage on the Service Responser may cause it
to
indicate
295 the existing available value within a Resource Manager
Objective
296 option back to the Service Initiator. The Service
Initiator
might
297 decide whether to accept the request of the resource. If
not,
the RM
298 ASA on the Service Initiator MAY terminate the
negotiation via
299 Negotiation End messages.
301 Upon completion of the negotiation, the Service Responser
reserves
302 its local resources. The Service Initiator may use the
negotiated
303 resource after receiving synchronization message without
further
304 messages.
306 Normally, a network service SHALL have one service
initiator
within
307 an autonomic network domain. It is the Service
Initiator's
308 responsibility to manage the service and coordinate among
multiple
309 Service Responsers to ensure the consistent of reserved
resources.
311 4.4. Change Reserved Resources
313 After the process of automatic resource management
mechanism,
RM
ASAs
314 are allowed to change and negotiate the resource
requirements.
In
315 the lifetime of network services, there may be many
reasons that
the
316 service has to be changed upon with its reserved
resources.
Resource
317 Manager ASA needs to be able to handle resource changes
in a
timely
318 manner to meet service requirements.
320 During the renegotiation process, RM ASA on the Service
Initiator
321 resends the service's resource requirements by using
Resource
Manager
322 GRASP Objective. RM ASA on the Service Responser
receives
the
323 resource negotiation message and makes the determination.
If
the
324 resource requirements are lower than those allocated
or/and less
325 lifetime than previous, the Service Responser SHOULD
directly
confirm
326 the information and release the excess resources. If
more
resources
327 or lifetime are required, RM ASA on the Service Responser
SHOULD
328 treat it as a brand-new request and make decision or
further
329 negotiation. The bottom line is the Service Responser
MUST
allow
the
330 Service Initiator fall back to previous allocated
resource, both
on
331 volume and lifetime.
333 RM ASAs on the Service Responsers MUST NOT change
existing
resource
334 allocation until the new negotiation on resource changes
is
complete.
336 4.5. Releasing Resources during Service Ending
338 After the service is completed or expired, the reserved
network
339 resources MUST be released so that network resources can
be
used
more
340 efficiently. If the service lifetime expires, the
Service
Responser
341 MUST release its local resources and MAY send a
Synchronization
342 message to the Service Initiator to notify the state
change of
its
343 local resources. If the Service Initiator wants to end
the
service
344 before the service lifetime expires, the Service
Initiator MUST
send
345 a negotiation message to the Service Responsers to
request the
346 network resource to be changed to zero. Upon completion
of
the
347 negotiation, the Service Responser releases the resources
occupied by
348 the service.
350 5. Autonomic Resource Management Objectives
352 This section defines the GRASP technical objective
options that
are
353 used to support autonomic resource management. Resource
Manager
354 GRASP Objective allows multiple types of resources to be
requested
355 simultaneously.
357 The Resource Manager Objective option is a GRASP
Objective
option
358 conforming to the GRASP specification [RFC8990]. Its
name is
359 "Resource Manager", and it carries the following data
items as
its
360 value: the resource value. Since GRASP is based on CBOR
(Concise
361 Binary Object Representation) [RFC8949], the format of
the
Resource
362 Manager Objective option is described in the Concise Data
Definition
363 Language (CDDL) [RFC8610] as follows:
365 objective = ["Resource Manager", objective-flags,
loop-count,
366 ?objective-value]
368 objective-name = "Resource Manager"
370 objective-flags = uint .bits objective-flag ; as in the
GRASP
371 specification
373 loop-count = 0..255 ; as in the GRASP specification
374 The 'objective-value' field expresses the actual value of
a
375 negotiation or synchronization objective. So a new
objective-value
376 named autonomic-network-service-value is defined for
Network
Service
377 Auto-deployment as follows. The autonomic node can know
that it
is
378 serving Network Service Auto-deployment according to the
objective-
379 value after receiving the GRASP message. The 'objective
value'
380 contains two parts, one represents the information of the
service
381 itself, and the other represents the requirements of
resources.
383 objective-value = autonomic-network-service-value; An
autonomic-
384 network-service-value is defined as Figure-2.
386 autonomic-network-service-value =
387 [
388 [
389 service-type,
390 service-id,
391 service-lifetime,
392 service-tag
393 ],[
394 *resource-requirement-pair
395 ]
396 ]
398 Figure-2: Format of autonomic-network-service-value-value
400 service-type = 0..7
402 service-id = uint
404 service-lifetime = 0..4294967295 ; in milliseconds
406 service-tag = [ *service-tag-info]
408 The combination service-type and the service-id MUST
uniquely
409 represent a network service within the network. The
uniqueness
of
410 the combination service-type and the service-id SHOULD be
guaranteed
411 by an allocation mechanism that is out of scope of this
document.
413 The allocation of resources MUST specify the lifetime.
The
service-
414 lifetime represents the usage time of the resources
required by
the
415 service.
417 The service-tag contains other information that describes
the
418 service. This information is not necessary, but will
affect the
419 policy for RM ASA resource reservation.
421 The resource-requirement-pair describes the resource
requirements
and
422 it is defined as Figure-3. Resource requirements of
different
types
423 can be described in an objective option. The Resource
Manager
424 objective option supports multi-faceted resource
requirements
and
425 negotiation. These resource requirements are all in
pairs,
described
426 by resource type and resource value.
428 resource-requirement-pair =
429 [
430 resource-type,
431 resource-value
432 ]
434 Figure-3: Format of resource-requirement-pair
436 resource-type = 0..7
438 resource-value = uint
440 6. Process of the Quality Network Transmission Service
Auto-deployment
442 6.1. Quality Transmission Service Scenario & Service Type
444 The quality transmission service scenario is the most
important
445 resource negotiation scenario. In this scenario, RM ASAs
negotiate
446 the resource that will affect the transmission quality.
The
basic
447 resource is bandwidth and other types of resources such
as
queue
can
448 be required at the same time.
450 The autonomic deployment and management of the quality
transmission
451 service includes the Service Initiator and the Service
Responsers
all
452 have RM ASA. The Service Initiator is the resource
demander,
which
453 ensures the connection of services through negotiation
resources
with
454 RM ASAs in the domain network. Service Responsers are
the
nodes
455 which packets are forwarded in the transmission scenario
and
Service
456 Initiator asks resource from them. These nodes can be
discovered
457 through RM ASA discovery process or path discovery
methods.
459 Negotiation Resource
460
+-------------------------------------------------------------+
461 | Negotiation Resource
|
462 | +--------------------------------------------+
|
463 | | |
|
464 +--------+ Negotiation Resource +---------+ +---------+
+---------+
465 | RM ASA |<-------------------->| RM ASA | | RM ASA |
|
RM
ASA |
466 +--------+ +---------+ +---------+
+---------+
467 | SI | -------------------->| SR Node |-->| SR Node
|-->| SR
Node |
468 +--------+ Transmit data +---------+ +---------+
+---------+
469 Figure-3 shows how RM ASAs negotiate resources and how
Service
470 Initiator forwards packages. The RM ASA on the Service
Initiator
471 negotiates resources with the RM ASAs on the Service
Responsers
one
472 by one.
474 Figure-3: Negotiation procedure of a transmission service
476 6.2. Negotiation between a Service Initiator and a Service
Responser
478 In the process of negotiation, Service Initiator
negotiates
resources
479 with Service Responsers and ensures resources enough. RM
ASAs
are
480 allowed to negotiate resources for multiple rounds. It
often
happens
481 that the network resources on one node cannot meet the
resources
482 required by the service, but the service is willing to
reduce its
483 resource requirements to ensure the successful deployment
of
the
484 service. The RM ASAs on the Service Responsers feedback
the
maximum
485 available resources using Resource Management Objectives
in
the
486 response message. The RM ASA on the Service Initiator
changes
the
487 resource requirements according to the specific
requirements of
the
488 received resources and services, to carry out the next
round of
489 service negotiation.
491 +----------+
+---------+
492 | RM ASA | | RM
ASA
|
493 +----------+
+---------+
494 | SI | | SR
Node |
495 +----------+ [[0,36732,3600000,[]][[0,10]]]
+---------+
496 |------------------------------------------->|
497 | [[0,36732,3600000,[]][[0,8]]] |
498 |<-------------------------------------------|
499 | [[0,36732,3600000,[]][[0,8]]] |
500 |------------------------------------------->|
501 | Negotiation End (ACCEPT) |
502 |<-------------------------------------------|
504 Figure-4 shows an example of a negotiation process. In
the first
505 negotiation round, RM ASA on the Service Initiator wants
to get
506 resource from RM ASA on the Service Responsers. In this
example,
the
507 service type is Transmission Service and service-id is
36732.
The
508 service will last 3600 seconds and only ask for one kind
of
resource
509 10 Mbit/s bandwidth. So, the
autonomic-network-service-value
is
510 [[0,36732,3600000,[]][[0,10]]].
512 Figure-4: an example of a negotiation process
514 When RM ASA on the Service Responser Node receives the
message,
if
515 the RM ASA thinks the network can offer this required
resource,
it
516 will response the ACCEPT. But if it does not meet the
request,
it
517 will give how much resource it can offer. In this
example, the
518 Service Responser can offer 8 Mbit/s. The next step, RM
ASA
on
the
519 Service Initiator needs to decide whether to change its
resource
520 requirements according to the reply, and sends a next
round
521 negotiation. Then, RM ASA on the Service Responser finds
the
new
522 resource requirement, it can meet. So, it will response
ACCEPT.
523 This is an example how ASAs negotiate resources.
525 6.3. Coordination among Multiple Service Responsers
527 The Service Initiator decides a coordinated value of
resource and
528 negotiates with multiple Service Responsers that need to
reduce
the
529 locked resource. The Service Responsers reserve
resources for
530 service according to the negotiation results. If the
operation
is
531 successful, the Service Responser reply success message
to the
532 Service Initiator. If it fails, reply failure message to
the
Service
533 Initiator. And the Service Initiator will restart
negotiation
step.
535 When the Service Initiator receives the success message
from all
the
536 Service Responsers, the service can start to transmit the
message.
538 6.4. Service Ending
540 When the service is ended, it is the responsibility of
Service
541 Initiator to release all reserved resources through the
dialogue
with
542 the RM ASA on the Service Responser. And if the service
lifetime
is
543 exceeded, the Service Initiator SHOULD also release
reserved
resource
544 although the Service Responsers may release the reserved
resource
by
545 themselves.
547 7. Security Considerations
549 It complies with GRASP security considerations. Relevant
security
550 issues are discussed in [RFC8990]. The preferred
security model
is
551 that devices are trusted following the secure bootstrap
procedure
552 [RFC8995] and that a secure Autonomic Control Plane (ACP)
[RFC8994]
553 is in place.
555 8. IANA Considerations
557 This document defines a new GRASP Objective option names:
"Resource
558 Manager" which need to be added to the "GRASP Objective
Names"
559 registry defined by [RFC8990]. And this document defines
a
new
560 registry tables "service-type" and "resource-type" under
the
561 "Resource Manager" GRASP Objective. The following
subsections
562 describe the new parameters.
564 8.1. Service type
566 IANA has set up the "service-type" registry, which
contains 4-bit
567 value. The service-type defines the type of service
which is
used to
568 describe the type of resource requirements.
570 * 0 : Transmission Service
572 * 1 : Computing Service
574 8.2. Resource Type
576 IANA has set up the "resource-type" registry, which
contains
4-bit
577 value.
579 * 0 : bandwidth
581 * 1 : queue
583 * 2 : memery
585 * 3 : priority
587 * 4 : cache
589 * 5 : computing
591 9. Acknowledgements
593 Valuable comments were received from Michael Richardson
and
Brian
594 Carpenter. Contributions to early versions of this
document was
made
595 by Yujing Zhou.
597 10. References
599 10.1. Normative References
601 [RFC2119] Bradner, S., "Key words for use in RFCs to
Indicate
602 Requirement Levels", BCP 14, RFC 2119,
603 DOI 10.17487/RFC2119, March 1997,
604 <https://www.rfc-editor.org/info/rfc2119>.
606 [RFC2205] Braden, R., Ed., Zhang, L., Berson, S.,
Herzog, S.,
and S.
607 Jamin, "Resource ReSerVation Protocol (RSVP)
--
Version
1
608 Functional Specification", RFC 2205, DOI
10.17487/RFC2205,
609 September 1997,
<https://www.rfc-editor.org/info/rfc2205>.
611 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs
Lowercase in
RFC
612 2119 Key Words", BCP 14, RFC 8174, DOI
10.17487/RFC8174,
613 May 2017,
<https://www.rfc-editor.org/info/rfc8174>.
615 [RFC8610] Birkholz, H., Vigano, C., and C. Bormann,
"Concise
Data
616 Definition Language (CDDL): A Notational
Convention to
617 Express Concise Binary Object Representation
(CBOR)
and
618 JSON Data Structures", RFC 8610, DOI
10.17487/RFC8610,
619 June 2019,
<https://www.rfc-editor.org/info/rfc8610>.
621 [RFC8949] Bormann, C. and P. Hoffman, "Concise Binary
Object
622 Representation (CBOR)", STD 94, RFC 8949,
623 DOI 10.17487/RFC8949, December 2020,
624 <https://www.rfc-editor.org/info/rfc8949>.
626 [RFC8990] Bormann, C., Carpenter, B., Ed., and B. Liu,
Ed.,
"GeneRic
627 Autonomic Signaling Protocol (GRASP)", RFC
8990,
628 DOI 10.17487/RFC8990, May 2021,
629 <https://www.rfc-editor.org/info/rfc8990>.
631 [RFC8994] Eckert, T., Ed., Behringer, M., Ed., and S.
Bjarnason,
"An
632 Autonomic Control Plane (ACP)", RFC 8994,
633 DOI 10.17487/RFC8994, May 2021,
634 <https://www.rfc-editor.org/info/rfc8994>.
636 [RFC8995] Pritikin, M., Richardson, M., Eckert, T.,
Behringer,
M.,
637 and K. Watsen, "Bootstrapping Remote Secure
Key
638 Infrastructure (BRSKI)", RFC 8995, DOI
10.17487/RFC8995,
639 May 2021,
<https://www.rfc-editor.org/info/rfc8995>.
641 10.2. Informative References
643 [RFC7575] Behringer, M., Pritikin, M., Bjarnason, S.,
Clemm, A.,
644 Carpenter, B., Jiang, S., and L. Ciavaglia,
"Autonomic
645 Networking: Definitions and Design Goals", RFC
7575,
646 DOI 10.17487/RFC7575, June 2015,
647 <https://www.rfc-editor.org/info/rfc7575>.
649 Authors' Addresses
651 Sheng Jiang (editor)
652 Beijing University of Posts and Telecommunications
653 No. 10 Xitucheng Road
654 Beijing
655 Haidian District, 100083
656 China
657 Email: [email protected]
658 Joanna Dang
659 Huawei
660 No.156 Beiqing Road
661 Beijing
662 P.R. China, 100095
663 China
664 Email: [email protected]
666 Zongpeng Du
667 China Mobile
668 32 Xuanwumen West Street
669 Beijing
670 P.R. China, 100053
671 China
672 Email: [email protected]
_______________________________________________
Anima mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/anima
--
---
[email protected]
_______________________________________________
Anima mailing list -- [email protected]
To unsubscribe send an email to [email protected]
_______________________________________________
Anima mailing list -- [email protected]
To unsubscribe send an email to [email protected]