Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

of 22 /22
Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta

Embed Size (px)

Transcript of Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

  • Slide 1
  • Slide 2
  • Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta
  • Slide 3
  • Imagine Cup Presentation Carnegie Mellon University Team O(1)
  • Slide 4
  • Agenda Motivation Innovation System Design Overview Databases Compute Servers Web Servers Traffic model and Data Collection Servers Maps Quantitative Measurements Architectural Highlights Future Directions Questions/Comments
  • Slide 5
  • Looks Familiar?
  • Slide 6
  • Motivation & Aim Get you to your destination faster Optimal Routing on Roads using Dynamic Traffic Balancing Gives you the best route to your destination Optimal Time Optimal Distance
  • Slide 7
  • Innovation Different from Yahoo Maps, MapQuest, Google Maps Bidding good bye to static maps Leveraging cutting edge technologies Minneapolis has already deployed traffic sensors at intersections Scalability and Fault-tolerance built into system (and not patched onto it)
  • Slide 8
  • A Problem Lets just meet somewhere! I have an idea! Lets meet at the Subway on 41 st. Im leavin for the Starbucks on 42 nd, cya guys there!
  • Slide 9
  • Our Solution Where should we meet? Thai Caf on 43 rd is your best option
  • Slide 10
  • System Design Overview DB Handler Traffic Model Maps
  • Slide 11
  • Architectural Highlights Load Balancing Web Servers Compute Servers Scalability Compute Servers Database* Fault tolerance Compute Servers: designed to be stateless Web Server Database*
  • Slide 12
  • Quantitative measurements Original Design targeted at a 1000 intersection map Current system considers all of Allegheny county ~45,000 Intersections & 60,000 Roads Loading the map for all of Allegheny county takes about 6 seconds We update the map every minute Update takes roughly 3 seconds
  • Slide 13
  • Future Directions Server-side map generation engine More elaborate model for simulation of real-life traffic Enabling SMS results for user queries Better text prediction algorithms for the mobile GUI Sturdier database infrastructure 2 Phase Commit is too slow?
  • Slide 14
  • Postmortem.NET a boon for software development Fast, Handy, Bundled with an excellent IDE ADO.NET: simple to use Microsoft SQL Server: fast! ASP.NET: enabled deployment on mobile devices .NET Remoting: shorter learning curve Performance counters Oh how we wish! that ADO.NET allowed >2 data readers that we could try this on Windows Server 2003
  • Slide 15
  • Questions
  • Slide 16
  • Thank You
  • Slide 17
  • User GUI User chooses source and destination intersections from drop-down lists & chooses one of the time-optimal or distance-optimal route options Remotely invoke route computation algorithm at the compute server Commercial Value Advertisement Server
  • Slide 18
  • Administrator Interface Handy tool for the Cruise Control Administrator Saves configuration time, designed to handle large number of nodes/links Add/Modify/Delete on: Nodes Links System Parameters Uses backend AdminInterface class which talks to the DB handler
  • Slide 19
  • Compute Servers Uses optimized version of Dijkstras algorithm with a priority queue implementation to improve scalability. Euclidean distance as a heuristic to converge faster on routes Refreshes the graph Every refreshInterval Whenever node and link details change in system Registers itself with the.NET registry to make itself available for remote invocation (uses Singleton) Answers requests from web server, on-demand Fault tolerance handle lost DB connectivity for a while Load balancing server-initiated load balancing
  • Slide 20
  • DB & DB Handler The Database Handler provides an interface for clients to access the database The DB Handler acts like a stub providing marshalling and un-marshalling Database Daemons act as middlemen between the client DB Handlers and the databases Uses TCP connections instead of Atomic Broadcast
  • Slide 21
  • Traffic Model & Collection Traffic model periodically generates load over each link in the map depending on the type of road Downtown roads are Heavy at rush hour Small streets arent Model sends periodic updates to collection server as a formatted string Multi-threaded server collects data generated by traffic model, parses it & updates the DB New models can be seamlessly plugged in Fault tolerant, replicated servers running Highly Scalable
  • Slide 22
  • Web Server Uses Microsoft IIS On request, remotely invokes compute nodes to calculate optimal route Fault tolerant Load balancing Highly available Ad Server runs on Web Server Decides ad to post
  • Slide 23
  • Maps Tiger Maps Street Level Maps Census Information for: Counties Street Names Zipcodes The GrooveNet project Uses Tiger Maps Interprets them as a graph We leverage existing map interpretation code of GrooveNet Populate database with data from GrooveNet