JIT Reminders

advertisement
JIT Reminders
Service monitoring framework with mobile notifications
CS 8803 AIAD Project - Group 21
: Gaurav Mullick
: Gautam Arora
What it was supposed to be?
(read: initial project goals)
• Alice enters a customized event in her
calendar e.g. call Bob at 9:00 AM
• Her events get tracked and scheduled by
our software (assumption: we have access
to her calendar)
• At 9:00 AM, a call is setup between Alice
and Bob (assumption: both have switched
on their SIP-enabled phones)
What it is now?
• A job scheduling based architecture with..
• Service-specific trackers (using std. APIs)
• Mobile notifications (using SIP)
• Ability to add/remove/update trackers
and notifications using web console
System Architecture: Overview
• Master Tracker - Job Scheduler
• Tracker (a.k.a Service Monitor) - Cron Job
• Notification (a.k.a Action) - Simple Job
• Admin and User web console
System Architecture
System Architecture: Technical
• Master Tracker/ Tracker - used Java EE
Quartz framework for job scheduling
• Notification - used SIP Servlets deployed
on SIP App Server
• Admin and User web console - JSPs
Component: Master Tracker
• Currently a server process that starts the
cron jobs for the multiple service trackers
• Can start/stop/update trackers
Component: Tracker
• Gets executed after every ‘x’ minutes...
• Uses standard service APIs to track the
current state (tracker ‘pulls’ info)
• Sets/takes an action based on detection of
event (tracker ‘pushes’ action)
• Have an idea for a service monitor?
Facebook, Arrival tracker using Location...
Tracker Implementation:
Google Calendar Tracker
• Temporal Reminders
• Predictable events
• Uses Google Calendar and Data API
• Events are stored in ‘customized’ format
• Sets a timer for each event associated with
notification type
Tracker Implementation:
WhereAmI Location Tracker
• Spatial Reminders (for 1st and 3rd party)
• Unpredictable events
• Uses WhereAmI Location API
(thanks John Etherton!)
• Users need to be added as buddies to get
their location for 3rd party lookups
• If change in location of target is detected,
check against database of events to take
any action
Component: Notification
• Gets triggered just-in-time
• Email/SMS reminders are fairly common
• How about playing voice/video messages,
setting up calls and conferences? :)
• Targeted towards SIP-enabled phones
• Have an idea for a notification?
streaming lectures or cricket matches..
Notification Implementation:
Call Setup
• Handles user registration and call setup
between Alice and Bob as B2BUA
• Uses Java SIP Servlet API
• Deployed on SIP AS like Sailfin(on
Glassfish) or Mobicents(on Tomcat) and
more...
Component:
Admin Web Console
• Allows administrator to:
• Manage users
• Manage services monitors
• Manage notifications
Component:
User Web Console
• Allows user to:
• Add events to service monitors
• View current status of events
• Update/delete events
• Under dev: use maps to enter location
for spatial reminders (with Arc GIS web
services - thanks Matt Weber!)
Demo-lition!
• Creating GCal Events with User Web
Console
• GCal Tracker sets up Call between Alice
and Bob
But isn’t this similar to...
• Web CQ - continual queries with crawling
• GT Comet Event Tracker (Group 4 - 4/24) -
crawl GT pages for events with tagging of
events and reminders for users
• SOA-based event monitoring framework
(saw at CERCS seminar) - also uses
services but targeted towards enterprise
What it can become?
• allow pluggable service monitors and
notifications that can be enabled/disabled at
runtime
• its already a framework, it can become
what we want it to :)
Questions?
Thank You!
Download