Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

22
Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta

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

Page 1: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Team Members

Abhinav Mishra

Amber Palekar

Rahul Iyer

Vishakha Gupta

Page 2: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Imagine Cup Presentation

Carnegie Mellon UniversityTeam O(1)

Page 3: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 4: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Looks Familiar?

Page 5: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 6: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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)

Page 7: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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!

Page 8: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Our Solution

Where should we meet?

Where should we meet?

Where should we meet?

Thai Café on 43rd is your best option

Thai Café on 43rd is your best option

Thai Café on 43rd is your best option

Page 9: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

System Design Overview

DB Handler

Traffic Model

Maps

Page 10: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Architectural Highlights• Load Balancing

– Web Servers– Compute Servers

• Scalability– Compute Servers– Database*

• Fault tolerance– Compute Servers: designed to be

stateless– Web Server– Database*

Page 11: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 12: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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?

Page 13: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 14: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Questions

Page 15: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

Thank You

Page 16: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 17: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 18: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 19: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 20: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 21: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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

Page 22: Team Members Abhinav Mishra Amber Palekar Rahul Iyer Vishakha Gupta.

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