Folk Principles

These principles guided the thought experiment and then the design process of Folk Memory.

Principles

While listening to papers presented at COOTS’97 I became frustrated that so many requirements were heaped on every distributed object architecture. Surely there is a class of application where delay and uncertainty are acceptable or even desirable. What would be a suitable infrastructure for these applications? I doodled, sketched and crumpled. Then, during the final panel discussion, my thoughts for an alternative came together with these eight principles:

• A server contains pools of interconnected objects.

• Connecting to peer server initiates bi-directional stream of objects without query.

• Inflow suggests schedule for outflow.

• Objects carry trail to more authoritative servers.

• Update implies elevation of authority and therefore trail reversal.

• Trail reversal guides the establishment of new connections.

• Transportation of objects is by breadth first traversal pruned by trail length.

• Pruning is by substitution of inert proxy (a.k.a. Ellipsis).