Wednesday, August 31, 2011

OpenMonitor Cloud Aggregator

Hi folks. During this Google Summer of Code 2011 I have been developing OpenMonitor Cloud Aggregator. It was a good experience, as I learned to work with new tools, like GoogleAppEngine, Protobuf, Django, and the work was developed in a team.
The OpenMonitor Cloud Aggregator is the central piece of the OpenMonitor, as it collects all the information sent by the agents (both desktop and mobile), analyses it, and launch alerts if some event was detected, like a shortage or a blockage. The Aggregator is also used to share the information with the users, control the release of agent versions, receive suggestions for websites and services to check.
This software was developed using Django Non-Rel (Python), uses Google Protocol Buffer to trade messages with the agents, and was deployed in Google AppEngine.

Notification System:
When the Aggregator detects some event, it sends some notifications using different systems:
  • Realtime Text Feed
The Realtime Text Feed is a simple page that lists all the recent events, and every time a new event occurs, the main information about the event slides to the top of the list.

  • Realtime Event Map
Like the Realtime Text Feed, the Realtime Event Map is a simple map that displays the events marked with pins. Every time a new event occurs, a new pin popups in the map, and if the user clicks on it, he will be able to see more information about that event. To don't overload the map with pins, the near pins are grouped together, and instead of a pin, a circle appears with the number of events occurred in that zone. If the user click that circle, the map will be zoomed it to that region, and the pins will be show alone. In the next image is shown the full map, and then the same map after zoomed in.



  • Social Networks (Facebook, Twitter)
When a new important event occurs, the information about the event will be shared in Facebook and Twitter
  • RSS Feeds
  • Email Notification
The users will be able to subscribe the events that they want to receive. After the subscription is done, when a new event occurs that matches the subscription, a new email with the information about the event will be sent to the user.


All the previous notification system only show to the user the main information about the event, however a link to page with detailed information will always be present. On this page is shown the target type (website or offline), the type of event (blockage, censor), the time of first and last detection, the name of the location, the name of ISP used by the agent, and a map with the location of the agent (green flag) and the target (red flag), the path used (in red) with the hops represented by the blue icon, and if the event was a blockage, the place where the communication was blocked is represented by a red cross.


No comments:

Post a Comment