Re: [zeromq-dev] use case for ZYRE framework

2018-04-26 Thread Kevin Sapper
Hi Chandra,
this absolutely works with Zyre. I'm going to add leader election to Zyre
in a couple of days so you can get a master in your cluster without hard
configuration. You can have a peek at it on my fork github.com/sappo/zyre.

Cheers Kevin

Benjamin Henrion  schrieb am Do., 26. Apr. 2018 18:49:

> On Thu, Apr 26, 2018 at 6:11 PM, Chandra  wrote:
>
>> Dear ZMQ community,
>>
>> Beginner to ZMQ. First of all thanks for great library and spirit behind
>> it. :).  Zyre looks suitable for our academic research project (kind of
>> Command and Control)  but have some doubts. Here is scenario
>>
>> Lab with 20 Computer's connected Wifi /Ethernet.  One computer (Master PC
>> - like command center Leader) run the Zyre  based program. All the 19 other
>> also run the Zyre framework based program. (kind of client program)
>>
>> 1. Master Computer can send whisper or shout message (INFO)  to clients
>> always in listening mode for client message and store in Disk.
>> 2.  Client program has some common task to do and send logs back to
>> Master computer
>> 3.  Master , in addition to always listening - send some specific
>> command(COMMAND) , like
>> Command 1 = Evasive, Command 2 = Terminate the client program  etc.
>> 4. Client can send  back - occasionally - " I am alive message" instead
>> of ZYRE Beacons message  or long intervaleacon message
>>
>> Can i use Zyre framework or ZMQ API  with Threads  with a specific
>> pattern - (Router - Sub -) for the above scenario ? Am i missing something?
>>
>> Any thoughts? Suggestion? It  greatly useful to design the project.
>>
>
> Try Glard, this is what it does...
>
> --
> Benjamin Henrion (zoobab)
> Email: zoobab at gmail.com
> Mobile: +32-484-566109
> Web: http://www.zoobab.com
> FFII.org Brussels
> "In July 2005, after several failed attempts to legalise software patents
> in Europe, the patent establishment changed its strategy. Instead of
> explicitly seeking to sanction the patentability of software, they are now
> seeking to create a central European patent court, which would establish
> and enforce patentability rules in their favor, without any possibility of
> correction by competing courts or democratically elected legislators."
> ___
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] use case for ZYRE framework

2018-04-26 Thread Benjamin Henrion
On Thu, Apr 26, 2018 at 6:11 PM, Chandra  wrote:

> Dear ZMQ community,
>
> Beginner to ZMQ. First of all thanks for great library and spirit behind
> it. :).  Zyre looks suitable for our academic research project (kind of
> Command and Control)  but have some doubts. Here is scenario
>
> Lab with 20 Computer's connected Wifi /Ethernet.  One computer (Master PC
> - like command center Leader) run the Zyre  based program. All the 19 other
> also run the Zyre framework based program. (kind of client program)
>
> 1. Master Computer can send whisper or shout message (INFO)  to clients
> always in listening mode for client message and store in Disk.
> 2.  Client program has some common task to do and send logs back to
> Master computer
> 3.  Master , in addition to always listening - send some specific
> command(COMMAND) , like
> Command 1 = Evasive, Command 2 = Terminate the client program  etc.
> 4. Client can send  back - occasionally - " I am alive message" instead
> of ZYRE Beacons message  or long intervaleacon message
>
> Can i use Zyre framework or ZMQ API  with Threads  with a specific pattern
> - (Router - Sub -) for the above scenario ? Am i missing something?
>
> Any thoughts? Suggestion? It  greatly useful to design the project.
>

Try Glard, this is what it does...

-- 
Benjamin Henrion (zoobab)
Email: zoobab at gmail.com
Mobile: +32-484-566109
Web: http://www.zoobab.com
FFII.org Brussels
"In July 2005, after several failed attempts to legalise software patents
in Europe, the patent establishment changed its strategy. Instead of
explicitly seeking to sanction the patentability of software, they are now
seeking to create a central European patent court, which would establish
and enforce patentability rules in their favor, without any possibility of
correction by competing courts or democratically elected legislators."
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] IPv6 multicast RADIO/DISH

