UniLogical spent a lot of time optimizing their proprietary lowest level internet transfer technology to make MoxyDox as fast as possible. While testing the extreme speed of MoxyDox, UniLogical discovered an unexpected slowness which turned out to be due to an issue at Frontier Communications, the Internet Service Provider (ISP) being used at Boyd Edmondson’s home, UniLogical’s Chief Technology Officer (CTO).
UniLogical worked with Frontier to identify the issue and resolve it. The problem caused SOCKET network connections (explained later below) to be 10 times slower than they should have been. Frontier confirmed the issue was affecting all of their customers in their 3 state area. Frontier made a correction to their network and the socket network connection test at UniLogical, using the MoxyDox built-in default transfer mechanism, did indeed transfer 10 times faster.
How did such a condition go unnoticed by Frontier and its 3 states of customers? How was UniLogical able to detect the slowness? How can a MoxyDox customer confirm their own ISP’s socket speed? Let us dive into some technical details to answer these questions.
The internet is based on web technology. Web browsers open connections to web servers and communicate using the standard HTTP protocol. For example, when you type the URL “https://www.MoxyDox.com” into your web browser’s address bar, the web browser opens a connection over the internet from your computer to the computer that is serving the www.MoxyDox.com web pages. The HTTP protocol sends many messages back and forth in small chunks and those chunks are wrapped with layer after layer of extra information, such as the information for computers on the internet to route your chunk from computer to computer until it reaches the final destination computer.
While this is a standard technology, that doesn’t mean it is a fast mechanism. Web technology has been bloated for decades to add features and security. All of this legacy adds overhead to the data that is being transmitted. All of this layer, after layer, after layer adds so much overhead to internet transfers that web browsers got to be slower and slower. The developers of web browsers then discovered that they could increase the user’s perceived transfer rate by opening multiple connections at the same time. For example, if a single connection could download a 100 MB file in 160 seconds, then 4 connections could split that file into 4 25 MB sized pieces and transfer the same file in only 40 seconds.
So, web browsers open multiple connections to increase the transfer rate. When you go to a speed testing site, such as www.SpeedTest.net, your browser is using those multiple connections to get better speed results. So such speed tests can seem a bit deceptive and misleading when you consider that the single connection, a “socket”, is not being tested alone, but multiple “slow” sockets were used to show a “fast” overall internet connection speed.
UniLogical understood the inherit slowness to the internet and current technology. UniLogical did not want to just use those existing technologies “just because everyone else is using them”. UniLogical deliberately “reinvented the wheel” by looking at a single socket connection and optimizing its speed as much as possible. All internet transfers are based on that single network socket connection (TCP/IP). If that single socket was made to be as fast as possible, then everything built on top of that would be faster. UniLogical went a step further and analyzed the overhead of the HTTP protocol that is built on top of sockets. (See https://www.moxydox.com/speed/ for how when you send a “pea” sized chunk of information over the internet, it is wrapped in a “bowling ball’s” worth of overhead.) So, UniLogical deliberately choose not to use existing high level web technologies to avoid all of the overhead and thus slow down transfer rates. UniLogical uses a single socket with no overhead (UniLogical’s own proprietary protocol, no http) and is able to highly optimize the socket connection to deliver blazing speeds.
With that proprietary super fast socket technology inside of MoxyDox, UniLogical began to run tests to confirm the expected speed increase. During this testing, UniLogical could see that Frontier communications was not allowing MoxyDox to hit the theoretical limit it should. When reporting the issue to Frontier, Frontier of course suggested running a web browser to confirm the speed being purchased from them was actually being achieved. Well, like described above, the web-based speed test did indeed show that the correct speed purchased was being reached BECAUSE MULTIPLE SOCKET CONNECTIONS WERE BEING USED AT THE SAME TIME and thus gave the appearance that the rate could be achieved. MoxyDox, on the other hand, used a SINGLE SOCKET CONNECTION to perform the test and clearly identified that the socket was 10 times slower than it should be.
So, practically everyone in the world would think the speed was good because the multiple connection web based speed test said it was. It took persistence by UniLogical to get to the right people inside Frontier that could understand the difference of the single socket test versus the multiple socket test. Once that was done, Frontier did indeed find a mis-configuration in their network. Once that was corrected, the MoxyDox test showed a 10 times speed up.
MoxyDox has this same test built into its Diagnostics section. Any MoxyDox user can go to the Log Scene, open the deliberately hard to notice Diagnostics section (blue button at the bottom of that screen) to see the “Basic Connectivity > Throughput Test”. Those results show the transfer rate.
Let’s use this easy math example to explain. If we get 1,000 Mbps from our ISP, then that is about 100 MBps (convert to bytes and add some overhead). So if someone transfers a 10 MB file at 100 MBps, the transfer, theoretically, would take 0.1 seconds (10 MB / 100 MBps = 0.1 s). When originally running this test through Frontier before their correction, the 10 MB file took 1.0 seconds to transfer. After Frontier made the correction, MoxyDox’s Throughput Test transferred the 10 MB file in 0.1 seconds, the theoretical maximum! Another simple way to think about the difference is that before the fix, the computer could transfer a 10 MB file in 1 second. After the fix, in that 1 second, the computer could transfer a 100 MB file. 10 times the original file size in the same second!