Altoros assisted Galtronics Group in developing symHome, an energy management system that can record, store, and process power consumption data from every major appliance in a house.
The data from symHome can be accessed on the Web portal as well as on handheld devices. Homeowners can monitor and manage their power usage by device, room, or appliance for better control over power consumption levels.
NoSQL technologies were used for data storage needs; Flex was implemented in the intuitive and interactive UI; and mobile technologies were leveraged to build the iPhone client for the application.
Galtronics wanted to support the Green IT technologies by providing their users with a tool that could help to analyze power consumption without digging through paper bills. The company turned to Altoros to build an energy management system for collecting, storing, and processing petabytes of power consumption data. The solution also had to easily scale up from a single server to thousands of machines without compromising the overall performance.
Under the project, the team at Altoros had to address the following issues:
- The energy management system had to deal with petabytes of data. It was to start collecting information on electricity consumption from devices and appliances situated in 1,000 houses. This would result in 50,000 records added to the database every 15 seconds.
- Each record was to be stored and processed to allow for power consumption analysis by room, house, or device.
- The company was planning to add 4,000 houses to the system in the nearest future. This would increase the number of records sent to the database every 15 seconds to 200,000. It was planned that the system would be used by electricity companies across the US, so it had to feature near endless scalability.
- The servers were to be located in a single time zone with the customers spread across different parts of the country. Despite this, the application was to provide accurate data for any location and time.
Altoros suggested using the Cassandra NoSQL database and the Hadoop distributed cloud computing system for building a highly scalable system storing and processing vast amounts of data.
- The NoSQL development team decided to use Cassandra for large-scale data storage, as it can write to a data store 2,500 times faster that MySQL solutions. Cassandra allows for power consumption data to be gathered and aggregated in a fraction of a second.
- Cassandra also makes it possible to distribute data across multiple storages that can be easily scaled with no single point of failure.
- Hadoop was implemented to cope with the big data management challenge. It uses clusters of computers and distributed processing to analyze petabytes of power consumption records.
- In order to solve the localization issue, the team offered to add the location of each house and user to the database. Inquiry time is calculated taking into account the location of the user’s computer as well as the time difference with the server. This approach ensures that the data received at the time of inquiry is accurate.
The solution makes it possible to collect, aggregate, and process power consumption data in real time. symHome also generates detailed reports on how electricity is being consumed. The Web site can be accessed from any PC or Apple device. Users can quickly identify which appliances and devices cost them most money.
The system can be scaled next to endlessly as the number of connected houses grows.
The solution helps the customer achieve its Green IT goals by continuously reducing the environmental impact of their products and operations.
Client platform/Application server
Apache Tomcat 6.0
Java, ActionScript 3.0, Objective-C
Spring Framework 3.0, Quartz, JSP 2.1, Adobe Flex SDK 3.5, Apple iOS SDK 4.3, Hadoop