3 ms·
Our understanding is that Apple have currently only enabled MPTCP for Siri. This probably makes sense - Siri isn't mission critical, but is very delay sensitiv
by mhandley 13y ago
Our understanding is that Apple have currently only enabled MPTCP for Siri. This probably makes sense - Siri isn't mission critical, but is very delay sensitive. Using both LTE and WiFi for a Siri connection should allow them to get low delay in the case either has a problem. They're using Citrix Netscaler at the server end, which does have MPTCP support.
Disclaimer: I'm one of the authors of MPTCP.
- throwaway7767 12y ago> Our understanding is that Apple have currently only enabled MPTCP for Siri. This probably makes sense - Siri isn't mission critical, but is very delay sensitive. I have to disagree that it makes sense to cripple APIs and give preferential treatment to certain software. If the support is there, give developers an API to use it! Also, good job on MPTCP - it's awesome :) EDIT: I'm being downvoted, but I'd really love to hear a justification for why it makes sense for apple to restrict features to use in apple-developed software only.
- ska 12y agoGood engineering practice: you have an untried technology operating in a complicated environment and in-house testing can only get you so far. Looking at this "in the wild" in a constrained way where you control most of the variables is an obvious next step.
- mhandley 12y agoNot sure why you're being downvoted, and I've no direct insight into Apple's deployment decisions. But I'd guess they're concerned that deploying MPTCP could cause problems with middleboxes in some environments. Siri is a good way to test the water. First, they own the servers, so they can ensure there's no problem on their end. Second, Siri isn't mission-critical in the way IMAP or HTTP would be, so if there is a problem, it's less of a PR disaster for them. Personally, I'd also prefer to see an API that developers can use to enable it, but I'm OK with them taking it slow at first. Every cellular and WiFi network on the planet got to see how their middleboxes handle MPTCP, so having them test the water like this makes life so much easier for anyone else later.
- mikeash 12y agoPotentially stupid question: since MPTCP is built on normal TCP connections, does that mean that you could potentially implement MPTCP entirely in an application without cooperation from the kernel? Or does the fact that you need to set special options is the TCP packets mean that kernel support is required?
- IgorPartola 12y agoYou will need to be able to send raw IP packets. I don't know if iOS lets you do this, but given that possibility and the willingness to make your code run very slowly (lots of kernel<-->userspace transitions) you can do it.