This is a presentation I gave to the University of Hawaii ICS 691 class on changes in WattDepot since the publication of our SmartGridComm paper, and ideas for class projects around WattDepot.
1. ICS 691:
WattDepot 2.0 and
Project Opportunities
Robert Brewer
Collaborative Software Development Laboratory
Dept of Information and Computer Sciences
University of Hawaii at Manoa
http://www.kukuicup.org/
1)
2. Quickie Quiz!
What are the 3 architectural components of
WattDepot?
2)
4. WattDepot 2.0
Paper was written in early 2010
• 11 releases since then
• 2 years is a long time
Outline of talk
• What’s new since paper
• Exciting project opportunities!
Credit
• Andrea Connell made WattDepot 2.0 happen
4)
5. New for Developers
Source control
• svn -> git
Build system
• Ant -> Maven
Many new library updates
• Restlet 2.1RC5
5)
6. New for Client Developers
REST API
• Fully implemented (finally)
• New conveniences for client developers
Google visualization integrated into REST API
• Now listens on just 1 port
6)
7. New for End Users (Server)
New storage backends
• BerkeleyDB (George Lee)
• PostgreSQL (Andrea Connell)
Ephemeral data storage
• Cache high frequency data
• Persist to disk at lower frequency
Cloud-enabled
• Can (almost) be run on Heroku
Load tested
• Though more can be done
7)
8. New for End Users (Client)
New sensors
• Shark 200S meter
• eGauge meter
Sensor improvements
• Multithreaded sensors
• Can “embed” sensors in server process
8)
10. WattDepot Apps 2.0
WattDepot lacks good UI
• Timeline & monitor viz in separate app
• No CRUD for users & sources!
• Poor user experience
Create a Single Page Application
• Serve up static HTML/JS/CSS from WD server
• Now it’s built in
Features
• Timeline, monitor viz
• Also CRUD for users, sources, sensordata
10)
11. WattDepot in the Cloud
Technically works on Heroku
Many practical issues
• Configuring sensors
• Port problem
Frontend tightly coupled to backend
• Can’t just ramp up frontend processes
Make WattDepot cloudirific
• Solve practical issues
• Decouple frontend from backend
• Maybe explore other cloud providers?
11)
12. Supercharge WattDepot
Performance adequate for Kukui Cup
• Much room for improvement
• Many parameters & layers to tweak
Characterize current performance
• Different backends, paramters, local vs cloud
Profile system
• Where are the bottlenecks
Supercharge!
• Fix bottlenecks
• Measure performance improvement
12)
13. Environmental Data Support
Currently focused on energy
• What about water use?
• Environmental data: temp, humidity, wind
Support additional data types
• How to generalize REST API?
• What value add does WD provide?
• What does this mean for backends?
13)
14. PostgreSQL Improvements
Implement properties as hstore
• Arbitrary key-value storage in Postgres
14)