Causal message delivery in the Grasshopper operating system
Rex di Bona, John Rosenberg · 1996
Persistent systems allow data to be manipulated in a manner independent of its location. In distributed persistent systems this location independence principle is extended to include data on other machines. The introduction of this principle raises new problems regarding naming and consistency that the Grasshopper project is attempting to solve. The Grasshopper system allows entities within the system to both move between nodes, and simultaneously exist at multiple nodes. This paper discusses the naming scheme and network message protocols used by the Grasshopper network. It is shown that the protocols adopted allow entities to move between nodes and to be simultaneously accessed on multiple nodes while still maintaining the causal ordering of messages delivered to the entities.