A strongly-typed, distributed, run-time system capable of describing and
manipulating arbitrarily complex, non-flat, binary data derived from type
descriptions in a standard (or slightly extended) programming language,
including handling of type inheritance. The system is composed of four
primary components. First, a plurality of databases having binary type
and field descriptions. Second, a run-time modifiable type compiler that
is capable of generating type databases either via explicit API calls or
by compilation of unmodified header files or individual type definitions
in a standard programming language. Third, a complete API suite for
access to type information as well as full support for reading and
writing types, type relationships and inheritance, and type fields, given
knowledge of the unique numeric type ID and the field name/path. Finally,
a hashing process for converting type names to unique type IDs (which may
also incorporate a number of logical flags relating to the nature of the
type). Further extensions and improvements are also provided as described
herein.