READING and WRITING STANDARDIZED HVAC PERFORMANCE DATA: an EARLY IMPLEMENTATION of ASHRAE STANDARD 205P Neal Kruis, Ph.D., Member1 and Charles S

Total Page:16

File Type:pdf, Size:1020Kb

READING and WRITING STANDARDIZED HVAC PERFORMANCE DATA: an EARLY IMPLEMENTATION of ASHRAE STANDARD 205P Neal Kruis, Ph.D., Member1 and Charles S 2018 Building Performance Modeling Conference and SimBuild co-organized by ASHRAE and IBPSA-USA Chicago, IL September 26-28, 2018 READING AND WRITING STANDARDIZED HVAC PERFORMANCE DATA: AN EARLY IMPLEMENTATION OF ASHRAE STANDARD 205P Neal Kruis, Ph.D., Member1 and Charles S. Barnaby, BEMP, Life Member2, (1) Big Ladder Software, Denver, CO, (2) Retired, Moultonborough, NH ABSTRACT type of equipment. The majority of the standards nor- ASHRAE Standard 205P recently concluded its first ad- mative language resides in separate annexes describing visory public review. The standard, entitled “Stan- the specific data elements that define the complete per- dard Representation of Performance Simulation Data for formance of a given type of equipment. The current draft HVAC&R and Other Facility Equipment”, makes the first standard annexes define three initial rep specs, each given attempt to standardize the way performance data is con- a unique representation specification identifier (RSID) as veyed between HVAC equipment manufacturers and en- shown in Table 1 ergy modelers. The standard defines specific data ele- ments that represent the complete performance of equip- Table 1: Initial Representation Specifications in ASHRAE ment for use in building performance simulation tools. Standard 205P In parallel with the public review, an initial implementa- RSID Equipment Type tion of the standard was prototyped using Google’s Flat- Buffer data serialization format. FlatBuffers provides a RS0001 Liquid-Cooled Chillers very computationally and memory efficient format that RS0002 Unitary Cooling Air-Conditioning Equipment is also compatible with the more common JSON format. RS0003 Fan Assemblies FlatBuffers generates minimal software source code in several languages including C/C++, Python, Java, and Use cases JavaScript based on a single schema describing the data elements. ASHRAE Standard 205P is intended to support the fol- A prototype implementation demonstrates the process lowing use cases: of generating an ASHRAE Standard 205P liquid-cooled • Data Publication Data publishers (typically equip- chiller data file from a manufacturer’s spreadsheet using ment manufacturers) use representation specifica- Python, and subsequently reading that same file into a tions to guide implementation of data writing and C++ program. This process demonstrates the versatility validity testing software that produces correctly- of the new standardized data format. Any participating formed representation files. manufacturer can use a similar process to provide equip- ment performance to a user that will represent a specific • Application Development Application developers model in any participating simulation software tool. use representation specifications to guide implemen- tation of software that correctly reads representation ASHRAE STANDARD 205P data. Such implementations may include validity ASHRAE Standard 205P is titled “Standard Representa- tests and developers may use representation specifi- tion of Performance Simulation Data for HVAC&R and cation example data for testing purposes. Other Facility Equipment” (ASHRAE, 2017). The stated purpose of ASHRAE Standard 205P is: • Data Application Application users use represen- tation specifications to understand and check repre- To facilitate sharing of equipment character- sentation data. Data exchange will generally be au- istics for performance simulation by defining tomated but the availability of representation spec- standard representations such as data models, ifications facilitates additional data checking when data formats, and automation interfaces. needed. The main body of the standard describes the general for- The target workflow resulting from compliance with the mat of a representation specification (rep spec) for any standard begins with a data publisher (e.g., manufacturer) © 2018 ASHRAE (www.ashrae.org) and IBPSA-USA (www.ibpsa.us). 352 For personal use only. Additional reproduction, distribution, or transmission in either print or digital form is not permitted without ASHRAE or IBPSA-USA's prior written permission. populating a data file with values corresponding to the Representation specification design data elements defined by an ASHRAE Standard 205P rep Each annex of Standard 205P defines a rep spec for a spe- spec for a specific piece of equipment. The data publisher cific type of equipment. An annex includes a diagram of then transmits the corresponding data file to an application the equipment and tables (data groups) of equipment at- user who loads it into a compliant performance simulation tributes (data elements). Each data element that comprises software to execute relevant analysis of the equipment in a rep spec defines: the context of the larger building system(s). The consensus objective of the standard is to simplify the • the data element name, process as much as possible for application users. The data should require minimal-to-no additional effort on be- • a brief description, half of the application user to correctly represent a manu- facturer’s equipment in a building simulation. • units (for applicable quantities) Related efforts • valid ranges, To date, the only related effort to standardize the exchange of HVAC&R equipment data is the Technology Perfor- • minimum precision (in significant digits), mance Exchange (TPEx) from the National Renewable Energy Laboratory (NREL) (Studer et al., 2014). TPEx • whether the data element is required, and is described as a publicly accessible web-based portal • any supplementary notes. that serves as a centralized repository for users to share and find product-specific energy performance data. Some Within a rep spec, data elements may be used to describe: TPEx data are automatically translated into EnergyPlus (United States Department of Energy (DOE), 2018) in- put objects and stored in NREL’s Building Component Li- • Performance characteristics of the equipment brary (NREL, 2018) where they are accessible to users of (single-entry characteristics that inform aspects of EnergyPlus-based tools. the simulation) ASHRAE Standard 205P differs from TPEx in two no- • Supplementary descriptive information about the table ways: equipment (not required for simulation) 1. The standard presumes nothing about where data • Performance values mapped to sets of operating con- files are stored or how they are transmitted to the ditions (arrays of values corresponding to different users. Issues of data security and data access may be combinations of operating conditions) determined by individual data producers. This does not preclude the possibility of a centralized reposi- Examples of data element names (using the lower camel tory for ASHRAE Standard 205P data files, but this case convention defined by the standard) included in the does not fall within the purview of the standard. RS0001 (Liquid-Cooled Chiller) annex are: Performance characteristics 2. ASHRAE Standard 205P rep specs are intentionally software agnostic. The Standards Project Commit- evaporatorLiquidType tee for 205 (SPC 205) makeup includes a balance evaporatorLiquidConcentration condenserLiquidType of members from all user types (manufacturers, ap- condenserLiquidConcentration unitPowerLimit plication developers, and application users) accord- ing to established ANSI processes. Whereas TPEx Supplementary descriptive information is specific to EnergyPlus-based tools, Standard 205P rep specs are not intended to follow the inputs or con- manufacturer modelNumber ventions of any single simulation tool. In fact, as nominalVoltage compressorType a result of the standards development process, SPC refrigerantType 205 is taking a fresh look at some of the established software models to account for aspects of equipment Cooling performance values that are rarely (if ever) handled sufficiently in sim- ulation software tools (e.g., the heat produced by chillers in the mechanical room sometimes needs to be offset by smaller cooling systems). © 2018 ASHRAE (www.ashrae.org) and IBPSA-USA (www.ibpsa.us). 353 For personal use only. Additional reproduction, distribution, or transmission in either print or digital form is not permitted without ASHRAE or IBPSA-USA's prior written permission. inputPower netRefrigeratingCapacity JSON is built on two structures: heatLossFraction A collection of name/value pairs. In var- evaporatorLiquidEnteringTemperature • ious languages, this is realized as an ob- condenserLiquidLeavingTemperature ject, record, struct, dictionary, hash table, evaporatorLiquidDifferentialPressure keyed list, or associative array. condenserLiquidDifferentialPressure • An ordered list of values. In most lan- where cooling performance values are defined for each guages, this is realized as an array, vector, operational condition combination of: list, or sequence. evaporatorLiquidVolumeFlowRate These are universal data structures. Virtually all evaporatorLiquidLeavingTemperature modern programming languages support them condenserLiquidVolumeFlowRate in one form or another. It makes sense that condenserLiquidEnteringTemperature netRefrigeratingCapacityFraction a data format that is interchangeable with pro- gramming languages also be based on these One important conclusion from discussions within the structures. (JSON.org, 2018) SPC is that data publishers are generally not comfortable with the use of regression coefficients used in many sim- Examples of different file format and programming lan- ulation software tools (unless there is a physical basis for guage syntaxes based on these structures are illustrated in the form of
Recommended publications
  • Open Source Used in Influx1.8 Influx 1.9
    Open Source Used In Influx1.8 Influx 1.9 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-1178791953 Open Source Used In Influx1.8 Influx 1.9 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-1178791953 Contents 1.1 golang-protobuf-extensions v1.0.1 1.1.1 Available under license 1.2 prometheus-client v0.2.0 1.2.1 Available under license 1.3 gopkg.in-asn1-ber v1.0.0-20170511165959-379148ca0225 1.3.1 Available under license 1.4 influxdata-raft-boltdb v0.0.0-20210323121340-465fcd3eb4d8 1.4.1 Available under license 1.5 fwd v1.1.1 1.5.1 Available under license 1.6 jaeger-client-go v2.23.0+incompatible 1.6.1 Available under license 1.7 golang-genproto v0.0.0-20210122163508-8081c04a3579 1.7.1 Available under license 1.8 influxdata-roaring v0.4.13-0.20180809181101-fc520f41fab6 1.8.1 Available under license 1.9 influxdata-flux v0.113.0 1.9.1 Available under license 1.10 apache-arrow-go-arrow v0.0.0-20200923215132-ac86123a3f01 1.10.1 Available under
    [Show full text]
  • Document Databases, JSON, Mongodb 17
    MI-PDB, MIE-PDB: Advanced Database Systems http://www.ksi.mff.cuni.cz/~svoboda/courses/2015-2-MIE-PDB/ Lecture 13: Document Databases, JSON, MongoDB 17. 5. 2016 Lecturer: Martin Svoboda [email protected] Authors: Irena Holubová, Martin Svoboda Faculty of Mathematics and Physics, Charles University in Prague Course NDBI040: Big Data Management and NoSQL Databases Document Databases Basic Characteristics Documents are the main concept Stored and retrieved XML, JSON, … Documents are Self-describing Hierarchical tree data structures Can consist of maps, collections, scalar values, nested documents, … Documents in a collection are expected to be similar Their schema can differ Document databases store documents in the value part of the key-value store Key-value stores where the value is examinable Document Databases Suitable Use Cases Event Logging Many different applications want to log events Type of data being captured keeps changing Events can be sharded by the name of the application or type of event Content Management Systems, Blogging Platforms Managing user comments, user registrations, profiles, web-facing documents, … Web Analytics or Real-Time Analytics Parts of the document can be updated New metrics can be easily added without schema changes E-Commerce Applications Flexible schema for products and orders Evolving data models without expensive data migration Document Databases When Not to Use Complex Transactions Spanning Different Operations Atomic cross-document operations Some document databases do support (e.g., RavenDB) Queries against Varying Aggregate Structure Design of aggregate is constantly changing → we need to save the aggregates at the lowest level of granularity i.e., to normalize the data Document Databases Representatives Lotus Notes Storage Facility JSON JavaScript Object Notation Introduction • JSON = JavaScript Object Notation .
    [Show full text]
  • Smart Grid Serialization Comparison
    Downloaded from orbit.dtu.dk on: Sep 28, 2021 Smart Grid Serialization Comparison Petersen, Bo Søborg; Bindner, Henrik W.; You, Shi; Poulsen, Bjarne Published in: Computing Conference 2017 Link to article, DOI: 10.1109/SAI.2017.8252264 Publication date: 2017 Document Version Peer reviewed version Link back to DTU Orbit Citation (APA): Petersen, B. S., Bindner, H. W., You, S., & Poulsen, B. (2017). Smart Grid Serialization Comparison. In Computing Conference 2017 (pp. 1339-1346). IEEE. https://doi.org/10.1109/SAI.2017.8252264 General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Computing Conference 2017 18-20 July 2017 | London, UK Smart Grid Serialization Comparision Comparision of serialization for distributed control in the context of the Internet of Things Bo Petersen, Henrik Bindner, Shi You Bjarne Poulsen DTU Electrical Engineering DTU Compute Technical University of Denmark Technical University of Denmark Lyngby, Denmark Lyngby, Denmark [email protected], [email protected], [email protected] [email protected] Abstract—Communication between DERs and System to ensure that the control messages are received within a given Operators is required to provide Demand Response and solve timeframe, depending on the needs of the power grid.
    [Show full text]
  • Spindle Documentation Release 2.0.0
    spindle Documentation Release 2.0.0 Jorge Ortiz, Jason Liszka June 08, 2016 Contents 1 Thrift 3 1.1 Data model................................................3 1.2 Interface definition language (IDL)...................................4 1.3 Serialization formats...........................................4 2 Records 5 2.1 Creating a record.............................................5 2.2 Reading/writing records.........................................6 2.3 Record interface methods........................................6 2.4 Other methods..............................................7 2.5 Mutable trait...............................................7 2.6 Raw class.................................................7 2.7 Priming..................................................7 2.8 Proxies..................................................8 2.9 Reflection.................................................8 2.10 Field descriptors.............................................8 3 Custom types 9 3.1 Enhanced types..............................................9 3.2 Bitfields..................................................9 3.3 Type-safe IDs............................................... 10 4 Enums 13 4.1 Enum value methods........................................... 13 4.2 Companion object methods....................................... 13 4.3 Matching and unknown values...................................... 14 4.4 Serializing to string............................................ 14 4.5 Examples................................................. 14 5 Working
    [Show full text]
  • Rdf Repository Replacing Relational Database
    RDF REPOSITORY REPLACING RELATIONAL DATABASE 1B.Srinivasa Rao, 2Dr.G.Appa Rao 1,2Department of CSE, GITAM University Email:[email protected],[email protected] Abstract-- This study is to propose a flexible enable it. One such technology is RDF (Resource information storage mechanism based on the Description Framework)[2]. RDF is a directed, principles of Semantic Web that enables labelled graph for representing information in the information to be searched rather than queried. Web. This can be perceived as a repository In this study, a prototype is developed where without any predefined structure the focus is on the information rather than the The information stored in the traditional structure. Here information is stored in a RDBMS’s requires structure to be defined structure that is constructed on the fly. Entities upfront. On the contrary, information could be in the system are connected and form a graph, very complex to structure upfront despite the similar to the web of data in the Internet. This tremendous potential offered by the existing data is persisted in a peculiar way to optimize database systems. In the ever changing world, querying on this graph of data. All information another important characteristic of information relating to a subject is persisted closely so that in a system that impacts its structure is the reqeusting any information of a subject could be modification/enhancement to the system. This is handled in one call. Also, the information is a big concern with many software systems that maintained in triples so that the entire exist today and there is no tidy approach to deal relationship from subject to object via the with the problem.
    [Show full text]
  • Easybuild Documentation Release 20210907.0
    EasyBuild Documentation Release 20210907.0 Ghent University Tue, 07 Sep 2021 08:55:41 Contents 1 What is EasyBuild? 3 2 Concepts and terminology 5 2.1 EasyBuild framework..........................................5 2.2 Easyblocks................................................6 2.3 Toolchains................................................7 2.3.1 system toolchain.......................................7 2.3.2 dummy toolchain (DEPRECATED) ..............................7 2.3.3 Common toolchains.......................................7 2.4 Easyconfig files..............................................7 2.5 Extensions................................................8 3 Typical workflow example: building and installing WRF9 3.1 Searching for available easyconfigs files.................................9 3.2 Getting an overview of planned installations.............................. 10 3.3 Installing a software stack........................................ 11 4 Getting started 13 4.1 Installing EasyBuild........................................... 13 4.1.1 Requirements.......................................... 14 4.1.2 Using pip to Install EasyBuild................................. 14 4.1.3 Installing EasyBuild with EasyBuild.............................. 17 4.1.4 Dependencies.......................................... 19 4.1.5 Sources............................................. 21 4.1.6 In case of installation issues. .................................. 22 4.2 Configuring EasyBuild.......................................... 22 4.2.1 Supported configuration
    [Show full text]
  • Bringing Probabilistic Programming to Scientific Simulators at Scale
    Etalumis: Bringing Probabilistic Programming to Scientific Simulators at Scale Atılım Güneş Baydin, Lei Shao, Wahid Bhimji, Lukas Heinrich, Lawrence Meadows, Jialin Liu, Andreas Munk, Saeid Naderiparizi, Bradley Gram-Hansen, Gilles Louppe, Mingfei Ma, Xiaohui Zhao, Philip Torr, Victor Lee, Kyle Cranmer, Prabhat, and Frank Wood SC19, Denver, CO, United States 19 November 2019 Simulation and HPC Computational models and simulation are key to scientific advance at all scales Particle physics Nuclear physics Material design Drug discovery Weather Climate science Cosmology 2 Introducing a new way to use existing simulators Probabilistic programming Simulation Supercomputing (machine learning) 3 Simulators Parameters Outputs (data) Simulator 4 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output 5 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output 6 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output WE NEED THE INVERSE! 7 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output Inference: ● Find parameters that can produce (explain) observed data ● Inverse problem ● Often a manual process 8 Simulators Parameters Outputs (data) Inferred Simulator Observed data parameters Gene network Gene expression 9 Simulators Parameters Outputs (data)
    [Show full text]
  • Advances in Electron Microscopy with Deep Learning
    Advances in Electron Microscopy with Deep Learning by Jeffrey Mark Ede Thesis To be submitted to the University of Warwick for the degree of Doctor of Philosophy in Physics Department of Physics January 2021 Contents Contents i List of Abbreviations iii List of Figures viii List of Tables xvii Acknowledgments xix Declarations xx Research Training xxv Abstract xxvi Preface xxvii I Initial Motivation......................................... xxvii II Thesis Structure.......................................... xxvii III Connections............................................ xxix Chapter 1 Review: Deep Learning in Electron Microscopy1 1.1 Scientific Paper..........................................1 1.2 Reflection............................................. 100 Chapter 2 Warwick Electron Microscopy Datasets 101 2.1 Scientific Paper.......................................... 101 2.2 Amendments and Corrections................................... 133 2.3 Reflection............................................. 133 Chapter 3 Adaptive Learning Rate Clipping Stabilizes Learning 136 3.1 Scientific Paper.......................................... 136 3.2 Amendments and Corrections................................... 147 3.3 Reflection............................................. 147 Chapter 4 Partial Scanning Transmission Electron Microscopy with Deep Learning 149 4.1 Scientific Paper.......................................... 149 4.2 Amendments and Corrections................................... 176 4.3 Reflection............................................. 176
    [Show full text]
  • Master Thesis
    Master thesis To obtain a Master of Science Degree in Informatics and Communication Systems from the Merseburg University of Applied Sciences Subject: Tunisian truck license plate recognition using an Android Application based on Machine Learning as a detection tool Author: Supervisor: Achraf Boussaada Prof.Dr.-Ing. Rüdiger Klein Matr.-Nr.: 23542 Prof.Dr. Uwe Schröter Table of contents Chapter 1: Introduction ................................................................................................................................. 1 1.1 General Introduction: ................................................................................................................................... 1 1.2 Problem formulation: ................................................................................................................................... 1 1.3 Objective of Study: ........................................................................................................................................ 4 Chapter 2: Analysis ........................................................................................................................................ 4 2.1 Methodological approaches: ........................................................................................................................ 4 2.1.1 Actual approach: ................................................................................................................................... 4 2.1.2 Image Processing with OCR: ................................................................................................................
    [Show full text]
  • Curriculum Vitae
    Diogo Castro Curriculum Vitae Summary I’m a Software Engineer based in Belfast, United Kingdom. My professional journey began as a C# developer, but Functional Programming (FP) soon piqued my interest and led me to learn Scala, Haskell, PureScript and even a bit of Idris. I love building robust, reliable and maintainable applications. I also like teaching and I’m a big believer in "paying it forward". I’ve learned so much from many inspiring people, so I make it a point to share what I’ve learned with others. To that end, I’m currently in charge of training new team members in Scala and FP, do occasional presentations at work and aim to do more public speaking. I blog about FP and Haskell at https://diogocastro.com/blog. Experience Nov 2017-Present Principal Software Engineer, SpotX, Belfast, UK. Senior Software Engineer, SpotX, Belfast, UK. Developed RESTful web services in Scala, using the cats/cats-effect framework and Akka HTTP. Used Apache Kafka for publishing of events, and Prometheus/Grafana for monitor- ing. Worked on a service that aimed to augment Apache Druid, a timeseries database, with features such as access control, a safer and simpler query DSL, and automatic conversion of monetary metrics to multiple currencies. Authored a Scala library for calculating the delta of any two values of a given type using Shapeless, a library for generic programming. Taught a weekly internal Scala/FP course, with the goal of preparing our engineers to be productive in Scala whilst building an intuition of how to program with functions and equational reasoning.
    [Show full text]
  • KNIME Deep Learning Integration Installation Guide
    KNIME Deep Learning Integration Installation Guide KNIME AG, Zurich, Switzerland Version 3.7 (last updated on 2019-02-06) Table of Contents Introduction. 1 KNIME Deep Learning Integrations . 1 KNIME Keras Integration Installation. 2 Python Installation. 2 Installing the KNIME Keras Integration. 3 Extensions . 3 GPU Support. 4 KNIME TensorFlow Integration Installation . 4 Installation . 4 Advanced . 4 GPU Support. 4 KNIME Deeplearning4j Installation. 5 Installation . 5 GPU Support. 5 Known Issues . 5 KNIME Deep Learning Integration Installation Guide Introduction This document describes how to install the KNIME Deep Learning Integrations. These integrations bring deep learning capabilities to KNIME Analytics Platform, which allow you to read, create, edit, train, and execute deep neural networks within KNIME Analytics Platform. KNIME Deep Learning Integrations Three different deep learning libraries have been integrated: KNIME Keras Integration The KNIME Keras Integration utilizes the Keras deep learning framework to enable users to read, write, train, and execute Keras deep learning networks within KNIME. Furthermore, you can also build custom deep learning networks directly in KNIME via the Keras layer nodes. KNIME Tensor Flow Integration The KNIME TensorFlow Integration provides access to the powerful machine learning library TensorFlow* within KNIME. It enables you to read, write, train, and execute TensorFlow networks directly in KNIME. You can also convert your Keras networks to TensorFlow networks with this extension for even greater flexibility. * TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc. KNIME Deeplearning4j Integration The KNIME Deeplearning4j Integration integrates the Deeplearning4j library into KNIME, which provides deep learning capabilities in Java. Within KNIME this means you can read, write, train, execute, and build Deeplearning4j networks.
    [Show full text]
  • CBOR (RFC 7049) Concise Binary Object Representation
    CBOR (RFC 7049) Concise Binary Object Representation Carsten Bormann, 2015-11-01 1 CBOR: Agenda • What is it, and when might I want it? • How does it work? • How do I work with it? 2 CBOR: Agenda • What is it, and when might I want it? • How does it work? • How do I work with it? 3 Slide stolen from Douglas Crockford History of Data Formats • Ad Hoc • Database Model • Document Model • Programming Language Model Box notation TLV 5 XML XSD 6 Slide stolen from Douglas Crockford JSON • JavaScript Object Notation • Minimal • Textual • Subset of JavaScript Values • Strings • Numbers • Booleans • Objects • Arrays • null Array ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] [ [0, -1, 0], [1, 0, 0], [0, 0, 1] ] Object { "name": "Jack B. Nimble", "at large": true, "grade": "A", "format": { "type": "rect", "width": 1920, "height": 1080, "interlace": false, "framerate": 24 } } Object Map { "name": "Jack B. Nimble", "at large": true, "grade": "A", "format": { "type": "rect", "width": 1920, "height": 1080, "interlace": false, "framerate": 24 } } JSON limitations • No binary data (byte strings) • Numbers are in decimal, some parsing required • Format requires copying: • Escaping for strings • Base64 for binary • No extensibility (e.g., date format?) • Interoperability issues • I-JSON further reduces functionality (RFC 7493) 12 BSON and friends • Lots of “binary JSON” proposals • Often optimized for data at rest, not protocol use (BSON ➔ MongoDB) • Most are more complex than JSON 13 Why a new binary object format? • Different design goals from current formats – stated up front in the document • Extremely small code size – for work on constrained node networks • Reasonably compact data size – but no compression or even bit-fiddling • Useful to any protocol or application that likes the design goals 14 Concise Binary Object Representation (CBOR) 15 “Sea Boar” “Sea Boar” 16 Design goals (1 of 2) 1.
    [Show full text]