2018-04-26 Thread Lionel Flandrin
On Thu, Apr 26, 2018 at 08:49:17AM -0400, Brian Adamson wrote:
> Hi Lionel,
> 
> Although it isn’t yet supported with the ZMQ API’s, the NORM
> protocol can be configured with receiver feedback disabled to
> provide an unreliable UDP-like best effort service with the added
> benefit of its message fragmentation and reassembly when messages
> are larger than the network MTU.  Additionally the FEC-based packet
> erasure coding can also be invoked if desired to provide a
> quasi-reliable “better than best effort” service where a number of
> FEC parity packets per coding block (where a “block” is a block of
> packets) can be set that are sent in addition to the user data
> packets.  It would be interesting to explore adding some additional
> options for the NORM binding.  I haven’t had time to spend on that
> but would be happy to help someone who wanted to take a shot at it.

Hello Brian,

It does sound enticing, my main worry is that I run on an embedded
system with relatively limited RAM resources and I try to avoid
unnecessary overhead wherever I can. Well, the fact that I'm using
python shows that it's not entirely true but that's code I can rewrite
in a future update if I want to save a few MB, the communication
protocol I'll have to stick with for the lifetime of the product so
I'm in a bit of a "premature optimization" mindset.

I've been reading about NORM and while it does seem very nice I only
need a tiny subset of the functionality (effectively UDP RADIO/DISH)
so I'm a bit on the fence about adding such a large dependency just
because ZMQ's UDP sockets don't yet support IPv6.

I think I need to give it a little more thought before I commit either
way but I do appreciate your feedback.

> best regards,
> 
> Brian 
> 
> > On Apr 26, 2018, at 4:55 AM, Lionel Flandrin  wrote:
> > 
> > On Thu, Apr 26, 2018 at 09:23:13AM +0100, Luca Boccassi wrote:
> >> On Thu, 2018-04-26 at 10:00 +0200, Lionel Flandrin wrote:
> >>> Hello everyone,
> >>> 
> >>> I'm trying to build a multicast protocol on top of an IPv6-only
> >>> network. I found that the draft RADIO/DISH sockets seem to do exactly
> >>> what I want, however the zmq_udp man page doesn't explicitely mention
> >>> supporting IPv6 multicast and I couldn't get pyzmq to bind an IPv6
> >>> multicast DISH with any URL format I've tried.
> >>> 
> >>> Is IPv6 multicast simply currently unsupported for UDP sockets? If
> >>> that's the case is it because of a technical difficulty or simply
> >>> because nobody bothered to implement it?
> >>> 
> >>> Thank you for your help (and your great library),
> >> 
> >> UDP right now supports only ipv4 - it's a work in progress:
> >> https://github.com/zeromq/libzmq/issues/2891
> > 
> > Ah, I see, thank you for confirming that. Do you think adding IPv6
> > support would be a huge amount of work for somebody not familiar with
> > ZMQ's codebase? Is it just about adding a few branches changing
> > AF_INET to AF_INET6 or am I being ridiculously naive?
> > 
> > My current backup solution if I can't get ZMQ to do what I want is to
> > write my own IPv6 multicast code using BSD sockets directly, if
> > hacking ZMQ's code to add support is not too daunting I could consider
> > doing that instead.
> > 
> >> PUB/SUB with PGM or NORM should do what you are looking for.
> > 
> > I considered EPGM briefly but the zmq_pgm man page seems to say that
> > only IPv4 is supported, so I didn't even attempt it:
> > 
> >  A multicast address is specified by an IPv4 multicast address in its
> >  numeric representation.
> > 
> > Maybe I shoudln't have been so quick to dismiss it, I'm going to give
> > it a try. That being said I don't actually need the guarantees of
> > PGM/NORM, in particular I don't care if a frame gets mangled or
> > dropped and I don't need SNDMORE.
> > 
> > Thank you,


-- 
Lionel Flandrin


signature.asc
Description: PGP signature
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] use case for ZYRE framework

2018-04-26 Thread Chandra
Dear ZMQ community,

Beginner to ZMQ. First of all thanks for great library and spirit behind
it. :).  Zyre looks suitable for our academic research project (kind of
Command and Control)  but have some doubts. Here is scenario
Lab with 20 Computer's connected Wifi /Ethernet.  One computer
(Master PC - like command center Leader) run the Zyre  based program.
All the 19 other also run the Zyre framework based program. (kind of
client program)
1. Master Computer can send whisper or shout message (INFO)  to clients
   always in listening mode for client message and store in Disk.2.  Client 
program has some common task to do and send logs back to
Master computer3.  Master , in addition to always listening - send some 
specific
command(COMMAND) , likeCommand 1 = Evasive, Command 2 = Terminate the 
client program  etc.4. Client can send  back - occasionally - " I am alive 
message" instead
   of ZYRE Beacons message  or long intervaleacon message
