This page was automatically generated by NetLogo 2.1.0. Questions, problems? Contact feedback@ccl.northwestern.edu.

The applet requires Java 1.4.1 or higher to run. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4 applets (Safari works, IE does not). On other operating systems, you may obtain the latest Java plugin from Sun's Java site.


In order for this to work, this file, your model file (peernet.nlogo), and the file NetLogoLite.jar must all be in the same directory. (You can copy NetLogoLite.jar from the directory where you installed NetLogo.)

On some systems, you can test the applet locally on your computer before uploading it to a web server. It doesn't work on all systems, though, so if it doesn't work from your hard drive, please try uploading it to a web server.

You don't need to include everything in this file in your page. If you want, you can just take the HTML code beginning with <applet> and ending with </applet>, and paste it into any HTML file you want. It's even OK to put multiple <applet> tags on a single page.

If NetLogoLite.jar and your model are in different directories, you must modify the archive= and value= lines in the HTML code to point to their actual locations. (For example, if you have multiple applets in different directories on the same web server, you may want to put a single copy of NetLogoLite.jar in one central place and change the archive= lines of all the HTML files to point to that one central copy. This will save disk space for you and download time for your user.)

created with NetLogo

view/download model file: peernet.nlogo

PeerNet

The model creates a peer network who's network nodes/peers come alive (i.e. boot and joint the network) for a fixed time, then turn off again, dropping out of the network. The fixed time is chosen randomly between 1 and a maximum life (lifeRange).

When a peer joins the net, she receives a number of outward pointing connections/edges (numOutEdges) she attempts to maintain with other peers. She keeps a list of her current outward edges/connections (outEdges) and incoming connections/edges (inEdges) from other peers who's outEdges point to her. Whenever her numOutEdges is larger than the actual outEdge list, she creates new connections within her neighborhood. The new connection cannot be an existing in or out edge.

A peer's neighborhood is determined at birth to be the peers within a radius randomly chosen between 1 and a maximum radius (radiusRange). Similarly, numOutEdges is chosen between 1 and a maximum number of edges (edgesRange).

Every step of the simulation, think hours for example, decreases the time to live (ttl) of the peer node. When it dies, it stays off for one cycle, then rejoins with a fixed probability (birthProbability).

At the end of a step, a global calculation of disjoint subgraphs is made .. the peer groups that are complete by them selves but cannot "see" the other peer groups. The largest peer group is grey, the others various colors. The size of the largest group is displayed as "maxnet".

Usage

First set the four sliders to the values of interest. An interesting set is:
birthProbability: 20 (come to life roughly one in five chances)
lifeRange: 4 (stay alive from 1 to 4 hours/steps)
radiusRange: 2 (use a neighborhood of radius between 1 to 2 patches)
edgesRange: 2 (have between 1 and 2 outgoing edges)
This set typically has more than one peer group, which can be seen by the multiple colored subnets.

To run the simulation, click Setup to initialize the network, and Step to single step the simulation, or Go to run the simulation continuously. Click Go again to stop the continuous run.

Realistically, the edge and radius ranges would be larger, and would show the point of this model: peer nets tend to "close" rather naturally, avoiding disjoint subnets of isolated peer groups.