# US 11,029,053 B2 · Building automation system with live memory management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,053 B2
- Document ID: US11029053B2
- Status: Granted
- Kind: B2
- Application number: 15/896,430
- Filed: 2018-02-14
- Published: 2018-09-13
- Granted: 2021-06-08
- Earliest claimed: 2017-03-09
- Assignees: Johnson Controls Technology Company
- Applicants: Johnson Controls Technology Company
- Inventors: Andrew J. Przybylski
- Web page: https://patentgrep.com/patent/US11029053B2

## CPC

- F24F 11/52: Indication arrangements, e.g. displays
- F24F 11/32: Responding to malfunctions or emergencies
- F24F 11/47: Responding to energy costs
- F24F 11/88: Electrical aspects, e.g. circuits
- G05B 15/02: electric
- G05B 19/0426: {Programming the control sequence}
- G05B 19/41885: {characterised by modeling, simulation of the manufacturing system}
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 8/20: Software design
- G06F 8/34: Graphical or visual programming
- G06F 8/35: model driven
- G06F 8/45: {Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions}
- G06F 8/60: Software deployment
- G06F 9/28: Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
- G06F 9/4494: {data driven}
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/45512: {Command shells}
- G06F 9/5016: {the resource being the memory}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/505: {considering the load}
- G06F 9/5066: {Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451)}
- G06F 11/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/2025: {using centralised failover control functionality}
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- H04L 12/2803: {Home automation networks}
- H04L 12/2809: {indicating that an appliance service is present in a home automation network (monitoring functionality H04L43/0817; discovery or management thereof, e.g. service location protocol [SLP] or web services, H04L67/51)}
- H04L 12/2812: {describing content present in a home automation network, e.g. audio video content (retrieval from the Internet G06F16/95)}
- H04L 12/2816: {Controlling appliance services of a home automation network by calling their functionalities (arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station; in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom H04Q9/00)}
- H04L 12/2818: {from a device located outside both the home and the home network (access arrangements H04L12/2856; for remote control or remote monitoring of applications H04L67/025; arrangements for transmitting signals characterised by the use of a wireless eletrical link G08C17/00; telephonic communication systems adapted for combination with remote control systems H04M11/007)}
- H04L 12/2823: {Reporting information sensed by appliance or service execution status of appliance services in a home automation network (device-related reporting H04L43/065; arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom H04Q9/00)}
- H04L 12/2825: {Reporting to a device located outside the home and the home network (access arrangements H04L12/2856; for remote control or remote monitoring of applications H04L67/025; telephonic communication systems adapted for combination with telemetering systems H04M11/002)}
- H04L 12/283: {Processing of data at an internetworking point of a home automation network}
- H04L 12/2834: {Switching of information between an external network and a home network (access arrangements H04L12/2856)}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/125: involving control of end-device applications over a network
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/63: Routing a service request depending on the request content or context
- G05B 2219/2614: HVAC, heating, ventillation, climate control
- G05B 2219/2642: Domotique, domestic, home control, automation, smart house
- G06F 9/465: {Distributed object oriented systems (remote method invocation [RMI] G06F9/548)}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 11/0784: {Routing of error reports, e.g. with a specific transmission path or data flow}
- G06F 11/2033: {switching over of hardware resources}
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 11/3495: {for systems}
- G06F 11/362: Debugging of software
- G06F 2209/508: Monitor
- G06F 2209/522: Manager
- G06F 2212/1044: Space efficiency improvement
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 2012/285: {Generic home appliances, e.g. refrigerators}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- F24F: AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING (removing dirt or fumes from areas where they are produced B08B15/00; vertical ducts for carrying away waste gases from buildings E04F17/02; tops for chimneys or ventilating shafts, terminals for flues F23L17/02)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A method for reducing the memory usage of a memory device of a building management system of a building includes receiving a request for a property of a data model stored in the memory device, wherein the data model includes relationships, wherein each relationship links one of multiple properties to serialized building data stored within the memory device, receiving, by the building management system, a request for a property of the data model, and generating, by the building management system, de-serialized data for the requested property in response to receiving the request by retrieving the serialized data from the memory device based on the relationships of the data model and de-serializing the retrieved serialized data.

## Claims

### Claim 1

A method for reducing memory usage of a memory device of a building management system of a building, the method comprising:
receiving, by the building management system, a request for a property of a data model stored in the memory device, wherein the data model comprises a plurality of relationships, wherein each relationship links one of a plurality of properties to serialized building data stored within the memory device; and
generating, by the building management system, de-serialized data for the requested property in response to receiving the request by retrieving serialized data from the memory device based on the plurality of relationships of the data model and de-serializing the retrieved serialized data.

### Claim 2 (depends on 1)

The method of claim 1, further comprising controlling, by the building management system, building equipment of the building based on the de-serialized data by controlling an environmental condition of the building with the building equipment based on the de-serialized data.

