Folk Heuristics

Heuristics adjust strategies for locally desirable behavior allowing Folk Memory to be productive with little supervision.

Heuristics

The architecture includes several heuristics for allocating limited resources. I think it likely that simple heuristics can provide robust and effective total system behavior, though the actual selection of these heuristics may require substantial analysis or experimentation.

Connection Heuristic: Chooses when to open, accept and close connections. Guided largely by “trail climbing” of interesting objects, and average channel performance. Allocates sockets, total bandwidth, and processing time devoted to transmission.

Distribution Heuristic: Chooses which objects, and in what order (schedule), to distribute through each open channel. Guided by authority, apparent interest from hosted application, and interest shown by peer servers. Allocates channel bandwidth to individual objects. Strongly effects distribution latency.

Preservation Heuristic: Chooses which objects will be kept in the server. Guided by authority, network and application interest, connection behavior and available space. {Can a native reference be elided by this heuristic?}