Personal Travel Market: I ll book your trip for you sir!

Size: px
Start display at page:

Download "Personal Travel Market: I ll book your trip for you sir!"

Transcription

1 Personal Travel Market: I ll book your trip for you sir! Jorge Núñez-Suárez Donie O'Sullivan Henri Brouchoud British Telecommunications Broadcom Eireann France Télécom jorge.nunez-suarez@bt.com dos@broadcom.ie henri.brouchoud@cnet.francetelecom.fr Patrice Cros ONERA/CERT cros@cert.fr Clair Moore KPN Research c.r.moore@research.kpn.com 1 Abstract The purpose of this paper is to report the experiences gained during the first year of the Personal Travel Market application developed under the umbrella of the FACTS project. This is a two years long, EU-sponsored 1, collaborative project whose objective is to evaluate and drive the set of FIPA agent communication standards in real-life applications. In the electronic marketplace chosen for this test, three types of agents (Personal Travel Agent, Travel Broker Agent and Travel Service Agent) collaborate to resolve travel requirements for a human user. In order to test the interoperability provided by the standards we have used two different FIPA-compliant platforms, developed three types of agents and connected them to external Web servers. The initial results are very encouraging, as the standards have proved very useful in the integration of six completely independent, FIPA-compliant software components. The companies involved in this application are British Telecommunications, Broadcom Eireann, France Télécom, KPN Research and ONERA. 2 Introduction Travel has been deemed one of the killer applications of the Internet and in particular of intelligent agent technologies. The number of companies that compete in this aggressive market keeps growing every day. The offer nevertheless is not significantly different from one company to another. Often a traveller, specially a business one, requires a number of services that are tightly interrelated and that, although may have individual budgets, are constrained by an overall budget (flight, hotel, transfers, etc.). Most current systems require the user to individually book each service and to ensure that all the services are compatible and that the constraints and preferences are met. This can be a very time consuming and tedious task. The system that we present in this paper not only allows automatic composition and decomposition of services, but also provides a business model for the three main players in the market so that they can dynamically adapt their behaviour to the evolution of the market. In the electronic marketplace modelled in this application the following types of agents co-exist: 1 FIPA Agent Communication Technologies and Services. ACTS Project AC317 1

2 1. PTA. The Personal Travel Assistant acts as the interface between the user and the application thus representing their interests. It co-operates with broker agents (TBAs) in order to find travel plans that satisfy both the user s explicit travel request as well as the user s personal preferences. 2. Mini-PTA. When the user is on-0trip or indeed out of the office, the system allows her to interface with the PTA and receive notifications on her mobile phone by means of a WAP gateway linked to the platform where the PTA runs. 3. TBA. The role of a Travel Broker Agent is to act as an intermediary between the Personal Travel Agent and Travel Service Agents, offering service bundling. Typically, it will collect a trip request from a PTA, analyse it, identify the different segments, query the TSAs and try to compose a trip plan that satisfies the user s requirements. This agent may have a company profile expressing the preferences of the user s company in business travel. This agent may also display pro-active behaviour to propose special offers to the PTA for evaluation. 4. TSA. The Travel Service Agent is responsible for providing data and services to the TBA such as airline tickets sales, railway timetables, hotel room availability and prices, weather reports and so on. Since the TSA is the boundary between the FIPA world and the non-fipa world, it presents two interfaces, one to the FIPA side and one to the services it wraps (i.e. html servers, databases, etc). The system allows a human user to book a trip simply by specifying the details to her PTA, which will take the requirements (possibly complete those preferences not explicitly specified by the user) and send them to a TBA. This agent in turn decomposes the trip into a series of segments and query the TSAs which represent the service providers. With the replies of the TSAs it re-composes the trip trying to match the user's preferences. It then sends a bundled trip back to the PTA for evaluation. This agent will look at the preferences and check the validity of the proposal. If the offer is likely to be accepted, then it is passed onto the user, otherwise it is rejected and a negotiation process commences. If the user accepts the offer then the TBA proceeds to book the individual segments and collects payment from the PTA. A similar negotiation process takes place between the TBA and the TSAs for availability and pricing information. The marketplace allows several TBAs and TSAs to co-exist and to compete directly against each other. Typically the TSAs represent current service providers, such as airlines, hotel chains, etc. and therefore specialise in one type of service. Similarly the TBAs can also specialise in specific types of holidays, such as winter sports, package deals, etc. Each TBA has a business model and rules to allow it to monitor its performance and adapt its mark-up policy depending on achievement of its business targets. The TSAs also have the ability to decide on the price of the service to maximise usage, to maximise revenue or to satisfy business relationships with TBAs. The PTA therefore may choose to send the same request to several TBAs in order to better sample the market. Similarly each TBA may choose which TSAs to contact. Since the TBAs treat each individual segment separately, they can 2

