JP5841240B2 - Method and system for an improved reservation system that optimizes repeated search requests - Google Patents
Method and system for an improved reservation system that optimizes repeated search requests Download PDFInfo
- Publication number
- JP5841240B2 JP5841240B2 JP2014508725A JP2014508725A JP5841240B2 JP 5841240 B2 JP5841240 B2 JP 5841240B2 JP 2014508725 A JP2014508725 A JP 2014508725A JP 2014508725 A JP2014508725 A JP 2014508725A JP 5841240 B2 JP5841240 B2 JP 5841240B2
- Authority
- JP
- Japan
- Prior art keywords
- travel
- processing
- request
- query
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
- G06Q10/028—Reservations, e.g. for tickets, services or events for seating or spaces in a venue
- G06Q10/0283—Reservations, e.g. for tickets, services or events for seating or spaces in a venue for travel seating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0611—Request for offers or quotes
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は予約システムの分野に関するものであり、特に繰り返されるサーチリクエストを最適化するマッシブ計算プラットフォームのための方法及びシステムに関する。 The present invention relates to the field of reservation systems, and more particularly to a method and system for a massive computing platform that optimizes repeated search requests.
最先端の予約システムは、通常、専用のグローバルディストリビューションシステム(GDS)に基づいており、例としては、フライト予約等のショッピングビジネスのためのフライトサーチアプリケーションを提供する航空会社の予約システムがある。クライアントから来るフライトサーチリクエストには、GDSデータの網羅的サーチを必要とする。これは膨大な量の計算を必要とし、ある程度の時間がかかる。この遅延を最小化するのに、通常クライアントはほとんどの自由度を有していない。即ち、彼らはリクエストする旅行についての出発地及び目的地の都市名、出発及び帰還の日付、営業航空会社、キャビン等級を指定する必要がある。これはシステムパフォーマンス及びレスポンスタイムのためには有利ではあるが、これはパラメータ選択においてより広範囲な自由度を伴うよりユーザフレンドリな対話を明らかに好むであろう顧客にとっては最適ではない。 State-of-the-art reservation systems are typically based on dedicated global distribution systems (GDS), for example airline reservation systems that provide flight search applications for shopping businesses such as flight reservations. Flight search requests from clients require an exhaustive search of GDS data. This requires a huge amount of calculation and takes some time. In order to minimize this delay, clients usually have little freedom. That is, they need to specify the name of the city of departure and destination, the date of departure and return, the operating airline, and the cabin class for the requested trip. While this is advantageous for system performance and response time, it is not optimal for customers who will clearly prefer a more user-friendly interaction with a wider range of freedom in parameter selection.
改良されたユーザリクエストの管理が重宝される、航空会社及び旅行代理業者により開拓された他のビジネスドメインとしては、所謂プレショッピングというものがある。これは、予約システムを通じてデータベースに問い合わせる必要があるも、必ずしも正規の予約をもたらさない活動を意味する。これらの活動は航空会社又は旅行業者にとって極めて重要である。なぜならば、即座にこれらが収益につながらなくとも、潜在的な顧客の将来における選択に影響を与え得るからである。高い自由度を伴うクライアントの問い合わせに対して遅延ゼロの応答を提供することのできるツールは高く重宝されるであろう。例えば、クライアントが、6月から9月の間で、2週間の期間で、日照の良い地へ向かう、パリから出発するフライトの情報をリクエストしていると仮定してみよう。通常のフライトサーチアプリケーションの場合、クライアントは正確な行き先を指定して、希望する行き先及び可能な日付の組合せの数だけのリクエストを行う必要がある。 Another business domain pioneered by airlines and travel agents, where improved user request management comes in handy, is so-called pre-shopping. This means an activity that needs to query the database through the reservation system, but does not necessarily result in a regular reservation. These activities are extremely important for airlines or travel agents. This is because even if these do not immediately lead to revenue, they can affect the future choices of potential customers. Tools that can provide zero-latency responses to client queries with a high degree of freedom will be highly appreciated. For example, suppose a client requests information about a flight departing from Paris, between June and September, for a two-week period, to a sunny place. In a normal flight search application, the client needs to specify the exact destination and make as many requests as the desired destination and possible date combinations.
別の可能なアプリケーションとしては、単にフライト予約を増加させるのではなく、収益性を増加させることを狙った収益管理プロセスを伴う予約システムとすることができる。例:航空会社は、自社の計画中のフライトに係る包括的な価格(例えば、全期間に亘る全都市についてのフライト)の価格に依拠し、並びに予約予測に基づくコンピュータモデルに基づいて自社の価格を適応させることを希望する場合がある。従来のシステムでは、このような取り組みはとても複雑となり、多大なリソース及びオペレータ労力を要することになる。 Another possible application could be a booking system with a revenue management process aimed at increasing profitability, rather than simply increasing flight booking. Example: An airline relies on the price of a comprehensive price for its planned flight (for example, a flight for all cities over the entire period), as well as its price based on a computer model based on booking forecasts. May want to adapt. With conventional systems, this approach is very complex and requires significant resources and operator effort.
さらなる他の可能なアプリケーションとしては、静的な目的のための料金分析がある。即ち、GDSに申請された最新情報に基づいて自己のチケット価格の変遷を追跡調査するということである。例:提供された料金及びルールから算定された旅行価格の比較、類似のアイテムについての現在価格と以前の価格との比較、自己の費用見積との比較を通じて申請された価格を評価すること。 Yet another possible application is fee analysis for static purposes. In other words, based on the latest information applied to the GDS, it will follow up the changes in the ticket price of its own. Example: Evaluating the submitted price through a comparison of the price provided and the travel price calculated from the rules, a comparison of the current and previous prices for similar items, and a comparison with your own cost estimate.
上記アプリケーション例に共通の特徴は、該当するフライトレコメンデーションを極めて多量に必要とすることである。例えば、プレショッピングアプリケーションはクライアントに魅力的な結果を提供するために多岐に亘るソリューションを要し、収益管理アプリケーションはそのダイナミックな価格付けポリシーがこのモデルに依存するが故に網羅的なフライトレコメンデーションリストを要し、料金分析アプリケーションは価格変遷を効率的に追跡するために網羅的なフライトレコメンデーションリストを要する。 A common feature of the above application example is that it requires a very large amount of relevant flight recommendations. For example, pre-shopping applications require a wide range of solutions to provide attractive results to clients, and revenue management applications rely on this model because of their dynamic pricing policies that rely on this model. The fee analysis application requires an exhaustive flight recommendation list to efficiently track price transitions.
ショッピングというビジネスドメインとは対照的に、これらのアプリケーションの目的は予約ではない。このため、フライトレコメンデーションを生成するために必要な計算は各クライアントの問い合わせについて行う必要はなく、応答時間の犠牲の上で応答の正確性を求めることができる。フライトレコメンデーションは各クライアント問い合わせについて再計算する必要はないため、GDSによるこれらの事前計算は数時間の期間に広げることができる。また、これらのアプリケーションは事前計算されたフライトレコメンデーションに依存するため、GDSは、そのシステムに入力するのに必要なデータ処理を、数時間の期間に亘って広げることができる。 In contrast to the shopping business domain, the purpose of these applications is not booking. For this reason, the calculation required to generate the flight recommendation does not need to be performed for each client inquiry, and the accuracy of the response can be obtained at the expense of response time. Because flight recommendations do not need to be recalculated for each client inquiry, these precalculations by GDS can be extended to a period of several hours. Also, because these applications rely on pre-computed flight recommendations, GDS can extend the data processing required to enter the system over a period of several hours.
上記アプリケーションを実施する既知の方法としては所謂トランザクショナルエクスターナルシューター(transactional external shooter)というものがある。プレショッピングシステム又は収益管理システムに対して網羅的にフィードをするために、顧客は一連のトランザクションを、GDSにより提供されるショッピングアプリケーションへシュート(shoot)することができる。シュートすべきトランザクションは、希望される全ての出発日、希望される全てのマーケット等の組合せを包含する必要がある。このような方法は、明白な欠点を有する。例えば、問い合わせの微増が大規模な組合せ論的複雑性の増大をもたらし、顧客がシュートしなければならないトランザクション数が増大する。グローバルリクエストに対応するシュートされたトランザクションは、各トランザクションの計算のために必要な共通パーツを収集する:即ち、重複チェック、重複データアクセス及び重複処理が行われる。計算されるデータがよりハイボリュームであればあるほど、これら重複的な操作の(リソース消費量の観点からの)コストが高くなる。シュートされたアプリケーションが拡張カレンダー又は複数選択肢型選択を提供する場合であっても、シュートすべきトランザクションの全てについてのグローバルな認識が欠けるが故に、最適化の機会は未だ部分的である。顧客にとっては、結果を計算するのにより多くの処理時間が必要となる。GDSにとっては、重複部分の計算について不要なリソース消費が誘発される。さらに、シューターはGDSに対して外部に配置されるので、リソース消費は管理下にない。また、プレショッピング、収益管理又は料金分析のために必要なデータは膨大なので、予期しない大量のトラフィックは他の顧客とのサービスレベルアグリーメント違背の危険をもたらす。 A known method of implementing the above application is a so-called transactional external shooter. In order to provide an exhaustive feed to the pre-shopping system or revenue management system, the customer can shoot a series of transactions to the shopping application provided by GDS. The transaction to be shot needs to include a combination of all desired departure dates, all desired markets, etc. Such a method has obvious drawbacks. For example, a slight increase in inquiries results in a massive combinatorial complexity increase, increasing the number of transactions that customers must shoot. The shot transaction corresponding to the global request collects the common parts needed for the calculation of each transaction: duplicate check, duplicate data access and duplicate processing are performed. The higher the calculated data, the higher the cost (in terms of resource consumption) of these duplicate operations. Even if the shot application provides an extended calendar or multiple choice type selection, the opportunity for optimization is still partial due to the lack of global awareness of all the transactions to be shot. For the customer, more processing time is required to calculate the results. For GDS, unnecessary resource consumption is induced for the calculation of the overlap. In addition, since the shooter is located external to the GDS, resource consumption is not under management. Also, since the data required for pre-shopping, revenue management or fee analysis is enormous, an unexpectedly large amount of traffic poses a risk of violating service level agreements with other customers.
他に知られるプレショッピングシステムを実施する手法としては、ショッピングトラフィックをキャプチャしてシステムを更新するものがある。予約目的のためにクライアントからリクエストされた任意のトランザクションについては、それがプレショッピングシステムの要求を満たす場合、その結果がクライアント及びプレショッピングサーバ双方に返される。この従来技術の欠点は、顧客が計算に使われるデータについて何ら支配を有さないことにある。したがって、結果が網羅的であるとの保証がないため、収益管理システムにフィードすることはできない。さらに、トラフィックをキャプチャすることは静的なアプローチであり、特定的な制約には適用不能である。プレショッピング及び収益管理システムは、既存のプロダクツの特性を利用できるのみである。 Another known way to implement a pre-shopping system is to capture shopping traffic and update the system. For any transaction requested by a client for reservation purposes, if it satisfies the pre-shopping system request, the result is returned to both the client and the pre-shopping server. The disadvantage of this prior art is that the customer has no control over the data used for the calculation. Therefore, there is no guarantee that the results are exhaustive and it cannot be fed into the revenue management system. Furthermore, capturing traffic is a static approach and is not applicable to specific constraints. Pre-shopping and revenue management systems can only use the characteristics of existing products.
強負荷なオペレータ作業及び許容できないリソース消費を必要としないで、上述した高ボリュームデータの実効的な処理を保証するためには、無益な問い合わせの重複を回避しつつマッシブなサーチを行い得る改良された予約システムが必要となろう。 In order to guarantee the effective processing of the above-mentioned high volume data without requiring heavy operator work and unacceptable resource consumption, it is improved that a massive search can be performed while avoiding duplication of useless queries. A reservation system would be required.
米国特許第5,495,606号は、データベース内でのサーチプロセスを改良する方法を開示する。このシステムは、既存のシステムの処理時間を改善するために従来技術中の既存のシステムに付加することができる。米国特許第5,495,606号は、並列して稼働できる複数の問い合わせ処理モジュールを備えるシステムを開示する。各問い合わせ処理モジュールは、マスター問い合わせプロセッサ及びスレーブプロセッサを備える。マスター問い合わせプロセッサは、問い合わせを受信し、エンドユーザへ応答を送り戻す。マスター問い合わせプロセッサは、問い合わせを複数の既分割問い合わせに分割するための問い合わせスプリッタを有する。また、マスター問い合わせプロセッサは、既分割問い合わせを適切なスレーブプロセッサ上で処理できるようにするためのスケジューラも有する。そして、各スレーブ問い合わせプロセッサは、各既分割問い合わせを特定のデータベース管理モジュールへと送信してデータベースにリードオンリー構成でアクセスする。結果として、全ての既分割問い合わせは、各問い合わせ処理モジュールによって並列に処理されることができ、処理時間は最適化される。データベースはリードオンリー構成にされているため、既分割問い合わせの処理中ではデータベースの更新は行われない;このことにより既分割問い合わせの処理時間が向上する。米国特許第5,495,606号で開示される方法は、複数のプロセッサを有する極めて強力なデータ処理システムを必要とし、サーチリクエストが重複している可能性の問題については解決をもたらさないのであり、システムによって行われるリクエストの最適化を伴わないが故、同じ問い合わせが複数回繰り返される可能性がある。 US Pat. No. 5,495,606 discloses a method for improving the search process in a database. This system can be added to existing systems in the prior art to improve the processing time of existing systems. US Pat. No. 5,495,606 discloses a system comprising a plurality of query processing modules that can operate in parallel. Each inquiry processing module includes a master inquiry processor and a slave processor. The master query processor receives the query and sends a response back to the end user. The master query processor has a query splitter for splitting the query into a plurality of split queries. The master inquiry processor also has a scheduler for allowing the already divided inquiry to be processed on an appropriate slave processor. Each slave inquiry processor transmits each divided inquiry to a specific database management module to access the database in a read-only configuration. As a result, all already divided queries can be processed in parallel by each query processing module, and the processing time is optimized. Since the database has a read-only configuration, the database is not updated during the processing of the divided query; this improves the processing time of the divided query. The method disclosed in US Pat. No. 5,495,606 requires a very powerful data processing system with multiple processors and does not provide a solution to the problem of possible duplicate search requests. The same query may be repeated multiple times because it does not involve optimization of the requested request.
本発明の1つの目的は、従来技術のシステムに関連付けられている問題の少なくとも一部を軽減することである。 One object of the present invention is to mitigate at least some of the problems associated with prior art systems.
本発明の1つの側面によれば、予約システムにおいて非拘束の旅行問い合わせに応じて価格付けされた旅行ソリューションを生成する方法であって、前記予約システムは、複数のパラメータに応じて旅行の可用性及び料金に関する情報を含んでいる複数の旅行データベースへのアクセスを有し、各旅行問い合わせは選好情報のセットを含み、前記各選好情報は前記複数のパラメータのうちから選択されたパラメータに関連し、前記方法は、各旅行問い合わせがユーザに関連付けられている複数の旅行問い合わせを受信するステップと、前記複数の旅行問い合わせを前処理するステップであって、各問い合わせから少なくとも1つの単純なリクエスト要素を抽出するステップと、少なくとも1つのパラメータに応じて前記複数のリクエスト要素をソートするステップと、同じ前記少なくとも1つのパラメータに対して同じ選好情報を含んでいるリクエスト要素が1つより多くある場合に、重複しているリクエスト要素を削除するステップと、前記複数のリクエスト要素を、所定の基準に従ってサブセットに、分割するステップとを含む、前処理するステップと、リクエスト要素の各サブセットを、前記複数のデータベースに問い合わせる前記リクエスト要素を実行する処理モジュールへ、転送するステップと、前記処理モジュールからの結果を収集して、各旅行問い合わせについてユーザへ応答を発するステップとを含む、方法が提供される。 According to one aspect of the present invention, a method for generating a travel solution that is priced in response to an unbound travel inquiry in a reservation system, the reservation system comprising: Having access to a plurality of travel databases containing information about rates, each travel query includes a set of preference information, each preference information relating to a parameter selected from the plurality of parameters, The method includes receiving a plurality of travel queries, each travel query associated with a user, and pre-processing the plurality of travel queries, extracting at least one simple request element from each query. The plurality of request elements according to a step and at least one parameter Sorting, and if there are more than one request elements containing the same preference information for the same at least one parameter, removing duplicate request elements, and the plurality of request elements Pre-processing comprising: dividing into subsets according to predetermined criteria; transferring each subset of request elements to a processing module executing said request element that queries said plurality of databases; Collecting results from the processing module and issuing a response to the user for each travel query.
本発明の2つめの側面によれば、上述の方法を行うために適合させた1以上の構成要素を備えるシステムが提供される。 According to a second aspect of the present invention, a system is provided comprising one or more components adapted to perform the method described above.
本発明のさらなる実施形態によれば、コンピュータ上で実行した際に上述の方法を実行するための命令を含んでいるコンピュータプログラムが提供される。 According to a further embodiment of the present invention there is provided a computer program comprising instructions for performing the above method when executed on a computer.
本発明の好適な実施形態による方法は、グローバルディストリビューションシステム(GDS)に対して旅行についての提案をリクエストするエンドユーザに、改良された旅行リクエストサービスを提供する。これは、従来技術における従来の旅行リクエストよりも、各サーチパラメータについて、より広範囲に及ぶ新規な旅行リクエストを用いる。新規な旅行リクエストは同じ旅行リクエスト中に多岐に亘る範囲のパラメータを含むのに対して従来の旅行リクエストは各サーチパラメータに対して各異なるリクエスト値を繰り返させる必要がある。 The method according to the preferred embodiment of the present invention provides an improved travel request service to end users requesting travel proposals from the Global Distribution System (GDS). This uses a wider range of new travel requests for each search parameter than conventional travel requests in the prior art. A new trip request includes a wide range of parameters in the same trip request, whereas a conventional trip request needs to repeat each different request value for each search parameter.
本発明の好適な実施形態による方法は、改良された旅行リクエストサービスを実行するために、マスターモジュールとワーカーモジュールとの2つのモジュールの組合せを提供する。マスターモジュールは、全てのユーザから旅行リクエストを抽出する。マスターモジュールは、旅行問い合わせを単一リクエストに分割し、重複する旅行リクエストを排除して最適化された旅行リクエストを取得する。そして、マスターモジュールは、最適化された旅行リクエストをワーカーモジュールへと転送する。最適化された旅行リクエストの内容に応じて、ワーカーモジュールは、旅行処理モジュール、可用性処理モジュール、料金エンジン処理モジュール等の対応する処理モジュールを、要求されている計算について直接的に実行する。結果として、ワーカーモジュールは最適化された旅行リクエストに基づいてサーチ結果を提供することになる。そして、ワーカーモジュールは最適化された旅行リクエストの結果をマスターモジュールへと送る。そして、マスターモジュールは結果をエンドユーザに表示する。 The method according to the preferred embodiment of the present invention provides a combination of two modules, a master module and a worker module, to perform an improved travel request service. The master module extracts travel requests from all users. The master module divides the travel query into single requests and eliminates duplicate travel requests to obtain optimized travel requests. The master module then forwards the optimized travel request to the worker module. Depending on the content of the optimized travel request, the worker module directly executes the corresponding processing module, such as a travel processing module, an availability processing module, a fee engine processing module, etc. for the requested computation. As a result, the worker module will provide search results based on the optimized travel request. The worker module then sends the result of the optimized travel request to the master module. The master module then displays the results to the end user.
本発明の好適な実施形態による方法は、ユーザからの広範な旅行問い合わせを処理するためのマスターモジュール及びワーカーモジュールからなる2モジュールの実装に基づいている。マスターモジュールは、全てのユーザからの全ての旅行問い合わせを分析して最適化された旅行リクエストを提供する。ワーカーモジュールは、最適化された旅行リクエストを処理して特定の処理モジュールへと送信する。 The method according to the preferred embodiment of the present invention is based on a two-module implementation consisting of a master module and a worker module for handling a wide range of travel queries from users. The master module analyzes all travel queries from all users and provides optimized travel requests. The worker module processes the optimized travel request and sends it to a specific processing module.
プレショッピング、収益管理及び料金分析へのフィード目的のためのデータ計算方法は、既にショッピングビジネスで使用されている他のGDSサブシステム(旅行ソリューションプロセス、可用性チェッキングプロセス、料金プロセス等)と相互作用する。
本方法の好適な実施形態により得ることのできる幾つかの有利な点としては、次ぎを挙げることができる:
― プラットフォームにより提供されるプロダクツが、網羅性及び一貫性を伴うプレショッピング及び収益管理システムへのフィーディングを可能とする。
Data calculation methods for feed purposes for pre-shopping, revenue management and fee analysis interact with other GDS subsystems already used in the shopping business (travel solution process, availability checking process, fee process, etc.) To do.
Some of the advantages that can be obtained with a preferred embodiment of the method include the following:
-The products provided by the platform enable feeding into a pre-shopping and revenue management system with completeness and consistency.
ビジネスロジックを実施するビジネスルール及び適用可能なプラグインのおかげで、本発明は顧客に短い納期をもたらす。GDSにとっては、フライト及び価格算定についての新たなタイプのアプリケーションを大規模に支えるのは簡単なことである。
― GDSにとっては、データ計算の最適化のおかげで、リソース消費は合理化され、それによりコストが低減される。
― さらに、リソースは管理下に置かれる。システムの限界に達せずに、処理すべきボリューム及び遵守すべき時的制限に従ってリソースを動的に割り当てることができる。
Thanks to the business rules that implement business logic and applicable plug-ins, the present invention provides customers with short delivery times. For GDS, it is easy to support a new type of application for flight and pricing at scale.
-For GDS, resource consumption is streamlined, and costs are reduced, thanks to optimization of data computation.
-In addition, resources are under control. Resources can be dynamically allocated according to the volume to be processed and the time restrictions to be observed without reaching system limits.
添付の図面について、例示的に、以下参照する。
図1は、本発明の好適な実施形態による、フライト及び価格の大規模計算に特化したサブシステム101を示す。データ処理は、予約に特化しているショッピングトラフィックから分離されている。
FIG. 1 illustrates a
このサブシステムは、予約アプリケーションに用いられるトランザクションの代わりに高い自由度をもって問い合わせを管理する。この自由度は次のものに適用される:例えば、日付組合せ(ある年度の全日についての出発日とその出発日から数週間後までの全ての帰還日)、出発地及び目的地の地理的ゾーン、リクエストされた営業航空会社(リクエストされた都市ペアに対してあり得る航空会社の内1つ、複数又は全て)、利用可能な全ての予約コード、あらゆる旅客タイプ等。 This subsystem manages queries with a high degree of freedom instead of transactions used in reservation applications. This degree of freedom applies to: for example, date combinations (departure date for all days of a year and all return dates from the date of departure to several weeks later), geographical zone of origin and destination , The requested commercial airline (one, multiple or all of the possible airlines for the requested city pair), all available booking codes, any passenger type, etc.
このようなデータ計算にとって低レイテンシーは必須ではないので、タイムフレームはリアルタイムとは異なってもよい。したがって、処理及びリソース消費をより長いタイムフレームに亘って広げることができる。また、結果の返戻もタイムフレームに亘って広げられる。 Since low latency is not essential for such data calculations, the time frame may be different from real time. Thus, processing and resource consumption can be extended over longer time frames. The return of results is also extended over the time frame.
本発明の好適な実施形態においては、サブシステムは、リソースを動的にインスタンス化して大量のデータに対処できるバッチモデルに従って編成される。サブシステムは、グローバル問い合わせ分析に基づいてデータ処理の最適化を行う。また、サブシステムは汎用的であり拡張可能でもある。サブシステムに、異なるビジネスロジックを簡単にプラグインして、種々の顧客要件(プレショッピング、収益管理、料金分析)を満足させることができる。 In a preferred embodiment of the present invention, the subsystems are organized according to a batch model that can dynamically instantiate resources to handle large amounts of data. The subsystem optimizes data processing based on global query analysis. Also, the subsystem is general purpose and expandable. Different business logic can be easily plugged into the subsystem to satisfy various customer requirements (pre-shopping, revenue management, fee analysis).
本発明の好適な実施形態においては、サブシステム101は、1以上のマッシブマスター(Massive Master)103及び複数のマッシブワーカー(Massive Worker)105を有する。マッシブマスター103は問い合わせをグローバルに分析してから、最適化されたリクエストに分解する。そして、これらのリクエストは1以上のマッシブワーカーにより処理され、その結果が送信元のマッシブマスターにフィードバックされ、このマッシブマスターはマッシブワーカーからの結果を旅行ソリューションプラス価格にアセンブルする。
In a preferred embodiment of the present invention, the
図2を参照するに、システム(例えば、コンピュータ、予約サーバ、マッシブマスターサーバ、マッシブワーカーサーバー、データベース管理サブシステム、ルータ、ネットワークサーバ)の汎用コンピュータが符号250で示されている。コンピュータ250は、システムバス253に並列で接続された複数のユニットにより形成されている。詳しくは、1以上のマイクロプロセッサ256がコンピュータ250の動作を制御し;RAM259がマイクロプロセッサ256によりワーキングメモリとして直接的に使用され、ROM262がコンピュータ250のブートストラップ用の基本コードを格納する。周辺ユニットは、ローカルバス265の周りに(各々のインターフェースによって)クラスタされる。特に、マスメモリは、ハードディスク268とCD-ROM274を読み込むためのドライブ271とからなる。さらに、コンピュータ250は、入力装置277(例えば、キーボード及びマウス)及び出力装置280(例えば、モニタ及びプリンタ)を含む。コンピュータ250をネットワークに接続するのにネットワークインターフェースカード283が用いられる。ブリッジユニット286が、システムバス253とローカルバス265とのインターフェースをとる。各マイクロプロセッサ256及びブリッジユニット286は、情報伝送用のシステムバス253へのアクセスを要求するマスターエージェントとして作動することができる。アービタ289が、相互排他性を伴うシステムバス253へのアクセスの許可を管理する。システムが異なるトポロジを有する場合又は他のネットワークに基づいている場合にも、同様なことが言える。別の場合には、コンピュータは異なる構造を有するか、等価なユニットを含むか、又は他のデータ処理エンティティ(PDAや携帯電話等)で構成することもできる。
Referring to FIG. 2, a general purpose computer of the system (eg, computer, reservation server, massive master server, massive worker server, database management subsystem, router, network server) is indicated at 250. The
本発明の好適な実施形態においては、サブシステムは、問い合わせの関連する冗語(redundancies)を特定して無益な再処理を回避することを目的とする、グローバル分析を行う。処理において、冗長な問い合わせ部分をマージングすることは、リソース消費の点で及び処理中のデータへのアクセスの観点から効率的でなければならない。サブシステムは、同時に機能的要件及び技術的要件を満たす必要がある:即ち、顧客との間に確立したサービスレベルアグリーメントを遵守しなければならない一方(時間的制約、品質)、運用上の要件(リスティング管理、他のコンポーネントへの波及効果)も他方で遵守しなければならない。本発明の好適な実施形態のサブシステムは、以下2種類のサーバを含む。 In a preferred embodiment of the present invention, the subsystem performs a global analysis aimed at identifying relevant redundancies in the query to avoid useless reprocessing. In processing, merging redundant query parts must be efficient in terms of resource consumption and in terms of access to the data being processed. Subsystems need to meet functional and technical requirements at the same time, i.e. while complying with service level agreements established with customers (time constraints, quality), operational requirements ( Listing management, ripple effects on other components) must also be observed on the other side. The subsystem of a preferred embodiment of the present invention includes the following two types of servers.
即ち、入力及び出力を最適に管理するために必要とされるグローバルインテリジェンスをホスティングするマッシブマスター。
マッシブ計算プラットフォームにプラグインされた各プロダクトのビジネスロジックを実装するマッシブワーカー。
That is, a massive master that hosts the global intelligence needed to optimally manage inputs and outputs.
A massive worker that implements the business logic of each product plugged into the massive computing platform.
図3は、本発明の好適な実施形態によるプロセスのフローを示す。このグローバルフローは、並列に実行しうる次の6つのステップ/作業に分けることができる:
― 分割(SPLIT):ここでは、マッシブマスターが顧客問い合わせからの全ての単一リクエストを抽出する。
― 最適化(OPTIMIZATION):ここでは、リクエストをスマートにマージするために、マッシブマスターがグローバルに分析を行う。
― 割り当て(ASSIGNATION):ここでは、マッシブマスターがマッシブワーカーへリクエストをスマートに送る。
― 計算(COMPUTATION):ここでは、マッシブワーカーが最適化されたリクエストを処理する。
― ストリーミング(STREAMING):ここでは、マッシブワーカーが結果ボリュームを管理する。
― アグレゲーション(AGGREGATION):ここでは、マッシブマスターが顧客問い合わせに応じて結果をグループ分けする。
FIG. 3 illustrates a process flow according to a preferred embodiment of the present invention. This global flow can be divided into the following six steps / work that can be performed in parallel:
-Split (SPLIT): Here, the massive master extracts all single requests from customer inquiries.
-OPTIMIZATION: Here, the massive master performs a global analysis to merge requests smartly.
-ASSIGNATION: Here, the massive master sends a request smartly to the massive worker.
-COMPUTATION: Here, the massive worker handles the optimized request.
-Streaming: Here, a massive worker manages the result volume.
-Aggregation (AGGREGATION): Here the massive master groups the results according to customer inquiries.
各ステップは以下の段落で詳説する。 Each step is detailed in the following paragraphs.
図4は、分割操作、即ち顧客により受信された問い合わせから単一リクエストを抽出する操作を概略的に示している。分割操作は、問い合わせを単一リクエストに変換することからなる。単一リクエストは、自由度を有さないトランザクションに論理的に等価なものである:日付、地理、旅客、航空会社毎についての情報が設定されている状態。 FIG. 4 schematically shows a split operation, ie an operation for extracting a single request from an inquiry received by a customer. A split operation consists of converting a query into a single request. A single request is logically equivalent to a transaction with no degrees of freedom: information about date, geography, passenger, and airline.
入力管理モジュール401は顧客がポストした問い合わせのセットを検出する。ある時点で問い合わせが受信されなくなったら、以前に処理した一連の問い合わせを処理すると決定することもできる。これにより、顧客は所定の期間内(例えば、毎日)で問い合わせのセットをポストすることを強制されなくなる。入力管理ステップでは、各問い合わせの処理の頻度を決定することもできる:例えば、一日に一回又は一日に複数回。入力管理モジュール401は、入力ボリュームを処理するためにタスクのインスタンス化も決定する。次のステップのために必要とされるリソースは問い合わせ数及び顧客との間に確立されたタイムフレームに応じて評価される。これにより、制約された遅延の範囲で大規模なデータを計算できることが保証される。
The
入力チェックモジュール403は、構文的観点及び意味論的観点の双方から入力をチェックする。このステップはプロダクトに依存するため、異なるタイプの入力を管理するために異なるプラグインが追加される。新たなプロダクト又は新たなプロダクトバージョンのためには、新たなプラグインを追加する。
The
抽出モジュール405は、顧客が問い合わせの中で提供した意味論的情報から単一リクエストを抽出する。この抽出はプロダクトと顧客により提供された入力との双方に依存する。したがって、このステップはプラグ可能である。さらに、顧客の幾つかの機能的な制約に対してビジネスルールを適用することができる。
この文脈で適用されるビジネスルールの例:国内市場向け旅行のよりよい品質の可用性(例えば、航空会社へ可用性をポールすること)をリクエストすること。 Examples of business rules that apply in this context: requesting better quality availability of domestic market travel (eg polling availability to airlines).
図5は、最適化操作、即ち顧客のリクエストに対してグローバル分析を行うことを概略的に示している。一旦単一リクエストが生成されると、別の段階で、計算の最適化目的のために冗長部分のマージを行う。この操作は、下記に説明する複数のステップからなる。 FIG. 5 schematically illustrates an optimization operation, i.e. performing a global analysis on a customer request. Once a single request is generated, at another stage, redundant portions are merged for computational optimization purposes. This operation consists of a plurality of steps described below.
グローバル分析モジュール501は、単一リクエスト内の冗語を特定する。効率的な最適化のため、このステップは、グループ分けすべき最も関連性のある冗語を、各プロダクトごとに規定するプラグインに基づいている。
The
マージングモジュール503は、冗長処理を回避するために、単一リクエストをグループ分けする。複数のスマートマージングが可能である。グループ分けは、プロダクト特有のプラグイン最適化ルール及び顧客の機能的制約に適合するビジネスルールの双方に基づく。
The merging
ビジネスルールの例:リクエストのグループ分けは顧客の望む処理タイムフレームに基づく。国内市場のリクエストは、執務終了時間の後、即ち最後に可能な手動更新の後、に処理されなければならない。他方、他市場のリクエストは直ちに処理されることができる。 Business rule example: Request grouping is based on the processing timeframe desired by the customer. Domestic market requests must be processed after the end of work time, ie after the last possible manual update. On the other hand, requests from other markets can be processed immediately.
定期的に処理される問い合わせについては、生成される結果の主要部分は各プロセスにおいて同じものとなる。ヒューリスティックモデル505は、以前のプロセスで顧客に返されたものと同じ結果を生成するであろうリクエストを統計的に特定する。これらのリクエストは処理されない。このようにして不要な価格計算が削減される。このモジュールはリソース消費を節約する。もっとも、グローバル結果については高い水準の正確性が保証される。
For queries that are processed regularly, the main part of the results generated is the same in each process. The
図6は、割り当て操作、即ちリクエスト処理を駆動するものを概略的に示している。一旦第1のマージされたリクエストが生成されると、それは処理される。割り当て操作は、前述のステップと並行的に実行されながら、リクエストのマッシブワーカーへの配分をリソースに応じて駆動していく。この操作は、異なるモジュールにより実現される以下に説明する複数のステップからなる。リクエストプロバイダモジュール601は、マッシブワーカーへ送るべきリクエストを、リクエストを生成した問い合わせに応じて選択する。このモジュールの目的は、顧客に問い合わせの結果を順次に返すことを可能とするためである。問い合わせのグローバル結果を計算するために、リクエストが選択される。一旦問い合わせの結果が計算されると、別の問い合わせに相対的なリクエストが選択される。他の選択基準としては、各マージされたリクエストについて承認されている処理タイムフレームがある。例えば、一部のリクエスト処理は、執務時間終了後は遅延される。これにより、結果計算に用いられたデータに対しての最後の手動更新も参照される。
FIG. 6 schematically shows an allocation operation, ie, what drives the request processing. Once the first merged request is generated, it is processed. The allocation operation is executed in parallel with the above-described steps, and drives the allocation of requests to the massive workers according to the resources. This operation consists of a plurality of steps described below realized by different modules. The
ペーシング及び優先順位モジュール603は、過負荷状態を回避することにより利用可能リソースに応じてマッシブワーカーの活性を制御する。またそれは、処理されるべきリクエスト間での優先順位も管理する。例えば、問い合わせのセットがファストトラック(Fast Track)モードでリクエストされた場合、それは標準的な問い合わせのセットより高い優先順位で処理される必要がある。このような問い合わせの計算のために、より多くのリソースが専属的に割り当てられる。
The pacing and
マッシブワーカーターゲッター(targeter)モジュール605は、リクエストが処理されるべきマッシブワーカーファーム(farm)を選択する。この選択は、技術的な観点(マッシブワーカーのリソース利用可能状況)及び機能的な観点(一部の市場・プロダクト・顧客に特化しているマッシブワーカーファームがあること)の双方に基づく。
A massive
図7は料金計算操作、即ちビジネスロジックを概略的に示している。マッシブワーカーは、本発明の好適な実施形態による方法により、全てのプロダクトのビジネスロジックを実装する。 FIG. 7 schematically shows a charge calculation operation, that is, business logic. The massive worker implements the business logic of all products by the method according to the preferred embodiment of the present invention.
リクエスト解読モジュール701がマッシブマスターにより提供された最適化されたリクエストを解読する。この処理は、GDS中に既に存在している異なるモジュールをコールすることにより駆動される。コールされるモジュールとコールを行う順序はプロダクトに依存する。各コールされたモジュールは、各プロダクトに特有の適用可能プラグインに基づいている。
A
旅行処理モジュール703は、リクエストのフライトソリューションの計算を実施する。同モジュールは、リクエスト内で提供される日付、地理及びオプション情報から旅行の組合せを特定することを担当している。旅行処理は、最新の更新データに依存している。
The
可用性処理モジュール705は旅行ソリューションの可用性をチェックすることを実施する。より良い品質水準を得るために、リクエストを直接航空会社に処理させてより最新のデータに依拠することができる。 The availability processing module 705 implements checking the availability of the travel solution. To obtain a better quality level, the request can be processed directly by the airline and relied on more current data.
料金エンジン処理モジュール707は、リクエストに対してあり得るソリューションの価格計算を、リクエスト内で与えられる情報及びオプションに従って、実施する。よりよいソリューションのみがリクエストされている場合、同モジュールは価格比較を行い、最善のもののみを保持する。
The charge
図8は、ストリーミング操作、即ち生の結果を管理することを概略的に示している。計算により生成された膨大なボリュームを管理するためには、操作は、マッシブマスターとの通信及び結果の格納の双方についての最適化を要する。下記に説明するマッシブマスター上の複数のモジュールがこの最適化を可能とする。 FIG. 8 schematically shows a streaming operation, ie managing raw results. In order to manage the enormous volume generated by the calculation, the operation requires optimization for both communication with the massive master and storage of results. Several modules on the massive master, described below, enable this optimization.
圧縮モジュール801は、結果のサイズを減少させ、それによりマッシブワーカーとマッシブマスター間の通信ボリュームを減少させる。また、格納されるデータのボリュームも減少する。この操作は処理リソースを消費するため、通信及び格納資源についての利得が有意である場合のみに同操作は適用される。
The
分割/バッファリングモジュール803もリソース消費量の最適化を可能とする。
The division /
生成結果の結果ボリュームが大きすぎる場合、それは複数のバンドルに分割される。このようにしてマッシブマスターとデータストレージ間の通信が同時的に行われる。 If the resulting volume of the generated result is too large, it is split into multiple bundles. In this way, communication between the massive master and the data storage is performed simultaneously.
結果のボリュームが少なすぎる場合、マッシブマスターによる管理にふさわしいものとなるまでバッファされる。通信はより効率的になる。なぜならば、ある程度のボリュームを処理する格納モジュールが若干数のみ必要であるにすぎないからである。 If the resulting volume is too low, it is buffered until it is suitable for management by the massive master. Communication becomes more efficient. This is because only a few storage modules are needed to handle a certain volume.
マッシブマスターターゲッター805はマッシブマスターを選択する。この選択は、技術的な観点(マッシブマスターにおけるリソース可用性)及び機能的な観点(一部の市場・プロダクト・顧客に特化しているマッシブワーカーファームがあること)の双方に基づく。
The
図9は、アグレゲーション操作、即ち顧客入力を管理することを概略的に示している。
問い合わせの結果が生成され次第、それらはアグレゲートされて顧客に適切なフォーマットで送り返される必要がある。
FIG. 9 schematically illustrates the management of aggregation operations, ie customer input.
As query results are generated, they need to be aggregated and sent back to the customer in the proper format.
結果をアグレゲートモジュール901は、マッシブワーカーからの生の結果を価格オリエンテッドな結果に変換する。結果は、顧客の問い合わせに応じてアグレゲートされる:顧客は自己の質問への回答を得るのであって、混沌とした結果を得るのではない。例えば、顧客が特定の市場についての、幾つかの選択肢を伴う、一年を通しての出発日についての、ソリューションを問い合わせの中でリクエストしていた場合、回答においては、問い合わせに含まれた全ての選択肢及び全ての出発日に対応する全てのソリューションがアグレゲートされる。各プロダクト及び各顧客について、プラグインが期待されるフォーマットを定義する。
The result
Diffモジュール903は、前回の処理時以降に変化のあった結果を選択する諸価格パッケージングオプションである。新たな、更新された又は減額された結果のみが顧客に送り返される。製品に応じた差別化基準がプラグインにより定義される。このオプションにより、GDSと顧客間で効率的なネットワークトランスファーが可能となる。また、より少ないボリュームを管理するだけで良いので、顧客システムの負荷が低下する。
The
圧縮及び暗号化モジュール905は、送り返されるボリュームを削減して結果のコンフィデンシャリティーを保証することによって、効率的かつセキュアなネットワークトランスファーを可能とする。
The compression and
トリクリング(trickling)リターンモジュール907は、処理された問い合わせのグローバル結果をグルーピングすることによって定期的にトランスファーを行う。これにより、リターンは長時間に亘って広げられる。
A trickling
結果のボリュームがマッシブであるため、プレショッピング又は収益管理システムに結果を統合することについて、顧客は処理の終了を待つことはできない。したがって、処理の開始から数分後から、初期の結果が生成されて送り返される。トランスファーは処理時間に亘って広げられる。これにより、結果は徐々に顧客のプレショッピング又は収益管理システムに統合されていくことができる。 Because the resulting volume is massive, customers cannot wait for the end of the process to integrate the results into a pre-shopping or revenue management system. Therefore, an initial result is generated and sent back several minutes after the start of processing. The transfer is spread over the processing time. This allows results to be gradually integrated into the customer's pre-shopping or revenue management system.
使用例
例1:プレショッピングシステムのためのプロダクト
プレショッピングシステムへの入力に特化したプロダクトを考えてみよう。そのようなものは、指定された都市ペア及び航空会社をマッチする各フライトソリューションについて、全ての出発日及び滞在期間についての最低価格を計算する。計算は、中間タリフパブリシャーにより自動的にGDSへ申請された全データに基づく。フライトに残席がある場合にのみ、レコメンデーションが返送される。席の残存数を確認するのには多くのリソースが消費されるため、この操作は、顧客のパートナーが航空会社の場合の問い合わせに限定される。
Example of use
Example 1: Product for a pre-shopping system Consider a product that specializes in input to a pre-shopping system. Such calculates the lowest price for all departure dates and length of stay for each flight solution that matches a specified city pair and airline. Calculations are based on all data automatically submitted to GDS by intermediate tariff publishers. Recommendations will only be returned if there are seats remaining on the flight. This operation is limited to inquiries when the customer's partner is an airline, as many resources are consumed to determine the number of remaining seats.
単一リクエストを作成することにより、分割モジュールは、ビジネスルールのおかげで、リクエストについてのパートナーを特定できるようになり、それらのリクエストをフラグしておいて座席残存チェックを可能とすることができる。 By creating a single request, the split module can identify partners for the request, thanks to business rules, and can flag those requests to allow for a seat check.
最適化モジュールは、旅行リクエストをマージして、日付組合せによる冗長性を防止する。マージ操作では、プロダクトに固有な料金エンジンの処理についての最適化を考慮するプラグインを用いる。 The optimization module merges trip requests to prevent redundancy due to date combinations. The merge operation uses a plug-in that takes into account the optimization of the processing of the price engine specific to the product.
例2:収益管理システムのためのプロダクト
収益管理システムへの入力に特化したプロダクトを考えてみよう。そのようなものは、指定された市場をマッチする各フライトソリューションについて、全ての出発日、滞在期間、早期購入条件及び予約ブッキングコード(Reservation Booking Code、以下RBDという。)についての最低価格を計算する。RBDは、旅行の全行程において同じものが使われなければならない。計算は、中間タリフパブリシャーにより自動的にGDSへ申請された全データに基づく。出発日が45日後以内であるリクエストの計算は、営業時間中に顧客により手動でGDSに申請されたデータ全てに基づく。
Example 2: Product for a revenue management system Consider a product specializing in input to a revenue management system. Such will calculate the minimum price for all departure dates, length of stay, early purchase conditions and Reservation Booking Code (RBD) for each flight solution that matches the specified market. . The same RBD must be used throughout the journey. Calculations are based on all data automatically submitted to GDS by intermediate tariff publishers. The calculation of requests with a departure date within 45 days is based on all data manually submitted to GDS by the customer during business hours.
最適化モジュールは、日付の組合せと早期購入とをバンドル化して、旅行ソリューションの計算を最適化する。マージを行う時点において、同モジュールは、ビジネスルールを適用して、45日後以内の出発日を持つリクエストを分離する。これらについての処理は、GDSに申請された手動更新を取り込むために、営業時間後まで遅延される。料金計算モジュールは、特化した旅行処理プラグインを使用して、フライトソリューションに正しいRBDを返送する。プロダクトはショッピング又はプレショッピングに限定されていないので、可用性処理プラグインは使われない。 The optimization module bundles date combinations and early purchases to optimize the calculation of the travel solution. At the time of merging, the module applies business rules to isolate requests with departure dates within 45 days. Processing for these will be delayed until after business hours in order to capture manual updates submitted to GDS. The fare calculator module uses a specialized travel processing plug-in to return the correct RBD to the flight solution. Since the product is not limited to shopping or pre-shopping, the availability processing plug-in is not used.
このプロダクトは、最適化されたリクエストとして、(日付、早期予約、RBDの組合せに起因する)数千の結果を返送するため、ストリーミングモジュールは、マッシブワーカー上で生の結果の分割を行う。 Since this product returns thousands of results (due to a combination of date, early booking, RBD) as an optimized request, the streaming module will split the raw results on the massive worker.
上述した方法は、図10でも説明される。方法は黒丸1001において開始され、ボックス1003へと進み、旅行問い合わせがシステムにより受信される。このような問い合わせは、旅行可用性、料金、時刻又は予約の完了に必要ではない一般的な事柄等についての情報、即ちプレショッピング情報を求めているユーザにより発せられる。本発明の好適な実施形態においては、問い合わせを受信する及びユーザーからの問い合わせを満足させるためのデータベースへの問い合わせを行う、システムは、実際の予約システムとは別個のものであるが、当業者ならこの2つのシステム(プレショッピング及び予約)は統合され得るものであることを理解するであろう。一旦旅行問い合わせが受信されると、制御はボックス1005へと戻り、問い合わせの前処理が行われる。前処理をコールする時点又は前処理の開始をトリガーするイベントは、複数のファクターに基づくことができ、システムアドミニストレータ又は個々のユーザ達によってカスタマイズ可能でさえある。例えば、前処理は所定の時間間隔毎(例えば、毎日又は毎時の終了時)に行われることができる、または、臨界件数となる問い合わせを受信した際若しくは最大キャパシティに達した場合に自動的に行うことができる、または、アドミニストレータ又はユーザによりリクエストされることができる。本発明の好適な実施形態によれば旅行問い合わせの前処理は、問い合わせを単純なリクエスト要素(図3では単一リクエストともいう。)に分解するグローバル分析を伴い、これによりデータベースへの問い合わせが最適化される。本発明の好適な実施形態では、各問い合わせはマッシブマスター(前処理モジュール)により分析されて、1以上の単純なリクエスト要素が抽出される。その後、これらの単純なリクエスト要素は冗長を回避するために、図5に関して述べたように複数のファクター及びビジネスルールを考慮した所定の基準に従って、再整理され、サブセット(図3では最適化されたリクエストともいう。)に整理(分割)される。この前処理は、全ての旅行問い合わせが前処理されるまで続行される(ステップ1700)。一旦リクエストが最適化されると、マッシブマスターは各サブセットを適切なマッシブワーカーに割り当てて、リクエストを正しいマッシブワーカーに転送する(ステップ1009)。その後、各マッシブワーカーは、ユーザのリクエストを満たすために、例えば旅行料金、旅行可用性等について、データベースに対して問い合わせを行う。問い合わせについての結果が収集され、マッシブマスターに返送されて、返答を発することにより、結果が旅行問い合わせを提出したユーザに提供される(ステップ1011)。本発明の好適な実施形態では、結果は、ユーザにこれが提供される前に、上述したようにマッシブマスターによりアグレゲートされる。その後、処理は、ステップ1013で終了する。図10を参照して説明した上記例においては、方法を行うシステムは、1つのマッシブマスターと複数のマッシブワーカーを有しているが、他の態様も可能である。例えば、並列に機能する1より多いマッシブマスターの場合や1つのマッシブワーカーが複数のサブセットを処理する場合等。また、マッシブワーカー及びマッシブマスターは異なる物理マシンに必ずしも対応する必要はなく、同一のシステム上で機能しているアプリケーションであってもよい。
The method described above is also illustrated in FIG. The method begins at
本開示の範囲から逸脱せずに、上記に対して修正及び変更を加えることができるものと理解される。ローカルな及び具体的な要求を充足するため、当然に、当業者は、上述のソリューションに対して、多数の変更及び修正を加えることができる。本開示では好適な実施形態を参照して一定程度の具体性をもって説明したが、殊に、形式及び詳細についての様々な省略、置換及び変更並びに他の実施形態が可能であり、また、本開示で開示される実施形態との関係で説明される具体的な要素及び/又は方法のステップを他の任意の実施形態に組み込めると、デザイン選択の一般的事項として、明示的に意図されている。 It will be understood that modifications and changes may be made to the above without departing from the scope of the present disclosure. Of course, one of ordinary skill in the art can make numerous changes and modifications to the above solution to meet local and specific requirements. Although the present disclosure has been described with a certain degree of specificity with reference to preferred embodiments, various omissions, substitutions, and changes in form and detail, and other embodiments are possible, and the present disclosure It is expressly intended as a general matter of design choice that the specific elements and / or method steps described in connection with the embodiments disclosed in may be incorporated into any other embodiments.
同様の考察は、(本開示の各実施形態を実装するのに用いることができる)プログラムが異なる手法で構築された場合又は追加のモジュール又は機能が提供された場合にも妥当し;同様に、メモリ構造は他のタイプであることができ、又は(必ずしも物理的格納媒体ではない)等価なエンティティと置換されることもできる。さらに、提示されるソリューションは(類似の又は追加のステップを含み、順序を異にさえする)等価な方法により実装されることにも適している。いずれの場合であれ、プログラムは、外部若しくは常駐ソフトウェア、ファームウェア又はマイクロコード(オブジェクトコード又はソースコード)等のデータ処理システムによって又はそれと関連して使用されることについて適している。さらに、プログラムは任意のコンピュータ使用可能媒体上で提供されることができ、媒体はプログラムを含む、格納する、伝達する、伝播させる又は移転させるために適した任意の要素であることができる。このような媒体の例としては、(プログラムを予めロードしておける)固定ディスク、脱着可能ディスク、テープ、カード、ワイヤ、ファイバ、ワイヤレス接続、ネットワーク、放送波等があり;例えば媒体は電子的、磁気的、光学的、電磁気的、赤外線又は半導体のタイプのものであることができる。 Similar considerations apply if the program (which can be used to implement each embodiment of the present disclosure) is constructed in a different manner or if additional modules or functions are provided; The memory structure can be of other types or can be replaced by an equivalent entity (not necessarily a physical storage medium). Furthermore, the presented solution is also suitable to be implemented in an equivalent way (including similar or additional steps and even out of order). In any case, the program is suitable for use by or in connection with a data processing system such as external or resident software, firmware or microcode (object code or source code). Further, the program can be provided on any computer usable medium, and the medium can be any element suitable for storing, transmitting, propagating, or transferring including the program. Examples of such media include fixed disks (which can be pre-loaded with a program), removable disks, tapes, cards, wires, fibers, wireless connections, networks, broadcast waves, etc .; It can be of the magnetic, optical, electromagnetic, infrared or semiconductor type.
いずれの場合であれ、本開示によるソリューションは、ハードウェア構造(例えば、チップ又は半導体材料に統合されたもの)又はソフトウェアとハードウェアの組合せによる実行に適している。 In any case, the solution according to the present disclosure is suitable for execution by a hardware structure (eg, integrated into a chip or semiconductor material) or a combination of software and hardware.
Claims (12)
前記計算サブシステムが、各旅行問い合わせがユーザに関連付けられている複数の旅行問い合わせを受信するステップと、
前記計算サブシステムが、前記複数の旅行問い合わせを前処理するステップであって、
各問い合わせから少なくとも1つの単純なリクエスト要素を抽出するステップと、
少なくとも1つのパラメータに応じて前記複数のリクエスト要素をソートするステップと、
同じ前記少なくとも1つのパラメータに対して同じ選好情報を含んでいるリクエスト要素が1つより多くある場合に、重複しているリクエスト要素を削除するステップと、
前回の計算と同じ結果を生成しそうなリクエスト要素を統計的に特定して、当該リクエスト要素をさらに処理しないステップと、
前記複数の残りのリクエスト要素を、所定の基準に従ってサブセットに、分割するステップと
を含む、前処理するステップと、
前記計算サブシステムが、リクエスト要素の各サブセットを、前記複数のデータベースに問い合わせる前記リクエスト要素を実行する処理モジュールへ、転送するステップと、
前記計算サブシステムが、前記処理モジュールからの結果を収集して、各旅行問い合わせについてユーザへ応答を発するステップと
を含む、方法。 A method for pre-calculating travel solutions priced in response to unbound travel queries in a reservation system, wherein the reservation system is organized according to a batch model and includes a calculation subsystem including a processing module, the reservation system Has access to a plurality of travel databases containing information relating to travel availability and prices in response to a plurality of parameters, each travel query includes a set of preference information, wherein each preference information is the plurality of parameters In relation to a parameter selected from:
The computing subsystem receives a plurality of travel queries in which each travel query is associated with a user;
The computing subsystem pre-processing the plurality of travel queries;
Extracting at least one simple request element from each query;
Sorting the plurality of request elements according to at least one parameter;
Removing duplicate request elements when there are more than one request elements containing the same preference information for the same at least one parameter;
Statistically identifying request elements that are likely to produce the same results as the previous calculation, and not further processing the request elements;
Pre-processing, comprising: dividing the plurality of remaining request elements into subsets according to predetermined criteria;
The computing subsystem forwards each subset of request elements to a processing module that executes the request elements that query the plurality of databases;
The computing subsystem collecting results from the processing module and issuing a response to the user for each travel query.
をさらに含む、請求項5に記載の方法。 For each request element result, the processing module selects one of a plurality of pre-processing modules as the result to be forwarded for aggregation and sending the response to the user. The method of claim 5, further comprising:
前記相違モジュールが前記処理モジュールから、前回の計算から変化した前記結果を収集するステップと、The difference module collects from the processing module the results that have changed since the previous calculation;
前記ユーザに前記変化した結果のみをユーザに送り返すステップと、Sending back only the changed result to the user;
を含む、請求項1〜9のいずれか1項に記載の方法。10. The method according to any one of claims 1 to 9, comprising:
A data processing system for managing pre-shopping travel queries, the data processing system having access to a plurality of travel databases containing information on travel availability and rates according to a plurality of parameters, each 11. The travel query includes a set of preference information, each preference information is associated with a parameter selected from the plurality of parameters, and the system performs the method of any one of claims 1-10. A system comprising one or more components adapted to do so.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP11305518A EP2521074A1 (en) | 2011-05-02 | 2011-05-02 | Method and system for an improved reservation system optimizing repeated search requests |
| EP11305518.0 | 2011-05-02 | ||
| PCT/EP2012/056081 WO2012150102A1 (en) | 2011-05-02 | 2012-04-03 | Method and system for an improved reservation system optimizing repeated search requests |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014517382A JP2014517382A (en) | 2014-07-17 |
| JP5841240B2 true JP5841240B2 (en) | 2016-01-13 |
Family
ID=44544108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014508725A Active JP5841240B2 (en) | 2011-05-02 | 2012-04-03 | Method and system for an improved reservation system that optimizes repeated search requests |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US20120284062A1 (en) |
| EP (1) | EP2521074A1 (en) |
| JP (1) | JP5841240B2 (en) |
| KR (1) | KR101914319B1 (en) |
| CN (1) | CN103493076B (en) |
| AU (1) | AU2012251861B2 (en) |
| BR (1) | BR112013024114A2 (en) |
| CA (1) | CA2828767A1 (en) |
| SG (1) | SG193899A1 (en) |
| WO (1) | WO2012150102A1 (en) |
| ZA (1) | ZA201306725B (en) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2500856A1 (en) | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for providing a session involving a plurality of software applications |
| EP2500848A1 (en) | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for centralized reservation context management on multi-server reservation system |
| US9235620B2 (en) | 2012-08-14 | 2016-01-12 | Amadeus S.A.S. | Updating cached database query results |
| EP2541473A1 (en) | 2011-06-27 | 2013-01-02 | Amadeus S.A.S. | Method and system for a pre-shopping reservation system with increased search efficiency |
| US8615422B1 (en) * | 2011-11-10 | 2013-12-24 | American Airlines, Inc. | Airline pricing system and method |
| EP2908255B1 (en) | 2014-02-13 | 2018-07-25 | Amadeus S.A.S. | Increasing search result validity |
| US10354206B2 (en) * | 2014-10-02 | 2019-07-16 | Airbnb, Inc. | Determining host preferences for accommodation listings |
| SG10201704879XA (en) * | 2016-06-21 | 2018-01-30 | Amadeus Sas | Data warehouse for mining search query logs |
| CN106919638A (en) * | 2016-07-14 | 2017-07-04 | 阿里巴巴集团控股有限公司 | Data persistence processing method, apparatus and system |
| US12332883B2 (en) * | 2017-03-06 | 2025-06-17 | Yahoo Assets Llc | Method and system for query optimization |
| US11341137B1 (en) | 2020-12-04 | 2022-05-24 | Amadeus S.A.S. | Processing search requests |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5495606A (en) | 1993-11-04 | 1996-02-27 | International Business Machines Corporation | System for parallel processing of complex read-only database queries using master and slave central processor complexes |
| US5778364A (en) * | 1996-01-02 | 1998-07-07 | Verity, Inc. | Evaluation of content of a data set using multiple and/or complex queries |
| US5822747A (en) * | 1996-08-23 | 1998-10-13 | Tandem Computers, Inc. | System and method for optimizing database queries |
| US5819255A (en) * | 1996-08-23 | 1998-10-06 | Tandem Computers, Inc. | System and method for database query optimization |
| US6360205B1 (en) * | 1998-10-30 | 2002-03-19 | Trip.Com, Inc. | Obtaining and utilizing commercial information |
| US6772150B1 (en) * | 1999-12-10 | 2004-08-03 | Amazon.Com, Inc. | Search query refinement using related search phrases |
| US7136821B1 (en) * | 2000-04-18 | 2006-11-14 | Neat Group Corporation | Method and apparatus for the composition and sale of travel-oriented packages |
| JP2002073756A (en) * | 2000-08-29 | 2002-03-12 | Casio Comput Co Ltd | Travel guide providing device, travel guide providing system, and program recording medium thereof |
| JP2003178096A (en) * | 2001-12-10 | 2003-06-27 | Sony Corp | Information retrieval method, network system, and information processing device |
| US6801905B2 (en) * | 2002-03-06 | 2004-10-05 | Sybase, Inc. | Database system providing methodology for property enforcement |
| US20040078251A1 (en) * | 2002-10-16 | 2004-04-22 | Demarcken Carl G. | Dividing a travel query into sub-queries |
| US20050108069A1 (en) * | 2003-11-18 | 2005-05-19 | Tomer Shiran | System and a method for prefetching travel information |
| US8078483B1 (en) * | 2003-12-16 | 2011-12-13 | Ticketmaster | Systems and methods for queuing access to network resources |
| JP2006053779A (en) * | 2004-08-12 | 2006-02-23 | Nippon Telegr & Teleph Corp <Ntt> | Information service support apparatus and information service support method |
| MX2007011675A (en) * | 2005-03-22 | 2008-11-04 | Ticketmaster | Apparatus and methods for providing queue messaging over a network. |
| JP2007042011A (en) * | 2005-08-05 | 2007-02-15 | Hitachi Ltd | Business system management apparatus and method |
-
2011
- 2011-05-02 EP EP11305518A patent/EP2521074A1/en not_active Withdrawn
- 2011-05-20 US US13/113,008 patent/US20120284062A1/en not_active Abandoned
-
2012
- 2012-04-03 KR KR1020137028331A patent/KR101914319B1/en active Active
- 2012-04-03 AU AU2012251861A patent/AU2012251861B2/en not_active Ceased
- 2012-04-03 BR BR112013024114A patent/BR112013024114A2/en not_active IP Right Cessation
- 2012-04-03 JP JP2014508725A patent/JP5841240B2/en active Active
- 2012-04-03 CN CN201280019606.9A patent/CN103493076B/en active Active
- 2012-04-03 CA CA2828767A patent/CA2828767A1/en not_active Abandoned
- 2012-04-03 WO PCT/EP2012/056081 patent/WO2012150102A1/en not_active Ceased
- 2012-04-03 SG SG2013066725A patent/SG193899A1/en unknown
-
2013
- 2013-09-06 ZA ZA2013/06725A patent/ZA201306725B/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| EP2521074A1 (en) | 2012-11-07 |
| US20120284062A1 (en) | 2012-11-08 |
| BR112013024114A2 (en) | 2016-12-13 |
| CN103493076B (en) | 2017-10-24 |
| CN103493076A (en) | 2014-01-01 |
| AU2012251861B2 (en) | 2015-01-22 |
| CA2828767A1 (en) | 2012-11-08 |
| KR101914319B1 (en) | 2018-11-01 |
| JP2014517382A (en) | 2014-07-17 |
| WO2012150102A1 (en) | 2012-11-08 |
| SG193899A1 (en) | 2013-11-29 |
| KR20140025416A (en) | 2014-03-04 |
| AU2012251861A1 (en) | 2013-04-11 |
| ZA201306725B (en) | 2014-05-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5841240B2 (en) | Method and system for an improved reservation system that optimizes repeated search requests | |
| Ota et al. | Stars: Simulating taxi ride sharing at scale | |
| EP2842085B1 (en) | Database system using batch-oriented computation | |
| Lu et al. | Integrating order review/release and dispatching rules for assembly job shop scheduling using a simulation approach | |
| CN108446975B (en) | Quota management method and device | |
| EP2541473A1 (en) | Method and system for a pre-shopping reservation system with increased search efficiency | |
| US20050060237A1 (en) | Request type grid computing | |
| Durgadevi et al. | Resource allocation in cloud computing using SFLA and cuckoo search hybridization | |
| US10346784B1 (en) | Near-term delivery system performance simulation | |
| WO2001016837A2 (en) | Apparatus and method for creating a marketing initiative | |
| CN110969278A (en) | Intelligent forecasting of spare part package | |
| CN112102099A (en) | Policy data processing method and device, electronic equipment and storage medium | |
| KR20210085863A (en) | Device and Method for Group Purchase of Raw Materials in Cloud System | |
| US20160125069A1 (en) | Dynamic database object management | |
| US10769691B2 (en) | Method and computer program product for automated generation and assembly of proposal elements | |
| SG192156A1 (en) | "method and system for processing data for database modification" | |
| CN111460309B (en) | Information searching method and device and electronic equipment | |
| Han et al. | Yield management with downward substitution and uncertainty demand in semiconductor manufacturing | |
| Selvaraj et al. | Offline-to-Online Service and Big Data Analysis for End-to-end Freight Management System. | |
| US20200097907A1 (en) | Optimization of batch requests | |
| KR102432240B1 (en) | Appratus and method for determining user class | |
| Sharma et al. | A highly reliable and cost-effective service model for finite population clouds: Analysis and implementation | |
| WO2014050257A1 (en) | Granularity management device and granularity management method for anonymized data | |
| US20160358228A1 (en) | Computing system that manages presentation of electronic content | |
| Ardagna et al. | Joint optimization of hardware and network costs for distributed computer systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141128 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150406 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20150831 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150902 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151019 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151112 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5841240 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |