Internet DRAFT - draft-xiao-anima-event-service
draft-xiao-anima-event-service
ANIMA WG X. Xiao
INTERNET-DRAFT A. Hecker
Intended Status: Standard Track Z. Despotovic
GRC, Huawei Technologies
Expires: April 29, 2018 October 30, 2017
Event Service in Autonomic Networking
draft-xiao-anima-event-service-00
Abstract
Event service is an asynchronous communication model between
interacting parties, e.g. autonomic functions (AFs), instead of a
tightly coupled point-to-point (P2P) synchronous communication model.
Event service enables autonomic nodes in ANI to publish data
information, which will be made network distributable autonomously,
and subscribers who register interests to specific events will be
notified if the information is available. This draft describes how to
support event service (ES) for autonomic networking.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
X. Xiao Expires April 29, 2018 [Page 1]
INTERNET DRAFT Event Service in ANI October 30, 2017
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Event Service Use Cases . . . . . . . . . . . . . . . . . . . . 3
3.1 Long Communication Intervals between AFs . . . . . . . . . . 3
3.2 Common Interest Distribution among AFs . . . . . . . . . . . 4
3.3 Distributed Coordination among AFs . . . . . . . . . . . . . 4
4. Event Service Design . . . . . . . . . . . . . . . . . . . . . 4
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Event Queue . . . . . . . . . . . . . . . . . . . . . . . . 5
4.3 Information Storage . . . . . . . . . . . . . . . . . . . . 5
4.4 Interface between IS and EQ Modules . . . . . . . . . . . . 6
5. Integration with ANI . . . . . . . . . . . . . . . . . . . . . 6
5.1 ES Module as an ASA . . . . . . . . . . . . . . . . . . . . 6
5.2 ES Module as an Core Component in ANI . . . . . . . . . . . 7
6 Security Considerations . . . . . . . . . . . . . . . . . . . . 8
7 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 9
8 References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
X. Xiao Expires April 29, 2018 [Page 2]
INTERNET DRAFT Event Service in ANI October 30, 2017
1 Introduction
In autonomic networking, autonomic functions (AFs) running on
autonomic nodes utilize the autonomic networking infrastructure (ANI)
to realize various control purposes [RFC7575]. Due to the distributed
nature of a network system, AFs need to exchange information
constantly, either for control plane signaling, for data plane
service or both.
In the current ANI design [I-D.behringer-anima-reference-model], a
direct point-to-point (P2P) communication model is provided where a
sender specifically builds a connection and sends information (e.g.
control message, synchronization data and so on) to the receiver.
This works well if the information and data exchanged or events
triggered are short and instant. In addition to this short and
instant communication, there are also many scenarios involving longer
and more complicated communication types, where a direct P2P model
may not work properly. In this sense, it is important to provide
asynchronous communications for the class of distributed systems that
operate in a loosely-coupled and autonomous fashion, and which
require operational immunity from network failures.
This draft describes the design of an event service (ES) for AFs in
the ANI that supports asynchronous communication model and that is
customized for AF groups with different objectives. With ES, AFs
communicate through a publish and subscribe (Pub/Sub) paradigm, where
publishing and subscribing introduce events to the system and the ES
module is responsible for organizing the published information and
delivering it to the receivers that have registered an interest.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. Event Service Use Cases
Following use cases in autonomic networking are considered as
scenarios that fit well asynchronous communication patterns.
3.1 Long Communication Intervals between AFs
The time interval of communication is not necessarily always short
and instant. More advanced AFs rather may involve heavy jobs/tasks
when gearing the network, so the direct mode may introduce
unnecessary pending time and be less efficient. For example, an AF
may access another AF for a database lookup. Similar use cases may
X. Xiao Expires April 29, 2018 [Page 3]
INTERNET DRAFT Event Service in ANI October 30, 2017
include AF migration, AF authentication and authorization. In a
direct mode, the AF has to wait until the tasks finish and return.
The ES mechanism decouples the dependency between the two parties.
Once the jobs are finished, AFs will get notified.
3.2 Common Interest Distribution among AFs
Some information types are common interests among AFs. A typical
example is distributing network intent, which will be distributed to
network nodes enrolled in the autonomic control plane (ACP) [I-
D.behringer-anima-autonomic-control-plane]. As the network intents
are the common interest of all nodes that participate in the ANI,
network nodes through ES can register for the network intent event
and get notified if applicable. Network intent updates can follow the
same logic. So far, such information is delivered by (selective)
flooding via GRASP [I-D.liu-anima-grasp-distribution]. Note that
because of network dynamic not every node can be ready at the moment
when the network intent is flooded as nodes join in the network
sequentially. However, the owner of the intent will be proactively
probed from time to time. ES takes over this and automatically
replies upon the registration of new comers with the latest intent.
3.3 Distributed Coordination among AFs
Hosting AFs on distributed network elements naturally assumes
computing and storage resources on the network nodes. When executing,
AFs not only consume but also generate data information for other
AFs. One example is AFs coordinating with each other as distributed
schedulers, responding to service requests and balancing the load in
the network, thus it is critical for those AFs to make correct
decisions based on local information, which might be asymmetric as
well. Furthermore, AFs may also need synthetic/aggregated data
information (e.g. statistic info, like average values of several AFs,
etc.) to make decisions. In these scenarios, AFs will need an
efficient way to form a common view of the network (e.g. about
resource consumption, bandwidth and statistics). This calls for a
scalable, common, yet distributed data layer, on which AFs can store
and share information. The ES module aims at making data information
distributable and providing an event-driven Pub/Sub paradigm to share
them.
4. Event Service Design
4.1 Overview
The main functions of the event service (ES) module are to 1) decide
where to store the published information, 2) create event queues to
announce published information, 3) match published and subscribed
X. Xiao Expires April 29, 2018 [Page 4]
INTERNET DRAFT Event Service in ANI October 30, 2017
events and 4) deliver information if event matching succeeds.
Specifically, for publishers, the ES module is to 1) receive
publishing requests from AFs (also from ASAs), 2) decide where to
store the published information, 3) update corresponding event
queues. For subscribers, the ES module is to 1) register interests,
2) monitor event queues in the system and 3) trigger information
retrieval and delivery if information of registered events are ready.
The ES module is further decomposed into two sub-modules: 1) event
queue (EQ) module and 2) information storage (IS) module shown in
Figure. 1. We introduce details of the two sub-modules in the
following sections.
+---------------------------------------+
| +---------------+ +---------------+ |
| | Event Queue |-|-| Info. Storage | |
| +---------------+ +---------------+ |
+---------------------------------------+
Figure 1. Components of Event Service Module
4.2 Event Queue
Event Queue (EQ) module is responsible for event classification,
event prioritization and event matching.
First, EQ module provides isolated event queues customized for
different event groups. Specifically, two groups of AFs could have
completely different purposes or interests, therefore EQ
classification allows to create multiple message queues where only
AFs interested in the same category of events will be aware of the
corresponding event queue.
Second, events generated may have to be processed with different
priorities. Some of them are more urgent than the normal and regular
ones. Also between two event queues, their priorities may be
different. EQ prioritization allows AFs to set different priorities
on the information they published. Based on the priority settings in
the event queue, matching and delivery of them will be adjusted. EQ
module can provide several pre-defined priority levels for both
intra-queue and inter-queue prioritizations.
Third, events in queues will be listened and if a publishing event is
found and matched by a registration event, information retrieval will
be triggered.
4.3 Information Storage
X. Xiao Expires April 29, 2018 [Page 5]
INTERNET DRAFT Event Service in ANI October 30, 2017
Events are closely related to the information. IS module handles how
to efficiently save and retrieve information for AFs across the
network according to announced events. Any information that is
published by AFs will be sent to the IS module, and the IS module
decides where to store the information and how to index and retrieve
it.
The IS module defines a syntax to index information, not only
generating the hash index value (e.g. a key) for the information, but
also mapping the hash index to a certain network node in ANI.
When data information is published by an AF (i.e. publishing events),
it will be sent to the IS module. The IS module calculates its hash
index (i.e. the key) and the location responsible for storing the
information. The IS module confirms with the node chosen to store the
information by negotiation. After that, if available, the IS module
sends the information to there.
When data information has to be retrieved (i.e. subscribing events),
a request from an AF will be also received by the IS module. IS
module, by parsing the request, identifies the hash index of the
information, which tells the location of the information as well.
After that, the IS module requests the desired information and
retrieves it once it is ready.
IS module can reuse distributed databases and key value stores like
NoSQL, Cassandra, DHT technologies. storage and retrieval of
information are all event-driven responsible by the EQ module.
4.4 Interface between IS and EQ Modules
EQ and IS modules are correlated. When an AF publishes information,
not only an publishing event is translated and sent to EQ module, but
also the information is indexed and stored simultaneously. Similarly,
when an AF subscribes information, not only subscribing event is
triggered and sent to EQ module, but also the information will be
retrieved by IS module at the same time.
5. Integration with ANI
There are several alternatives to integrate the ES module into the
current ANI.
5.1 ES Module as an ASA
With this approach, ES module is an ASA as a third-party application
implemented in the user space on the network node. In this case, ES
X. Xiao Expires April 29, 2018 [Page 6]
INTERNET DRAFT Event Service in ANI October 30, 2017
module will be integrated with individual AFs. Multiple ES module
instances may existing on the same network node but serve for
specific AFs. The node architecture is illustrated in Figure 2.
+--------------------------------------------------------+
| +--------Autonomic Function 1-------+ |
| +-----------+ | +------------+ +------------+ | |
| | | | | | | Event | | |
| | ASAs | | | ASA-1 | | Service | | |
| | | | | | | ASA | | |
| +-----------+ | +------------+ +------------+ | |
| +-----------------------------------+ |
| ^ ^ ^ |
| - - | - - API level - -| - - - - - - |- - - |
| V V V |
|--------------------------------------------------------|
| ANI (BRSKI, GRASP, ACP) |
|--------------------------------------------------------|
| Basic Operating System Functions |
+--------------------------------------------------------+
Figure 2. An Example of ES Module as an ASA
Users of the ANI can benefit from the flexibility of this approach
where the ES module can be developed by the user who may have
specific preferences on event distribution and information storage.
For example, one user may prefer a centralized way for information
storage while a distributed way for event queues.
However, bringing ES module as a customized ASA may ruin the
integrity of the ANI. First of all, since individual users will have
to implement the ES modules in their own ways, this increases the
difficulty to use the ANI, which was supposed to be autonomic.
Second, co-existences of multiple private ES module instances may
have conflicts and consume unnecessary resource. Third, at system
level, optimizing and coordinating those multiple private ES module
instances are also challenging.
5.2 ES Module as an Core Component in ANI
This approach turns the ES module as must-implement ASA in the kernel
space on the network node, together included in ANI itself. In this
case, ES module is shared by different AFs and how to realize such a
module is transparent to individual AF. This is illustrated in
Figure. 3.
X. Xiao Expires April 29, 2018 [Page 7]
INTERNET DRAFT Event Service in ANI October 30, 2017
+-------------------------------------------------+
| +-----------+ +-----------+ +-----------+ |
| | | | | | | |
| | ASA-1 | | ASA-2 | | ASA-3 | |
| | | | | | | |
| +-----------+ +-----------+ +-----------+ |
| ^ ^ ^ |
| - - | - - API Level -| - - - - - | - |
| V V V |
|-------------------------------------------------|
| +-------------------+ |
| | Event Service | |
| +-------------------+ |
| ANI (BRSKI, GRASP, ACP) |
|-------------------------------------------------|
| Basic Operating System Functions |
+-------------------------------------------------+
Figure 3. An Example of ES Module as a Core Component in ANI
Specifically, all asynchronous communications requests from different
AFs are handled by a common ES module where events are classified,
prioritizations are given, and information published are distributed
and stored. Different event queues are created as needed, and event
matching is done by the ES module. In this way, the common ES module
across every network nodes in the ANI domain forms a distributed
event service system. APIs will be provided to the user space and
technical details are transparent to AFs.
This may involve slight extensions of the current ANI by integrating
the ES module. For example, the API set of GRASP [I-D.ietf-anima-
grasp-api] will need to be extended with new APIs to access ES
module. GRASP itself will also need to be extended for ES module
signaling.
6 Security Considerations
TBD.
X. Xiao Expires April 29, 2018 [Page 8]
INTERNET DRAFT Event Service in ANI October 30, 2017
7 IANA Considerations
TBD.
8 References
[RFC7575] Behringer, M., "Autonomic Networking: Definitions and
Design Goals", RFC 7575, June 2015
[I-D.behringer-anima-autonomic-control-plane]
Behringer, M., Bjarnason, S., BL, B., and T. Eckert,
"AnAutonomic Control Plane", draft-behringer-anima-
autonomiccontrol-plane-12 (Standard Track), October 2017.
[I-D.behringer-anima-reference-model]
Behringer, M., Carpenter, B., Eckert, T., Ciavaglia, L.,
Liu, B., Jeff, J., and J. Strassner, "A Reference Model
for Autonomic Networking", draft-behringer-animareference-
model-05, October 2017.
[I-D.du-anima-an-intent]
Du, Z., Jiang, S., Nobre, J., Ciavaglia, L., and M.
Behringer, "ANIMA Intent Policy and Format", draft-
duanima-an-intent-05 (work in progress), February 2017.
[I-D.ietf-anima-grasp]
Bormann, D., Carpenter, B., and B. Liu, "A Generic
Autonomic Signaling Protocol (GRASP)", draft-ietf-
animagrasp-15 (Standard Track), October 2017.
[I-D.liu-anima-grasp-api]
Carpenter, B., Liu, B., Wang, W., and X. Gong, "Generic
Autonomic Signaling Protocol Application Program Interface
(GRASP API)", draft-liu-anima-grasp-api-05 (Standard
Track), October 2017.
[I-D.liu-anima-grasp-distribution]
Liu, B. and S. Jiang, "Information Distribution over
GRASP", draft-liu-anima-grasp-distribution-04, May 2017.
X. Xiao Expires April 29, 2018 [Page 9]
INTERNET DRAFT Event Service in ANI October 30, 2017
Authors' Addresses
Xun Xiao
German Research Center
Huawei technologies
Riesstr. 25, 80992, Muenchen, Germany
Emails: xun.xiao@huawei.com
Artur Hecker
German Research Center
Huawei technologies
Riesstr. 25, 80992, Muenchen, Germany
Emails: artur.hecker@huawei.com
Zoran Despotovic
German Research Center
Huawei technologies
Riesstr. 25, 80992, Muenchen, Germany
Emails: zoran.despotovic@huawei.com
X. Xiao Expires April 29, 2018 [Page 10]