3 perform intelligent service composition across the range of offers they receive and thus compose a highly competitive proposal for the PTA. Figure 1 presents a possible scenario with several agents and the communication between them. The PTA resides in the Agent Services Layer (ASL, [ASL]), a FIPA compliant platform. The agent uses the services of the platform to locate and communicate with the other agents in the application. The TBAs and the TSAs are connected to JADE, another FIPA compliant platform [JADE] and use the platform s Directory Facilitator service to locate each other (DF). The user may choose to use the MPTA via her mobile phone. This agent uses a WAP application to contact the ASL platform and send messages to the TBAs. France Air Travel Service Agent Dutch Flights Service Agent SIBIS Travel Service Agent Java RMI+Java Events Western Hotels Travel Service Agent Personal Travel Agent (Broadcom) Intelligent Travel Broker Agent WAP Application ASL Platform Jade Platform Great Business Travel Broker Agent IIOP communication BTI Broker Agent Figure 1 The PTM Application 3 Using the PTM The user s interaction with the system is exclusively with the PTA or MPTA through a series of windows or her phone. Both agents are used to specify the details of trips and view offers. Therefore the user remains completely unaware of the complexity and the number of actors involved in the process. After the user inputs the basic information needed by the PTA to create a valid trip request, it is analysed by a case-based reasoning module and if a similar case is found, then the preferences of the current request are completed before the approval of the user to be sent to the TBA. The PTA keeps a user profile of the user s travel preferences as a collection of cases. Case Base Reasoning (CBR) was chosen as the learning method because it is an incremental learning system, cases can be acquired easily and the decisions of the agent can be easily explained to the user. 3

4 The PTA acquires profile information by observing the users actions when planning a trip. This information is converted into cases, which are stored. A minimal amount of direct user feedback will also be used. The travel preferences supplied by the user are used to query the case base, and one or more cases similar to the new case are retrieved. Travel references defined in these cases are extracted. Preferences from several different cases may be combined. The travel preferences specified by the user and those extracted from the case base are merged. The PTA then constructs a trip request message from this information and sends it to the TBA. The PTA also evaluates offers sent by the TBA whose features do not exactly match the preferences specified by the user. Some basic details in the offer and the request sent by the PTA, e.g. destinations, are compared to make sure that they match. If there is a mismatch between these details, then the offer is rejected immediately. Otherwise, the rest of the user s preferences are compared with the offer details and the differences between them are identified. This information is passed to a retrieval module that retrieves cases in which there were similar discrepancies. If the offer is categorised as being of interest (depending on whether the offer was accepted in the retrieved cases), then it is passed to the user for evaluation. Otherwise it is rejected. Figure 2 Main PTA and Request Windows 4

5 Figure 3 Case-based reasoning in the PTA In order to evaluate incoming proposals from competing TBAs the PTA captures the salient factors associated with a particular offer, the state of the PTM market when it was made and the negotiation strategies of other agents. For example it can use aspects such as Perceived Offer Value, Likelihood for further negotiation and competition within the PTM. The Perceived Value of a particular offer can be related to the agent making the offer and the averaged history of offers made by that agent in relation to offers made by other agents for the same request. For example (perceived-value TBA ) indicates that on average TBA-1s initial offers cost about 98% of the market average and closing offers cost about 92% of the market average. The likelihood that a particular agent will continue to negotiate can be related to previous offers made by that agent. For example (previous-reductions TBA-1 4 1) indicates that in any previous negotiation the most times that TBA-1 reduced its initial offer was four times and the least times it reduced its offer was once. Furthermore this belief could be used to calculate another belief, reflecting the likelihood for reduction, represented as follows : (reduction-likely TBA ) indicating that there is a 4% probability that TBA-1 will further reduce its offer on the third iteration of negotiation (assuming that it has consistently reduced its offer on previously iterations). The level of competition currently perceived within the PTM can be related to the number of offers pending at a particular time (the number of agents solicited in a call for proposals which have not yet closed bidding), the number of offers which have been closed (unsuccessfully), and the current iteration in negotiation. For example (PTM-competition 5 5 4) indicates that it is currently the fourth iteration in negotiation (averaged over the individual iterations with particular agents) and five agents have dropped out and five remain in active participation. The larger the number of agents participating and the higher the iteration can be perceived as a positive indication of competition, the number of agents which have dropped out can be considered a negative factor. 5

