Other issues in this category (25)
Updates on a planetary scale
The idea that an anti-virus must always remain up to date is an axiom. However, the world is a big place, and the number of update servers is not infinite. Moreover, some users may not have access to the Internet. Furthermore, the number of customers a company has in different parts of the world may vary. So even if some people in a sparsely populated area are using a piece of software, setting up update servers in that region may not be practical. Besides, a server in such a location may experience updating issues too. While customers only need to retrieve some 200 kilobytes of update data, a server must be ready to dispense updates for all products and also host distribution files.
There is a solution to this problem—use a content delivery network (CDN) instead of updating servers.
CDNs offer readily available network infrastructures to deliver content quickly to end-users. Their servers are distributed geographically in such a manner that they respond to user queries with minimal delay.
In the late 1990s, some companies made the distribution of static content their principal business. In 1998, MIT Professor of Applied Mathematics Tom Leighton and Daniel Lewin, a student at MIT, set up the Akami company.
Akami, along with Amazon and Cloudflare, are the most renowned CDN providers.
How does a CDN work? The traditional way users update their software is to send a query to a server that then furnishes them with what they requested. If a CDN is being used, the system will first determine the device's location and then the update will be delivered by the closest available server. This may be very convenient, especially when it comes to updating applications on mobile devices. There is no need to specify a server manually over and over again—the network will do everything for you.
Interestingly, the geographically closest server is not necessarily the most suitable one for fast delivery. A CDN will pick the server that will respond to the user more quickly.
Software vendors benefit from using CDNs too. With update servers of their own, the companies have to distribute the files among all the servers, ensure data integrity, and, should a server crash, quickly dispatch a team of technicians to another part of the world. With CDNs, the provider is responsible for all these things. And even the failure of one server will not be critical.
So how does a CDN differ from a conventional distributed server network with good maintenance? We have already mentioned that servers host updates and distributions of all vendor products even if some of them are not needed in a specific region. Meanwhile, CDNs operate differently. These systems use caching. For example, if a certain video clip has gone viral, there is no need for all users to download it from the same original server. Only the first user to request the clip will get the file from the original server. The rest will be downloading a copy of it from the node that provided the file to the first user. And the source server won't be overwhelmed by millions of queries.
As a result, CDN servers in specific regions only host files that users in that region actually need. But, of course, there is still one victim. The one who first sends a download request will have to wait for a relatively long period of time while the file is being transferred to their nearest server. All the other customers in that area will receive the content instantly.
And there’s one more con. Files that have been transferred to a specific CDN server may become outdated (note that anti-virus updates are released on an hourly basis). That's why CDN can delete cached content.
But there is a plus. Should a certain country block certain CDN IP address ranges, updates will be delivered from other nodes.
As you can see, behind the stock phrase "an update will be performed automatically" lies a complex system whose uninterrupted operation is required to maintain reliable anti-virus security.