100 likes | 200 Views
System Architecture and Wire Frames. Drivers. Riders. Civilians. Taxis & Vans. Information System implemented in the cloud. Operators. Trains & Buses. Major Modules. Cloud. Personal Data. Phone Interfaces. Routing Data. Rider/Driver. Trip Manager. Browser Interface.
E N D
Drivers Riders Civilians Taxis & Vans Information System implemented in the cloud Operators Trains & Buses
Major Modules Cloud Personal Data Phone Interfaces RoutingData Rider/Driver Trip Manager Browser Interface Traffic Monitor Billing System SMS Service Google Maps 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. • 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 co-ordinates, 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 HerokuDynos and 100 Heroku Workers. About $6,000 per month.
Ride Offer Start time: Date: Return start time:* (now) (today) Start place: (here) End place: Specify Route Daily Repeat* MTWTF Weekly Offer
Ride Request Start time: Date: Return start time:* (now) (today) Start place: (here) End place: Offer: $ Daily Repeat* MTWTF Weekly Request
Title Xxx: Xxx: (preset) (preset) Xxx: (preset) Xxx: Xxx Xxx Xxx Xxx XXX
Ride Request for You Date: <rider’s date> Time: <rider’s time> Start:<rider’s place> End: <rider’s destination> Name:<rider’s name>* Cell: <rider’s cell>* Email: <rider’s email>* My Name Send My cell My email Message Yes No Maybe
Profile Use for real-time communication Set Billing Information (X) Email: Name: Password: Male Gender* Female Cell Phone: Birthday:* I would drive* I would ride* if it took less than (10) if it took less than (10) extra minutes. extra minutes. (1.00) I would pay the driver $ I would charge the rider $ (1.00) per mile plus $ per mile plus $ (0.00) (0.00) Male Drivers Male Riders Prefer Prefer Female Drivers Female Riders Submit