The Abstracted Network for Enterprises and the Internet of Things (Part 2)

DZone 's Guide to

The Abstracted Network for Enterprises and the Internet of Things (Part 2)

Following up with the first part of this duology, read on to find out more about abstracted networks, including tuning, managing change, and maintaining M2M operation.

· IoT Zone ·
Free Resource

Following up from part one, we took a look at the Abstracted Network. As IoT grows and changes, enterprises are looking for ways to adapt — especially with machines that might not have been envisioned as a part of the IoT.

The Abstracted Network is initially built autonomously, but then it is constantly refined, restructured, monitored, and tuned. Some of the modification happens based on processes internal to the propagator node network, in particular, the use of scheduling and modeling algorithms to maintain deterministic performance for all of the virtualized networks. In addition, the applications agents within each propagator node are active in SDN monitoring and tuning by participating in messaging based on rules and other parameters (Figure 1 below). In this way, even legacy M2M and IoT networks of simple devices may be managed by SDN techniques and tools.

Image title

Figure 1: The Abstracted Network database may be monitored and modified by Enterprise SDN tools, extending these even to legacy and IoT M2M devices.

Managing Change and Disruption

An important additional benefit to the distributed Abstracted Network database is that it's maintained for the attached devices and the propagator nodes themselves, monitoring link status, adjacencies, and other networking parameters. Since the virtual topology is independent of the physical topology, network operation may be maintained despite failures and changes.

Link fault tolerance is the first level of fault tolerance. Propagator nodes build a logical tree of links from the virtual mesh of possible routes, but maintain awareness of alternate paths. This allows a nearly instantaneous re-routing around failures (Figure 2 below). A valuable by-product of this capability is the capacity for propagator nodes to be in motion relative to one another, to end devices, and to other network elements. Propagator nodes smoothly shift to other connections as old ones fade, maintaining network function.

Image title

Figure 2: Disruption tolerance between propagator nodes is provided autonomously through an adjacency database and routing table exchanges.

Maintaining M2M Operation

Disruption tolerance is also critical at the application level, especially for IoT and legacy M2M devices. As noted above, many (if not most) of these devices lack sophisticated networking protocols, so they have no functions to deal with network failures. But the applications agents in each propagator node may be provisioned with software that performs many of the functions necessary for end device operation. These could include data collection and interim storage, alarms and status, control loop management, even spoofing of network acknowledgement and requests.

Because these applications reside in each propagator node, attached devices may continue operating more-or-less normally no matter the status of the physical topology, even through a complete failure of round-trip communications. The Abstracted Network keeps local operation intact until the physical network connection can be re-established (Figure 3 below).

Image title

Figure 3: Applications agents in propagator nodes maintain local operation for connected devices despite upstream communications failures.

The Abstracted Network Concept and the capabilities of propagator nodes provide solutions for the enterprise's competing needs to incorporate the burgeoning IoT world and legacy devices into new cloud-based and software-defined networking architectures. This delivers networking efficiencies and improves the ability to manage and survive disruption and change.

abstracted network, enterprise iot, sdn

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}