Can i use Zyre framework or ZMQ API  with Threads  with a specific
pattern - (Router - Sub -) for the above scenario ? Am i missing
something?
Any thoughts? Suggestion? It  greatly useful to design the project. 
Cheers! ;)

With kindest regards,
Chandra

 
 
 
 
 
 
 
 

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Zyre simple example - missing frame

2018-04-26 Thread Chandra
Just to update to share:

After adding at whispers.c  program 
  >> zyre_event_t *event = zyre_event_new (node); 
   zyre_whispers(node, zyre_event_peer_uuid (event),"%s", "Hello -
   Whisper message to listener..."); 
though in listener, i getting message of whisper , want to send back
message to whispers. seems something wrong/

while (true)
{

zmsg_t * msg = zyre_recv(node);
   
 if (streq (zyre_event_type (event),"ENTER"))
  
 {
// If new peer, say hello to it and wait for it to answer us
   zsys_info ("*[%s] Follower info",zyre_event_type
   (event));   *zyre_whispers 
(node,zyre_event_peer_uuid (event),
"Hello...Follower one ");** *  
}
  
   Full listener code : https://pastebin.com/0jbDmEJ2

Trying to solve this last 2 days :( 
Any thoughts helpful.  Thanks for support and community spirit. 


With kindest regards,
Chandra

 
 
 
 
 
 
 
 


On Tue, Apr 24, 2018, at 23:29, Chandra wrote:
> Dear ZMQ community, 
> 
> Greetings ! 
> I trying to understand zyre with simple example take from net and
> trying to change it.  There is 2 programs. one is  Zyre_whisperer  and
> another is Zyre_listener.> 
> 1. First, Listener will start  with group name  for example - Listener
>  and wait for message from whisperer> 2.  Start whisperer with  
> whisperer   to send some message to
> Leader.  original program use UUID which works :) and i am trying
> to send by group name.  It works i.e it send the  frames to
> Listener  without the user message (Good evening)> Code: 
> Whisperer.c  -  https://pastebin.com/nX5TWR7Q
> Listener.c  -https://pastebin.com/kB7ixUS7
> 
> *below is Output:  *
> *Missing frame from Whisperer  is the issue *
> 
> frame: ENTER 
> frame: E1F28B6CC9064459A94ADC2AD0E6EC9F
> frame: Follower1
> frame:
> frame: tcp://172.27.144.208:49153
> --
> frame: EVASIVE
> frame: E1F28B6CC9064459A94ADC2AD0E6EC9F
> frame: Follower1
> --
> frame: EXIT
> frame: E1F28B6CC9064459A94ADC2AD0E6EC9F
> frame: Follower1
> 
> Any advise/ thoughts will greatly helpful :)  Cheers!
> 
> With kindest regards,
> Chandra
> 
>  
>  
>  
>  
>  
>  
>  
>  
> 
> _
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] IPv6 multicast RADIO/DISH

2018-04-26 Thread Brian Adamson
Hi Lionel,

Although it isn’t yet supported with the ZMQ API’s, the NORM protocol can be 
configured with receiver feedback disabled to provide an unreliable UDP-like 
best effort service with the added benefit of its message fragmentation and 
reassembly when messages are larger than the network MTU.  Additionally the 
FEC-based packet erasure coding can also be invoked if desired to provide a 
quasi-reliable “better than best effort” service where a number of FEC parity 
packets per coding block (where a “block” is a block of packets) can be set 
that are sent in addition to the user data packets.  It would be interesting to 
explore adding some additional options for the NORM binding.  I haven’t had 
time to spend on that but would be happy to help someone who wanted to take a 
shot at it.

best regards,

Brian 

