100 likes | 214 Vues
This cloud-based system seamlessly integrates a common interface for drivers and riders, accessible via smartphones and browsers. It manages trip requests, modifies user profiles, and synchronizes personal data in real-time. The Trip Manager coordinates live communication and location sharing, while the Routing Data module utilizes Google Maps for trip planning and visualization. Each user’s data requirements are minimal, ensuring efficient processing for millions of users. The system prioritizes responsiveness, dedicating resources to enhance user experience.
E N D
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. • The Trip Manager is communicates with all active users, receiving location information and coordinating real-time 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 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) Specify Route Start place: (here) Ask per trip: $ End place: Daily Repeat* MTWTF Weekly Make Offer
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>* My Name Send My cell My email Message Yes No Maybe
Ride Request Start time: Date: Return start time:* (now) (today) Start place: (here) End place: Offer per trip: $ Daily Repeat* MTWTF Weekly Request
Title Xxx: Xxx: (preset) (preset) Xxx: (preset) Xxx:* Xxx Xxx Xxx Xxx XXX
Confirm Ride <day><time><start><end><people….> Details: The ride was… aborted good bad Send
Profile Use for real-time communication Set Billing Information (X) Email: Name: Password: Link to Facebook 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