The file is a well-understood and very simple abstraction, which has been successfully used in both centralized and distributed systems. However, files are not expressive enough to capture high-level data semantics and relationships, including sharing and data dependencies. How many times has your operating system translated a JPEG figure into postscript, automatically when needed? How do files help applications to deal with heterogeneity? Moreover, optimization opportunities are lost due to the low-level nature of read and write; e.g. in NFS data is sent twice through the network when copying a remote file within file server. We feel that a better abstraction is nd propose an alternate abstraction, the "box", to solve the problems mentioned above. Boxes, while being as simple as files, are more expressive. We intend to use a central abstraction for a distributed adaptable operating system we are building.
Francisco J. Ballesteros, Sergio Arévalo