6 In order to decide which offer to accept and when the agent needs to calculate an offer s merit. One simple approach might be : merit = ((iteration of negotiation with agent + ite ration of overall market iteration) * numerical indicator of competition) - (probability of an offer reduction * numerical indication of quantity of reduction * 100 ) Therefore the overall elapsed negotiation has a positive effect (reflecting the intuition that the later the stage in negotiation the better the offers). However this is normalised by the competition indicator. The probality of further reductions and their likely value has a negative effect (reflecting the intuition that it is better to continue negotiation if there is still opportunity for a better offer). The TBA s role in the PTM is mainly to unbundle and bundle services. It receives requests from the PTA in the form of calls for proposals and then identifies the segments that compose the trip (outbound and return trip, different hotel stays, etc.). The agent then generates a number of tentative routes to the destination and identifies the segments that compose them. In Figure 5 for example the agent has proposed the routes Torino<->Dublin, Torino<->Amsterdam<->Dublin and Torino<- >London<->Dublin, which in total represent ten individual travel segments. The agent also identifies the need for additional services if required such as hotel stays. These segments will be used to query a number of dedicated TSAs to obtain scheduling, pricing and availability information. Once the TSAs information is received, the agent tries to assemble a proposal that both satisfies the PTA s requests and the TBA s business targets (revenue, percentage of accepted proposals, etc.). The agent then sends this proposal for evaluation to the PTA. If the trip proposal is accepted then a booking is made with the relevant TSAs, if it is rejected, then it tries to patch the proposal with the information available form the TSAs and re-send it to the PTA. In a dynamically changing and competitive environment such as the one proposed herer, the agent directly competes with other TBAs for the trips requested. Since we assume that it only communicates with the PTA, it only knows why a trip has been rejected, e.g. because the price was too high, but not what price the other TBAs have offered or with how many it competes. It therefore needs to adapt its business policy depending on the little information available. We propose to use a number of parameters and negotiation/mark-up strategies to allow the agent to compete and dynamically change its proposal policy. Since the business model we have chosen for the application is based on adding a variable percentage to the bundled trip, the agent can use several parameters to decide this mark-up, such as: ½ Fidelity: in order to gain the PTA s (and ultimately the user s) fidelity the TBA may choose to reduce its mark-up as the number of trips booked increases. ½ Proposal acceptance ratio: as the number of proposals accepted decreases, the agent may choose to reduce its margin to increase its ability to compete in price. 6

7 ½ Suitability of the trip: the TBA sorts the possible trips before sending a proposal to the PTA according to how well they match the user s preferences. The agent may choose to reduce its mark-up for those trips with low matching index. ½ Depending on the agent s business objectives it may choose to propose those trips that generate higher revenue first. This may imply proposing longer routes or more expensive segments first. Therefore to calculate its mark-up for a specific trip the agent will take its business rules profile and apply the appropriate functions compute these parameters, choosing from a variety of formulas as depicted in Figure 4. The formula would be: m = m m m m m s ( ) f p s r So for example an agent may choose to increase linearly its mark-up as the percentage of accepted trips increases, thus choosing the linear graph in Figure 4. Similar curves can be defined for the other parameters. mark-up m M 1 m m r th r tg % accepted trips Figure 4 Possible evolutions of the mark-up policy depending on the revenue In order to be able to change the business behaviour of the agent so that we can reflect different approaches to the market, the agents load a business profile describing what rules and formulas to apply to each of the parameters. We describe next the parameters of this business profile. ½ Negotiation strategy: when a negotiation process starts between the PTA and the TBA, the latter produces a series of possible alternatives, potentially each less lucrative to the agent. The rapidity with which it skips proposals to select those more likely to be accepted determines the negotiation strategy for the agent. An aggressive agent starts with the most likely trips to be accepted first. A greedy agent proposes decreasing revenue trips as the negotiation progresses and a conceding agent aims for a mid-range option first. ½ Target % of accepted proposals. Realistically a broker agent cannot expect every proposal to be accepted; therefore it may use this figure to have an aim to guide its mark-up policy. The more trips are rejected based on price, the more it reduces it s mark-up. 7

