7 ms·
Microsoft used centralised servers because the Skype prior to that was a curse to mobile devices running on battery power. Particularly cellphones. Skype worke
by Systemic33 9y ago
Microsoft used centralised servers because the Skype prior to that was a curse to mobile devices running on battery power.
Particularly cellphones.
Skype worked as a p2p network, where some peers where marked as super peers and would help with peers behind firewalls (UDP-holepunching), and routing through the super peer. If your phone became a super peer, you could expect to essentially work like a server, with the "benefits" of increased bandwidth usage and power usage. Not exactly what you want as a mobile user.
So Microsoft had to change the architecture (which wasn't designed with mobile devices in mind) into a more centralised approach that could work with mobile devices.
- geocar 9y ago> So Microsoft had to change the architecture (which wasn't designed with mobile devices in mind) into a more centralised approach that could work with mobile devices. As an engineer and software developer, I find this to be extremely unlikely. If "super-peers" can already route traffic for others, it seems very likely they could simply route all traffic for Mobile users through some "super-duper peer", instead of routing all traffic for all users through some "super-duper peer".
- DyslexicAtheist 9y agoOperators have no interest in being reduced to "dumb pipes" (as the industry calls it). So OP is correct, P2P overlay routing has traditionally caused headaches for network operators traffic shaping. Any P2P tech that reaches this kind of scale would run into serious scalability challenges due to operator throtteling. - http://ieeexplore.ieee.org/document/6488287/ http://ieeexplore.ieee.org/document/6488287/ - https://www.computer.org/csdl/proceedings/p2p/2008/3318/00/3318a177-abs.html https://www.computer.org/csdl/proceedings/p2p/2008/3318/00/3... - http://www1.huawei.com/enapp/198/hw-079351.htm http://www1.huawei.com/enapp/198/hw-079351.htm
- geocar 9y agoIf all the mobile traffic is being routed through a single Microsoft-controlled "super-duper peer", then there is no P2P traffic. Or to put it another way: If I accept the choice is between routing mobile traffic to Microsoft, or no mobile-Skype support, I don't understand how it follows that all traffic needs to move through Microsoft, or no mobile-Skype support.
- mynameisvlad 9y agoBecause centralized and P2P architecturally are different beasts altogether. It'd be very hard to make a protocol that essentially did both, and centralization covers all use cases, so, as a company, it makes most sense to go with that. I'm sure there were other reasons involved in the decision, I don't pretend to know them, but from a business perspective alone, you choose one connection methodology and you stick with it. Anything more is wasteful of resources.
- geocar 9y ago> It'd be very hard to make a protocol that essentially did both They already had a protocol that essentially did both. Once you have forwarding/routing i.e. what Skype called "super-nodes", P2P is a clear superset of "centralised". Anyone who says different doesn't know what they're talking about. > I'm sure there were other reasons involved in the decision, I don't pretend to know them, but from a business perspective alone, you choose one connection methodology and you stick with it. Anything more is wasteful of resources. I'm not speculating. I've seen engineers do stupid things that don't make sense; I'm not arguing that there are stupid reasons for it, and I'm not going to argue that there's non-technical reasons for it. But technical reasons? I don't buy it. I need some convincing: If one protocol (the P2P one) does both use cases, then you don't need another protocol just to handle one use case. That's just not how protocols work.
- lrem 9y agoVery hard is a strong overstatement, nearly as dubious as saying they did it for the backdoors. It was either a license issue, patent issue, or just unwillingness to maintain the P2P code base in face of some features (mobile, conferencing) needing the centralised one too.
- bitcoinusername 9y agoI think it was a patent issue. No one is allowed to use p2p for chat.
- jrhurst 9y agoIt does look like IBM does own a p2p instant messaging patent[1]. So I think this checks out. - https://www.google.ms/patents/US7675874 https://www.google.ms/patents/US7675874
- katastic 9y agoIt's remarkable that companies can "own" things so fundamental, and obvious in computing--even if they don't actually utilize their IP's. "Hey guys, I've got a patent for talking from one machine to another over a connection." (Don't give SCO any ideas.) The purpose of patents was to foster innovation, not squander it. What if Issac Newton and Liebniz had a "foundation" that owned the rights to every mathematical construct they discovered? How would the world function if we had to pay that foundation fees every time we used Newton's method, or Calculus? It'd be complete bureaucratic hell. And further, coming from another angle, I bet you money there are prior implementations of P2P chat long before... 2005.
- y04nn 9y agoSkype itself was founded in 2003, so I doubt this patent is valid.
- styfle 9y agoI was working for a large hardware company (I'm not going to name names) that typically files for hardware/firmware patents. There was a push for everyone to file more patents, even from the software teams. I was working on an app that had graph-like data so we decided to use a graph database...nothing super innovative. My coworker, who apparently had a couple patents, said that we could probably patent this algorithm. I looked at him and said, how can you patent traversing nodes and vertices... that's graph theory 101?! Big companies try to patent everything because its a metric they can use to show how amazing they are, and acts as blackmail (or cold war). If you sue me, I'll sue you.
- huhtenberg 9y agoThis doesn't explain why after the change Skype started routing calls between machines on the same LAN through Microsoft servers.
- mauriciob 9y agoThey made a decision to ditch P2P and route all calls through their servers. Local calls would fall into the "P2P" umbrella.
- afuchs 9y agoIt is difficult to make a p2p app on a mobile device work even between devices on the same LAN. A simplified explanation: Mobile devices will often ignore almost all incoming network traffic to reduce battery usage. The only way to reliably communicate with the device is through a centralized push notification service (e.g. APN and GCM).
- qznc 9y agoSyncThing seems to do fine on my smartphone in my home LAN.
- Whitestrake 9y agoOne thing that might explain this is that your phone could be pulling data from your computer, rather than your computer trying to connect to your phone to push data to it.
- huhtenberg 9y agoQuit the b/s, will you. It's not difficult at all. You use a central server to do the discovery and bootstrap the connection between two devices. For each device it looks like they are connecting out. This works for UDP and this works for TCP. It works both for NAT'ed and LAN peers. For the latter it works 100% of time. This is a 10 year old tech. It worked back then and it works now.
- 9y ago
- amatwl 9y agoYup. The whole P2P and Supernode architecture didn't just fail when it came to mobile devices. The Christmas 2010 outage was also caused by the reliance on supernodes.
- aaron_m04 9y agoThat doesn't sound like the correct explanation. It's not as if 90% of Skype users stopped using it on desktop computers. Other explanations that seem plausible: * IBM patent, as other poster pointed out. * ability to monitor/censor users more directly (to stay in government's good graces) * problems with peers invading privacy or taking other malicious actions
- tobylane 9y agoWhy were mobile devices candidates for superpeers?