We are in the context of a taxi company using an application to manage their business. Basically, the application will allow the company to organize the taxi fares, the customer queries improving the Customer relationship Management between customers and drivers. The application is mainly based on a tracking location scenario (between the customer and the selected driver) which is dynamically refined.
The innovation is coming from the event aspect within a real time distributed application reacting from incoming events. The CEP application is able to support and manage thousands of queries continuously and simultaneously.
The event orientation is adding the real time aspect with a fast distributed response. According to described rules an incoming event will trigger distributed reaction involving third parties information or events.
Use Case Description:
|We are in a context of a personalized taxi service allowing the customer to order a taxi by SMS: the route of the taxi will be automatically adapted depending on its situational context and on external factors. Our use case is represented through the following 4 scenarios:
1. SMS ARRIVAL
A Call or a SMS is sent to a Taxi company number, by a customer expecting a taxi.
Based on the phone number, a location request is sent. As a result, a location event (X,Y) is received, associated with the customer request. In parallel, Taxi Availability Events, IMS presence Events, and Taxi Location are sent to Taxi Application, producing a list of available taxis and their Location.
From those information, using the GIS partner services to compute and compare the Customer–Taxis Path, the proper Taxi can be chosen (the available one, whose path is shortest to the Customer) and the shortest path (where no Taxi Event has occurred) the taxi should use.
Then, a SMS is sent to the Customer to inform him about the Taxi, a MMS is sent to the Taxi with the map & Path to use to pick up the Customer, and the references of this treatment are stored.
2. SMS proximity
Taxi Application keep receiving Taxis location, and using the stored reference compute regularly the distance between the selected Taxi and the requesting Customer. When the distance between them is close enough, an SMS is sent to the Customer to inform him of the Taxi arrival.
3. Path optimization
Taxi Application is also receiving in parallel Taxi Information. For each path known to have a Taxi-Customer treatment running, it request GIS partner to know if a problem is occurring on this Path. If yes, a new path is requested to the GIS Partner, an Event is sent to update the concerned stored treatment, an updated Path is sent by MMS to the Taxi, and information of delay is sent to the Customer.
4. Operator intervention
Taxi Application is also receiving in parallel Info from Taxi Company and Taxi if a problem occurred to a Taxi that is on his way to pick up a Customer. When such an event occurs, a SMS is sent to the Customer to inform him (delay, Taxi changes) and depends on the Workflow decision, a MMS is sent to a requested new Taxi.
The system notices that no taxi will be available in the near future and a new call arrive from a customer: The system must react by giving the hand to an Operator that will choose the right decision
Roland Stühmer, Nenad Stojanovic, Stefan Obermeier, and Philippe Gibert. Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems, (2012)
Nenad Stojanovic, Roland Stühmer, Philippe Gibert, and Francoise Baude. Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems, (2012)