> On Apr 26, 2018, at 4:55 AM, Lionel Flandrin  wrote:
> 
> On Thu, Apr 26, 2018 at 09:23:13AM +0100, Luca Boccassi wrote:
>> On Thu, 2018-04-26 at 10:00 +0200, Lionel Flandrin wrote:
>>> Hello everyone,
>>> 
>>> I'm trying to build a multicast protocol on top of an IPv6-only
>>> network. I found that the draft RADIO/DISH sockets seem to do exactly
>>> what I want, however the zmq_udp man page doesn't explicitely mention
>>> supporting IPv6 multicast and I couldn't get pyzmq to bind an IPv6
>>> multicast DISH with any URL format I've tried.
>>> 
>>> Is IPv6 multicast simply currently unsupported for UDP sockets? If
>>> that's the case is it because of a technical difficulty or simply
>>> because nobody bothered to implement it?
>>> 
>>> Thank you for your help (and your great library),
>> 
>> UDP right now supports only ipv4 - it's a work in progress:
>> https://github.com/zeromq/libzmq/issues/2891
> 
> Ah, I see, thank you for confirming that. Do you think adding IPv6
> support would be a huge amount of work for somebody not familiar with
> ZMQ's codebase? Is it just about adding a few branches changing
> AF_INET to AF_INET6 or am I being ridiculously naive?
> 
> My current backup solution if I can't get ZMQ to do what I want is to
> write my own IPv6 multicast code using BSD sockets directly, if
> hacking ZMQ's code to add support is not too daunting I could consider
> doing that instead.
> 
>> PUB/SUB with PGM or NORM should do what you are looking for.
> 
> I considered EPGM briefly but the zmq_pgm man page seems to say that
> only IPv4 is supported, so I didn't even attempt it:
> 
>  A multicast address is specified by an IPv4 multicast address in its
>  numeric representation.
> 
> Maybe I shoudln't have been so quick to dismiss it, I'm going to give
> it a try. That being said I don't actually need the guarantees of
> PGM/NORM, in particular I don't care if a frame gets mangled or
> dropped and I don't need SNDMORE.
> 
> Thank you,
> -- 
> Lionel Flandrin
> ___
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org 
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev 
> 
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] NATS by CNCF

2018-04-26 Thread Benjamin Henrion
Hi,

Just discovered this yet-another-messaging system:

https://nats.io/documentation/

Looks interesting by reading the docs, will give it a shot once I have
some spare time...

--
Benjamin Henrion (zoobab)
Email: zoobab at gmail.com
Mobile: +32-484-566109
Web: http://www.zoobab.com
FFII.org Brussels
"In July 2005, after several failed attempts to legalise software
patents in Europe, the patent establishment changed its strategy.
Instead of explicitly seeking to sanction the patentability of
software, they are now seeking to create a central European patent
court, which would establish and enforce patentability rules in their
favor, without any possibility of correction by competing courts or
democratically elected legislators."
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] IPv6 multicast RADIO/DISH

2018-04-26 Thread Luca Boccassi
On Thu, 2018-04-26 at 10:55 +0200, Lionel Flandrin wrote:
> On Thu, Apr 26, 2018 at 09:23:13AM +0100, Luca Boccassi wrote:
> > On Thu, 2018-04-26 at 10:00 +0200, Lionel Flandrin wrote:
> > > Hello everyone,
> > > 
> > > I'm trying to build a multicast protocol on top of an IPv6-only
> > > network. I found that the draft RADIO/DISH sockets seem to do
> > > exactly
> > > what I want, however the zmq_udp man page doesn't explicitely
> > > mention
> > > supporting IPv6 multicast and I couldn't get pyzmq to bind an
> > > IPv6
> > > multicast DISH with any URL format I've tried.
> > > 
> > > Is IPv6 multicast simply currently unsupported for UDP sockets?
> > > If
> > > that's the case is it because of a technical difficulty or simply
> > > because nobody bothered to implement it?
> > > 
> > > Thank you for your help (and your great library),
> > 
> > UDP right now supports only ipv4 - it's a work in progress:
> > https://github.com/zeromq/libzmq/issues/2891
> 
> Ah, I see, thank you for confirming that. Do you think adding IPv6
> support would be a huge amount of work for somebody not familiar with
> ZMQ's codebase? Is it just about adding a few branches changing
> AF_INET to AF_INET6 or am I being ridiculously naive?
> 
> My current backup solution if I can't get ZMQ to do what I want is to
> write my own IPv6 multicast code using BSD sockets directly, if
> hacking ZMQ's code to add support is not too daunting I could
> consider
> doing that instead.

I'm not too familiar with that module - but it shouldn't be too much
work. Address support is the first thing, and then the right socket
options for V6 multicast in the engine I suppose:

https://github.com/zeromq/libzmq/blob/master/src/udp_address.cpp
https://github.com/zeromq/libzmq/blob/master/src/udp_engine.cpp

Remember to add unit tests as the very first thing.

