Presentation

Download Report

Transcript Presentation

Team Members
Abhinav Mishra
Amber Palekar
Rahul Iyer
Vishakha Gupta
Imagine Cup Presentation
Carnegie Mellon University
Team O(1)
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
Looks Familiar?
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
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)
A Problem
Let’s just meet
somewhere!
I have an
idea! Let’s
meet at the
Subway on
41st.
I’m leavin’ for the
Starbucks on
42nd, c’ya guys
there!
Our Solution
Where should
we meet?
Thai Café
on 43rd is your
best option
Thai Café on 43rd is your
Where
bestshould
option we meet?
Thai Café on 43rd is your
best option
Where
should we meet?
System Design Overview
Maps
DB Handler
Traffic Model
Architectural Highlights
• Load Balancing
– Web Servers
– Compute Servers
• Scalability
– Compute Servers
– Database*
• Fault tolerance
– Compute Servers: designed to be stateless
– Web Server
– Database*
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
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?
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 
Questions
Thank You
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
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
Compute Servers
• Uses optimized version of Dijkstra’s 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
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
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 aren’t
• 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
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
• Tiger Maps
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