[Ndn-lib] PSync in CCL

Lan Wang (lanwang) lanwang at memphis.edu
Tue Jan 29 09:08:05 PST 2019


I think Minsheng Zhang who developed PSync originally chose MurmurHash because of its speed and availability of public implementation.  Ashlesh simply kept it.  We will review if there’s a serious security problem with the algorithm.

In general, PartialSync is designed for pub-sub functionality.  FullSync is for group communication where everyone is a producer and consumer, and wants to receive everything from everyone else (something like Chat).


On Jan 29, 2019, at 10:49 AM, Junxiao Shi <shijunxiao at email.arizona.edu<mailto:shijunxiao at email.arizona.edu>> wrote:

Hi Jeff

I am not sure of the available implementations of MurmurHash in Python.

There are several packages of MurmurHash, such as https://pypi.org/project/murmurhash3/
I wonder why you choose to use MurmurHash, given SipHash is a better replacement? MurmurHash is vulnerable to multicollision attack; SipHash is more secure and is as fast as MurmurHash. See https://131002.net/siphash/ "attacks" section.

I’ll be interested to see your use cases.

I have two use cases.

In a building sensing system, I want to raise an alarm when certain condition happens, and deliver the alarm to a display/siren.
A sensor node can detect the condition (e.g. intrusion, temperature over threshold, fridge door not closed) and raise an alarm. Each sensor node is a PartialProducer, with one UserNode for each kind of alarm it can raise. To raise an alarm, it increments the sequence number of the UserNode.
A display/siren can be configured to receive certain kinds of alarms from certain sensor nodes. The display/siren runs a Consumer that subscribes to the UserNodes it wants to receive alarm from. When it receives a sync update, it displays or sounds the alarm.
This system currently has a server and a web application, both written in TypeScript. Sensor nodes would send signed Interests to the server, and the server participates in PSync on behalf of the sensor nodes. This system needs partial sync functionality from ndn-js.

In a multi-party chat system, I want to deliver audio clips between chatroom participants.
Each participant in the chatroom is a FullProducer with only one UserNode. To transmit an audio clip, it publishes the audio as Data segments, and increments the sequence number of the UserNode. Upon receiving a sync update, other participants retrieve and playback the audio clip.
This system currently has an Android app. It needs full sync functionality from jNDN.

Yours, Junxiao
Ndn-lib mailing list
Ndn-lib at lists.cs.ucla.edu<mailto:Ndn-lib at lists.cs.ucla.edu>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-lib/attachments/20190129/f5b97f42/attachment.html>

More information about the Ndn-lib mailing list