> > PUB/SUB with PGM or NORM should do what you are looking for.
> 
> I considered EPGM briefly but the zmq_pgm man page seems to say that
> only IPv4 is supported, so I didn't even attempt it:
> 
>   A multicast address is specified by an IPv4 multicast address in
> its
>   numeric representation.
> 
> Maybe I shoudln't have been so quick to dismiss it, I'm going to give
> it a try. That being said I don't actually need the guarantees of
> PGM/NORM, in particular I don't care if a frame gets mangled or
> dropped and I don't need SNDMORE.
> 
> Thank you,

IIRC both libraries should support IPv6 just fine. The manpage is just
older - if you find it works and want to update it with some v6
examples, feel free to send a PR.

-- 
Kind regards,
Luca Boccassi

signature.asc
Description: This is a digitally signed message part
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] IPv6 multicast RADIO/DISH

2018-04-26 Thread Lionel Flandrin
On Thu, Apr 26, 2018 at 09:23:13AM +0100, Luca Boccassi wrote:
> On Thu, 2018-04-26 at 10:00 +0200, Lionel Flandrin wrote:
> > Hello everyone,
> > 
> > I'm trying to build a multicast protocol on top of an IPv6-only
> > network. I found that the draft RADIO/DISH sockets seem to do exactly
> > what I want, however the zmq_udp man page doesn't explicitely mention
> > supporting IPv6 multicast and I couldn't get pyzmq to bind an IPv6
> > multicast DISH with any URL format I've tried.
> > 
> > Is IPv6 multicast simply currently unsupported for UDP sockets? If
> > that's the case is it because of a technical difficulty or simply
> > because nobody bothered to implement it?
> > 
> > Thank you for your help (and your great library),
> 
> UDP right now supports only ipv4 - it's a work in progress:
> https://github.com/zeromq/libzmq/issues/2891

Ah, I see, thank you for confirming that. Do you think adding IPv6
support would be a huge amount of work for somebody not familiar with
ZMQ's codebase? Is it just about adding a few branches changing
AF_INET to AF_INET6 or am I being ridiculously naive?

My current backup solution if I can't get ZMQ to do what I want is to
write my own IPv6 multicast code using BSD sockets directly, if
hacking ZMQ's code to add support is not too daunting I could consider
doing that instead.

> PUB/SUB with PGM or NORM should do what you are looking for.

I considered EPGM briefly but the zmq_pgm man page seems to say that
only IPv4 is supported, so I didn't even attempt it:

  A multicast address is specified by an IPv4 multicast address in its
  numeric representation.

Maybe I shoudln't have been so quick to dismiss it, I'm going to give
it a try. That being said I don't actually need the guarantees of
PGM/NORM, in particular I don't care if a frame gets mangled or
dropped and I don't need SNDMORE.

Thank you,
-- 
Lionel Flandrin


signature.asc
Description: PGP signature
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] IPv6 multicast RADIO/DISH

2018-04-26 Thread Luca Boccassi
On Thu, 2018-04-26 at 10:00 +0200, Lionel Flandrin wrote:
> Hello everyone,
> 
> I'm trying to build a multicast protocol on top of an IPv6-only
> network. I found that the draft RADIO/DISH sockets seem to do exactly
> what I want, however the zmq_udp man page doesn't explicitely mention
> supporting IPv6 multicast and I couldn't get pyzmq to bind an IPv6
> multicast DISH with any URL format I've tried.
> 
> Is IPv6 multicast simply currently unsupported for UDP sockets? If
> that's the case is it because of a technical difficulty or simply
> because nobody bothered to implement it?
> 
> Thank you for your help (and your great library),

UDP right now supports only ipv4 - it's a work in progress:
https://github.com/zeromq/libzmq/issues/2891

PUB/SUB with PGM or NORM should do what you are looking for.

-- 
Kind regards,
Luca Boccassi

signature.asc
Description: This is a digitally signed message part
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] IPv6 multicast RADIO/DISH

2018-04-26 Thread Lionel Flandrin
Hello everyone,

I'm trying to build a multicast protocol on top of an IPv6-only
network. I found that the draft RADIO/DISH sockets seem to do exactly
what I want, however the zmq_udp man page doesn't explicitely mention
supporting IPv6 multicast and I couldn't get pyzmq to bind an IPv6
multicast DISH with any URL format I've tried.

Is IPv6 multicast simply currently unsupported for UDP sockets? If
that's the case is it because of a technical difficulty or simply
because nobody bothered to implement it?

Thank you for your help (and your great library),
-- 
Lionel Flandrin


signature.asc
Description: PGP signature
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev