-
Notifications
You must be signed in to change notification settings - Fork 2
Underlay network models
An underlay network is a collection of underlay nodes which store assertions + other data, use shared protocols to communicate, and exchange queries + responses with one another. Communications pass through interfaces, and queries may be processed within a node by a resolver which explores interpretations of the query that it could answer. Other interfaces can communicate directly with people or machines outside of the network.
- Nodes have some storage and processing capacity.
- Protocols include registration with the network, identification to others, querying and responding.
- Queries include requests for data, requests to store or mirror data, and requests to pass on a communication.
- Interfaces include listeners waiting for messages addressed to the node
- Storage includes a local set of assertions, including information about the network (a list of other nodes and identities, related trust weights).
- Resolvers include tools for searching local storage, and for clustering, such as language translation or multihash / multi-identifier mapping.
UL protocols handle inter-node communication.
- Network formation: Nodes register with one another to become part of the network, and exchange their local nodemap with others who register with them. (contrast: popular node-registration protocols)
- Query resolution: Nodes share queries with one another, and may respond to the source or modify and rebroadcast the query.
Nodes can share, mirror, shard their storage to other nodes.
They can add to local storage by making queries for data over the network, by directly receiving new data to store, or by accepting a request to mirror or shard the storage of others.
Interfaces are entry points into the network.
People can query nodes directly,
Nodes can forward queries to other nodes.
A query can come into a node's interface, hit its storage and return (using the identity resolver); hit resolvers and return (after clustering, mapping, or other interpolation); go back out to the network with or without resolution requesting a reply to that node or directly to the query source.
Nodes will have different ways of processing and responding queries, to decide whether or not they have a reply.
Resolvers are processes run on queries to generate other queries or responses.
(aside: assume some nodes refuse to reply, others make up false replies.)
Resolution checks can include:
Looking for multi-identifiers for the same concept, checking author + timestamp, checking for similar concepts.
Doublecheck: when it was made, where? Are there variations on this entity?
A local underlay is the federated knowledge graph formed from the assertions in an underlay network, the ways they can be queried, and their standard interfaces.
The public Underlay, formed from the network of publicly visible nodes, is the canonical way most people will experience these tools.