The network topology is an application-level feature and not part of core IOCOM. The core IOCOM can be used simply to transfer data between two devices. If your goal is to connect IO devices to a computer within a local area net or serial communication, skip this topic.
secured distributed system design goals
To move on to secured distributed systems, work with cloud servers, etc. we need a defined topology. What we want:
- Connections to be encrypted. This is the easy part since TLS provides a standard solution.
- Identify each device. A device is identified by a random key (public/private), generated by device itself, device network name (like PEKKA or MARKKU in the picture below, often called user because of analogy) and device network password.
- Keep users (device networks) apart. Even the same cloud server is used for data from two device networks, the data can not be passed from one device network to another.
The network topology is closely related to security:
- An IO device connects to the IO domain controller.
- The IO domain controller can be in a local network, in a cloud server, or on any other computer accessible by TCP/IP.
- IO domain controllers (especially when in the cloud) can be shared by multiple IO device networks.
- IO domain controllers can be connected to higher-level IO domain controllers.
- One can think of IO device or IO domain controller as a process which runs in some computer or micro-controller.
- We make ready basic IO domain controller application which allows sharing IOCOM data within device network. For example, if you want to generate HTML, by information in the cloud server: The IO domain controller must be programmed for it.
- On local net, it is possible to run this topology also without security over regular socket instead of TLS. Less secure, but makes setting it up a bit easier.
chain of trust
- The root of trust, the overload, is one who establishes the top level of the network, here referred to as SMOKEYCLOUD. This can be the device manufacturer.
- The Smokeycloud gives Pekka and Markku rights to certify their own devices which they add to their network. It establishes that there are two valid device networks PEKKA and MARKKU, and stores names and password check information for the two.
- Pekka certifies his own devices when he adds these to network.