As promised I have gotten approval and have uploaded to documents to the Wiki. They can be gotten from this link: https://wiki.allseenalliance.org/core/overview?&#technical_proposals
As I mentioned in the call: 1) Craig wrote them and they are pretty informal (folksy some might say) 2) They are pretty short, between the requirements and the design the docs have under 10 pages of total content. Given that I think that they provide good context for the decisions and goals that were made around the protocols design/behavior/ From: Lioy, Marcello Sent: Tuesday, June 21, 2016 9:18 AM To: 'Josh Spain' <[email protected]> Cc: Way Vadhanasin <[email protected]>; Daniel Mihai <[email protected]>; Arvind Padole <[email protected]> Subject: RE: Disadvantages of AllJoyn UDP Versus TCP Transport Thanks for the reminder – digging now. From: Josh Spain [mailto:[email protected]] Sent: Tuesday, June 21, 2016 6:41 AM To: Lioy, Marcello <[email protected]> Cc: Way Vadhanasin <[email protected]>; Daniel Mihai <[email protected]>; Arvind Padole <[email protected]> Subject: Re: Disadvantages of AllJoyn UDP Versus TCP Transport Marcello, You mentioned that there was a document regarding the design of the UDP transport. Were you able to get that? Thanks, Josh [Image removed by sender.] Josh Spain, Director of Engineering, Affinegy 1705 S. Capital of Texas Hwy, Ste. 310, Austin, TX, 78746 512.535.1700 [email protected]<mailto:[email protected]> http://affinegy.com<http://affinegy.com/> On Fri, Jun 17, 2016 at 2:00 PM, Lioy, Marcello <[email protected]<mailto:[email protected]>> wrote: Thanks Way! From: Way Vadhanasin [mailto:[email protected]<mailto:[email protected]>] Sent: Friday, June 17, 2016 10:16 AM To: Lioy, Marcello <[email protected]<mailto:[email protected]>>; Josh Spain <[email protected]<mailto:[email protected]>>; Daniel Mihai <[email protected]<mailto:[email protected]>>; Arvind Padole <[email protected]<mailto:[email protected]>> Subject: RE: Disadvantages of AllJoyn UDP Versus TCP Transport I created the following 3 Jira tickets to capture these UDP improvements discussed in the WG call. 1. ASACORE-2932<https://jira.allseenalliance.org/browse/ASACORE-2932> - Make the ARDP keep-alive interval configurable. 2. ASACORE-2931<https://jira.allseenalliance.org/browse/ASACORE-2931> - Use ephemeral port for outgoing UDP packets. 3. ASACORE-3021<https://jira.allseenalliance.org/browse/ASACORE-3021> - AllJoyn needs to respect app's link timeout even if UDP transport is used Thanks, Way From: Way Vadhanasin Sent: Tuesday, June 14, 2016 7:32 AM To: Marcello Lioy <[email protected]<mailto:[email protected]>>; Josh Spain <[email protected]<mailto:[email protected]>>; Daniel Mihai <[email protected]<mailto:[email protected]>>; Arvind Padole <[email protected]<mailto:[email protected]>> Subject: Disadvantages of AllJoyn UDP Versus TCP Transport Here’s the list I can come up with on the disadvantages of UDP. 1. Impact to battery life - the CPU has to wake up every 6s (ASACORE-2932) / no TCP offloading. 2. Security impact (at least on Windows) - the periodic ARDP keep-alive packets from app to producer cause Windows firewall to open up consistently (ASACORE-2931). Since AllJoyn consumer and producer are using the same UDP port (presumably to save resources), there’s a greater attack surface against the AllJoyn network parser. 3. More data usage - unlike TCP, AllJoyn UDP transport requires constant keep-alive packets to maintain the connection. If this UDP payload is leaked on to cellular interface (still to be confirmed), it could cost end-user money as this type of data generally not free (as opposed to TCP control packets). 4. TCP is better at non-graceful notifications - operating systems and network equipment that understand TCP and tend to support sending TCP RST when they need to break the connection (or AllJoyn process goes down abruptly). UDP ARDP relies on missed keep-alive for app to sense an abrupt broken connection, which could take longer. 5. Unforgiving L2 recovery - while it is arguable that any failure in the link and physical layers are better to be discovered sooner, the opposite is also true. If a UDP producer disappears temporarily (>6s), the RN would quickly generate a LostAdvertisement notification and app will then need to re-establish the connection, which it may not even know when to do. For TCP, this is controlled by AllJoyn Link timeout, which is settable by the application (the default is infinite). 6. Known deadlocks and questionable usage of locks (ASACORE-2094). Thanks, Way
_______________________________________________ Allseen-core mailing list [email protected] https://lists.allseenalliance.org/mailman/listinfo/allseen-core
