Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

Network Sim Vis Tool #305

Open
jbenet opened this issue Oct 23, 2014 · 6 comments
Open

Network Sim Vis Tool #305

jbenet opened this issue Oct 23, 2014 · 6 comments

Comments

@jbenet
Copy link
Member

jbenet commented Oct 23, 2014

(( 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:

  • protocols output traces following a specific format detailing nodes + events
  • protocols can optionally specify viz layouts (e.g. DHT address ring vis, or force graph (based on latency))
  • d3 program consumes traces (could be live streams) in json and runs the simulation
  • simulation playback controls (play/pause/ffwd/rwind/speed)

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
Copy link

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
Copy link

zignig commented Oct 24, 2014

Is this the kind of representation you are looking for

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

@jbenet
Copy link
Member Author

jbenet commented Oct 24, 2014

@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
Copy link

dborzov commented Oct 24, 2014

Hey, I want to work on that!

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

@dborzov
Copy link

dborzov commented Oct 24, 2014

@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
Copy link
Member Author

jbenet commented Oct 24, 2014

@dborzov great, let's discuss more on this issue for now: jbenet/random-ideas#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.)

@daviddias daviddias transferred this issue from ipfs/ipfs Jan 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants