  Computer applications seeking to persist files remotely across the Internet
are faced with a bewildering choice of mechanisms which tend to boil down to
monolithic proprietary closed-source Vendor solutions. We introduce The Mikado
Filesystem (mikfs), which provides an open simple lightweight interoperable
portable extensible remote filesystem that is open source. mikfs consists of
client applications accessing remote servers via RPC running over TCP/IP
connections. mikfs is defined as a concrete set of API method calls over gRPC
expressed in Google's Protocol Buffers' IDL. gRPC supports a wide variety of
programming languages & platforms. For a given language + platform, the gRPC
toolset can generate client- & server-side stubs from the IDL callable from
client & server code in the selected languages, e.g., a client written in C# or
java running on a Windows PC can access a server written in C++ running on
Linux. mikfs consists of a virtual hierarchical tree of files & directories.
This logical filesystem is not constrained to the limits and file naming
conventions of the host's own physical native filesystem. API methods are
provided for authentication; for atomic file-level operations on files &
directories; for clients to register to receive notifications of file &
directory changes on a server. The public API allows developers to write their
own new servers and clients; allowing migration of hosted files between
different implementations; extension with new methods & features; is Open
Source code available for inspection and adaptation. gRPC provides secure
authenticated connection & communication over HTTP/2; End-to-End Privacy &
Security against eavesdropping of data in transit; support for multiple
alternate user login mechanisms. mikfs is provided as source code, 'The
Bootstrap Distribution', consisting of an ecosystem of clients, servers, tools
and utilities.
