Sounds reasonable.

Would there be a release that was just this refactor?

Or would then next release be a step along the path of the secure IoT theme?

Bryan

On Thursday, November 10, 2016, Peter <j...@zeus.net.au> wrote:

> Thinking about how to proceed with code and repo...
>
> * I want to bring code in from an existing git repo and keep commit
> history (I'm the only committer).  Branched off a recent version of River
> trunk.
> * We want to change to using a git repo for River.
> * Start building maven style modules from the ground up, starting with
> JERI at low level.
> * Separate out the qa test suite (integration tests), which is an ant
> build that only depends on jars from river build.
> * Where should jtreg test suite ( unit and regression tests) go?  Maybe
> with each relevant module?
> * junit tests with appropriate module...
>
> Thoughts / suggestions?
>
> Regards,
>
> Peter.
>
> Sent from my Samsung device.
>
>   Include original message
> ---- Original message ----
> From: Peter <j...@zeus.net.au <javascript:;>>
> Sent: 06/11/2016 08:23:06 pm
> To: dev@river.apache.org <javascript:;>
> Subject: Re: River revamp
>
> Yes same pattern, some details are different for security reasons,
> additional support is required for lower level protocols as object
> endpoints.
>
> Also, for example, devices were on a 6LowPAN network, different types of
> devices would subscribe to different multicast groups, to minimise their
> responses, since some devices may rely on battery power, we don't want
> them to announce their presence or respond unnecessarily as that wastes
> power.
>
> There are a number of new IoT protocols being developed, I think we'll
> need to provide some support for some to start with.
>
> AMQP is another interesting protocol.
>
> On the discovery side, in order to make a connection, the multicast
> response will need to contain the application layer name, transport
> layer name, contact address and port, eg:  MQTT, TCP, IP address:port.
> Typically the nework layer will define the method of multicast.
>
> Cheers,
>
> Peter.
>
> On 6/11/2016 1:05 PM, Niclas Hedhman wrote:
> > Ok, so this is more or less classic "surrogate" setup with JINI, right,
> > with some additional SEC stuff, right?
> >
> > And that is a cool way to achieve interoperability with smaller devices
> > without ability to run a JVM, especially the original
> dream where devices
> > don't know about each other ahead of time (except by some interface)
> >
> > I also see value where "IoT Service" doesn't bother with "Service
> > Registrar" in the "Jini sense" and the "IoT Device" only participate in
> > "Discovery" and then get a secure/trusted channel, onto which a
> > light-weight protocol, such as MQTT or CoAP, can be funneled in either
> > direction.
> >
> >
> >
> > On Sat, Nov 5, 2016 at 2:26 PM, Peter<j...@zeus.net.au <javascript:;>
> >  wrote:
> >
> >> Hmm lets try Ascii, hope line wrapping doesn't wreck it.
> >>
> >>
> >>              |<----------------------| Multicast request
> >> Multicast   |                       |
> >> response    |---------------------->| Connection&  auth
> >>              |                       | to discovered address
> >> RPCSEC_GSS  |<----------------------|
> >> auth        |---------------------->| RPCSEC_GSS Auth
> >>              |                       | success, request
> >>              |                       | bytes containing
> >>              |                       | service proxy
> >>              |      Register service |
> >>              |    proxy&  attributes |------------------
> ->| Registration
> >>              |      Mange reg lease  |<-------------------|
> >>              |                       |                    |
> >>              |                       |             Match
> >> |<-----------------| Lookup
> >>              |                       |
> >> |----------------->|
> >>              |                       |                    |
> >>    | Authenticate Iot Service
> >>              |                       |                    |
> >>    | with bootstrap proxy
> >>              |                       |                    |
> >>    | Grant permission to download
> >>              |           Auth client |<----------------
> ----------------------|
> >> and deserialize service proxy.
> >>              |  Return service proxy |-----------------------------
> >> --------->|
> >>              |                       |                    |
> >>    | Prepare service proxy
> >>              |<------------------------------------------
> --------------------|
> >> execute RPC function call
> >>   Function   |-------------------------------------------
> ------------------->|
> >> with constraints
> >>              |                       |                    |
> >>    |
> >>         IoT Device             IoT Service         Service Registrar
> >> Client
> >>
> >>
> >>
> >>
> >> On 5/11/2016 3:48 PM, Peter wrote:
> >>
> >>> Ok, will come back to the ascii art, I'll first attempt
> to attach a png.
> >>>
> >>> There's an existing Java RPC implementation LGPL, with
> a maven build tag
> >>> =>  oncrpc4j-2.6.0
> >>>
> >>> https://github.com/dCache/oncrpc4j
> >>>
> >>> The implementation above supports /RPCSEC_GSS/ for security, although
> >>> there's a client side bug at present, but fixing it
> will be a lot less work
> >>> than reimplimenting it.
> >>>
> >>> Basically RPC is the C equivalent of Java RMI.
> >>>
> >>> Cheers,
> >>>
> >>> Peter.
> >>>
> >>> On 5/11/2016 10:32 AM, Niclas Hedhman wrote:
> >>>
> >>>> Sorry, I get the feeling that too much detail thinking
> is still in your
> >>>> head. Hard for me to follow your thought process.
> A simple picture (ascii
> >>>> art would do) would go a long way...
> >>>>
> >>>> Niclas
> >>>>
> >>>> On Sat, Nov 5, 2016 at 8:04 AM, Peter<j...@zeus.net.au <javascript:;>
> >   wrote:
> >>>>
> >>>> Thinking about C and power constrained devices,
> how about the following:
> >>>>> * Write an ONC RPC java compiler, to create java code (instead of C)
> >>>>> client stubs.
> >>>>>
> >>>>> * Provide support for TLS and constraints.
> >>>>>
> >>>>> * Provide an IPv6 constrained device announcement (C) and discovery
> >>>>> (Java)
> >>>>> utilities.  Create a standard so other languages can be supported by
> >>>>> others.
> >>>>>
> >>>>> * Write a java utility and service that manages proxies, registers
> >>>>> discovered constrained devices with a lookup service
> and manages it's
> >>>>> lease.  This utility can generate attributes (from
> Configuration) and
> >>>>> provide a bootstrap proxy (service) to allow
> clients to authenticate and
> >>>>> obtain the smart proxy used to communicate directly with the device.
> >>>>>
> >>>>> * Provide an interface for clients to notify the
> utility service when a
> >>>>> device is down.
> >>>>>
> >>>>> Regards,
> >>>>>
> >>>>> Peter.
> >>>>>
> >>>>> Sent from my Samsung device.
> >>>>>
> >>>>>     Include original message
> >>>>> ---- Original message ----
> >>>>> From: Zsolt Kúti<la.ti...@gmail.com <javascript:;>>
> >>>>> Sent: 03/11/2016 05:37:45 pm
> >>>>> To: dev@river.apache.org <javascript:;>
> >>>>> Subject: Re: River revamp
> >>>>>
> >>>>> A small footprint implementation of Jini's
> lookup service written in C,
> >>>>> fully JCK compliant.
> >>>>> http://www.psinapticcom/link_files/PsiNapticTelematics.pdf
> >>>>>
> >>>>>
> >>>>> A few years ago being involved in developing a
> streelighting management
> >>>>> system I tried to access them to no avail.
> >>>>>
> >>>>> On Thu, Nov 3, 2016 at 8:09 AM, Peter<j...@zeus.net.au
> <javascript:;>>   wrote:
> >>>>>
> >>>>> I've been conaidering that.  It should be possible
> to implement service
> >>>>>> discovery in C, any serialized java bytes
> required for a proxy could be
> >>>>>> stored on the device.
> >>>>>>
> >>>>>> So these devices are services, but not clients.
> >>>>>>
> >>>>>> Will respond with more soon
> >>>>>>
> >>>>>> Regards,
> >>>>>>
> >>>>>> Peter.
> >>>>>>
> >>>>>> Sent from my Samsung device.
> >>>>>>
> >>>>>>     Include original message
> >>>>>> ---- Original message ----
> >>>>>> From: Niclas Hedhman<nic...@hedhman.org <javascript:;>>
> >>>>>> Sent: 03/11/2016 12:39:33 pm
> >>>>>> To: dev@river.apache.org <javascript:;>
> >>>>>> Subject: Re: River revamp
> >>>>>>
> >>>>>> "IoT" is a term that for this discussion is a bit too wide. The
> >>>>>> "thermostat" runs with a kB-sized microcontroller and is
> >>>>>>
> >>>>> struggling to get
> >>>>>
> >>>>>> security features in at all, and the "home router"
> is typically (still)
> >>>>>> running from a 4-8MByte flash, which is
> impossible to even get a Java
> >>>>>> ME
> >>>>>> onto, so there is a lot of challenges when using "IoT"
> >>>>>>
> >>>>> as a blanket term.
> >>>>>
> >>>>>> So, I think a couple of concrete, do-able, use-cases
> >>>>>> need to be highlighted
> >>>>>> as examples, maybe a kind of "blue print" paper on how to
> >>>>>> do it with River.
> >>>>>>
> >>>>>> I totally agree that the "mothership" model is
> >>>>>> outrageous from a consumer's
> >>>>>> perspective, a nasty vendor lock-in, that all vendors are
> >>>>>>
> >>>>> pushing for and
> >>>>>
> >>>>>> all consumers/users need to fight the best we can.
> >>>>>>
> >>>>>> A very active home automation project is called "
> OpenHAB", a flurry of
> >>>>>> activity, connecting just about everything from
> your thermostat to your
> >>>>>> dog's toys. I have not looked closely at it, don't
> even know if it is a
> >>>>>> Java project as such, but it is one of the most
> active projects in the
> >>>>>> field of Home IoT.
> >>>>>>
> >>>>>> Cheers
> >>>>>> Niclas
> >>>>>>
> >>>>>> On Wed, Nov 2, 2016 at 10:41 PM, Patricia Shanahan<p...@acm.org
> <javascript:;>>
> >>>>>> wrote:
> >>>>>>
> >>>>>> I think for this to work it is necessary to find out
> >>>>>> where IoT people hang
> >>>>>>
> >>>>>>> out, and discuss it there Do they already have a plan for a secure
> >>>>>>> framework?
> >>>>>>>
> >>>>>>> As a potential IoT user I'm looking for two things:
> >>>>>>>
> >>>>>>> 1. Security.
> >>>>>>>
> >>>>>>> 2. Server independence.
> >>>>>>>
> >>>>>>> I don't want my thermostat to stop working if
> a server I don't control
> >>>>>>> goes down or is taken out of service for any reason.
> >>>>>>>
> >>>>>>> I think River may be a good basis for those features.
> >>>>>>>
> >>>>>>>
> >>>>>>> On 11/2/2016 7:22 AM, Bryan Thompson wrote:
> >>>>>>>
> >>>>>>> I look at this as open source for secure IoT.  The
> >>>>>>> need for security in
> >>>>>> IoT
> >>>>>>>> has been aptly demonstrated by recent DDOS
> >>>>>>>>
> >>>>>>> attaches based on compromised
> >>>>>>> devices.
> >>>>>>>> I do feel that interop is critical to success here.
> >>>>>>>>
> >>>>>>>> Do we have any lurkers from the IoT manufacturing
> >>>>>>>>
> >>>>>>> space here?  People or
> >>>>>>> companies willing to invest time and resources for
> >>>>>>> a secure IOT platform?
> >>>>>>> Bryan
> >>>>>>>> On Wednesday, November 2, 2016, Peter<j...@zeus.net.au
> <javascript:;>>   wrote:
> >>>>>>>>
> >>>>>>>> Utilising most of the existing discovery code, we could use ipv6
> >>>>>>>>
> >>>>>>>>> multicast, for an exported remote object (service).
> >>>>>>>>>
> >>>>>>>>> Then create a new class called RemoteDiscovery
> to discover a service
> >>>>>>>>> dynamically, based on a name
> >>>>>>>>>
> >>>>>>>>> So you export a service and it becomes dynamically discoverable.
> >>>>>>>>>
> >>>>>>>>> It's not going to step on any Jini discovery lookup
> >>>>>>>>>
> >>>>>>>> stuff and it's going
> >>>>>>> to be easily deployed by new users.
> >>>>>>>>> Then once users realise there's more on offer they
> >>>>>>>>>
> >>>>>>>> can take advantage as
> >>>>>>> their understanding develops.
> >>>>>>>>> Cheers,
> >>>>>>>>>
> >>>>>>>>> Peter.
> >>>>>>>>>
> >>>>>>>>> Sent from my Samsung device.
> >>>>>>>>>
> >>>>>>>>>     Include original message
> >>>>>>>>> ---- Original message ----
> >>>>>>>>> From: Niclas Hedhman<nic...@hedhman.org <javascript:;>
> <javascript:;>>
> >>>>>>>>> Sent: 02/11/2016 05:31:26 pm
> >>>>>>>>> To: dev@river.apache.org <javascript:;><javascript:;>
> >>>>>>>>> Subject: Re: River revamp
> >>>>>>>>>
> >>>>>>>>> To put a bit more meat on Peter's condensed list...
> >>>>>>>>>
> >>>>>>>>> I put forward a proposal to sever the ties between
> >>>>>>>>>
> >>>>>>>> River and Jini itself,
> >>>>>>> and instead re-focus River to be a a secured
> network transport, with
> >>>>>>>>> optional discovery. Starting point is of course the JERI
> >>>>>>>>> module and Peter's
> >>>>>>>>> work to secure this transport, but in the longer
> >>>>>>>>>
> >>>>>>>> term look at alternative
> >>>>>>> transport formats and eventually bindings to other
> >>>>>>>>> languages, which I think
> >>>>>>>>> will be the major hurdle for long term
> acceptance (no one is Java-
> >>>>>>>>>
> >>>>>>>> only
> >>>>>> nowadays).
> >>>>>>>>> Jini's services, Reggie and so on, carries a lot of
> >>>>>>>>>
> >>>>>>>> negative connotation
> >>>>>>> among people who were around back then, and except
> >>>>>>>> for where it has been
> >>>>>>> adopted, I doubt that there will be any new uptake,
> >>>>>>>> so instead of making
> >>>>>>> Jini (and its specs) the focal point of River, make it
> >>>>>>>>> to "Examples of what
> >>>>>>>>> River can be used for".
> >>>>>>>>>
> >>>>>>>>> Another example of what can be done with River could
> >>>>>>>>>
> >>>>>>>> eventually include
> >>>>>>> connectors for popular platforms, such as Zookeeper,
> >>>>>>>> which could open
> >>>>>> avenues for new blood coming to River
> >>>>>>>>> Concrete things; Apache Karaf is also a very small
> >>>>>>>>> community, yet they have
> >>>>>>>>> managed to put together a very exciting
> website, and I think River
> >>>>>>>>> community could "borrow" a lot of that work, making itself more
> >>>>>>>>> appealing,
> >>>>>>>>> promoting the new focus. I don't think much coding is
> >>>>>>>>>
> >>>>>>>> needed to get this
> >>>>>>> going, but packaging might be "fixed" to make
> >>>>>>>> consumption of the core
> >>>>>> functionality as easy as possible, preferably easier than that.
> >>>>>>>>> Once that is up-and-running starting the "reach
> >>>>>>>>>
> >>>>>>>> out" to other projects,
> >>>>>>> individuals and press releases.
> >>>>>>>>>
> >>>>>>>>> I hope that this will inspire some to more action.
> >>>>>>>>>
> >>>>>>>>> Niclas
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Wed, Nov 2, 2016 at 2:25 PM, Peter Firmstone<
> >>>>>>>>> peter.firmst...@zeus.net.au <javascript:;><javascript:;>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>> A discussion recently ignited on river private
> >>>>>>>>> about revamping the project.
> >>>>>>>>>
> >>>>>>>>> For the benefit of the wider developer community
> can we restate the
> >>>>>>>>>> suggestions here, feel free to reword, correct, reject or
> >>>>>>>>>>
> >>>>>>>>>> suggest  It was
> >>>>>>>>> along the lines of:
> >>>>>>>>>> * Website revamp
> >>>>>>>>>> * Remove Jini focus, with a historical section...
> >>>>>>>>>> * Focus on new security features.
> >>>>>>>>>> * Make getting started simple, with just the bare
> >>>>>>>>>>
> >>>>>>>>>> bones basics, Extensible
> >>>>>>>>> remote invocation with secure serialization.
> >>>>>>>>>> * Services, Javaspaces etc, become examples of what
> >>>>>>>>>>
> >>>>>>>>> can be done with
> >>>>>> River, not what River  is.
> >>>>>>>>>> Regards,
> >>>>>>>>>>
> >>>>>>>>>> Peter.
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Sent from my Samsung device.
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Niclas Hedhman, Software Developer
> >>>>>>>>> http://zest.apache.org - New Energy for Java
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>> --
> >>>>>> Niclas Hedhman, Software Developer
> >>>>>> http://zest.apache.org - New Energy for Java
> >>>>>>
> >>>>>>
> >>>>>>
> >
>
>
>

Reply via email to