Hacker News new | ask | show | jobs
by zimbatm 2945 days ago
Can you talk a little bit about the implementation details?

I assume that it's using WebRTC data channels to upload the file. WebRTC includes STUN / TURN to bypass firewalls so it makes it a great fit.

My guess is that the performance comes from chunking the data and sending it through multiple data channels. The other performance is to bring the receiving client close to the sender to reduce ACK latencies. I don't think that WebRTC allows to develop custom UDP protocols.

1 comments

Happy to. We are not using WebRTC. Uploads are accomplished by geo-locating the user to one of our 9 global servers closest to them then chunking the data and sending through multiple data channels using javascript in the browser. On the download side when a user initiates a download it geo-locates the downloader and calculates the optimal route across our cloud network. Our network then uses our own in-house TCP acceleration technology to stream the data quickly across the cloud and to push the data fast from our exit edge server to the end users location. We use a combination of parallel connections, TCP acceleration, premium middle mile networks, and reducing latency to maximize performance.