System for exchanging binary data
First Claim
1. A system for describing and manipulating arbitrarily complex non-flat binary data, said arbitrarily complex non-flat binary data containing references between distinct structures and derived from type descriptions, the system comprising:
- a processor;
logically connected to said processor, one or more custom binary type and field description databases, wherein said one or more custom binary type and field description databases provide type descriptions and field descriptions, accessible at run-time, for the purposes of manipulating the arbitrarily complex non-flat binary data, wherein said one or more custom binary type and field description databases define the set of known binary type structures and structure fields derived by compilation or interpretation of type definitions expressed in a standard textual source code form as structure descriptions, together with an enumeration and definition of component fields of said structure descriptions, including one or more fields mediating inter-structure references;
logically connected to the processor, a compiler, wherein said compiler is capable of accessing said one or more custom binary type and field description databases at run-time and generating or modifying said one or more custom binary type and field description databases;
logically connected to said processor, an application program interface suite, wherein said application program interface suite provides full support for reading and writing information from said one or more custom binary type and field description databases; and
logically connected to said processor, a hashing process, wherein said hashing process converts type names to unique numeric type IDs.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
19 Claims
-
1. A system for describing and manipulating arbitrarily complex non-flat binary data, said arbitrarily complex non-flat binary data containing references between distinct structures and derived from type descriptions, the system comprising:
-
a processor; logically connected to said processor, one or more custom binary type and field description databases, wherein said one or more custom binary type and field description databases provide type descriptions and field descriptions, accessible at run-time, for the purposes of manipulating the arbitrarily complex non-flat binary data, wherein said one or more custom binary type and field description databases define the set of known binary type structures and structure fields derived by compilation or interpretation of type definitions expressed in a standard textual source code form as structure descriptions, together with an enumeration and definition of component fields of said structure descriptions, including one or more fields mediating inter-structure references; logically connected to the processor, a compiler, wherein said compiler is capable of accessing said one or more custom binary type and field description databases at run-time and generating or modifying said one or more custom binary type and field description databases; logically connected to said processor, an application program interface suite, wherein said application program interface suite provides full support for reading and writing information from said one or more custom binary type and field description databases; and logically connected to said processor, a hashing process, wherein said hashing process converts type names to unique numeric type IDs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification