MQTT is a publish-subscribe messaging protocol designed for Internet of Things devices that need a lightweight method of transmitting data over unreliable or low-bandwidth networks. It features publish/subscribe messaging with hierarchical topics, three levels of quality of service, and persistent storage of messages. MQTT was invented in 1999 for use in oil pipelines and later adopted for home automation and mobile applications due to its low memory and power usage requirements. It has become an open standard overseen by an Eclipse working group and implemented in many client and server software libraries.