User Tools

Site Tools

Site » About 
en:about

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:about [2017/02/13 22:24]
hajdam
en:about [2017/07/08 12:43] (current)
hajdam
Line 1: Line 1:
 ====== Project Introduction ====== ====== Project Introduction ======
  
-Project should provide universal ​protocol ​which should allow general methods ​for handling various types of data including:+XBUP is binary data protocol ​and file format ​for communication, ​data storage and application interfaces.
  
-  * **Multimedia Files** - Audio, Video, Animation +===== Key Features =====
-  * **Filesystem** - Allow to represent data of filesystem or as compressed archive +
-  * **Application API** - Remote or local methods execution supporting parameters and result passing+
  
-There should be It should provide single access method ​to all types of data and allow to combine them together.+  * **Unified block-tree structure** - Allows ​to combine different data together into single unit 
 +  * **Build-in and custom data types** - Catalog ​of types and support for external definitions 
 +  * **Transformations framework** - Data processing for compression,​ encryption, compatibility and data handling
  
-The protocol is also intended to bring advantages of modern markup languages like XML into binary world. It's a ground-up designed alternative focused on binary data, yet providing similar techniques like XML Schema, XML Namespaces, XSLT and so on.+===== Motivation =====
  
-TODO+Project should provide universal protocol as a more feature-rich alternative to currently used binary protocols. It should provide general methods for handling various types of data including:
  
-  * **Advanced Data Structures** - Unified ​structure ​should allow to combine various types of data together +  * **Multimedia files** - Audio, Video, Animation 
-  * **Flexibility** - General framework should provide data transformations/​processing ​and compatibility issues solving capability +  * **Filesystem ​structure** - Allow to represent ​data in the form of filesystem or as compressed archive 
-  * **Comprehensibility** - Catalog of data types, metadata, relations and abstraction should allow better understanding of data +  * **Application API** - Remote or local methods execution supporting parameters ​and result passing 
-  * **Efficiency** - Optional compression and encryption on multiple levels should ​allow effective representation ​of binary ​data+  * **Serialization protocol** - Provide ability to serialize structured ​data 
 +  * **Long-term data storage** - Provide way to define ​data with separate or integrated specification 
 +  * **Huge data** - Use dynamic numeric values to allow support for data in terabytes range or more 
 +  * **Representation ​of segmented, fragmented or indexed ​data**
  
-Some of the design principles:+The protocol is also intended to bring advantages ​of modern markup languages like XML into binary world. It's a ground-up designed alternative focused on binary data, yet providing similar techniques like XML Schema, XML Namespaces, XSLT and so on.
  
-  * Flexibility over efficiency +Where applicable, project should also include concepts from other similar protocols, like for example:
-  * Abstraction over compactness +
-  * Evolving over simplified+
  
-Meaning / Strongly typed +  * **RIFF** - Resource Interchange File Format 
-  * Data should allow to define type, including: +  * **HDF5/​CDF** - Hierarchical ​Data Format / Common Data Format 
-  * number ​-> length in meters (unit)+  * **ASN.1** - Abstract Syntax Notation One 
 +  * **Matroska/​EBML** - Extensible Binary Meta Language 
 +  * **Protocol Buffers** ​Serialization protocol for binary data exchange
  
-Language Independent+===== Design Principles ===== 
 + 
 +Project is using bottom-up approach with layers building on top of each other adding gradually new functionality. 
 + 
 +Some of the design principles:
  
 +  * **Small steps** - Project should be build and evolve by adding small and independent functionality
 +  * **Universaility first** - Focus should be on support of wide range of use-cases and provide extensibility instead of fixed and compact structure
 +  * **Abstraction** - Data should be defined using abstraction instead of vague description only
  
-==== Next Sections ​====+===== More =====
  
-You can learn more about this project by reading ​next sections ​about the project.+You can learn more about this project by reading ​following ​sections:
  
-  * [[en:​about:​motivation|Motivation]] 
   * [[en:​about:​use_cases|Use Cases]]   * [[en:​about:​use_cases|Use Cases]]
   * [[en:​about:​goals|Goals]]   * [[en:​about:​goals|Goals]]
   * [[en:​about:​project_scope|Scope]]   * [[en:​about:​project_scope|Scope]]
 +  * [[en:​about:​logo|Project Logo]]
  
en/about.1487021070.txt.gz · Last modified: 2017/02/13 22:24 by hajdam