Nemo is an intent-based North Bound (NB) interface consisting of an
application protocol running over HTTP (RESTful interfaces) to
exchange intent-based primitives between applications and
meta-controllers controlling virtual network resources (networks,
storage, CPU).
The first Nemo specifications (draft-xia-sdnrg-nemo-language, and
draft-xia-sdnrg-service-description-language) describe a set of
intent-based primitives to create virtual networks comprised of nodes
with policy-controlled flows. Intent oriented policy is prescriptive
("go to the store") rather than descriptive ("follow this route to the
store"), leaving the details to the network. Nemo's language
connects the application to a controller and operates using 10
commands which include 4 basic network commands (Node, Link, Flow,
Policy) and 6 basic controller communication commands (connect,
disconnect, transact, commit, notifiy, query). Nemo sends these 10
commands using the RESTful interface over HTTP to exchange the
commands with the controller. These commands operate as transactions
allowing the process to have clear checkpoints.
Within the controller, a Nemo-language process translates the Nemo
intent-based commands into a set of commands to control network,
storage, or CPU processes. For example, the Nemo language processor
can interface with multiple intent-based policy repositories
(Open-Daylight Group Policy, OpenStack Congress API Datalog Policy)
and send actions to multiple SDN controllers (OpenFlow Switch (OFS),
I2RS interface).
Software Defined Networking (SDN) and Network Function Virtualization
(NFV) are moving the IT world from a network-centric view to an
application-centric view. Google considers a datacenter to be the
computer comprised of compute device, storage devices, and network.
Applications running on the Google Cloud must be rewritten to run
within this Cloud, an environment that takes care of placing
applications on compute devices that have the appropriate amount of
storage and network connectivity. The Nemo-project group seeks to
create a simple intent-based protocol that forms a simple NorthBound
API (NB) for applications on any platform to control the following :
a) setup and take down of virtual networks between virtual nodes, b)
control transfer of data toward storage, and c) handle compute devices
with a the minimal set of intent-based primitives.
Nemo's protocol standardization will go hand-in-hand with an
open-source development of the code. An Open-source project details,
technical specifications, and details can be found at
www.nemo-project.net.
To see the collection of prior postings to the list,
visit the Ibnemo
Archives.
|
Subscribe to Ibnemo by filling out the following
form.
You will be sent email requesting confirmation, to
prevent others from gratuitously subscribing you. This is a private list, which means that the
list of members is not available to non-members.
|