JP2015520445A - バッチ指向型の計算を用いるデータベースシステム - Google Patents
バッチ指向型の計算を用いるデータベースシステム Download PDFInfo
- Publication number
- JP2015520445A JP2015520445A JP2015507610A JP2015507610A JP2015520445A JP 2015520445 A JP2015520445 A JP 2015520445A JP 2015507610 A JP2015507610 A JP 2015507610A JP 2015507610 A JP2015507610 A JP 2015507610A JP 2015520445 A JP2015520445 A JP 2015520445A
- Authority
- JP
- Japan
- Prior art keywords
- platform
- search
- recalculation
- database query
- travel
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 191
- 238000012545 processing Methods 0.000 claims abstract description 106
- 230000015654 memory Effects 0.000 claims abstract description 93
- 238000000034 method Methods 0.000 claims description 121
- 230000004044 response Effects 0.000 claims description 57
- 238000003860 storage Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 description 49
- 230000008569 process Effects 0.000 description 42
- 230000010006 flight Effects 0.000 description 36
- 238000004458 analytical method Methods 0.000 description 29
- 238000013459 approach Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 13
- 238000007781 pre-processing Methods 0.000 description 13
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003203 everyday effect Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000001737 promoting effect Effects 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010923 batch production Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、広くは、大量のデータセットを、エンドユーザ・コンピュータなどのクライアント、顧客が、例えばウェブポータル、または他の照会エンティティで利用できるようにするために構成された情報処理システムに関する。基礎となる大量データに基づく計算を要するデータベースクエリに対処できるように、一般に、予想されるクエリに対応するデータベースクエリ結果が事前計算されて、事前計算済みデータベースクエリ結果への高速アクセスを可能とするメモリに保存される。実際に発生したクエリへの応答では、事前計算済み結果が、照会エンティティに返される。
計算プラットフォーム
図2は、計算プラットフォーム2の実施例を示しており、これは、本発明の計算プラットフォームの一例による、フライトと価格についての大規模な計算に専用のものである。そのデータ処理は、予約専用のショッピング・トラフィックから切り離されている。
入力と出力を最適に管理するために必要なグローバル情報収集のホストとなる大規模マスタ20。
計算プラットフォーム2に組み込まれた各プロダクトのビジネスロジックを実施する大規模ワーカ22。
− 分割:大規模マスタ20によって、顧客クエリから、すべてのユニタリ要求を抽出する。
− 最適化:大規模マスタ20によって、スマートな要求マージのためのグローバル解析を実行する。
− 割り当て:大規模マスタ20によって、スマートに、要求を大規模ワーカに振り向ける。
− 計算:最適化された要求を、大規模ワーカ22によって処理する。
− ストリーミング:大規模ワーカ22によって、結果ボリュームを管理する。
− 集約:大規模マスタ20によって、結果を顧客クエリに従ってグループ化する。
例1:プレショッピングシステム用のプロダクト。
以下、プレショッピングシステムを提供する専用のプロダクトについて考える。これは、指定された都市ペアおよび航空会社と一致するフライトソリューションのそれぞれについて、往航日と滞在期間のすべての組み合わせに関して最安の適用価格を計算するものである。その計算は、運賃表発行機関を介してGDSに自動的に提出されるすべてのデータに依拠する。リコメンデーションは、そのフライトに空席がある場合にのみ、返される。空席状況をチェックすることは、大量のリソースを消費するため、このオペレーションは、航空会社としてパートナを含む顧客のクエリに対してのみ実行される。ユニタリ要求を生成することにより、分割モジュールは、ビジネスルールによって要求の中のパートナを識別することが可能であり、それらの要求に対して、「空席状況チェック」を有効にするためのフラグを設定する。最適化モジュールによって、期日の組み合わせによる冗長を防ぐように、旅行要求をマージする。マージオペレーションでは、本プロダクトに固有の運賃エンジンプロセスの最適化を考慮したプラグインを使用する。
以下、収益管理を提供する専用のプロダクトについて考える。これは、指定された市場と一致するフライトソリューションのそれぞれについて、往航日、滞在期間、事前購入条件、および予約コード(以下、RBD)のすべての組み合わせに関して最安の適用価格を計算するものである。旅行全体に、同じRBDが使用されなければならない。その計算は、運賃表発行機関を介してGDSに自動的に提出されるすべてのデータに依拠する。今から45日以内の往航日の要求の計算は、1日のオフィス営業時間中に顧客によってGDSに手動で提出されるすべてのデータに依拠する必要がある。最適化モジュールは、期日の組み合わせおよび事前購入を束ねることで、旅行ソリューションの計算を最適化する。マージする際に、今から45日以内の往航日の要求を分離するためのビジネスルールを適用する。それらの処理は、GDSに提出される手動更新を考慮して、顧客のオフィス閉鎖後に遅延される。運賃計算モジュールは、フライトソリューションのRBDを返す専用の旅行処理プラグインを使用する。プロダクトがショッピングまたはプレショッピング・ビジネスに専用のものではないため、アベイラビリティ処理プラグインは使用されない。本プロダクトは、(期日、事前購入、およびRBDの組み合わせにより)最適化された要求ごとに数千件の結果を生成するので、ストリーミングモジュールは、大規模ワーカにおいて生の結果の分割を実行する。
− 複数の旅行クエリを受け取ることであって、各旅行クエリは、あるユーザに関連付けられる、複数の旅行クエリを受け取ることと、
− 複数の旅行クエリを前処理することであって、前処理は、
− 各クエリから少なくとも1つの単純な要求要素を抽出することと、
− 少なくとも1つのパラメータに従って、複数の要求要素をソートすることと、
− 少なくとも1つの同じパラメータについて、複数の要求要素が同じプリファレンスを含む場合に、重複する要求要素を削除することと、
− 所定の基準に従って、複数の要求要素をサブセットに分割することと、を含む、前処理を実行することと、
− 複数のデータベースに問い合わせする要求要素を実行する処理モジュールに、要求要素の各サブセットを伝送することと、
− 処理モジュールから結果を収集して、それぞれの旅行クエリへの応答をユーザに対して発行することと、を含む。
− それぞれの要求要素の結果について、それを集約して、ユーザへの応答を発行するために、処理モジュールは、複数の前処理モジュールのうちの1つを選択して、それに対して、その結果を伝送すること、を含む。
一実施例では、本検索プラットフォーム3は、事前計算済み航空旅行価格を保存することを目的とし、いくつかの利点を提供する。しかしながら、他の種類のアプリケーション、およびユーザによる利用が可能にされるべきデータも想定される。留意すべきことは、本明細書に記載の検索プラットフォームの技術的特徴は、検索プラットフォームで保持されるデータの種類およびその内容によって左右もしくは限定されるものではないということである。
− 旅行検索効率:検索トランザクションの達成可能な応答時間は、その複雑さにかかわらず(無指定の目的地、年間全体の検索、など)、数十ミリ秒である。
− 旅行データ更新効率:更新によるストレージ全体に対する影響は限定されており、これにより、新規データを即座に利用可能とする継続的な更新が可能となる。
− 旅行データ保存効率:データは、多くのカタログで共通している場合に、ファクタライズすることが可能であり、これにより、ストレージコストがさらに削減される。
これによって、耐え得るコストで、高品質のプレショッピング旅行リコメンデーションを維持することが可能である。検索プラットフォーム3は、再計算が必要な旅行価格を検出するための各種エンジンを有する。これにより、ハードウェアリソースを節約するように、部分的な再計算を駆動することが可能である。節約されたリソースは、他の再計算に再投入することができ、これによって、ユーザの観点から、事前計算済みデータベースクエリ結果の(80〜90%の範囲の)より高い正確度が達成される。
− フィードエンジン302は、事前計算済み航空旅行リコメンデーションのグループ(例えば、同じ都市ペアのすべての旅行)にインデックス付けして、それらを、分散システムのマシンのうちの1つに保存する。
− 検索エンジン303は、それらの物理マシンにわたってデータグループを検索し、ユーザからのクエリに応答するためのインデックス検索機能を提供する。
− 学習エンジン304は、毎日、プラットフォームに保存されている旅行リコメンデーションを解析することで、いくつかの期日および市場に及ぶ価格の変更度に関する、すなわち価格に変化がない状態がどれほど長く続くのかに関する情報を抽出する。
− 人気度エンジン6は、最も多く要求された、または最も多く返送された旅行リコメンデーション(期日ごとに、市場ごとに、など)を追跡することで、システムに保存される最も適切なデータに関するメトリクスを得る。
− 正確度エンジン8は、システムに保存されている旅行リコメンデーションと実際の購買価格との間の不一致を、すなわち、もはや予約できないフライト、または価格が変更されたフライトを、検出することを試みる。
− レポートコーディネータ305は、上流のエンジンの結果を集約して保存する。その役割は、利用できるリソースを前提として、先行するエンジンの結果に基づき、フライトデータ全体のどの部分を再計算する必要があるか判断することである。このような判断は、アルゴリズムに従って行われる。
本例の検索プラットフォーム3では、これらすべての解析エンジンは、フィードエンジンおよび検索エンジン(302,303)と並列に動作し、このため、クライアントにとって、それらの動作による性能へのマイナスの影響はない(応答時間の低下はない)。
検索プラットフォーム3では、極めて高速の検索応答時間を実現するため、関連するデータは、同じ物理マシンに保存されるように図られる。例えば、出発都市が同じである2つの市場(PAR−LONと、PAR−NYC)は、同じ物理マシン上に置かれる。フィードエンジン302は、リコメンデーション群から情報(旅行プロバイダID、オフィスID、市場、地理的位置、など)を抽出し、これにより、そのデータのホストなる物理マシン(複数の場合もある)を決定する。このデータバランシング機構は、ラウンドロビンまたはコンシステントハッシュなど、周知の分散技術を利用する。周知のデータ複製方式で見られるように、信頼性、フォールトトレラント性、またはアクセス可能性を向上させるため、多数のマシンが、同じリコメンデーション群のホストとなることができる。
フィードエンジン302は、計算プラットフォーム2から、再計算済み旅行リコメンデーション群を受け取る。その入来データは、次に、検索プラットフォーム3により良く適合する方法で、データセットと呼ばれるグループに分けられる。本例の検索プラットフォーム3により提供される各検索プロダクトは、その性能を最適化するための特有のデータ編成戦略を有する。例として、特定のニーズのために、計算プラットフォーム2からのフライト群を、同じ都市ペアのグループに編成した後に、1)同じ都市ペアかつ直行便のみ、2)同じ都市ペアかつ乗継便、という2つのタイプのデータセットに割り振ることができる。
その編成の最上位に、検索プラットフォーム3は、事前計算済み旅行リコメンデーションに関するメタ情報のみを含む追加のデータセットを生成する。これらのデータは、極めて高速の検索を実現するのに役立つ。例えば、メタ情報のデータセットは、ある出発都市から到達可能な都市と、それぞれの到達可能都市との都市ペアの最安価格と、を提供することができる。その後、クライアントからの入来検索要求に対して、ソリューションを返すに当たって、あまりにも多数の旅行リコメンデーションを調べることを回避するために、この情報を利用できる。
データベースと同様に、検索プラットフォーム3は、データセットの最上位に、アクセス時間を高速とするためのインデックスを構築する。事前計算済み航空旅行リコメンデーションの場合、その検索基準は極めてオープンであり、例えば、指定した期日範囲で、指定した価格範囲で、任意の到着都市についてなどの、価格の検索が可能である。検索プラットフォーム3は、検索基準ごとに1つのインデックスを作成するのではなく、(KDB‐treeなどの)多次元データ構造を用いることで、検索基準にかかわらず同様にデータへの効率的なアクセスを維持しつつ、データセットごとに1つのインデックスを構築する。このアプローチによって、使用されるストレージ量が制限される。2つの旅行プロバイダが、共通の旅行リコメンデーションを共有しており、その運賃が(特定のオフィスIDにのみ適用される、旅行プロバイダの協議運賃ではなく)公開されている場合、それらをシステムストレージにおいて共有することができ、これにより、空間が増えて、ハードウェアコストが削減される。
新たな事前計算済み旅行リコメンデーションが計算プラットフォームから得られる場合には、対応するデータセットは、新規または略新規の事前計算済み旅行リコメンデーションで更新され、それらのインデックスは再構築される。これと同時に、影響を受けたデータセットで、旅行リコメンデーションを検索することができる。実行中の検索に(性能と整合性の両面で)影響を与えることがないように、フィードエンジン302は、データセットのリビジョンを管理する。検索が、データセットのリビジョンnにおいて実行されている間に、フィードエンジンは、リビジョンn+1を構築する。改訂されたデータセットが構築されて、インデックス付けされると、それは、検索用の新たな参照データセットとなる。以前のデータセットは、程なく、データセットのホストである分散システムにおけるすべての物理マシンのストレージメモリから削除される。これによって、実行中の検索では、その終了までデータが利用できるように維持されることが保証され、このようにして整合性の問題が回避される。
入来検索要求は、検索プラットフォーム3で提供される特定の検索プロダクトによって処理されなければならない。この点で、それは、(検索プラットフォーム3の分散性を仮定して)その要求に応答するために必要なデータを含む物理マシンに送られる。上述のように、事前計算済み航空旅行リコメンデーションは、予め、それらのリコメンデーションを対象とする検索プロダクトの特異性に基づいて、フィードエンジン302によって物理マシンにディスパッチされたものである。このため、検索エンジン303は、招待オペレーションを実行する。すなわち、応答すべき検索クエリを解析し、そのタイプに基づいて、検索すべきデータならびにそれらが配置されている物理マシン(複数の場合もある)を決定する。
検索要求が適切な物理マシンに転送されると、検索エンジンは、検索クエリに関連するメタ情報が得られるデータセットを特定する。メタ情報は、検索クエリに対するソリューションを含む可能性がある航空旅行リコメンデーションのすべてのデータセットを探し出すために用いられる。
すべての可能性のある事前計算済み航空旅行リコメンデーションを探し出したら、検索エンジン303は、すべての多次元インデックスを解析することで、例えば、価格範囲、期日範囲、航空会社など、検索クエリで示された基準に基づく最良の事前計算済み旅行リコメンデーションを収集する。検索エンジン303は、先のメタ情報を利用することで、可能性のある事前計算済み旅行ソリューションのすべてまでは検索しないことを決定することができる。例として、検索クエリで、特定の都市NCEから出発する最良の価格が要求されたとする。検索で、到着都市PARへの旅行が100ユーロで見つかったとする。到着都市NYCの最安価格が500ユーロであることをメタ情報が示している場合は、検索エンジン3は、NCE発NYC着のソリューションをさらに検索することはしない。これによって、検索トランザクションの応答時間はさらに短縮される。
検索実行ステップによって事前計算済み旅行リコメンデーションが全く返されなかった場合は、ユーザのクエリによる制限が多すぎる可能性があり、このため、先に考慮したそれぞれの都市ペアについて、マッチするものがない理由を分析する。一例として、理由は、指定された期日範囲にあるフライトが全くないこと、またはフライトはあるものの、クエリで示された制限よりも高価格であること、が考えられる。ユーザのクエリによる制限が多すぎる場合、検索エンジン303は、元のクエリで示された制限と密接に関連するリコメンデーションを返すためのフォールバック戦略を実施する。それは、複数のパラメータに関する制限を緩和して(より広い期日範囲、より高い価格制限、など)、検索実行ステップにループバックするものである。ループは、いくつかのリコメンデーションが見つかったときか、設定されたリトライ回数に達したときか、またはリトライの最大許容時間に達したときときか、いずれかに終了する。フォールバック戦略によって返されるリコメンデーションがない場合には、別のフォールバック戦略があれば、それが実施される。要求された目的地が地理的意味を持つ場合(例えば、都市、国)には、検索エンジン303は、GDS(本発明の一部ではない)により提供される地理的サービスを利用することで、近い地理的領域を特定し、これにより、上述のようにして、元のクエリの目的地の制限を広げて、検索実行ステップにループバックする。両方のフォールバック戦略で、リコメンデーションを取得できない場合には、空の結果が返される。
検索クエリに対するすべての事前計算済みソリューションが見つかったら、検索エンジン303は、異なるデータセットから返された可能性がある同一の結果をマージするパスを実行する。このようなケースは、例えば、検索によって、ある都市ペアの最安の直行便を含むデータセットと、すべてのフライト(直行便および経由便)を含む別のデータセットとを調べる必要がある場合に生じ得る。
入来する再計算済み旅行リコメンデーションが受け取られると、それらは複製されて、1つのコピーは、学習エンジン304に移される。事前計算済み旅行リコメンデーションは、市場でグループ分けされ、すなわち、今後の年間の期日について、ある都市ペアの旅行のリコメンデーションにグループ分けされる。システムは、わずかな期日範囲にわたる変更度の高いフライトのみ再計算するように計算プラットフォーム2に指示し得るため、年間のすべての期日のリコメンデーションが生成されるわけではないことに留意すべきである。学習エンジン304は、入来する旅行リコメンデーションから価格を抽出して、それらを、それらの計算日付と共に、専用の学習/統計データベースに記録する。これらの価格は、その後の航空旅行データ統合のための価格比較の基礎となる。
入来市場について、学習エンジン304は、その専用データベースに以前に保存されたすべての事前計算済み価格付き旅行リコメンデーションをロードする。それは、保存されている価格を、利用できる入来価格と比較する。学習エンジン304は、価格比較の結果に応じて、その市場の変更度モデルを適応させる。2つの同一のフライトの価格が異なる場合、その差が、統計データとして学習/統計データベースに保存される。差があまりにも頻繁に生じる場合は、変更度モデルが更新され、すなわち、その期日期間範囲は、より変更度が高いとマークされる。変更頻度に関する統計データを保存すると、休暇シーズンのように定期的に発生するイベントによる価格変更の影響を軽減するのに役立つ。2つの同一のフライトが、モデルに基づいて予想されるのよりも長い期間、同じ価格である場合には、モデルも更新され、すなわち、その期日期間範囲は、より変更度が低いとマークされる。
入来するすべての事前計算済み旅行リコメンデーションの分析を終了したら、学習エンジン304は、本明細書に記載の分散型検索プラットフォームに、たった今、統合されたデータの、修正された変更度を含むレポートを作成する。変更度レポートは、顧客ID(データのプロバイダ)ごとに作成されて、市場ごと、出発日ごとに編成される。
入力検索クエリは、検索エンジン303に到達する前に複製されて、1つのコピーが人気度エンジン6に送られる。これと対称に、検索トランザクションの出力は、ユーザに送り返される前に複製されて、1つのコピーが人気度エンジン6に送られる。人気度エンジン6は、何らかの人気度メトリクスならびに統計を得るために、トランザクションの入力と出力の両方を解析する。この解析によって、入力検索クエリの基準に応じた様々な情報を生成する。例えば、検索クエリによって、特定の市場(都市ペア)についての旅行リコメンデーションが要求された場合、エンジンは、市場ごとの人気の出発日についてのランキングを、クエリから抽出することができる。検索クエリによって、ある1つの出発都市からの旅行リコメンデーションが要求された場合、エンジンは、出発都市ごと、および価格ごと、期日範囲ごとなどの好まれる到着都市(または到着国)についてのランキングを、ソリューションから抽出することができる。
入力クエリおよび出力ソリューションから抽出された傾向は、専用の人気度データベースに保存される。このストレージは、(人気度エンジン6が動作する)任意の物理マシンが、システムの他の物理マシンで生成されたデータを利用できるように、分散させることができる。
並行して、人気度エンジン6の繰り返しジョブにより、既に計算済みの統計データを分散データベースから抽出し、何らかの体系的人気度メトリクスを構築する。例えば、人気度のために解析された検索クエリの総数に基づいて、人気の市場について、すなわち入力クエリで最も多く対象とされた市場、出力旅行ソリューションで返送されたより安価な市場などについての、ランキングを抽出する。別の可能性としては、年間の特定の期日範囲で最も人気のある市場についての統計を生成すること、休暇シーズンのような特別なイベントについての傾向を抽出すること、または、世界の様々な地理ゾーンで最も人気のある市場について統計を生成すること、がある。このような絞り込みは、(例えば、国内便について、など)より適切な人気測度を抽出する助けとなる。作成されたレポートは、その後、人気度メトリクスへのアクセスを提供するために、レポートコーディネータ305に送られる。
人気度エンジン6の場合と同様に、正確度エンジン8は、入力検索クエリと、要求元クライアントに対して検索プラットフォーム3から返された出力旅行ソリューションの、複製されたコピーを受け取る。あまりにも多くの実際のショッピングトランザクションが送り込まれると、ハードウェアコストおよび応答時間における負担が大きいので、これを回避するために、本明細書に記載の検索プラットフォーム3を通過する元のトラフィックのサブセットに作用する絞り込みパスを適用する。
正確度エンジン8は、システムに保存されている旅行リコメンデーションを代表するサブセットを解析するのに十分に多様な運賃検索トランザクションを生成する必要がある。そのための生成戦略は、以下の2つがある。
旅行の人気度に基づいて運賃検索トランザクションを生成する。すなわち、正確度エンジン8は、(先に提示した)人気度データベース6にアクセスすることで、出力ソリューションの人気度を分析し、最も人気のあるもののみ、さらなる解析のために保持する。これにより、実際のショッピング価格と比較した、保存された事前計算済み価格に関して、ユーザが経験する整合性を最大限に高める。
事前計算済み旅行リコメンデーションのメモリの内容に基づいて、ランダムなトランザクションを生成する。解析のために旅行をランダムに選択することは、事前計算済み旅行リコメンデーションのメモリ全体の最終的な正確さを提供することを目的としている。これは、ユーザにとっての良好な旅行ファインダビリティを保証するものであり、すなわち、ハードウェアコストを抑えるために頻度はより少ないものの、不人気のフライトの正確度も監視する。
収集された正確度メトリクスは、専用の分散型正確度データベースに保存される。繰り返しジョブにより、すべての正確度メトリクスを、いくつかのレポート(顧客ごと、市場ごと、出発日ごとなどの、ソリューションの正確度)に統合して、それらを、さらなる利用のためにレポートコーディネータ305に送る。
入来する変更度、人気度、正確度レポートからのすべてのメトリクスは、専用のレポートデータベースにローカルに保存される。このように保存されるのは、レポートコーディネータ305による決定が、先のメトリクスに基づいて行われるからである。例えば、レポートコーディネータ305は、変更度レポートに基づいて、事前計算済み旅行リコメンデーションのメモリに保存されたデータの古さを推測する。この情報は、その後、レポートデータベースに保持される。
レポートコーディネータ305により行われる決定は、メモリのデータ正確度と、計算プラットフォーム2の計算リソースとのバランスをとるためのヒューリスティクスに基づいている。その基本的アプローチは、計算プラットフォーム2で利用できるリソースを前提として、最も正確度の低い事前計算済み旅行リコメンデーション(すなわち、検索プラットフォーム3に保持されている事前計算済み旅行リコメンデーションで、計算プラットフォーム2により仮に再計算された場合の結果と未だ一致している可能性が最も低いもの)を再計算することである。正確度が最も低いデータの中で、最も人気度が高いものについて、再計算命令の生成が最初に考慮される。再計算の候補は、フライトドメインにおいて近い(各市場で期日範囲が近い)旅行でグループを形成するように、レポートコーディネータ305により選択される。これにより、計算プラットフォーム2は、一部の再計算を相補化して、そのリソース消費をさらに最適化することが可能となる。
− 事前計算済み旅行リコメンデーションからのセレクションを含む複数の高速アクセスメモリ位置を維持することであって、各旅行リコメンデーションは、特定の旅行の運賃および/またはアベイラビリティに関する情報を含み、上記複数のパラメータの少なくとも1つによってソートされており、
− 必要なリフレッシュ頻度を示すスコアを、事前計算済み旅行リコメンデーションのそれぞれに割り当てることと、
− 旅行リコメンデーションのうちの少なくとも一部に含まれた情報をリフレッシュするために、複数のデータベースにおいて大規模クエリを実行することにより、事前計算済み旅行リコメンデーションからのセレクションを更新することであって、このとき、各旅行リコメンデーションのリフレッシュの頻度は、割り当てられたスコアに依存し、
− システムで受け取った旅行クエリに応えて、その旅行クエリに含まれたプリファレンスを満たす旅行リコメンデーションを見つけるために、複数の高速アクセスメモリ位置を検索することと、
− 旅行クエリへの応答をユーザに対して発行することと、旅行リコメンデーションのセレクションのスコアを更新することと、を含む。
− 事前計算済み旅行リコメンデーションのセレクションを複数の同種グループに分割することであって、同種グループ内の各旅行リコメンデーションは、少なくとも所定の個数のパラメータが同じ値である、複数の同種グループに分割することと、各グループを高速アクセスメモリ位置の1つに保存することと、を含む。
− 複数の高速アクセスメモリ位置を検索することにより結果が得られないことに応えて、情報提供として、近い結果を返すことを目的として、複数のパラメータに関する制限を緩和して、密接に関連する一連のクエリを実行することを含む。
− 複数の高速アクセスメモリ位置を検索することにより結果が得られないことに応えて、ユーザに警告メッセージを発することを含む。
図20は、分散データベースシステム1の別の例の概観を示している。以下で説明する例は、同じく旅行産業におけるデータベースに関するものである。具体的には、計算プラットフォーム2が、航空旅行オファーに関するデータを保持し、再計算トリガ・プラットフォーム4が、それらの航空旅行オファーに関連した価格を保存する一例を提示しており、それらの価格は、計算プラットフォーム2が、計算ルールに基づいて、特に航空運賃およびそれらに関連する計算ルールに基づいて、算出するものであり、従って、上記で詳述した計算プラットフォーム2および検索プラットフォーム3の例に適合する例である。ただし、留意すべきことは、これは、再計算の本戦略をより詳細に説明するための例にすぎないということである。本明細書で提示する再計算戦略は、データおよびキャッシュされた結果の構造および/または意味に関わりなく、任意の種類のデータおよびデータベースクエリ結果に適用することができる。
− 入力マネージャ40は、計算プラットフォーム2からの事前計算済みデータベースクエリ結果、非同期リアルタイムイベント、および確率モデルに入力して更新するための統計データなどの他の情報といった入力を受け取ることを担当する。
− アナライザ41は、確率モデルを利用し、これに基づいて、キャッシュされたクエリ結果の更新されるべき候補を決定するように構成されている。
− 最後に、コンソリデータ42は、アナライザ41で決定された確率を修正し、さらに、必要であれば、観測されたリアルタイムイベントに基づいて、確率モデルも修正する(後者の場合は図21に示していない)。
・ 価格の正確度:これは、データドメインの全体的な正確度を最大限に高めることを目的としている。不正確と推定される価格を、最初に再計算する。
・ 人気度で重み付けした価格の正確度:不正確である可能性が高い価格の中で、より人気度が高い価格を、より人気度が低い価格よりも高い優先度で、再計算する。
・ 人気度およびそれらの古さで重み付けした価格の正確度:先の戦略と類似しているが、ただし、最後の再計算がいつであったのかを、さらに考慮する。この戦略によって、特に、通常、再計算されるべきである価格の量と比較して再計算リソースが限られている状況において、極めて変更度の高い価格に起因して生じる再計算の不足が、回避される。
・ 人気度の高い都市ペアを、それらの地理的位置および再計算時間帯に基づいて調整する:この戦略では、どの都市ペアのフライトが1日のうちの特定の時間帯に、より頻繁に照会されるのかについての統計を、さらに考慮に入れる。効果として、(キャッシュされた不正確なデータは、それぞれのクエリが実際には略発生しないのであれば、害を及ぼすことはないので)特定の都市ペアのフライトにアクセスされることが稀である時間帯における頻繁な再計算が回避される。
− ミラーリングされた事前計算済みデータベースクエリ結果が失効している確率を、データキャッシュ・プラットフォームにより決定することであって、
− その決定は、確率モデルと、非同期リアルタイムイベントの発生と、に依存し、
− 確率モデルは、再計算トリガ・プラットフォームに保持されているミラーリングされた事前計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致をモデル化しており、
− リアルタイムイベントは、ミラーリングされた事前計算済みデータベースクエリ結果の失効に関して非決定論的であって、再計算トリガ・プラットフォームに保持されているミラーリングされた事前計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致に対して、確率的な影響を及ぼすのみであり、
− 確率は、全般的には確率モデルに基づいて決定され、さらに非同期リアルタイムイベントの発生時に修正される可能性がある、確率を決定することと、
− 事前計算済みデータベースクエリ結果の失効について決定された確率に基づいて、ミラーリングされた事前計算済みデータベースクエリ結果を更新するための再計算命令であって、失効している確率が他のものよりも高いミラーリングされた事前計算済みデータベースクエリ結果を再計算することを命じる再計算命令を、データキャッシュ・プラットフォームにより、計算プラットフォームに対して自動的に発行することと、
− 再計算命令の結果として更新された事前計算済みデータベースクエリ結果を、データキャッシュ・プラットフォームで受け取ることと、を含む。
− データキャッシュ・プラットフォームにおいて、入来する非同期リアルタイムイベントが確率モデルで表現されているかどうか分析することと、
− 確率モデルで表現されていないリアルタイムイベントの場合に、個々の特定のミラーリングされた事前計算済みデータベースクエリ結果についての再計算命令を、できる限り迅速に発行することと、
− 確率モデルで表現されているリアルタイムイベントの場合に、そのようなリアルタイムイベントをある期間にわたって蓄積して、実際に発生した蓄積リアルタイムイベントを、確率モデルにおけるそれらの表現と比較し、実際に発生した蓄積リアルタイムイベントが、所定の程度まで、確率モデルにおけるそれらの表現から逸脱している場合に、影響を受ける可能性があるミラーリングされた事前計算済みデータベースクエリ結果についての再計算命令を、できる限り迅速に発行することと、を含む。
− ミラーリングされた事前計算済みデータベースクエリ結果が失効している確率を決定し、このとき、
− その決定は、確率モデルと、非同期リアルタイムイベントの発生と、に依存し、
− 確率モデルは、再計算トリガ・プラットフォームに保持されているミラーリングされた事前計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致をモデル化しており、
− リアルタイムイベントは、ミラーリングされた事前計算済みデータベースクエリ結果の失効に関して非決定論的であって、再計算トリガ・プラットフォームに保持されているミラーリングされた事前計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致に対して、確率的な影響を及ぼすのみであり、
− 確率は、全般的には確率モデルに基づいて決定され、さらに非同期リアルタイムイベントの発生時に修正される可能性があり、
− 事前計算済みデータベースクエリ結果の失効について決定された確率に基づいて、ミラーリングされた事前計算済みデータベースクエリ結果を更新するための再計算命令であって、失効している確率が他のものよりも高いミラーリングされた事前計算済みデータベースクエリ結果を再計算することを命じる再計算命令を、計算プラットフォーム(3)に対して自動的に発行し、
− 再計算命令の結果として更新された事前計算済みデータベースクエリ結果を受け取る、ように構成されている。
− 入来する非同期リアルタイムイベントが確率モデルで表現されているかどうか分析し、
− 確率モデルで表現されていないリアルタイムイベントの場合に、個々の特定のミラーリングされた事前計算済みデータベースクエリ結果についての再計算命令を、できる限り迅速に発行し、
− 確率モデルで表現されているリアルタイムイベントの場合に、そのようなリアルタイムイベントをある期間にわたって蓄積して、実際に発生した蓄積リアルタイムイベントを、確率モデルにおけるそれらの表現と比較し、実際に発生した蓄積リアルタイムイベントが、所定の程度まで、確率モデルにおけるそれらの表現から逸脱している場合に、影響を受ける可能性があるミラーリングされた事前計算済みデータベースクエリ結果についての再計算命令を、できる限り迅速に発行する、ように構成されている。
− ミラーリングされた事前計算済みデータベースクエリ結果が失効している確率を決定し、このとき、
− その決定は、確率モデルと、非同期リアルタイムイベントの発生と、に依存し、
− 確率モデルは、コンピュータシステムに保持されているミラーリングされた事前計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致をモデル化しており、
− リアルタイムイベントは、ミラーリングされた事前計算済みデータベースクエリ結果の失効に関して非決定論的であって、コンピュータシステムに保持されているミラーリングされた事前計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致に対して、確率的な影響を及ぼすのみであり、
− 確率は、全般的には確率モデルに基づいて決定され、さらに非同期リアルタイムイベントの発生時に修正される可能性があり、
− 事前計算済みデータベースクエリ結果の失効について決定された確率に基づいて、ミラーリングされた事前計算済みデータベースクエリ結果を更新するための再計算命令であって、失効している確率が他のものよりも高いミラーリングされた事前計算済みデータベースクエリ結果を再計算することを命じる再計算命令を、自動的に発行し、
− 再計算命令の結果として更新された事前計算済みデータベースクエリ結果を受け取る。
他の態様により、クライアントによる要求を処理および表示する方法が、検索プラットフォーム(複数の場合もある)において提供される。この処理によって、クライアントのデータベースクエリで示された基準を満たす事前計算済みデータベースクエリ結果を返送し、体系化された方法で表示することが可能である。
検索クエリの検索条件に基づいて、旅行オプション・データベースから複数の旅行オプションを取得することと、
旅行オプションを、少なくとも1つのカテゴリによって分類することと、
各カテゴリの旅行オプションをランク付けすることと、
各カテゴリごとに、ランク付けされた旅行オプションのうち少なくとも1つを、顧客に表示するために提供することと、を含む。
上記少なくとも1つの旅行オプションについて、緊迫インジケータを決定することと、
緊迫インジケータを、ランク付けされた旅行オプションのうちの上記少なくとも1つに関連付けて表示するために提供することと、を含む。
非一時的なコンピュータ可読記憶媒体と、
そのコンピュータ可読記憶媒体に格納されたプログラム命令であって、プロセッサで実行されることで、特徴点1の方法をプロセッサに実行させるプログラム命令と、を備える。
プロセッサと、
プロセッサで実行されることで、特徴点1の方法を当該コンピュータデバイスに実行させる命令を含むメモリと、を備える。
Claims (30)
- 計算プラットフォームと検索プラットフォームとを備えるデータベースシステムであって、
前記計算プラットフォームは、
前記検索プラットフォームからバッチ再計算命令を受け取り、このとき、各バッチ再計算命令は、複数のデータベースクエリ結果を計算することを前記計算プラットフォームに指示するものであり、
所与の時間枠内で、バッチ処理スケジュールに従って前記複数のデータベースクエリ結果を計算することにより、バッチ再計算命令を処理し、
前記バッチ再計算命令の結果として得られた計算済みデータベースクエリ結果を、前記検索プラットフォームに返す、ように構成されており、
前記検索プラットフォームは、
前記計算済みデータベースクエリ結果をメモリ内に保持し、
前記計算済みデータベースクエリ結果を、前記検索プラットフォームに接続されたクライアントが利用できるようにし、また、前記バッチ再計算命令を前記計算プラットフォームに送る、ように構成されている、データベースシステム。 - 前記バッチ再計算命令は、最大24時間以内で少なくとも百万件のデータベースクエリ結果を計算することを、前記計算プラットフォームに指示する、請求項1に記載のデータベースシステム。
- 前記計算プラットフォームは、さらに、
前記バッチ再計算命令を解析して、前記複数のデータベースクエリ結果のうちのサブセットに関連する、より小さな計算パッケージに分解し、
前記計算パッケージの計算を実行するために、前記計算パッケージを処理モジュールに割り当て、
前記処理モジュールにより実行された前記計算パッケージの計算の結果を、再編成し、
前記再編成された結果を、前記検索プラットフォームに返す、ように構成されている、請求項1または請求項2に記載のデータベースシステム。 - 前記バッチ再計算命令を解析および分解するための前記計算プラットフォームの構成は、
前記バッチ再計算命令を、アトミック計算トランザクションに分割し、
冗長アトミック計算トランザクションを識別して、それらを破棄し、
残りの非冗長アトミック計算トランザクションをグループ化することで、前記計算パッケージを形成する、ための構成を含む、請求項3に記載のデータベースシステム。 - 前記計算プラットフォームは、前記バッチ処理スケジュールに従って、前記計算パッケージを前記処理モジュールに割り当てるように構成されており、このとき、前記バッチ処理スケジュールは、前記所与の時間枠内で利用できる前記計算モジュールの計算リソースを考慮することにより負荷分散を提供する、請求項3または請求項4に記載のデータベースシステム。
- 前記検索プラットフォームは、
前記計算済みデータベースクエリ結果のそれぞれに、必要なリフレッシュ頻度を示すスコアを割り当て、
前記計算プラットフォームにバッチ再計算命令を送ることにより、前記計算済みデータベースクエリ結果の一部を更新し、このとき、更新されるべき前記計算済みデータベースクエリ結果の前記一部は、前記割り当てられたスコアに応じて決定され、
クライアントからのクエリを前記検索プラットフォームで受け取ると、これに応えて、前記クエリに含まれたプリファレンスを満たす計算済みデータベースクエリ結果を見つけるために、データベース検索を実行し、
前記クライアントに対して応答を発行し、前記クライアントに返された事前計算済みデータベースクエリ結果に割り当てられたスコアを更新する、ように構成されている、請求項1〜5のいずれか1つに記載のデータベースシステム。 - 前記検索プラットフォームは、さらに、
前記検索プラットフォームに接続されたクライアントのいずれかから受け取った検索クエリの中の基準に基づいて、複数の計算済みデータベースクエリ結果を前記メモリから取得し、
前記取得した計算済みデータベースクエリ結果を、少なくとも1つのカテゴリによって分類し、
各カテゴリ内で、前記取得した計算済みデータベースクエリ結果をランク付けし、
各カテゴリごとに、前記取得されランク付けされた計算済みデータベースクエリ結果のうちの少なくとも1つを、前記クライアントに表示するために提供する、ように構成されている、請求項1〜6のいずれか1つに記載のデータベースシステム。 - 再計算トリガ・プラットフォームをさらに備え、前記再計算トリガ・プラットフォームは、前記計算プラットフォームもしくは前記検索プラットフォームに組み込まれているか、または別個のエンティティであるか、いずれかであり、
前記再計算トリガ・プラットフォームは、
前記計算プラットフォームで計算された前記計算済みデータベースクエリ結果のミラーを保持し、
前記ミラーリングされた計算済みデータベースクエリ結果が失効している確率を決定し、
他の事前計算済みデータベースクエリ結果よりも失効している確率が高い前記計算済みデータベースクエリ結果の一部についてのバッチ再計算命令を、前記計算プラットフォームに対して発行する、ように構成されており、
前記計算プラットフォームは、さらに、
前記再計算トリガ・プラットフォームからバッチ再計算命令を受け取り、
前記バッチ再計算命令の結果として得られた計算済みデータベースクエリ結果を、前記検索プラットフォームと前記再計算トリガ・プラットフォームの両方に返す、ように構成されている、請求項1〜7のいずれか1つに記載のデータベースシステム。 - 前記計算プラットフォームに接続された複数の検索プラットフォームを備え、前記再計算トリガ・プラットフォームは、前記計算プラットフォームに接続された前記複数の検索プラットフォームのいずれかにポピュレートする計算済みデータベースクエリ結果の再計算をトリガする、ように構成されている、請求項8に記載のデータベースシステム。
- 前記再計算トリガ・プラットフォームは、さらに、前記ミラーリングされた計算済みデータベースクエリ結果が失効している確率を、確率モデルに基づくとともに非同期リアルタイムイベントの発生に応じて決定するように構成されており、前記確率モデルは、前記再計算トリガ・プラットフォームに保持されている前記ミラーリングされた計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致をモデル化している、請求項8または請求項9に記載のデータベースシステム。
- 前記再計算トリガ・プラットフォームは、さらに、
入来する非同期リアルタイムイベントが、確率モデルにおいて表現されているかどうか分析し、
確率モデルで表現されていないリアルタイムイベントの場合に、個々の特定のミラーリングされた事前計算済みデータベースクエリ結果についての再計算命令を、できる限り迅速に発行し、
確率モデルで表現されているリアルタイムイベントの場合に、そのようなリアルタイムイベントをある期間にわたって蓄積して、実際に発生した蓄積リアルタイムイベントを、確率モデルにおけるそれらの表現と比較し、実際に発生した蓄積リアルタイムイベントが、所定の程度まで、確率モデルにおけるそれらの表現から逸脱している場合に、可能性があるミラーリングされた計算済みデータベースクエリ結果についてのバッチ再計算命令を、できる限り迅速に発行する、ように構成されている、請求項8〜10のいずれか1つに記載のデータベースシステム。 - 前記データベースシステムは、旅行検索システムまたは旅行予約システムであり、
前記計算プラットフォームは、旅行のアベイラビリティおよび運賃に関する情報にアクセスできるように構成されており、さらに、前記旅行アベイラビリティ情報および運賃に基づいて、価格付き旅行リコメンデーションを計算するように構成されており、
前記検索プラットフォームは、バッチ再計算命令に応じて計算されて前記計算プラットフォームから受け取った計算済み価格付き旅行リコメンデーションを保持し、クエリに応答して、事前計算済み価格付き旅行リコメンデーションをクライアントに返すように構成されており、このとき、返される事前計算済み価格付き旅行リコメンデーションは、前記クエリに含まれるプリファレンスを満たすものである、請求項1〜11のいずれか1つに記載のデータベースシステム。 - 前記検索プラットフォームは、
前記検索プラットフォームに接続されたクライアントのいずれかから受け取った検索クエリの中の基準に基づいて、複数の事前計算済み価格付き旅行リコメンデーションを、前記メモリから取得し、
前記取得した事前計算済み価格付き旅行リコメンデーションを、少なくとも1つのカテゴリによって分類し、
各カテゴリ内で、前記取得した事前計算済み価格付き旅行リコメンデーションを、ランク付けし、
各カテゴリごとに、前記取得されランク付けされた事前計算済み価格付き旅行リコメンデーションのうちの少なくとも1つを、前記クライアントに表示するために提供する、ように構成されている、請求項12に記載のデータベースシステム。 - 前記カテゴリは、前記事前計算済み価格付き旅行リコメンデーションの各々の所要時間、前記事前計算済み価格付き旅行リコメンデーションの各々の人気度、前記事前計算済み価格付き旅行リコメンデーションの各々に関連する限定オファーがあること、前記事前計算済み価格付き旅行リコメンデーションの各々の費用、前記事前計算済み価格付き旅行リコメンデーションの各々が直近に予約された時刻、または前記事前計算済み価格付き旅行リコメンデーションの各々に関連するスポンサーシップ、のうちの少なくとも1つである、請求項13に記載のデータベースシステム。
- 事前計算済みデータベースクエリ結果を、クライアントが利用できるようにする方法であって、
計算プラットフォームにより、検索プラットフォームからバッチ再計算命令を受け取ることであって、複数のデータベースクエリ結果を計算することを前記計算プラットフォームに指示するバッチ再計算命令を受け取ることと、
前記計算プラットフォームによって、所与の時間枠内でバッチ処理スケジュールに従って前記複数のデータベースクエリ結果を計算することにより、前記バッチ再計算命令を処理することと、
前記計算プラットフォームによって、前記バッチ再計算命令の結果として得られた計算済みデータベースクエリ結果を、前記検索プラットフォームに返すことと、
前記検索プラットフォームによって、前記計算プラットフォームから受け取った前記計算済みデータベースクエリ結果をメモリ内に保持することと、
前記検索プラットフォームによって、前記計算済みデータベースクエリ結果を、前記検索プラットフォームに接続されたクライアントが利用できるようにすることと、を含む、方法。 - 前記バッチ再計算命令は、最大24時間以内で少なくとも百万件のデータベースクエリ結果を計算することを、前記計算プラットフォームに指示する、請求項15に記載の方法。
- 前記計算プラットフォームにより、さらに、
前記バッチ再計算命令を解析して、前記複数のデータベースクエリ結果のうちのサブセットに関連する、より小さな計算パッケージに分解することと、
前記計算パッケージの計算を実行するために、前記計算パッケージを処理モジュールに割り当てることと、
前記処理モジュールにより実行された前記計算パッケージの計算の結果を、再編成することと、
前記再編成された結果を、前記検索プラットフォームに返すことと、を含む、請求項15または請求項16に記載の方法。 - 前記計算プラットフォームにより、前記バッチ再計算命令を解析および分解することは、さらに、
前記バッチ再計算命令を、アトミック計算トランザクションに分割することと、
冗長アトミック計算トランザクションを識別して、それらを破棄することと、
残りの非冗長アトミック計算トランザクションをグループ化することで、前記計算パッケージを形成することと、を含む、請求項17に記載の方法。 - 前記計算プラットフォームは、さらに、前記バッチ処理スケジュールに従って、前記計算パッケージを前記処理モジュールに割り当て、このとき、前記バッチ処理スケジュールは、前記所与の時間枠内で利用できる前記計算モジュールの計算リソースを考慮することにより負荷分散を提供する、請求項17または請求項18に記載の方法。
- 前記検索プラットフォームにより、さらに、
前記計算済みデータベースクエリ結果のそれぞれに、必要なリフレッシュ頻度を示すスコアを割り当てることと、
前記計算プラットフォームにバッチ再計算命令を送ることにより、前記計算済みデータベースクエリ結果の一部を更新することであって、このとき、更新されるべき前記計算済みデータベースクエリ結果の前記一部は、前記割り当てられたスコアに応じて決定され、
クライアントからのクエリを前記検索プラットフォームで受け取ると、これに応えて、前記クエリに含まれたプリファレンスを満たす計算済みデータベースクエリ結果を見つけるために、データベース検索を実行することと、
前記クライアントに対して応答を発行し、前記クライアントに返された事前計算済みデータベースクエリ結果に割り当てられたスコアを更新することと、を含む、請求項15〜19のいずれか1つに記載の方法。 - 前記検索プラットフォームにより、さらに、
前記検索プラットフォームに接続されたクライアントのいずれかから受け取った検索クエリの中の基準に基づいて、複数の計算済みデータベースクエリ結果を前記メモリから取得することと、
前記取得した計算済みデータベースクエリ結果を、少なくとも1つのカテゴリによって分類することと、
各カテゴリ内で、前記取得した計算済みデータベースクエリ結果をランク付けすることと、
各カテゴリごとに、前記取得されランク付けされた計算済みデータベースクエリ結果のうちの少なくとも1つを、前記クライアントに表示するために提供することと、を含む、請求項15〜20のいずれか1つに記載の方法。 - 前記計算プラットフォームで計算された前記計算済みデータベースクエリ結果のミラーを、再計算トリガ・プラットフォームにより保持し、前記再計算トリガ・プラットフォームは、前記計算プラットフォームもしくは前記検索プラットフォームに組み込まれているか、または別個のエンティティであるか、いずれかであり、前記方法は、さらに、
前記再計算トリガ・プラットフォームによって、前記ミラーリングされた計算済みデータベースクエリ結果が失効している確率を決定することと、
前記再計算トリガ・プラットフォームによって、他の事前計算済みデータベースクエリ結果よりも失効している確率が高い前記計算済みデータベースクエリ結果の一部についてのバッチ再計算命令を、前記計算プラットフォームに対して発行することと、
前記計算プラットフォームによって、前記再計算トリガ・プラットフォームからバッチ再計算命令を受け取ることと、
前記計算プラットフォームによって、前記バッチ再計算命令の結果として得られた計算済みデータベースクエリ結果を、前記検索プラットフォームと前記再計算トリガ・プラットフォームの両方に返すことと、を含む、請求項15〜21のいずれか1つに記載の方法。 - 複数の検索プラットフォームが前記計算プラットフォームに接続されており、前記再計算トリガ・プラットフォームは、前記計算プラットフォームに接続された前記複数の検索プラットフォームのいずれかにポピュレートする計算済みデータベースクエリ結果の再計算をトリガする、請求項22に記載の方法。
- 前記再計算トリガ・プラットフォームは、さらに、前記ミラーリングされた計算済みデータベースクエリ結果が失効している確率を、確率モデルに基づくとともに非同期リアルタイムイベントの発生に応じて決定し、前記確率モデルは、前記再計算トリガ・プラットフォームに保持されている前記ミラーリングされた計算済みデータベースクエリ結果と、推定される実際のデータベースクエリ結果と、の間の不一致をモデル化している、請求項22または請求項23に記載の方法。
- 前記再計算トリガ・プラットフォームにより、さらに、
入来する非同期リアルタイムイベントが、確率モデルにおいて表現されているかどうか分析することと、
確率モデルで表現されていないリアルタイムイベントの場合に、個々の特定のミラーリングされた計算済みデータベースクエリ結果についての再計算命令を、できる限り迅速に発行することと、
確率モデルで表現されているリアルタイムイベントの場合に、そのようなリアルタイムイベントをある期間にわたって蓄積して、実際に発生した蓄積リアルタイムイベントを、確率モデルにおけるそれらの表現と比較し、実際に発生した蓄積リアルタイムイベントが、所定の程度まで、確率モデルにおけるそれらの表現から逸脱している場合に、可能性があるミラーリングされた計算済みデータベースクエリ結果についてのバッチ再計算命令を、できる限り迅速に発行することと、を含む、請求項22〜24いずれか1つに記載の方法。 - 前記計算プラットフォームおよび前記検索プラットフォームは、旅行予約システムを形成しており、
前記計算プラットフォームは、旅行のアベイラビリティおよび運賃に関する情報にアクセスでき、前記旅行アベイラビリティ情報および運賃に基づいて、価格付き旅行リコメンデーションを計算し、
前記検索プラットフォームは、バッチ再計算命令に応じて計算されて前記計算プラットフォームから受け取った事前計算済み価格付き旅行リコメンデーションを保持し、クエリに応答して、事前計算済み価格付き旅行リコメンデーションをクライアントに返し、このとき、返される事前計算済み価格付き旅行リコメンデーションは、前記クエリに含まれるプリファレンスを満たすものである、請求項15〜25のいずれか1つに記載の方法。 - 前記検索プラットフォームにより、さらに
前記検索プラットフォームに接続されたクライアントのいずれかから受け取った検索クエリの中の基準に基づいて、複数の事前計算済み価格付き旅行リコメンデーションを、前記メモリから取得することと、
前記取得した事前計算済み価格付き旅行リコメンデーションを、少なくとも1つのカテゴリによって分類することと、
各カテゴリ内で、前記取得した事前計算済み価格付き旅行リコメンデーションを、ランク付けすることと、
各カテゴリごとに、前記取得されランク付けされた事前計算済み価格付き旅行リコメンデーションのうちの少なくとも1つを、前記クライアントに表示するために提供することと、を含む、請求項26に記載の方法。 - 前記カテゴリは、前記事前計算済み価格付き旅行リコメンデーションの各々の所要時間、前記事前計算済み価格付き旅行リコメンデーションの各々の人気度、前記事前計算済み価格付き旅行リコメンデーションの各々に関連する限定オファーがあること、前記事前計算済み価格付き旅行リコメンデーションの各々の費用、前記事前計算済み価格付き旅行リコメンデーションの各々が直近に予約された時刻、または前記事前計算済み価格付き旅行リコメンデーションの各々に関連するスポンサーシップ、のうちの少なくとも1つである、請求項27に記載の方法。
- 非一時的なコンピュータ可読記憶媒体であって、その中にコンピュータプログラム命令が格納されており、それがコンピュータシステム上で実行されることで、請求項1〜7のいずれか1つに記載の計算プラットフォームおよび検索プラットフォームの構成を実現する、非一時的なコンピュータ可読記憶媒体。
- 非一時的なコンピュータ可読記憶媒体であって、その中にコンピュータプログラム命令が格納されており、それがコンピュータシステム上で実行されることで、請求項8〜14のいずれか1つに記載の計算プラットフォーム、検索プラットフォーム、および再計算トリガ・プラットフォームの構成を実現する、非一時的なコンピュータ可読記憶媒体。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261638733P | 2012-04-26 | 2012-04-26 | |
EP12368012.6 | 2012-04-26 | ||
US61/638,733 | 2012-04-26 | ||
EP12368012.6A EP2657893A1 (en) | 2012-04-26 | 2012-04-26 | System and method of categorizing and ranking travel option search results |
EP12368020.9A EP2698729B1 (en) | 2012-08-14 | 2012-08-14 | Updating cached database query results |
EP12368020.9 | 2012-08-14 | ||
US13/585,286 US9235620B2 (en) | 2012-08-14 | 2012-08-14 | Updating cached database query results |
US13/585,286 | 2012-08-14 | ||
PCT/IB2012/002668 WO2013160721A1 (en) | 2012-04-26 | 2012-11-06 | Database system using batch-oriented computation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015520445A true JP2015520445A (ja) | 2015-07-16 |
JP6138915B2 JP6138915B2 (ja) | 2017-05-31 |
Family
ID=49482283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015507610A Active JP6138915B2 (ja) | 2012-04-26 | 2012-11-06 | バッチ指向型の計算を用いるデータベースシステム |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP2842085B1 (ja) |
JP (1) | JP6138915B2 (ja) |
KR (1) | KR101916837B1 (ja) |
CN (1) | CN104169950B (ja) |
AU (1) | AU2012378631A1 (ja) |
CA (1) | CA2864042C (ja) |
ES (1) | ES2723794T3 (ja) |
SG (1) | SG11201404704UA (ja) |
WO (1) | WO2013160721A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018526746A (ja) * | 2015-09-08 | 2018-09-13 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | データベーストランザクションを最適化するための方法および装置 |
WO2018172906A1 (ja) * | 2017-03-18 | 2018-09-27 | エコエコドライブ株式会社 | 行動管理方法、行動管理装置、並びに決済補助コンピュータ |
US10885016B2 (en) | 2016-09-06 | 2021-01-05 | Kabushiki Kaisha Toshiba | System, client device, server device, and program |
US11687842B2 (en) * | 2013-12-11 | 2023-06-27 | Skyscanner Limited | Method and server for providing fare availabilities, such as air fare availabilities |
JP7523672B2 (ja) | 2020-08-10 | 2024-07-26 | グーグル エルエルシー | データクエリの予期的な事前実行 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015120968A1 (en) * | 2014-02-13 | 2015-08-20 | Amadeus S.A.S. | Increasing search result validity |
US9984165B2 (en) | 2014-02-13 | 2018-05-29 | Amadeus S.A.S. | Increasing search result validity |
ES2689305T3 (es) * | 2014-02-13 | 2018-11-13 | Amadeus S.A.S. | Aumentar la validez del resultado de búsqueda |
US9582536B2 (en) | 2014-02-19 | 2017-02-28 | Amadeus S.A.S. | Long-term validity of pre-computed request results |
US10395294B2 (en) | 2014-11-03 | 2019-08-27 | Amadeus S.A.S. | Managing pre-computed search results |
WO2016070964A1 (en) | 2014-11-03 | 2016-05-12 | Amadeus S.A.S. | Managing pre-computed search results |
EP3016000B1 (en) * | 2014-11-03 | 2024-07-31 | Amadeus S.A.S. | Managing pre-computed search results |
CN104616155B (zh) * | 2015-01-22 | 2017-04-19 | 上海找钢网信息科技股份有限公司 | 钢贸行业在线询价与抢单方法及系统 |
KR102238694B1 (ko) * | 2015-10-26 | 2021-04-09 | 에스케이텔레콤 주식회사 | 일괄 처리 방식의 시스템에서의 실시간 데이터 처리 장치 및 방법 |
CN109416696A (zh) * | 2016-04-19 | 2019-03-01 | 天巡有限公司 | 浏览方法、计算机程序产品、服务器和系统 |
CN107533676A (zh) * | 2016-04-22 | 2018-01-02 | 谷歌公司 | 固定分配内容选择基础设施中的响应延迟减少 |
CN106383886B (zh) * | 2016-09-21 | 2019-08-30 | 深圳市博瑞得科技有限公司 | 一种基于大数据分布式编程框架的大数据预统系统及方法 |
CN106844507B (zh) * | 2016-12-27 | 2019-07-26 | 星环信息科技(上海)有限公司 | 一种数据批处理的方法及设备 |
FR3086412B1 (fr) * | 2018-09-20 | 2020-10-30 | Amadeus Sas | Recalcul des resultats de recherche precalcules |
CN109785083A (zh) * | 2019-03-05 | 2019-05-21 | 深圳市活力天汇科技股份有限公司 | 一种国际机票扩展推荐方法 |
CN109977284B (zh) * | 2019-03-18 | 2023-07-14 | 深圳市活力天汇科技股份有限公司 | 一种机票购买失败原因的诊断方法 |
CN109782241B (zh) * | 2019-03-29 | 2021-01-29 | 北京润科通用技术有限公司 | 一种气象雷达回波模拟方法及系统 |
CN110021108B (zh) * | 2019-04-03 | 2021-04-13 | 西安印钞有限公司 | 一种钞票冠字号码记录、追溯方法及系统 |
CN110955681B (zh) * | 2019-10-14 | 2021-09-03 | 京东数字科技控股有限公司 | 一种信息处理方法、装置、电子设备及存储介质 |
CN110874768A (zh) * | 2019-11-19 | 2020-03-10 | 中国民航信息网络股份有限公司 | 一种打包服务信息管理方法和系统 |
US11455312B1 (en) | 2019-11-20 | 2022-09-27 | Sabre Glbl Inc. | Data query system with improved response time |
US11204922B2 (en) | 2020-01-13 | 2021-12-21 | Google Llc | Optimal query scheduling for resource utilization optimization |
FR3106224B1 (fr) * | 2020-01-13 | 2024-09-13 | Looker Data Sciences Inc | Programmation optimale de requêtes pour l’optimisation de l’utilisation de ressources |
FR3106223B1 (fr) * | 2020-01-13 | 2022-02-25 | Looker Data Sciences Inc | Programmation optimale de requêtes en fonction des exigences de fraîcheur de données |
CN111639117B (zh) * | 2020-05-26 | 2023-12-01 | 四川三江数智科技有限公司 | 基于数据加工的业务处理方法及装置 |
KR102525918B1 (ko) * | 2020-11-25 | 2023-04-26 | 네이버 주식회사 | 기계 학습을 이용한 응답 시간 예측을 통해 검색 시스템을 운영하는 방법 및 장치 |
EP4009188A1 (en) | 2020-12-04 | 2022-06-08 | Amadeus S.A.S. | Processing search requests |
AU2021393771A1 (en) | 2020-12-04 | 2023-06-22 | Amadeus S.A.S. | Processing search requests |
US11341137B1 (en) | 2020-12-04 | 2022-05-24 | Amadeus S.A.S. | Processing search requests |
CN112925807A (zh) * | 2021-03-12 | 2021-06-08 | 广州市百果园信息技术有限公司 | 面向数据库的请求的批处理方法、装置、设备及存储介质 |
EP4320529A4 (en) * | 2021-04-08 | 2024-08-28 | Xero Ltd | SYSTEMS AND METHODS FOR PLANNING INFORMATION EXTRACTION |
EP4099180A1 (en) * | 2021-06-01 | 2022-12-07 | Amadeus S.A.S. | Precomputed cache validation |
CN113918771A (zh) * | 2021-09-08 | 2022-01-11 | 上海跬智信息技术有限公司 | 批流融合的信息处理方法和装置、存储介质 |
EP4430545A1 (en) * | 2021-11-11 | 2024-09-18 | Grup(ease), Llc | Group travel resource contracting system, methods, and apparatuses |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521953A (ja) * | 2002-03-28 | 2005-07-21 | ライオン バイオサイエンス アクチェンゲゼルシャフト | リレーショナルデータベースをクエリーする方法および装置 |
US20050235001A1 (en) * | 2004-03-31 | 2005-10-20 | Nitzan Peleg | Method and apparatus for refreshing materialized views |
US20090234682A1 (en) * | 1999-11-01 | 2009-09-17 | Ita Software, Inc., A Delaware Corporation | Method and apparatus for providing availability of airline seats |
Family Cites Families (19)
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 |
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 |
US5924090A (en) * | 1997-05-01 | 1999-07-13 | Northern Light Technology Llc | Method and apparatus for searching a database of records |
US6128701A (en) * | 1997-10-28 | 2000-10-03 | Cache Flow, Inc. | Adaptive and predictive cache refresh policy |
US6725333B1 (en) * | 1999-04-22 | 2004-04-20 | International Business Machines Corporation | System and method for managing cachable entities |
KR100390929B1 (ko) * | 2000-06-07 | 2003-07-10 | 주식회사 마이디지털 | 인터넷을 이용한 여행 상품 검색 시스템 및 이를 이용한여행 상품 추천 방법 |
US7668740B1 (en) | 2000-09-22 | 2010-02-23 | Ita Software, Inc. | Method, system, and computer program product for interfacing with information sources |
US7089228B2 (en) | 2002-04-18 | 2006-08-08 | International Business Machines Corporation | Computer apparatus and method for caching results of a database query |
US20040078251A1 (en) * | 2002-10-16 | 2004-04-22 | Demarcken Carl G. | Dividing a travel query into sub-queries |
US8600963B2 (en) * | 2003-08-14 | 2013-12-03 | Google Inc. | System and method for presenting multiple sets of search results for a single query |
US20050108069A1 (en) | 2003-11-18 | 2005-05-19 | Tomer Shiran | System and a method for prefetching travel information |
US7644107B2 (en) * | 2004-09-30 | 2010-01-05 | Microsoft Corporation | System and method for batched indexing of network documents |
US8589195B2 (en) * | 2006-01-18 | 2013-11-19 | Google Inc. | Multi-passenger multi-route travel planning |
US20080167906A1 (en) | 2007-01-05 | 2008-07-10 | De Marcken Carl | Support for flexible travel planning |
WO2008086157A2 (en) | 2007-01-05 | 2008-07-17 | Ita Software, Inc. | Notification service for presenting travel information |
US20080262878A1 (en) | 2007-04-17 | 2008-10-23 | Travelocity.Com Lp | Systems, methods, and computer program products for generating and updating a cache of price and availability information for travel packages and components |
US20080301122A1 (en) * | 2007-05-31 | 2008-12-04 | Amadeus S.A.S. | Searching techniques |
US20100094856A1 (en) * | 2008-10-14 | 2010-04-15 | Eric Rodrick | System and method for using a list capable search box to batch process search terms and results from websites providing single line search boxes |
-
2012
- 2012-11-06 WO PCT/IB2012/002668 patent/WO2013160721A1/en active Application Filing
- 2012-11-06 CN CN201280071541.2A patent/CN104169950B/zh active Active
- 2012-11-06 CA CA2864042A patent/CA2864042C/en active Active
- 2012-11-06 ES ES12818563T patent/ES2723794T3/es active Active
- 2012-11-06 SG SG11201404704UA patent/SG11201404704UA/en unknown
- 2012-11-06 EP EP12818563.4A patent/EP2842085B1/en active Active
- 2012-11-06 JP JP2015507610A patent/JP6138915B2/ja active Active
- 2012-11-06 KR KR1020147027481A patent/KR101916837B1/ko active IP Right Grant
- 2012-11-06 AU AU2012378631A patent/AU2012378631A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234682A1 (en) * | 1999-11-01 | 2009-09-17 | Ita Software, Inc., A Delaware Corporation | Method and apparatus for providing availability of airline seats |
JP2005521953A (ja) * | 2002-03-28 | 2005-07-21 | ライオン バイオサイエンス アクチェンゲゼルシャフト | リレーショナルデータベースをクエリーする方法および装置 |
US20050235001A1 (en) * | 2004-03-31 | 2005-10-20 | Nitzan Peleg | Method and apparatus for refreshing materialized views |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11687842B2 (en) * | 2013-12-11 | 2023-06-27 | Skyscanner Limited | Method and server for providing fare availabilities, such as air fare availabilities |
JP2018526746A (ja) * | 2015-09-08 | 2018-09-13 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | データベーストランザクションを最適化するための方法および装置 |
US11500869B2 (en) | 2015-09-08 | 2022-11-15 | Alibaba Group Holding Limited | Method and apparatus for optimizing database transactions |
US10885016B2 (en) | 2016-09-06 | 2021-01-05 | Kabushiki Kaisha Toshiba | System, client device, server device, and program |
WO2018172906A1 (ja) * | 2017-03-18 | 2018-09-27 | エコエコドライブ株式会社 | 行動管理方法、行動管理装置、並びに決済補助コンピュータ |
JP7523672B2 (ja) | 2020-08-10 | 2024-07-26 | グーグル エルエルシー | データクエリの予期的な事前実行 |
Also Published As
Publication number | Publication date |
---|---|
CA2864042C (en) | 2019-12-10 |
KR20150013440A (ko) | 2015-02-05 |
CN104169950B (zh) | 2017-12-01 |
EP2842085A1 (en) | 2015-03-04 |
WO2013160721A1 (en) | 2013-10-31 |
AU2012378631A1 (en) | 2014-11-13 |
SG11201404704UA (en) | 2014-10-30 |
JP6138915B2 (ja) | 2017-05-31 |
CN104169950A (zh) | 2014-11-26 |
KR101916837B1 (ko) | 2019-01-24 |
ES2723794T3 (es) | 2019-09-02 |
EP2842085B1 (en) | 2019-02-06 |
CA2864042A1 (en) | 2013-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6138915B2 (ja) | バッチ指向型の計算を用いるデータベースシステム | |
US20130073586A1 (en) | Database system using batch-oriented computation | |
CA2834107C (en) | Method and system for a pre-shopping reservation system with increased search efficiency | |
JP6129953B2 (ja) | 旅行関連検索結果の分類およびランク付け | |
KR101972199B1 (ko) | 캐시처리된 데이터베이스 질의 결과의 업데이트 | |
US20130290324A1 (en) | Categorizing and ranking travel-related database query results | |
US20210366017A1 (en) | System for providing big data based price comparison service using time-series analysis and price prediction | |
US11922338B2 (en) | Devices, systems and methods for providing ancillary objects from a cache and categorized provider objects | |
JP5841240B2 (ja) | 繰り返されるサーチリクエストを最適化する改良された予約システムのための方法及びシステム | |
US11580584B2 (en) | Managing item queries | |
US20190228347A1 (en) | Computerized Travel Itinerary Recommendation Tool and Method Using Contextual Information | |
US8903872B1 (en) | NoSql online analytical processing architecture | |
EP4073720A1 (en) | Devices, systems and methods for providing ancillary objects from a cache and categorized provider objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150826 |
|
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: 20151014 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161024 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170309 |
|
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: 20170327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6138915 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 |