System Architecture and Wire Frames

advertisement
System Architecture
and Wire Frames
Major Modules
Rider/Drive
r
Phone
Interfaces
Browser
Interface
Cloud
Routing
Data
Personal
Data
Trip
Manager
Google
Maps
Traffic
Monitor
Billing
System
SMS
Service
Mail
Service
• Drivers and Riders use a common interface that can run on either a phone (iPhone, Android, SMS) or a browser
(Firefox, Explorer, Chrome). We can start with just a browser, usable on smart phones.
• Requests for service and profile modification are recorded in the personal data base which is kept synchronized
between the interface device and the cloud.
• The Trip Manager is communicates with all active users, receiving location information and coordinating realtime communication.
• Matches are performed in the Routing Data module which uses Google Maps for basic services but maintains a
large graph of all trips planned or requested.
• Google Maps is also used to create presentations for the interfaces.
• Italics designates outsourced modules.
• Not all connections are shown.
BoE Data Requirements
• Each user requires a negligible amount of data, easily held
on a smart phone: contact information, current coordinates, social network, preferences, current plans, past
trips
• The Routing Data base might be big.
– For every existing street segment or planned traverse of a street
segment, 103 bytes
– Manhattan has over 125 cross streets and 12 avenues, so it has
over 2*125*12 = 3,000 street segments
– Suppose 10% of our N customers have 20-block trips in the data
base at any time. 2*N planned segment traverses.
– 103*(3000+2*N) = 3*106+2*103*N = 3*106+2*106*(N/103)
= 3 + 2*n MB for n thousand users.
– For 1 million users, about 2GB—still not much.
BoE Processing Requirements
• We’d like instantaneous response for active
users, but network delays will probably
dominate, so programming convenience is
probably the more important consideration.
Dedicate a virtual processor to each one.
• Suppose .01% of 106 users are active at a time.
Requires 100 processes = 100 Heroku Dynos
and 100 Heroku Workers. About $6,000 per
month.
Ride Offer
Date:
(today)
Start time:
Start place:
(now)
(here)
End place:
Return start
time:*
Ask per trip: $
Repeat*
Daily
MTWTF
Weekly
Ride Request for You
Date: <rider’s date>
Time: <rider’s time>
Start:<rider’s place>
End: <rider’s destination>
Offer: $ <rider’s offer>
Name:<rider’s name>*
Cell: <rider’s cell>*
Email: <rider’s email>*
Send
My Name
My cell
My email
Message
Yes
No
Maybe
Ride Request
Date:
(today)
Start time:
(now)
Start place:
(here)
End place:
Return start
time:*
Offer per trip: $
Daily
Repeat*
MTWTF
Weekly
Request
Title
Xxx:
(preset)
Xxx:
Xxx:
(preset)
(preset)
Xxx:*
Xxx
Xxx
Xxx
Xxx
XXX
Confirm Ride
<day><time><start><end>
<people….>
The ride
was…
aborted
good
bad
Details:
Send
Profile
Password:
Name:
Email:
Use for real-time
communication
(X)
Cell Phone:
Birthday:*
Male
Female
Gender*
I would drive*
I would charge the rider $ (1.00)
Prefer
Link to Facebook
I would ride*
if it took less than (10)
extra minutes.
plus $ (0.00)
Set Billing Information
if it took less than (10)
extra minutes.
I would pay the driver $ (1.00)
per mile
plus $ (0.00)
Male Riders
Female Riders
Prefer
Submit
per mile
Male Drivers
Female Drivers
Download