In the comparably brief history of modern computing (70+ years or so) we went through several transformations. Without making a claim to be complete: we saw large single server systems (mainframe client-server systems) with dumb terminals, witnessed the personal desktop computer revolution in the 1970ies and 1980ies, the rise of the Web in the 1990ies (and with it client server systems became mainstream again) and in the 2000s mobile computing began conquering the world.
The latter is particular interesting, since the mobile computing transformation is currently ongoing and is beginning to have effects on the todays’s system architecture. A look a today’s dominant system architecture (“the cloud”) reveals that this kind of system architecture implies a fixed connection between the client and the cloud. Think about it: when does a cloud-based system work best? When it knows where the client sits and thus knows where to send data. This is the case for desktops and (most of the time) for laptops: they have basically fixed communication endpoints and a stable Internet connection. In a sense, it is the good old mainframe with “dumb terminals” all over again – where the mainframe learned a bunch of new tricks for scaling and is able handle multi tenants at the same time (I’m aware that this is oversimplification: today’s cloud systems have only little in common with mainframes of the 1970s).
With mobile phones and smartwatches communication follows a different pattern, since they are constantly on the move. The connectivity bandwidth changes (also with good network coverage) and the communication endpoint can change its address several time during a longer communication session leading to considerable message latency. For some applications this infrastructure induced message latency is critical since they require response times that are hard to match for cloud based systems (e.g., augmented reality, object recognition). Consequently, the cloud began to move towards mobile clients: mobile cloud computing (2009), fog computing (2012) or mobile edge computing (2013).
I think this development will continue and eventually EDGE computing will become the system architecture for “smart environments” of all kinds, enriched with digital sensors and directly connected with the smartphone/smartwatch of users.
Since the smartphone can be difficult to reach from the remote cloud, the physical environment must provide the means to connect to the smartphone and provide services. In that sense, the smartphone becomes the lens through wich we interact with our smart environment.
A good example for a business where you can see how mobile computing begins to affect the system architecture is brick and mortar retail. Here we already have environments with lots of sensors (cameras, beacons, NFC readers), WLAN connectivity and screens. Customers have their smartphone literally always on their fingertips. These shop environments (e.g., screens) are typically controlled and managed by remote cloud based operation platforms with all the benefits of centralized systems (simple to manage, maintenance is taken care of by the cloud provider) and the drawbacks (single point of failure).
The alternative is to use a large number of small devices on the network edge and provide services directly on the premises. A good example for a service that works well on the edge is self checkout. A customer takes an item, scans it with her mobile app, pays and leaves the store without having to queue at the cashier. All interactions are happening locally in the store: the scan, the payment (the account can be synced later), the update of the inventory, the theft prevention procedure.
Another example for a service that works well on the network edge are pop-up self checkout shelves, like for example Bodega, that can be placed practically anywhere. Here, the shelve tracks the inventory and sends an alarm (again locally) if an unauthorized withdrawal was made. There is no need for a cloud to control the shelve system, since the shelve handles everything locally. It might be even problematic if the connection to the cloud breaks and thus the shelve becomes inoperable.
I think these two examples illustrate very well how our environments will become enriched with services that are accessed by smartphones/smartwatches and these environments won’t require a constant remote connection to work.
Welcome to the next step of computing.
[This is a repost from the IKANGAI blog]