### Claim 3 (depends on 1)

The method of claim 1, wherein the relationships of the data model comprise a plurality of handles, wherein each of the plurality of handles link one of the plurality of properties of the data model to a storage object comprising the serialized data.

### Claim 4 (depends on 3)

The method of claim 3, further comprising determining a key based on the plurality of handles by identifying one of the handles that corresponds to the property of the request;
wherein retrieving the serialized data from the memory device based on the plurality of relationships of the data model comprises retrieving the serialized data from the memory device by retrieving the serialized data referenced by the key.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving data for the property of the data model;
generating the serialized data for the property of the data model by serializing the received data; and
storing the serialized data in the memory device, wherein the plurality of relationships link the property of the data model to the serialized data.

### Claim 6 (depends on 5)

The method of claim 5, further comprising compressing the serialized data for the property and causing the memory device to store the compressed and serialized data.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
generating the de-serialized data for the requested property by:
retrieving the serialized and compressed data from the memory device based on the plurality of relationships of the data model; and
generating the serialized data by decompressing the serialized and compressed data and de-serializing the generated serialized data.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating the de-serialized data comprises generating a transport object comprising the de-serialized data based on a storage object that stores the serialized data, wherein the storage object stores the serialized data as byte array, wherein generating the de-serialized data comprises generating the transport object from the byte array.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
updating one or more values of the de-serialized data of the transport object;
generating an updated storage object based on the de-serialized data by serializing the transport object; and
causing the memory device to store the updated storage object.

### Claim 10

A building management system of a building for reducing memory usage of a memory device, wherein the building management system comprises a processing circuit configured to:
receive a request for a property of a data model stored in the memory device, wherein the data model comprises a plurality of relationships, wherein each relationship links one of a plurality of properties to serialized building data stored within the memory device; and
generate de-serialized data for the requested property in response to receiving the request by retrieving serialized data from the memory device based on the plurality of relationships of the data model and de-serializing the retrieved serialized data.

### Claim 11 (depends on 10)

The system of claim 10, wherein the processing circuit is configured to control building equipment of the building based on the de-serialized data by controlling an environmental condition of the building with the building equipment based on the de-serialized data.

### Claim 12 (depends on 10)

The system of claim 10, wherein the relationships of the data model comprise a plurality of handles, wherein each of the plurality of handles link one of the plurality of properties of the data model to a storage object comprising the serialized data.

### Claim 13 (depends on 10)

The system of claim 10, wherein the processing circuit is configured to determine a key based on a plurality of handles by identifying one of the handles that corresponds to the property of the request;
wherein the processing circuit is configured to retrieve the serialized data from the memory device based on the plurality of relationships of the data model by retrieving the serialized data from the memory device by retrieving the serialized data referenced by the key.

### Claim 14 (depends on 10)

The system of claim 10, wherein the processing circuit is configured to generate the de-serialized data by generating a transport object comprising the de-serialized data based on a storage object that stores the serialized data, wherein the storage object stores the serialized data as byte array, wherein generating the de-serialized data comprises generating the transport object from the byte array.

### Claim 15 (depends on 10)

The system of claim 10, wherein the processing circuit is configured to:
receive data for the property of the data model;
generate the serialized data for the property of the data model by serializing the received data; and
store the serialized data in the memory device, wherein the plurality of relationships link the property of the data model to the serialized data.

### Claim 16 (depends on 15)

The system of claim 15, wherein the processing circuit is configured to compress the serialized data for the property and cause the memory device to store the compressed and serialized data.

### Claim 17 (depends on 16)

The system of claim 16, wherein the processing circuit is configured to:
generate the de-serialized data for the requested property by:
retrieving the serialized and compressed data from the memory device based on the plurality of relationships of the data model; and
generating the serialized data by decompressing the serialized and compressed data and de-serializing the generated serialized data.

### Claim 18

A non-transitory computer readable medium having machine instructions stored therein, the instructions being executable by a processor of a building management system of a building to perform operations comprising:
receiving data for a property of a data model;
generating serialized data for the property of the data model by serializing the received data;
storing the serialized data in a memory device, wherein the plurality of relationships link the property of the data model to the serialized data;
receiving a request for a property of the data model stored in the memory device, wherein the data model comprises a plurality of relationships, wherein each relationship links one of a plurality of properties to serialized building data stored within the memory device; and
generating de-serialized data for the requested property in response to receiving the request by retrieving the serialized data from the memory device based on the plurality of relationships of the data model and de-serializing the retrieved serialized data.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the operations further comprise compressing the serialized data for the property and causing the memory device to store the compressed and serialized data.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the operations further comprise:
generating the de-serialized data for the requested property by:
retrieving the serialized and compressed data from the memory device based on the plurality of relationships of the data model; and
generating the serialized data by decompressing the serialized and compressed data and de-serializing the generated serialized data.
