a grid is an extensible unit of computer resources. a grid can expose cpu, storage, and network resources to its peers. a grid may be composed of multiple grids that share a security domain. agents within this domain may also have their own security, defined within the context of their domain.
a grid-grid is a network of cooperating grids that each maintain their own security boundaries. resource negotiation is first at the grid-grid level, then at the user level.
grids and grid-grids can be arbitrarily nested and do not imply a hierarchy. grid-grid is conceptually a way to structure resource sharing between independent grids. a grid can form and terminate grid-grid relationships at-will.
- sunshine garden's grid-grid
- xj9's home grid
- a stack of wiis
- your favorite render box
here, sunshine gardens provides a rendezvous point for sharing resources. my home grid could be set up to share some percent of its resources with the solarpunk clubhouse. users on the grid-grid could then transparently run jobs on a pi or a hypergate depending on the situation. any clubhouse member with excess compute could do something similar by running the cross-platform grid agent os on their existing systems.
the grid agent is an inferno program that uses the os interface features to provide a distributed computing interface on many platforms. inferno is also capable of running on the metal, this flexibility is meant to encourage experimentation. think of garbage iot devices with nice sensors that are no longer supported by their lazy capitalist creators. with a little creativity, they could be repurposed as grid-accessible sensors. maybe a distributed weather tracking system? run entirely within this network?
i have study left to do on how inferno does distributed computing. my current understanding is something like a grid, the grid-grid is supposed to maintain independence, but allow cooperation. if that make sense?
self-determination my friend. can't be independent without it.
a nomadic lifestyle demands some important deviations from the way internetworking is typically accomplished. aside from the physical networking, the logical systems at play need to make sense in this highly dynamic environment. allowing grids to independently move between resource-sharing grid-grid systems while retaining their own functionality in transit is just a normal day in a nomad's life.
right now, travelling can mean going offline and losing access to your normal network services. a very lightweight home grid could be set up to provide your basic stuff and possibly minimize the total footprint of computer equipment in your home by improving utilization. it could be linked to weather sensors to provide local and offline weather data directly. a bus' obs interface could be attached to a grid device to actively track the status of the vehicle and provide maintenance alerts. an async gossip-based social network would be a neat way to exchange encrypted letters using the natural nomadic movements for wide-area networking.
we can assume ip will be the thing for the time being. i use yggdrasil to avoid NAT and basic cloaking. i think named data networking has some potential to replace ip for mesh networking applications, but that is still an area of intense research. in a future version of the bbnet, it could be interesting to try an ndn-like approach that integrates with content-addressed storage (score-based replication) and log replication that can run directly on the wire.
named data networking