Apache IoTDB
Copyright 2018-2020 The Apache Software Foundation.

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

============================================================================

IoTDB project uses 4 Chinese Patents:
* 201711384490X
* 201810111712.9
* 201711322631.5
* 201711319331.1

According to the Apache 2.0 License. The owner of the patents, Tsinghua University,
grant the users the right to the use of patent under the requirement of Apache 2.0 License.

============================================================================