8 ½ Target revenue. Figure to aim for in terms of revenue generated by the proposals. The closer the agent to its target, the higher margin it can afford to impose on the trip. ½ Standard, minimum and maximum mark-up. These parameters delimit the margin variation for the agent. ½ Mark-up policy set. This parameter defines which function will be used by the agent to calculate its mark-up coefficient for the four categories mentioned above (fidelity, proposals, suitability and revenue). The Travel Service Agent provides airline tickets sales, railway timetables, hotel room availability and prices to the TBA. Because current technology does not provide Web servers with APIs, special pieces of software called wrappers, need to be implemented. The goal of these wrappers is to provide an abstract representation of real, existing Web servers where relevant information can be found. In the PTM application, the TSAs play this role of wrappers and provide the following functionalities to the other agent: - Proposition of a segment of a trip depending on data given in a request: this proposition is sent in the first step of a negotiation protocol. Some TSAs specialise on airline services, others on hotel rooms, etc. - Booking of accepted segments. - Cancellation of a booking. - Notification of temporary special offers. This functionality is available to other FIPA compliant agents through the use of the FIPA Agent Communication Language and protocols. The agents that want to interact with one or several TSAs should use the PTM protocols and the PTM Ontology as defined in the PTM application specifications. Moreover, the TSAs are registered with the Directory Facilitator (yellow pages agent) of their host FIPA platform with service description that allow other agents to establish contact with them. It has to be noted that one TSA represent a commercial entity in the PTM market, and as such has the possibility to define a specific policy to maximise its revenue. That means that when a TSA can propose several solutions in reply to a request, it will choose the one that fulfils best the requirements and also that is in conformance with its commercial policy (high margin or resource usage). To guide its proposal policy the agent we have identified three different ways to increase its revenue : 1) satisfy its business relationships. If this goal is achieved we can assume that a TSA will increase the number of its customers and win their loyalty. Here are some rules that permit to achieve this goal : depending on the volume of transaction realised with a TBA, a TSA can propose lower prices for this agent. For example, let s call the volume of transaction with one agent volume(agent), we can write this rule : if volume(?agent) in [0,10.000] then rebate:=0%; if volume(?agent) in [10.000,20.000] then rebate := 10%; if volume(?agent) > then rebate := 30%; 8

9 some pre-established agreement can be fixed with a TBA. For example, a TSA can offer a permanent rebate to a specific agent based on commercial relationship (same commercial group). if (?Agent = aspecificagentid) then rebate = 25%; when the volume of transaction with an agent has reached a limit, the TSA can propose low price special offer to this agent. If (volume(?agent) > LIMIT) then proposespecialoffer(?agent); 2) the TSA may choose to try to maximise its profit margin. During a negotiation protocol, the TSA may have the choice between several alternatives for flights or rooms. For example, if there is no precision in the StayPreferences about the hotel class (2,3 or 4 stars), the TSA will propose first, the alternative that maximises its profit (generally the most expensive one). 3) The TSA may choose to try to minimise its costs, in particular by optimising the usage of its resource. It will try to fill planes at their maximum capacity. In case of unoccupied seats in a plane, it can notify other agent of temporary special offers with very interesting prices on this flight. It will make use of cancellation penalty Figure 5 TBA route map 4 Conclusions In this work we have shown the different roles that agents can play in a complex, intelligent and adaptive networked economy. The PTA is the point of entry for the user to the marketplace. It collects the user s requirements and complements them with knowledge gained observing his behaviour. The TBA acts as a mediator between consumers and producers. It analyses the requests, decomposes them into small segments, queries the providers for suitable products, re-composes the 9

10 segments into a full proposal and sends it to the PTA for evaluation. This agent can filter out those proposals that do not satisfy the basic user s requirements and present the rest for evaluation. This application architecture is very flexible and allows for a variety of business models. We can see in fact that the user only sees a very simple interface to a whole complex system (the PTA) that contains a number of actors and companies. It greatly simplifies booking complex trips comprising several services that need to be compatible with each other and with the user s preferences and constraints. It also allows for intelligent negotiation and adaptation to the changing market dynamics. The importance of the work implemented as part of this project is to show true interoperability at application level using the FIPA standards. With regard to the use of the FIPA standards, we have noted a tremendous reduction in the amount of work that designers have to devote to ensure intraapplication interoperability. In our case only the following items were considered: ΠDefinition of the responsibilities of each agent in the scenario. ΠCommon ontology. ΠApplication specific protocol. This means that any designer that wishes to successfully develop an agent for the Personal Travel Market only needs to ensure that the agent complies with the FIPA standards, that it is able to understand and compose messages using the PTM ontology and that it follows the sequence of messages outlined in the PTM-Protocol. In our case, the three agents have been designed independently with their own hidden internal architecture. The integration phase has been very short and simple with success and the only minor running problem was at protocol and ontology level, not at low implementation level. This demonstrates clearly the advantage of using a standard such as FIPA: agent implementers have only to concentrate on their own knowledge domain, the ontology, and use the tools and design process they are used to. This should make the development process faster than with other technologies where the low-level technical aspects interfere with the domain level. Although the FIPA specifications are in the main realisable there are a number of areas in which difficulties arise especially in the context of the PTM application, such as the bootstrapping problem or multicast communication which are being dealt with by the relevant FIPA Technical Committees. 5 References [FACTS] [FIPA] [JADE] F. Bellifemine, A. Poggi, G. Rimassa. JADE - A FIPA-compliant Agent Framework. In Proceedings of PAAM, London, April 99. pp See also [ASL] D. Kerr, D. O Sullivan, R. Evans, R. Richardson, F. Sommers, experiences using intelligent agent technologies as a unifying approach to network and service management. Proceedings of IS&N May Antwerp, Belgium 10