Networked Systems Design
Complex systems are by many definitions highly interconnected, examples being social networks, financial networks, and transportation networks. In these highly interconnected systems, it is increasingly the connections that define the system as opposed to the properties of their constituent components. For an example, think of an expensive sports car. Out on the highway, it is king, doing 0-60 in under three seconds and up to 250 kilometers an hour. But put this car in urban traffic and it will be gridlocked like any other car. No matter how great the properties of the car, it will only be going as fast as the transportation network allows it. This should demonstrate that in complex engineered systems it is the structure and dynamics of the network that really matter. It is not about being bigger, faster or stronger. It is about access, and access is defined by where you lie in the network and the structure of that network. Think of the air transportation system. It is not so much the static properties of your location in space and how far away your destination is, but more importantly where you are located in the network. If you are beside a major hub, it can be quicker and easier to travel to another major hub on the other side of the planet as it would be to travel from one disconnected hub to another that is a fraction of the distance away.
Irrespective of whether we explicitly call them networks or just systems, networks are the true geometry of complex systems. And thus, it is very important to think about designing them from this perspective of access, connectivity, and network structure. In order to do this, we first need to understand a bit about the nature of networks, and network theory is the area of math and science that provides us with the models for analyzing networks. So let’s take a look at some of the key features to networks and how they will affect the system as a whole. Probably the most important feature of a network is its degree of connectivity, that is, how connected is the whole system? Designing for a densely populated urban environment like Hong Kong will be very different from designing for a city like Los Angeles, which is dispersed. In highly interconnected systems, the dense interconnections can require much greater layering. The components can be much more specialized and there may be a much higher level of dependencies. As a result of these, failures can quickly propagate. A small security scare in one airport, for example, can result in delays across large areas of the air transportation system within a nation.
In these large, highly interconnected systems, we do not always know the dependencies. No one has complete knowledge of all the inter-linkages that regulate complex systems like large urban centers or our global supply chains. Thus, our aim should not be to design these systems to be perfect, 100% fault tolerant, as this is not realistic. Instead, they need to be engineered so as to be robust to failure. Again, the internet is a good example, as it is called a “best effort network.” This means it tries its best, but if something goes wrong, then it is no big problem. It just drops your packet and tries again. It happens all the time, but the internet still works. The occurrence of failure should be designed into these systems and not out of them in order to achieve robustness.
Centralized & Decentralized
Another key consideration in the design of these networked systems is their degree of centralization versus decentralization, as this is a defining factor in the structure and makeup to networks. In centralized networks, we have a node or small set of nodes that have a strong influence on the system, and the network will be largely defined by the properties of these primary nodes. These centralized networks can leverage economies of scale and it is possible to have a high degree of control over the system through one point of access. Due to this, centralized networks can be very efficient in the short run, as well as faster and easier to manage.
But they are also more vulnerable to strategic attacks, often less robust and sustainable due to their dependencies on a few centralized nodes. They can also result in a high degree of inequality and problems in load balancing. This is due to the occurrence of highly centralized peak demands for resources, with rush hour traffic jams and exaggerated properties prices in the center of cities being examples of this. The heavy use of economies of scale engendered in industrial system of organization means many of the networks that make up advanced economies are highly centralized, including our global financial system centralized around a few key nodes, many national transportation systems, and logistic networks, which are designed as a centralized hub and spoke structures.
Decentralized networks are in contrary without centralized nodes. Responsibility, control, and resources lie on the local level and are dispersed amongst a large percentage of the nodes. Examples of these include peer-to-peer file sharing, sustainable agriculture systems, car sharing services, and direct democracy. Decentralized networks typically require greater user engagement, as they cannot depend on centralized batch processing and economics of scale. The nodes in the network are often more self-sufficient and less specialized, and thus it is easier to interchange and replace any node with any other, making them less susceptible to attack and more robust to fail. They also have fewer dependencies and are typically more sustainable in the long run.