4ncl News

Only Connect….

You’re playing your 27th consecutive game of internet blitz chess. Outplayed, defeat is imminent. It’s time to resign, but you’ve decided to play a few more moves – just to see what happens. Your opponent, who has been playing quick and good moves, now pauses. What’s going on? Why don’t they just make one of the obvious moves and put me out of my misery? Nothing happens. A minute or so later, the app displays a mysterious message saying that you have been awarded the game because your opponent has left the game-room. “Why would they do that?”, you wonder briefly, before commencing your 28th consecutive game.

Sound vaguely familiar? Well how about this situation?

You’re cruising to victory in an internet chess-game. Plenty of time left on the clock. Victory is imminent, but your idiot opponent can’t see how bad is their position. Doesn’t matter – it’s just a question of time. Suddenly, your clock appears to freeze. You get a message from your browser session, informing you that you have been disconnected from the game server. Strange, everything had been working just fine today. Nothing happens. Panic. You frantically re-start everything. A few minutes later, after successfully logging back in, you’re disappointed to find that the game has concluded. Unbelievable.  It seems that you have resigned in a position with a +9.38 advantage.

Does this issue actually occur in “serious” online tournaments? Honestly, I am surprised you need to ask.

In the recently concluded Iceni Live League, the Suffolk Online Warriors suffered “loss by disconnect” in 3 consecutive rounds. The victims were: our board 1, Silas Peck; the squad captain, Alonso Paez; & myself. The Anglia Avengers’ final round of the 4NCL Online Season 2 was similarly afflicted. On board 3 for the 1st team, Martin Walker became disconnected from game server for 20 minutes.  Martin managed to reconnect, but was behind on the clock for most of the game.  (A 20 minute time deficit is quite a big handicap in a 45 minute time-limit.)  Somehow Martin contrived an unlikely victory from an unpromising situation.  On board 2 for the 2nd team, Ed Player was under considerable pressure for his pawn plus.  With 2 minutes left on his clock, he became disconnected, and no further moves were played.  That loss and that disconnect cost the 2nd team the match and their place in Division 2.

Every platform is to some extent susceptible to “loss-by-disconnect”.

The Iceni Live League is played on chess.com.  The 4NCL Online is played on LiChess. One could debate which platform is the most prone to this issue.  But the questions most chess-players will demand an answer to are: why does this happen?  Is there anything that can be done to prevent this?

The most obvious perpetrators are the chess platforms.  Clearly, sometimes they are to blame.  For example, one of the early county online matches, Surrey v Essex, originally scheduled for 13th June, had to be aborted due to pronounced issues with chess.com necessitating a service restart. (The match was successfully replayed on 1st August.)

However, I don’t believe that server issues are a major cause.  For a mature chess platform, service outages  are rare, and would affect a huge swathe of users – as they did around the originally scheduled time for the Surrey v Essex match.  However, the defining character of “loss by disconnect” is the capricious, almost personalized nature of the offense.  To the victim, it seems that every element of the chess platform is working just fine: with single exception of their game connection!

The platforms are a little too quick to turnaround the finger of blame and point it straight back at the users’ home environment.

Here is some “friendly advice” from chess.com: [1].  It’s easy to poke fun at these well-meaning homilies. Who would have guessed that I need to stop downloading files or streaming while playing an internet game?  I need to keep my O/S and browser software up to date?  Really?  And a connection issue might be due to a lag with my ISP?  Who knew?

But seriously, there is a lot that could go wrong on the home front.  In my case, there is my ISP, the router provided by the same, a Wi-Fi extender, and lastly the device on which I am actually playing.  If any of these devices, and the exceptionally sophisticated software loaded on these, are sub-functional any number of problems can occur.

Since you’ve asked, I’ve made some recent upgrades to my environment, replacing my previous Wi-Fi extender, a TP Link AV500, with a Netgear AC1200.  I’m pleased to say this has been fairly successful: leading to improved connectivity for all devices across all services.  (Actually, I’ve no idea why.)  But TLC on the home environment is not a panacea.

You can turn-off, restart, tune, test, re-tune, update and upgrade all you want:  it does not eradicate “loss-by-disconnect”.

