(This was originally posted as a LinkedIn Newsletter article. See this link, read the comment thread, and please subscribe)
It Was the Best of Times, it Was the Worst of Times
One of the most ludicrous phrases in telecoms is "Always Best Connected", or ABC. It is typically used by an operator, network vendor or standards organisation attempting to glue together cellular and Wi-Fi connections. It's a term that pretends that some sort of core network function can automatically and optimally switch a user between wireless models, without them caring - or even knowing - that it's happening.
Often, it's used together with the equally-stupid term "seamless handover", and perhaps claims that applications are "network agnostic" or that it doesn't matter what technology or network is used, as long as the user can "get connected". Often, articles or papers will go on to describe all Wi-Fi usage on devices as "offload" from cellular (it isn't - perhaps 5% of Wi-Fi traffic from phones is genuine offload).
There's been a long succession of proposed technologies and architectures, mostly from the 3GPP and cellular industry, keen to embrace but downplay Wi-Fi as some sort of secondary access mechanism. Acronyms abound - UMA, GAN, IWLAN, ANDSF, ATSSS, HetNets and so on. There have been attempts to allow a core network to switch a device's Wi-Fi radio on/off, and even hide the Wi-Fi logo so the user doesn't realise that's being used. It's all been a transparent and cynical attempt to sideline Wi-Fi - and users' independent choice of connection options - in the name of so-called "convergence". Pretty much all of these have been useless (or worse) except in very narrow circumstances.
To be fair, accurate and genuine descriptions - let's say "Rarely Worst-Connected" or "Usually Good-Enough Connected" or "You'll Take What Connection We Give You & Shut Up" - probably don't have the same marketing appeal.
Who's Better, Who's Best?
The problem is that there is no singular definition of "best". There are numerous possible criteria, many of which are heavily context-dependent.
Which "best" is being determined?
- Highest connection speed (average, or instantaneous?)
- Lowest latency & jitter
- Lowest power consumption (including network, device and cloud)
- Highest security
- Highest visibility and control
- Lowest cost (however defined)
- Greatest privacy
- Best coverage / lowest risk of drops while moving around
- Highest redundancy (which might mean 2+ independent connections)
- Connection to the public Internet vs. an edge server
In most cases involving smartphones, the basic definition of "best" is "enough speed and reliability so I can use my Internet / cloud application with OK performance, without costing me any extra money or inconvenience". Yet people and applications are becoming more discerning, and the network is unaware of important contextual information.
For instance, someone with flatrate data may view "best" very differently to someone with a limited data quota. Someone in a vehicle at traffic lights may have a different connection preference to someone sitting on the sofa at home. Someone playing a fast-paced game has a different best to someone downloading a software update. A user on a network with non-neutral policies, or one which collects and sells data on usage patterns, may want to use alternatives where possible.
In an era of private cellular, IoT, multiple concurrent applications, encryption, cloud/edge computing and rising security and privacy concerns, all this gets even more complex.
In addition to a lack of a single objective "best", there are many stakeholders, each of which may have their own view of what is "best", according to their particular priorities.
- The user
- The application developer
- The network operator(s)
- The user's employer or parents
- The building / venue owner
- The device or OS vendor
- A third-party connection management provider (eg SD-WAN vendor)
- The government
On some occasions, all these different "bests" will align. But on others, there will be stark divergence, especially where the stakeholders have access to different options for connectivity. A mobile phone network won't know that the user has access to an airport lounge's premium Wi-Fi, because of their frequent flyer status. A video-streaming app can't work out whether 5G or Wi-Fi will route to a closer, lower-power edge server.
So who or what oversees these conflicts and makes a final decision on which connection (or, increasingly, connections plural) is chosen? Who's the ultimate arbiter - and what do the other stakeholders do about it?
This problem isn't unique to network connectivity - it's true for transport as well. I live in London, and if I want to get from my home to somewhere else, I have lots of "best" options. Tube, bus, drive, taxi, walk, cycle and so on. Do I want to get there via the fastest route? Cheapest? Least polluting? Easiest for social-distancing? Have a chance to listen to a podcast on the way? If I want to put the best smile on the most people's faces, maybe I should go by camel or unicycle? And what's best for the city's air, Transport for London's finances, other travellers' convenience, or whoever I'm meeting (probably not the unicycle)?
There are multiple apps that give me all the options, and define preferences and constraints. The same is true for device operating systems, or connection-management software tools.
Hit Me With Your Best Shot
There are also all sorts of weird possible effects where "application-aware networks" end up in battle with "network-aware applications". Many applications are designed to work differently on different networks - perhaps "only auto-download video on Wi-Fi" or "ask the user before software updates download over metered connections". Some might try to work out the user's preferences intelligently, and compress / cache / adjust the flow when they appear to be on cellular, or uprate video when the user is home - or perhaps casting content to a larger screen. The network has little grasp of true context or user/developer desire and preferences.
Networks might attempt to treat a given application, user or traffic flow differently - perhaps giving it priority, or slowing or blocking it, or assigning it to a particular "slice". The application on the other hand might try to second-guess or game the network - either by spoofing another application's signature, or just using heuristics to reverse-engineer any "policy" or "optimisation" that might get applied.
You're My Best Friend
So what's the answer? How can the connectivity for a device or application be optimised?
There's no simple answer here, given the number of parameters discussed. But some general outlines can be created.
- Firstly, there needs to be multiple connections available, and ways to choose, switch, arbitrage between them - or bond them together.
- The operating system and radios / wired connections of the device should allow the user (or apps) to know what's available, with which characteristics - and any heuristics that can be deduced from current and previous behaviour.
- The user or device-owner needs to know "who or what is in charge of connections" and be able to delegate and switch that decision function when desired. It might be outsourced to their MNO, or their device supplier, or a third party. Or it could be that each application gets to choose its own connection.
- As a default, the user should always be aware of any automated changes - and be given the option to disable them. These should not be "seamless" but "frictionless" or low-friction. (Seams are important. They're there for a reason. Anyone disagreeing with this statement must post a picture of themselves wearing a seamless Lycra all-in-one along with their comment).
- Connectivity providers (whether SPs or privately-owned) should provide rich status information about their services - expected/guaranteed speed & latency, ownership, pricing, congestion, the nature of any data-collection or traffic inspection practices, and so on. This will be useful as input to the decision engines. Over time, it will be good to standardise this information. (Governments and policymakers - take note as well)
- We can expect connectivity decisions to be partly driven by external context - location, movement, awareness of indoor/outdoor situation, environment (eg home, work, travelling, roaming), use of accessories like headphones or displays, and so on.
Going forward, we can expect wireless devices to have some form of SD-WAN type control function. Using technologies such as multipath TCP, it will become easier to use multiple simultaneous connections - perhaps dedicated some to specific applications, or bonding them together. For security and privacy, the software may send packets via diverse routes, stopping any individual network monitoring function from seeing the entire flow.
Growing numbers of devices will have eSIM capability, allowing new network identities / owners to be added. Some may have 2+ cellular radios, as well as Wi-Fi (again, perhaps 2+ independent connections), USB and maybe in future satellite or other options as well.
Add in the
potential for Free 5G (link), beamforming, private 5G, local-licensed spectrum
WiFi, relaying & assorted other upcoming innovations to add even
more layers here.
The bottom line is that "best connected" will become even more mythical in future than it already is. But there will be more options - and more tools - to try to optimise it, based on a dynamic and complex set of variables - especially when going beyond connectivity towards overall "quality of experience" metrics spanning eyeball-to-cloud. There's likely be plenty of opportunities for AI, user-experience designers, standards bodies and numerous others.
But (with apologies to the Tina Turner), users should always be wary of any software or service provider that claims to be "Simply the Best".
If you've enjoyed this article, please sign up for my LinkedIn Newsletter (link). Please also reach out to me for advisory workshops, consulting projects, speaking slots etc.
#5G #WiFi #cellular #mobile #telecoms #satellite #wireless #smartphones #connectionmanagement