# US 2020/0396208 A1 · Systems configured to enable isolated client device interaction with building automation and control (bac) networks, including third-party application access framework

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

- Number: US 2020/0396208 A1
- Document ID: US20200396208A1
- Status: Published application
- Kind: A1
- Application number: 16/563,298
- Filed: 2019-09-06
- Published: 2020-12-17
- Earliest claimed: 2019-05-06
- Assignees: Willow Technology Corporation Pty Ltd
- Applicants: Willow Technology Corporation Pty Ltd
- Inventors: Dale Brett; Rani Adam
- Web page: https://patentgrep.com/patent/US20200396208A1

## CPC

- H04L 63/0263: {Rule management}
- H04L 63/10: {for controlling access to devices or network resources}
- G06F 16/252: {between a Database Management System and a front-end application}
- H04L 12/2829: {involving user profiles according to which the execution of a home appliance functionality is automatically triggered}
- H04L 12/283: {Processing of data at an internetworking point of a home automation network}
- H04L 63/0209: {Architectural arrangements, e.g. perimeter networks or demilitarized zones}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various embodiments employ technology solutions to enable isolated client device interaction with building automation and control (BAC) networks, for example including configuration of a third-party application access framework which enables access to physical devices in a built environment. For example, a data exchange gateway interfaces a system with a BAC (Building Automation and Control) network, wherein the BAC network provides via the gateway, on a periodic basis, data values presented by each of a plurality of physical devices on the BAC network. A data exchange module receives periodic data values and causes recording of those values in a BAC database isolated from the BAC network. A permissions rules module control access to data in the BAC database. An API request handling module handles requests from third-party software platforms via an API.

## Claims

### Claim 1

A system configured to provide isolated access to a building automation and control network, the system including method including:
a data exchange gateway that interfaces the system with a BAC (Building Automation and Control) network, wherein the BAC network provides via the gateway, on a periodic basis, data values presented by each of a plurality of physical devices on the BAC network;
a data exchange module which is configured to receive the periodic data values from the BAC network and cause recording of those values in a BAC database isolated from the BAC network;
a permissions rules module which is configured to associate devices for which data is stored in the BAC database with permission rules thereby to control access to data in the BAC database; and
an API request handling module which is configured to receive, via an API, requests from a plurality of third-party software platforms, wherein the API request handling module is configured to, in respect of each request:
(i) determine whether or not the request is to be permitted based on operation of the permissions rules module; and
(ii) in the case that the request is to be permitted, perform a data access operation in respect of the BAC database thereby to enable fulfilment the request.
such that the system enables selectively controlled access to the data values presented by each of the plurality of physical devices on the BAC network to a plurality of third-party applications, in an environment that is isolated from the BAC network.

### Claim 2 (depends on 1)

A system according to claim 1 wherein the a data exchange module is additionally configured to, in response to an API request that is approved by the permissions rules module, cause pushing of data via the gateway to a specified device on the BAC network thereby to update a data value maintained by that device.

### Claim 3 (depends on 1)

A system according to claim 1 wherein each API request includes data representative of a submitting software platform, and wherein the permissions rules modules includes rules which assign permissions that are responsive to software platforms.

### Claim 4 (depends on 1)

A system according to claim 1 wherein a given API request includes a user-identifying token, and wherein the permissions rules modules includes rules which assign permissions based on one or more characteristics of the user-identifying token.

### Claim 5 (depends on 1)

A system according to claim 1 wherein a polling module is provided on the BAC network, wherein the polling module is configured to cause periodic polling of the physical devices thereby to cause transmission of current device data to the data exchange module.

### Claim 6 (depends on 5)

A system according to claim 5 wherein the polling module is configured to implement a plurality of different polling schedules, wherein for each physical device a polling schedule is designated based on one or more attributes of that device.

### Claim 7 (depends on 1)

A system according to claim 1 wherein the BAC database maintains current and historical values for each of the physical devices on the BAC network.

### Claim 8 (depends on 1)

A system according to claim 1 wherein the BAC network is a BACnet network.

### Claim 9 (depends on 1)

A system according to claim 1 wherein the BAC database maintains, for each of the physical devices, a record that includes a plurality of attributes for the physical device in addition to one or more current data values associated with the physical device.

### Claim 10 (depends on 9)

A system according to claim 9 wherein the permissions rules module is configured to control access to data in the BAC database for data relating to a particular physical device based on one or more attributes of that physical device.

### Claim 11

A method configured to provide isolated access to a building automation and control network, the method including:
receiving, via a data exchange gateway that interfaces the system with a BAC (Building Automation and Control) network, periodic basis values presented by each of a plurality of physical devices on the BAC network;
causing recording of those values in a BAC database isolated from the BAC network;
receiving, from a third-party software application via an API, and API request for data maintained in the BAC database;
processing the API request based on a set of permissions rules, wherein the permissions rules control access to data is stored in the BAC database based on: (i) attributes of the API request; and (ii) attributes associated with records in the BAC database;
in the case that the request is to be permitted, performing a data access operation in respect of the BAC database thereby to enable fulfilment the request.
such that access to the data values presented by each of the plurality of physical devices is made selectively available to a plurality of third-party applications, in an environment that is isolated from the BAC network.

### Claim 12 (depends on 11)

A method according to claim 11 including, in response to an API request that is approved based on the permissions rules, causing pushing of data via the gateway to a specified device on the BAC network thereby to update a data value maintained by that device.

### Claim 13 (depends on 11)

A method according to claim 11 wherein each API request includes data representative of a submitting software platform, and wherein the permissions rules includes rules which assign permissions that are responsive to software platforms.

### Claim 14 (depends on 11)

A method according to claim 11 wherein a given API request includes a user-identifying token, and wherein the permissions rules includes rules which assign permissions based on one or more characteristics of the user-identifying token.

### Claim 15 (depends on 11)

A method according to claim 11 wherein a polling module is provided on the BAC network, wherein the polling module is configured to cause periodic polling of the physical devices thereby to cause transmission of current device data to the data exchange module.

### Claim 16 (depends on 15)

A method according to claim 15 wherein the polling module is configured to implement a plurality of different polling schedules, wherein for each physical device a polling schedule is designated based on one or more attributes of that device.

### Claim 17 (depends on 11)

A method according to claim 11 wherein the BAC database maintains current and historical values for each of the physical devices on the BAC network.

### Claim 18 (depends on 11)

A method according to claim 11 wherein the BAC network is a BACnet network.

### Claim 19 (depends on 11)

A method according to claim 11 wherein the BAC database maintains, for each of the physical devices, a record that includes a plurality of attributes for the physical device in addition to one or more current data values associated with the physical device.

### Claim 20 (depends on 19)

A method according to claim 19 wherein the permissions rules are configured to control access to data in the BAC database for data relating to a particular physical device based on one or more attributes of that physical device.
