ipfs / notes

IPFS Collaborative Notebook for Research
MIT License
401 stars 30 forks source link

Network Sim Vis Tool #305

Open jbenet opened 10 years ago

jbenet commented 10 years ago

(( I posted this on some email lists, but figure the people watching this repo may be able to help ))

We're making a (javascript - d3) visualizer of protocol traces to observe, debug, learn, ... admire... networks. Our main use case is for IPFS (ipfs.io, github.com/jbenet/ipfs) and Filecoin (filecoin.io). Has anybody here seen something like this? Rough scheme:

Also, we are not experts on d3, so if you're interested in creating a general enough trace visualizer tool applicable to lots of other protocols, I'm open to paying people to do it. (Will be open source MIT licensed).

Thanks, Juan

@juanbenet github.com/jbenet

plato-cambrian commented 10 years ago

Not sure if this is terribly relevant but if you haven't seen it, maybe you can get some design cues:
http://www.nsnam.org/overview/what-is-ns-3/

zignig commented 10 years ago

Is this the kind of representation you are looking for

http://bl.ocks.org/mbostock/4062045

jbenet commented 10 years ago

@zignig yeah, we're looking for a graphical network representation. It can be force directed, though doesn't have to be. You san see a simple example of a network here: http://bl.ocks.org/jbenet/8db0cb6160f505acc12a (that's from an ipfs dht test network). But what we also need is something like raft's vis: http://raftconsensus.github.io/ where you can see messages flow, and the protocol's state changes. (something in between, where a flexible graph layout shows connections, and messages flowing through those edges).

dborzov commented 10 years ago

Hey, I want to work on that!

@zignig great link, thanks! Looks like a pretty good template to start with.

dborzov commented 10 years ago

@jbenet, @whyrusleeping, @cryptix how do you envision a most basic minimum prototype for such a tool that would still be useful for you guys? What would be a good workflow for it from your side?

Also, could you point me towards the API endpoints within go-ipfs to collect all this data on the state of network to visualize? What about the public nodes, like mars.i.ipfs.io?

jbenet commented 10 years ago

@dborzov great, let's discuss more on this issue for now: https://github.com/jbenet/random-ideas/issues/30 (I don't mean to turn this thread into a spec for the tool, as many people watching this repo probably don't care to hear.)