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

Reply via email to