You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by Apache Wiki <wi...@apache.org> on 2011/09/09 00:13:40 UTC

[River Wiki] Update of "RiverOnTheInternet" by PeterFirmstone

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "River Wiki" for change notification.

The "RiverOnTheInternet" page has been changed by PeterFirmstone:
http://wiki.apache.org/river/RiverOnTheInternet?action=diff&rev1=16&rev2=17

  ## page was renamed from InternetJini
- 
  Please share your ideas.
  
  = Proposal for improving the deployability of river on the internet. =
+ Registry discovery current only works on network infrastructure supporting multicast and broadcast. Most ISPs do not support multicast, and broadcast will only be limited to the LAN or network subnet.
- Registry discovery current only works on network infrastructure supporting multicast and broadcast.
- Most ISPs do not support multicast, and broadcast will only be limited to the LAN or network subnet.
  
+ The ISP (cable/adsl) provides the customer with connection to the internet.  Optionally provides the customer with preconfigured CPE.  The CPE providing the connection has varing levels of firewall and NAT options, not always user configurable.
- The ISP (cable/adsl) provides the customer with connection to the internet. 
- Optionally provides the customer with preconfigured CPE. 
- The CPE providing the connection has varing levels of firewall and NAT options, not always user configurable.
  
  = DNS-SRV =
  To use DNS-SRV records to locate and discover lookup services (Service Registrar's like Reggie).
@@ -18, +14 @@

  To use DNS-SRV records to locate codebase servers at runtime and provide redundancy of codebase servers.
  
  = behind NAT services =
- 
  == UPNP firewall configuration ==
  Domestic ADSL modems (CPE=customer premise equipment) usually come with a UPNP service to activate DNAT. The availability of this UPNP service is configurable. So not guarantueed.
  
  == Reversing the connections ==
+ One solution would be to convert 'passive' services behind a NAT into a polling service, polling for work from a proxy on the internet.  This proxy would consist of a blocking queue, queuing the jeri calls until they are serviced by the hidden server and replied. The Mekong implementation covers this scenario.
- One solution would be to convert 'passive' services behind a NAT into a polling service, polling for work from a proxy on the internet. 
- This proxy would consist of a blocking queue, queuing the jeri calls until they are serviced by the hidden server and replied.
- The Mekong implementation covers this scenario.
  
  The mekong solution piggybacks on jeri connections in the other direction. The problem there is the firewall options on the CPE and/or personal firewall blocking outgoing connections.
  
  The only connections not blocked are http and https, so implementation of the poller transport in jeri http or https has an advantage.
  
+ == UDT - UDP Data Transfer ==
+ UDT is a UDP based data transfer protocol, implemented for high performance communications over wide area networks.  One particular advantage of UDT is the ability to multiplex on a single port, so any number of Sockets can share a single network port, rather than having to open a new port for each Socket.  Key to the implementation is SocketID, used to distinguish Sockets sharing a port.
+ 
+ By taking advantage of UDT multiplexing, a jvm residing in a private network computer only needs one port redirected on the NAT or firewall, multiple Jini services intended for the internet could be provided from one jvm and made available over a single UDP Firewall port.
+ 
+ If a client contacts a public server, then that server may utilise handback services from the client, since the port mapping doesn't change.  However if a client behind a NAT registers a service with a lookup service, even if it keeps the connection alive, other clients may not be able to utilise those services, in some cases they will, but it depends on the NAT hardware and firewall configuration.
+ 
+ There are several ways to open a NAT port, using STUN, UPNP, NAT-PMP or manual configuration. UDT also supports rendezvous connection setup.
+ 
+ UDT won't solve all NAT issues however.
+ 
+ http://udt.sourceforge.net/
+