Immediately after the upgrade, I tested out the new kit, playing in the Online London League on Tornelo.    I managed to complete the game without losing on time, but not without receiving, at least a couple of times, the internet player’s least welcome error message: “You have been disconnected from the game server.  Reconnecting….”.  And a couple of days later, in the final Iceni Live League match, my connection with chess.com laboured: even instantaneously played moves costing me 30 seconds on the clock.  Yes, I managed to win an endgame a piece up, but it seemed a darn close run thing!

The primary suspect is a huge, complex topic: the nature of internet connectivity.

A common mental picture of an connection to an internet service such as a chess platform, would be that of a network cable plugged into a lap-top at one end and a server at a (far, far distant) other end.  That conception is 100% wrong.

Your ISP, still less your laptop, is at best only ever indirectly and intermittently connected to “the internet”.  Here is a gentle introduction to a migraine-inducing subject: [2].

To summarize briefly, the transport layer on the application server (eg. chess.com) chops up the message (eg. chess move, financial transaction, document, video stream) into packets.  The packets are dispatched to their ultimate destination (eg. your laptop) via a series of network routers.  A router may not necessarily know where to send the packet, but if it doesn’t, it will query it’s neighbouring routers.  And if they don’t know, they will query their neighbours,  and so on until an IP address is gotten.  Routing is dynamic: don’t expect the packets to follow the same physical path, to arrive in the correct order, or even to be complete.  Somehow the packets, are reassembled on the client (ie your device).  The end result is that, quicker than the speed of thought, you can get a chess-move, money in your account or a video stream of your granny.

Utterly incredible?  Well, if you told me 30 years ago, when I started work in the IT industry, that this was all going to work, that’s what I would have said!

The internet: a modern miracle.  Yes – but don’t expect too much predictability from Divine Intervention.

Consider the 30 minute lockdown Zoom VC with your granny.  For 25 minutes it will seem like she could be in the same room.  For the other 5 minutes, she will look like something from the Outer Limits and sound like Darth Vader.  This fluctuation between the phenomenal and the abysmal has got very little to do with the vagaries of your home kit.  We see just the same type of vacillations in audio-visual quality in even high-profile internet VCs, for example, in the recent PM Questions conducted, remotely, from 10 Downing Street [3].  Poor Boris: surely, not everything is his fault!

Each type of internet service will have its own way of dealing with the vicissitudes of the internet wheel of fortune.  Streaming services such as Netflix tend to degrade AV quality or buffer until an acceptable throughput is reached.  Financial applications typically deploy a “two-phase commit” approach, booting out any incomplete transactions, unless 100% certain that all parties had an identical view of the deal.

The elegant front-end of the chess-platform only masks grotesque sever-side contortions.

Think that there is only one instance of any given game in progress?  Think a little harder and you will soon discover that there needs to at least three: one on your device, a second on your opponent’s, one more for every spectator, and a final one on the game server – the latter keeping the rest in line like a school-master in charge of a unruly class-room.  Normally the differences between the various instances is negligible.

Internet chess works flawlessly, and you can play just as seamlessly with someone in Suffolk as in Saudi Arabia.  Except when it doesn’t.

Think you just played Rb7 threatening mate in one?  Sorry, pal: but that move didn’t make it to the game-room.  It’s still your turn, your clock was running, and, by the way, you’ve just lost on time.  Care for another game?

What, if anything, follows from this?  The chess-platforms will doubtless be keen to deny culpability for the wild west of the world wide web.  “The Management Accepts No Responsibility”.

That would be to miss the point.   It’s not about whose fault this is.

The problem is that any mechanism for transmission of moves via the internet in a real-time game is inherently semi-chaotic.

It’s like this.  Imagine playing a chess-like game in which after each move you get to roll a set of 4 dice.  Most dice rolls don’t have any consequences, but some do.  Roll 4 ones, and you get to play your move again, finding that your clock was running all the time.  Roll 4 twos, and your move still stands, but you’ve been deducted 2 minutes on the clock.  Roll 4 sixes, and congratulations, your opponent has just been ejected from the game-room: you’ve been awarded the point!

Not happy with chess re-invented as a game of chance?  Tough luck – because that’s the game you’ve actually been playing for the past 9 months!


(c) AP Lewis 2020

One thought on “Only Connect….
Leave a Reply

Your email address will not be published. Required fields are marked *