(57)【要約】      （修正有）【課題】顧客によって要求される基準、例えば所与の目的地および日付について最も安価なフライト、所与の日付前後の最良の航空料金などに基づいて最良の料金見積もりを計算する。【解決手段】ステージング設備１６は、エントリポイント２０を介して顧客からトランザクションを受信し、受信したトランザクションがフェアショッピングサーバ１４のシミュレーションデータを生成する際に使用するのに適したものであるかどうかを判断し、適している場合、データベース２６から検索される規則に従って受信したトランザクションを変更して作成した変更トランザクションを、フェアショッピングサーバ１８に送信するように構成されたトラフィック生成サブシステム２４とをさらに含み、ステージング設備１６のフェアショッピングサーバ１８は、フェアリングシステム１０の新しいまたは変更された可能性のある機能を評価するために変更トランザクションを処理する。【選択図】図１
2016192219.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも1つのフェアショッピングサーバを備えるプロダクション設備と、少なくとも1つのフェアショッピングサーバを備えるステージング設備と、顧客の装置と双方向通信を行うためのエントリポイントとを有するフェアリングコンピュータシステムによって行われるシミュレーションデータを生成するための方法において、
-  前記フェアリングコンピュータシステムにおいて顧客のコンピュータ装置から要求を受信するステップと、
-  前記要求を、処理するための前記プロダクション設備の前記フェアショッピングサーバに送信し、前記ステージング設備の一部を形成するトラフィック生成サブシステムにも送信するステップと、
-  前記受信要求が前記シミュレーションデータを生成する際に使用されるのに好適なものであると判断される場合、変換規則のセットから、および規則データベースに格納された実行規則のセットから、少なくとも1つの規則を選択するステップであって、前記変換規則のセットが、データマッピング規則、評価規則、分配規則、および関係規則のうちの少なくとも1つを含み、前記実行規則のセットが、ルーピング規則、および規制規則のうちの少なくとも1つを含む、ステップと、
-  前記トラフィック生成サブシステムにおいて前記少なくとも1つの規則に従って前記受信要求を変更して、少なくとも1つの変更された要求を作成するステップと、
-  前記少なくとも1つの変更された要求を、処理するための前記ステージング設備の前記フェアショッピングサーバに送信するステップと
を含むことを特徴とする方法。
【請求項２】
データマッピング規則が、どのフィールド値およびどの関連するフィールド値が前記受信要求から前記変更された要求へコピーされるかを指定する、請求項1に記載の方法。
【請求項３】
評価規則が、前記変更された要求に挿入されるフィールドのリストおよび挿入される各フィールドに使用される値を指定する、請求項1に記載の方法。
【請求項４】
分配規則が、変更された要求を生成するときに評価規則からの特定の値が使用される頻度を指定する、請求項3に記載の方法。
【請求項５】
前記関係規則が、前記変更された要求中のフィールドの1つの値の、少なくとも1つの他のフィールドの値への影響を指定する、請求項1に記載の方法。
【請求項６】
前記ルーピング規則が、1つの受信要求から生成される変更された要求の数を指定する、請求項1に記載の方法。
【請求項７】
前記規制規則が、前記ステージング設備の前記フェアショッピングサーバに送信される単位時間あたりの変更された要求の最大数を指定する、請求項6に記載の方法。
【請求項８】
少なくとも1つのデータプロセッサによるコンピュータソフトウェア命令の前記実行の結果として行われる、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記ステージング設備の前記フェアショッピングサーバが、前記フェアリングシステムの新しいまたは変更された可能性のある機能を評価するために、前記変更された要求を処理する、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記変更するステップが、前記新しいまたは変更された可能性のある機能の前記評価に関連している特定の受信要求に左右される、請求項9に記載の方法。
【請求項１１】
少なくとも1つのフェアショッピングサーバ(14)を備えるプロダクション設備(12)と、少なくとも1つのフェアショッピングサーバ(18)を備えるステージング設備(16)と、少なくとも1つの顧客装置と双方向通信を行うためのエントリポイント(20)とを備えるフェアリングコンピュータシステム(10)において、前記ステージング設備が、
-  変換規則および実行既読を格納するデータベース(26)と、
-  前記エントリポイントを介して前記顧客装置から要求を受信し、前記受信要求が前記ステージングシステムの前記フェアショッピングサーバ用のシミュレーションデータを生成する際に使用されるのに適しているものかどうかを判断し、そうである場合、前記データベースから検索された少なくとも1つの規則に従って前記受信要求を変更して、少なくとも1つの変更された要求を作成し、前記少なくとも1つの変更された要求を、処理するための前記ステージング設備の前記フェアショッピングサーバへ送信するように構成されたトラフィック生成サブシステム(24)とをさらに備える
ことを特徴とするフェアリングコンピュータシステム(10)。
【請求項１２】
請求項1から10のいずれかに記載の方法を実行するように構成されたコンピュータ手段を備える、請求項11に記載のフェアリングコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の例示的実施形態は、一般に、フェアリングシステム(faring systems)に関し、より詳細には、フェアリングシステムの変更/強化を評価するための擬似トラフィック(シャドートラフィック)の生成に関する。様々な例示的実施形態は、旅行関連の商品(products)を顧客に提供するオンラインシステムで使用することができる。
【背景技術】
【０００２】
以下に使用するいくつかの用語は、次のように定義する。
【０００３】
トランザクションフェアリングシステム
目的地に適用される最も安い料金、および所与の期日前後で最良の料金など、顧客によって要求される基準に基づいて料金の見積もりを計算し、返すシステム。顧客は、トランザクション、すなわち質問(料金見積もりの要求)とそれに続く答え(計算された料金見積もり)によって、本明細書ではフェアリングシステムとも呼ばれる、トランザクションフェアリングシステムと通信する。
【０００４】
フェアショッピングサーバ
フェアショッピングサーバは、フェアリングシステムによって提供される商品を実行するトランザクションサーバである。これらのサーバは、顧客によって作成されたクエリへの応答の計算を担当する。プロダクション(production)専用のフェアショッピングサーバと、ステージング(staging)専用のフェアショッピングサーバの、2種類のフェアショッピングサーバがある。
【０００５】
プロダクション
プロダクションは、顧客によって作成されたクエリへの回答を返すために計算が行われる運用設備(コンピュータシステム)である。
【０００６】
ステージング
ステージングは、新しい商品が顧客に公に利用可能にされる前に、新しい商品を「検証」することができる、フェアリングシステムの比較的小規模の、専用部分である。
【０００７】
動作検証
新しい商品が「機能的に」有効として確認されたとき、実際の生活状況下で一連のテストを受けて、新しい商品が「動作的に」も有効であることを保証する(すなわち、フェアリングシステム全体への商品の影響が評価される)。これは、動作検証とも呼ばれる。
【０００８】
シャドートラフィック
トラフィック(すなわち、顧客からの要求)の一部がフェアリングシステムによって複製され、ステージングのためのトラフィック源として働く。この複製されたトラフィックへの応答(シャドートラフィックと呼ばれる)は、顧客に返されない。
【０００９】
本発明の例示的実施形態は、特に、顧客によって要求される基準、例えば所与の目的地および日付について最も安価なフライト、所与の日付前後の最良の航空料金などに基づいて最良の料金見積もりを計算して返すことがその目的である、トランザクションフェアリングシステムに関連する。これらのサービスは、フェアショッピングサービスを介して扱われ、高いレート(例えば、一日あたり9000万トランザクション)でアクセスされる。
【００１０】
フェアリングシステムにおける予測変化(例えば、新しい商品、新しい容量、新しい顧客)の前に、動作検証が行われ、予想されるさらなるリソースの消費(例えばCPU、メモリ、データベース、ネットワークおよびリソース)にシステムが対処できることを保証する。
【００１１】
動作検証は、シャドートラフィックの手段によって実行される。すなわち、入ってくる顧客のトラフィックの一部が、顧客に気づかれることなく、プロダクション設備から複製される。この複製されたシャドートラフィックは、その後フェアリングシステムにおける進化(evolutions)をテストするように意図されたステージング設備と呼ばれる架空の運用設備(phantom operational facility)に転送される。ステージング設備で実行されるこのシャドートラフィックの効果はその後監視されて分析され、一方で元のトラフィックはプロダクション設備によって通常の方法で処理されて、通常の方法で顧客に返される。
【００１２】
このようなプロダクションの進化(例えば、新しいマーケット、新しい規模、新しい商品)を導入するとき、既存のトラフィックが動作検証に適さないケースが発生する可能性がある。このような場合、検証を行うために不可欠である入力を生成するために、トラフィックをシミュレートする必要がある。
【００１３】
動作検証のための関連トラフィックを取得するには、いくつかの技術が考えられることに注意することができる。
【００１４】
例えば、このような1つの考えられる技術は、一度に1人のクライアントに対して進化を有効にすることである。この考えられる手法では、進化(例えば、新しい商品、新しいマーケット)は、フェアリングシステムによって提供され、第1段階では数人のクライアントにのみ有効にされる。新しいサービスを処理するために消費される全リソースが、プロダクション設備全体に限定的な影響を及ぼすと予想することができ、このコストは、正確な容量計画を作成するために精密に分析することができる。
【００１５】
しかしながらこの手法は、クライアントに新しいトラフィックを送信し始めるよう要求することを含んでおり、これは困難である可能性がある。数人のクライアントによって生成されたトラフィックが、予想よりも多くのリソースを消費する危険があって、結果としてフェアリングシステムの動作の安全性を脅かす可能性がある。別の欠点は、この方式が、すべてのクライアントに新しいサービスを同時に公開することが必要である場合に適用できないことである。
【００１６】
別の考えられる技術は、あらかじめ記録された既存のトラフィックからトラフィックを生成することである。すなわち、所与の期間の間、既存の顧客のトラフィックを記録し、その後この記録されたトラフィックをオフラインで(例えばディスクから)変換して、新しい商品をターゲットにするトラフィックとしてこれを表示する。次いで変換されたトラフィックを手動で再生しながら、あらかじめ記録されて変換されたトラフィックで新しいサービスの処理によって消費されるリソースを監視することができる。
【００１７】
しかしながら、あらかじめ生成されたトラフィックを再生することは、特に長期間にわたる検証を行う必要があるとき、十分な多様性を提供しない。さらに、実際のトラフィックのように見える再生のペースを模倣することは非常に困難である。少なくともこうした2つの短所により、不完全なベンチマーキングがもたらされ、したがって不正確な容量計画がもたらされる。
【００１８】
別の考えられる技術は、入ってくる要求の内容を、これらを処理する前に変換することである。例えば、フェアリングシステムによって提供される商品の新しい機能(すなわち、新しいオプション)を有効にするために、例えば実サーバの前に変換ユニットを置いて、入ってくる要求の内容を変更することができる。このプロセスにオフラインのストレージを含める必要はない。
【００１９】
しかしながら、この手法は、その動作がプロダクション設備の顧客に影響を与えるので、実際には実用的ではない。例えば、そのトラフィックを変更されるクライアントは、クライアントが求めたものとは異なる要求に対する応答を与えられ、その結果として顧客の混乱を招き、こうした顧客を離反させてしまう可能性がある。
【００２０】
別の手法は、顧客から入ってくる要求をすべてコピーしこれらを隣接サーバで使用することである。このように、顧客を煩わせることなく現実的なトラフィックのみが使用される。
【００２１】
しかしながら、特に顧客のトラフィックは日付、特別な提供、休日などに応じて変化するので、この方法はかなりの量のデータを生成する。そこでサーバは、実際には、多くの役に立たない情報を含む、サーバが処理できるよりもはるかに多くのトラフィックで過負荷状態になっている可能性がある。
【発明の概要】
【課題を解決するための手段】
【００２２】
本発明の諸実施形態に従って、前述の問題および他の問題が克服され、他の利点が理解される。
【００２３】
例示的実施形態は、その1つの態様では、少なくとも1つのフェアショッピングサーバを備えるプロダクション設備と、少なくとも1つのフェアショッピングサーバを備えるステージング設備と、顧客と双方向通信を行うためのエントリポイントとを有するフェアリングシステムによって行われる方法を提供する。この方法は、顧客からトランザクションを受信することに応答して、このトランザクションを、処理するためのプロダクション設備のフェアショッピングサーバに送信し、ステージング設備の一部を形成するトラフィック生成サブシステムにも送信することと、このトラフィック生成サブシステムにおいて少なくとも1つの規則に従って受信したトランザクションを選択的に変更して少なくとも1つの変更トランザクションを作成することと、この少なくとも1つの変更トランザクションを、処理するためのステージング設備のフェアショッピングサーバに送信することとを含むものとして特徴付けられる。
【００２４】
例示的実施形態は、その別の態様では、少なくとも1つのフェアショッピングサーバを備えるプロダクション設備と、少なくとも1つのフェアショッピングサーバを備えるステージング設備と、顧客と双方向通信を行うためのエントリポイントとを備えるフェアリングシステムを提供する。フェアリングシステムは、変換規則を格納するデータベースと、エントリポイントを介して顧客からトランザクションを受信し、受信したトランザクションがフェアショッピングサーバのシミュレーションデータを生成する際に使用するのに適したトランザクションであるかどうかを判断し、適している場合、データベースから検索される少なくとも1つの規則に従って受信したトランザクションを変更して少なくとも1つの変更トランザクションを作成し、この少なくとも1つの変更トランザクションを、処理するためのステージング設備のフェアショッピングサーバに送信するように構成されたトラフィック生成サブシステムとをさらに備えることを特徴とする。
【００２５】
例示的実施形態は、その別の態様では、少なくとも1つのフェアショッピングサーバの手段を有するプロダクション設備の手段と、少なくとも1つのフェアショッピングサーバの手段を備えるステージング設備の手段と、顧客からトランザクションを受信すること、および受信したトランザクションをプロダクション設備の手段の上記フェアショッピングサーバの手段に送信して、受信したトランザクションをシャドートランザクションとして処理し上記ステージング設備の手段に送信することを含む、顧客との双方向通信を行うためのエントリポイントの手段とを備えるフェアリングシステムを提供する。フェアリングシステムは、規則データベースから取得した少なくとも1つの規則に従ってステージング設備の手段において上記エントリポイントの手段から受信したシャドートランザクションを選択的に変更して、少なくとも1つの変更されたシャドートランザクションを作成するための手段を備える。規則データベースは、少なくとも変換規則のセットと、実行規則のセットとを備える。フェアリングシステムはさらに、少なくとも1つの変更されたシャドートランザクションを、ステージング設備の手段のフェアショッピングサーバの手段に送信して、フェアリングシステムの新しいまたは変更された可能性のある機能を評価するために処理される手段を備えるものとして特徴付けられる。
【００２６】
例示的実施形態は、その別の態様では、少なくとも1つのフェアショッピングサーバの手段を有するプロダクション設備の手段と、少なくとも1つのフェアショッピングサーバの手段を備えるステージング設備の手段と、顧客と双方向通信を行うためのエントリポイントの手段とを備えるフェアリングシステムを提供する。このフェアリングシステムは、受信した顧客のトランザクション(要求)が、フェアショッピングサーバの手段のシミュレーションデータを生成する際に使用するのに適したものであるかどうかを判断するための手段と、規則データベースから取得される少なくとも1つの規則に従ってステージング設備の手段で上記エントリポイントの手段から受信される好適な顧客のトランザクションを変更して、少なくとも1つの変更トランザクションを作成するための手段とを備える。規則データベースは、少なくとも変換規則のセットと、実行規則のセットとを備える。フェアリングシステムはさらに、少なくとも1つの変更トランザクションを、処理されるようにステージング設備の手段のフェアショッピングサーバの手段に送信するための手段と、顧客の新しいまたは変更された可能性のある機能を評価する際に顧客によって使用されるように、処理された変更トランザクションの結果を顧客に送信するための手段とを備える。
【００２７】
本発明の現在の好ましい実施形態の前述の態様および他の態様は、添付の図面と併せて読まれるとき、次の発明を実施するための形態の詳細な説明において明らかにされる。
【図面の簡単な説明】
【００２８】
【図１】トラフィック生成サブシステムおよび変換規則データベースを含むように、本発明の例示的実施形態に従って構築され、運用されるフェアリングシステムを示す図である。
【図２】所与のTXNAを少なくとも1つのTXNBに変換するときの、図1のトラフィック生成サブシステムの動作を示す論理流れ図である。
【図３】提案の最大数の増加を示す図である。
【図４】新しい(変換された)シャドートラフィックの生成中に図1のトラフィック生成サブシステムで行われる様々なステップを示す図である。
【図５】第1のトランザクションから第2の、変更トランザクションへの要求されるフライトの数の増加を示す図である。
【図６】図5の例に従って新しい(変換された)シャドートラフィックの生成中に図1のトラフィック生成サブシステムで行われる様々なステップを示す図である。
【図７】本発明の例示的実施形態に従って構築され、運用されて、新しい商品の特徴を記述する際にクライアントによって使用されるようにクライアントに情報を返すように動作されるとき、トラフィック生成サブシステムと、変換規則データベースとを含むフェアリングシステムを示す図である。
【発明を実施するための形態】
【００２９】
前置きとして、本発明は、フェアリングシステムの運用設備から入ってくる既存のトラフィックから所望のトラフィックを生成するためにトランザクションフェアリングシステムと対話する新規のシステムについて記載する。
【００３０】
以下に詳細に説明するように、本発明の例示的実施形態は、一般的フレームワークに基づいた自律システムを提供し、その目的は、新しいトラフィックに似ているように入ってくるトラフィックを変換して、これをステージング設備のフェアショッピングサーバに送信することである。フレームワークは、専用知識データベースによって駆動されて、入ってくるトランザクションを変換する方法、および生成されたトランザクションに存在する新しいフィールドにポピュレートする(populate)方法を決定する。システムは、システムが受信する、入ってくるシャドートランザクションに応じてマーケット毎にその変換を適合させる。システムは、特別な生成(ad-hoc generation)が要求されるとき(例えば、複雑な、またはドメイン固有のデータ操作)、ビジネス変換(business transformations)のプラグインに依存することができる。リアルタイムのトラフィック変換により、システムは多様なトランザクションを連続的に生成し、したがって動作検証中に行われるリソース消費の測定において高レベルの信頼度を提供することができる。このシステムは、入ってくるトラフィックの量がどのようであろうとも、必要であるだけのトラフィックを生成する能力を有する。このシステムは、シャドートラフィックで動作するので、プロダクションのクライアントの操作に影響を及ぼさず、動作には顧客の直接の介入を必要としない。さらに、このシステムは、動作の安定のために(例えば、ステージング設備に接続された外部プロダクションシステムを保護するために)トラフィックの生成を自動的に抑制する。
【００３１】
また本発明の例示的実施形態を使用すると、いくつかのビジネス関連の利点がもたらされる。例えば、一般的な変換フレームワークにより、多様な状況(例えば、ストレステスト、耐久性、ロバスト性、容量、限界)をシミュレートするのに適したトラフィックの生成が可能になる。生成されたトラフィックを使用して、新しい商品の限界または危機的ケース(corner cases)、すなわち実際には現実の顧客のトラフィックを使用して実現することができないものをテストすることができる。さらに、生成されたトラフィックの精度は、動作検証中に集められたメトリクスの信頼を向上させ、これは容量計画の精度を考えるとき重要な要素である。また顧客への依存度が下がると、フェアリングシステムで開発された新しい商品のマーケットまでの時間を改善するのに役立つ。その上、自動的に生成されるトラフィックにより、動作検証を行うのに費やされる時間が減少し、それによってコストを削減する。さらに、本発明の例示的実施形態を使用すると、日常の動作に関してプロダクション設備の動作品質を維持する一方で、フェアリングシステムにおいて新しい顧客または新しい商品を導入中に不安定さを引き起こすリスクを低減するのに役立つ。また本発明の例示的実施形態を使用すると、顧客が独自の容量計画を実施して、顧客自身の運用設備で新しい商品の影響を監視することが可能になる。
【００３２】
例えば、本発明の例示的実施形態は、手動変換に頼るのではなく、一般的なトラフィック変換手法を使用することができる。すなわち、システムは、知識データベースに格納されたビジネス変換規則に基づいてトラフィックを生成し、1度に複数のトラフィック変換に対応することができる。これにより、多様な動作検証に適する多用途トラフィックシミュレータが提供される。このシステムは、動作検証を行わなければならないときいつも、手作業で新しいトラフィック変成器を設計する必要性を軽減し、それによって、手動で導き出された、手書きのトラフィック変成器と比較して、動作検証のコストを削減する。
【００３３】
例示的実施形態は、動作検証を大幅に向上させるリアルタイムの正確なトラフィックの生成を提供する。トラフィックの生成は、実際のトラフィックで行われ、したがって、終日の動作を提供することができる。この手法により、1秒あたりのトランザクションの変化、ならびに日中の特定時間におけるトランザクションのストレスのピークなど、一般に稼働中に見られるトラフィックの動き(traffic behaviours)のすべてを再現することができる。送信のペースおよび生成されるトラフィックの関連性により、新しい商品(例えば、限界の動きおよび危機的ケース)を広くテストする際に本発明の利用が非常に効果的になる。例示的実施形態の使用により、フェアリングシステムが広範囲にわたって、現実的にストレステストされることが可能になる。
【００３４】
トランザクションが、プロダクションの性能に影響を与えることなく、シャドートラフィックから生成されるので、例示的実施形態はまた、プロダクションに対してトランスペアレントなように動作し、また顧客にトランスペアレントである。本発明のシステムは、データをプロダクションに返さない。システムはまた、シャドートラフィックとステージングフェアショッピングサーバとの間で独立型挿入サーバとして機能するので、ステージングフェアショッピングサーバに対してトランスペアレントである。フェアショッピングサーバは、生成されたトラフィックをフェアショッピングサーバが受信することを意識せず、受信したトラフィックを扱うように変更される必要がない。
【００３５】
システムはまた、極めて多くの生成されたトラフィックをステージングフェアショッピングサーバに送信した場合、または、生成されたトラフィックが何らかの技術的問題をもたらす場合、トラフィックの生成を抑制または一時停止することができる。ステージングフェアリングシステムが、外部のプロダクション設備(例えば、顧客フライト予約状況サーバ(customer booking flights availability servers))と接触する必要がある場合、極めて多くの生成されたトラフィックの影響の軽減が達成される。
【００３６】
本発明の例示的実施形態に従って構築され、運用されるフェアリングシステム10を示すための図1を参照することができる。フェアリングシステム10は、フェアショッピングサーバ14を含んでいるプロダクション設備またはシステム12と、やはりフェアショッピングサーバ18を含んでいるステージング設備またはシステム16とを含む。プロダクション設備12およびステージング設備16は、エントリポイント20に通信可能に結合され、顧客22はこのエントリポイント20を介してフェアリングシステム10にアクセスでき、またこのエントリポイント20を介してクエリへの応答を受信する。エントリポイント20は、顧客22から受信される実トラフィック(TXNA)をプロダクション設備12のフェアショッピングサーバ14に提供する。例示の応用および使用事例では、プロダクション設備12はステージング設備16の存在および/または動作を認識していない可能性があることに注意する。
【００３７】
例示の実施形態に従って、ステージング設備16はさらに、トラフィック生成サブシステム24の稼働中にトラフィック生成サブシステム24によって使用される様々なビジネス変換および他の情報を格納しているデータベース26に結合されたトラフィック生成サーバまたはサブシステム24を含む。
【００３８】
本発明の例示的実施形態はしたがって、その1つの態様としてフェアリングシステム10に新しいトラフィック生成サブシステム24を含む。フェアリングシステム10は、フェアショッピングサーバ14によって供給されるいくつかの商品を提供する。フェアリングシステム10は、基本的に2つの設備で複製される。第1の設備はプロダクション設備12であり、これは顧客22から入ってくるプロダクション要求を処理することを担う。第2の設備はステージング設備16であり、新しいサービス、新しいマーケットなどをステージングするための動作検証中に使用される本質的に専用の(private)設備である。
【００３９】
図1ではプロダクションフェアリング設備12は、TXNAを発行することによって商品Aをターゲットしている顧客22からの要求に応えているように示されている。プロダクション設備12で利用可能にされることになる新しい商品Bをステージングするために、ある動作検証が進行中であると仮定することができる。このサービスをステージングするためには、いくつかのトラフィックTXNBがステージング設備16のフェアショッピングサーバに利用可能でなければならない。このトラフィックTXNBは、トラフィック生成サブシステム24によって生成される。
【００４０】
クライアント(顧客22)がフェアリングシステム10への要求TXNAを行うとき、エントリポイント20はこの要求のコピー(シャドーTXNA)を作成し、これをステージング設備16のトラフィック生成サブシステム24に送る。トラフィック生成サブシステム24は、新しい要求TXNBを生成し、さらに監視するために、(エントリポイント20を介して)二次的トランザクションをステージングフェアショッピングサーバ18に送信する。その間、顧客22は、ステージング設備16によって行われている進行中の動作検証によって影響されることなく、TXNAから顧客が期待する応答を受信する。
【００４１】
本発明を実行するトラフィック生成サブシステム24は、好ましくは、フェアリングシステム10で定義されるいかなる種類のトランザクションもリッスンして応答し、したがっていかなる入力トラフィックも受信できるように構成される。
【００４２】
また図2を参照すると、トラフィック生成サブシステム24は、所与のTXNAを1つまたは複数(少なくとも1つ)のTXNBに選択的に変換するように動作する。この擬似トラフィックの生成は、専用データベース26に格納された、本明細書ではビジネス変換とも呼ばれる変換によって駆動される技術に従う。ブロック2Aでは、トラフィック生成サブシステム24は、入力フィルタを使用することによって、入ってくるTXNAが進行中の動作検証のトラフィック源として使用できるかどうかをチェックする。使用できない場合、TXNAは廃棄され(無視され)、したがって少なくとも1つのTXNBに変換されない。入ってくるTXNAを使用することができると仮定すると、フェアショッピング要求TXNAの内容(例えば、アウトバウンドフライト、インバウンドフライト、運航中の航空会社、旅行代理店など)に応じて、トラフィック生成サブシステム24は、ビジネス変換データベース26から、新しいトラフィックを生成するために適用されるべき変換規則26Aのリストを引き出す。変換規則26Aは、非限定的な例として、価値規則、分配規則、および関係規則を含むことができる。適用すべき変換規則が見つからない場合、トランザクションは廃棄される。変換規則26Aが適用できるとわかると仮定すると、ブロック2Cにおいてトラフィック生成サブシステム24は、生成されるトラフィックに適用すべき実行規則26Bをチェックする(例えば、入力から生成するトランザクションの数、送信ペースなど)。図2に示すように、実行規則26Bは、例えば抑制規則(throttling rules)、およびルーピング規則(looping rules)を含むことができる。トラフィック生成サブシステム24は、次にブロック2Dにおいて(1つまたは複数の)適用可能な変換規則26Aを適用して1つのTXNBを生成し、ブロック2Fにおいて、生成したTXNBを、処理するための(エントリポイント20を介して)フェアショッピングサーバ18に送信する。この処理は、反復的とすることができ、実行規則26Bによって示されるトラフィックの量に到達するまで繰り返すことができることに注意する。この反復は、図2のブロック2Eおよび2Gで示される。
【００４３】
トラフィック生成サブシステム24は、このように、一連の変換規則26Aおよび実行規則26Bを適用することによってトラフィックを生成する。適用可能規則26A、26Bは、専用データベース26に格納される。一般に、データベース26は、動作検証の必要性に応じて、手動でポピュレートすることができる。生成されるトラフィックについては、少なくとも1つの規則がデータベース26で定義されれば十分である。当然の結果として、すべてのタイプの規則が、データベース26に存在している必要はない。
【００４４】
次に規則26A、26Bについてさらに詳細に説明し、特定の変換規則26Aは、それが適用される入力のタイプ、新しい出力(TXNB)を生成するために適用する規則のセット、および実行規則26Bの1つまたは複数の名前(または何らかの他のタイプ)の名前を指定する。いくつかの規則は、単純なデータマッピング、例えば、TXNAからのフィールドの値がTXNBのフィールドにコピーされることを表すことができる。他の規則は、TXNBの新しいフィールドに値を提供する方法を表すことができる。こうした規則は、評価ルールと呼ぶこともでき、各フィールドに生成することができる値のリストとともに、生成した要求に挿入されることになる、フィールドのリスト(例えば、航空会社、マーケット、都市など)を定義する。例えば、評価規則は、可能な値としてNYCまたはPAＲとともに、都市フィールドを追加するように指定することができる。分配規則は、フィールドに対して値が生成される頻度を指定する。上記の例に従って、1つの例示的分配規則は、60%の割合の時間単位で値PARを、および40%の割合の時間単位でNYCを生成することができる。関係規則は、あるフィールド評価が他のフィールドの評価にどのように影響を与えるかを指定する。関係規則は、例えばフィールド間の意味依存性をモデル化するために、または評価の一定の組合せをブラックリストに載せる(禁止する)ために、使用することができる。
【００４５】
一般的な手法に一致しないプロパティについては、プラグインを使用して特別な変換(ad-hoc transformation)を行うことができる。これは、生成論理が例えばいくつかの特定の複雑なビジネスの制約に依存するとき(例えば、地理的制約に基づく生成)、役立つ可能性がある。
【００４６】
実行規則26Bは、入力されたトランザクションから生成されるトラフィックのルーピングおよびトラフィック規制を指定する。ルーピング規則は、入力されたTXNからいくつのトランザクションを生成するかを指定する。これは、実プロダクショントラフィックが動作検証の必要に十分な量で利用できない場合に役立つ可能性がある。この場合、単一TXNAからn個のTXNBを生成するように指定することができ、ここでnは1以上とすることができる。別のタイプの実行規則26Bは、生成したトラフィックを送信する方法、例えばTPS(transactions per second、1秒あたりのトランザクション)で送信する頻度を定義する規制規則である。送信機能は、送信したトラフィックが技術的エラーを出し過ぎる場合、より少ないトラフィックを送信するように自己調節する。
【００４７】
本発明の動作、ならびに本発明の使用を通して得られる利点および技術的効果をさらに説明するために、いくつかの例示的使用の場合について次に記載する。
【００４８】
第1の使用例は、顧客に返すフライトの提案の数を増やすことに関する。
【００４９】
フェアリングシステム10内で、顧客22が、所与の日の所与の旅行(出発および目的地)について、所与の航空会社によって運航される最も安価なフライトを返す商品Aにアクセスできると仮定する。フェアリングシステム10は、顧客の基準に一致する最も安価なフライトの提案を返す。
【００５０】
図3に示すように、顧客は100便の提案まで要求する権利を有し、提案の最大数がより大きい値まで(例えば、250便の提案まで)引き上げられる場合、フェアリングシステム10がどのように動作するかをテストすることが望ましいと仮定する。
【００５１】
この商品の進化は、次の制約を考慮して実現することができる。第1に、さらに多くのフライトの提案を要求する権利は、フェアリングシステム10の動作の安定を危険にさらす可能性があるため、顧客22にこれを与えることはできない。さらに、フェアリングシステム10によって計算可能であるフライトの提案の最大数は不明で、事前に推定する必要がある。
【００５２】
上記の制約を考えると、トラフィック生成サブシステム24は、(データベース26に格納された)次の変換規則で構成することができる:
顧客によって要求されるフライト提案数の範囲を決定する1つの評価規則。
提案の値がランダムに生成されることを指定する1つの分配規則。
入力されるトラフィックが、生成される出力よりも多くの提案を要求する場合、提案の最大数を維持することを指定する1つの関係規則。
【００５３】
図4に示されるシーケンスは、新しい(変換された)シャドートラフィックの生成中にトラフィック生成サブシステム24で行われる様々なステップを示す。
【００５４】
ブロック4Aおよび4Bは、図2のブロック2Aおよび2Bと基本的に同じである。この場合、プロダクション設備から取り込まれたトラフィックが、トラフィック生成サブシステム24に送信される。入力フィルタ(ブロック4A)のみが、商品Aと関連するトラフィックを保有する。
【００５５】
ブロック4Cおよび4Dでは、「最大提案」の新しい許容値が決定されるまで、動作検証中に評価規則が手動で更新されて、フライト提案数の範囲を変更する(最初は[100,300]、次に[200,300]、次に[300,500]など)。この徐々に増える手法は、フェアリングシステム10の限界を決定すること、すなわち実際のプロダクショントラフィックのみの使用に依存する場合、達成することが困難であった、または不可能であったものに役立つ。
【００５６】
第2の例示的使用例は、特定の航空会社の複雑な旅程を生成することに関する。
【００５７】
非限定的な例として、現在商品Bを使用している日本人の顧客が、間もなくフェアリングシステム10によって提供される新しい商品B'を使用することになると仮定する。この顧客22は、所与の日付範囲で少なくとも4つのフライト(国内または海外)を含む旅行の最も安価な料金など、「複雑な旅程」を含む旅行の料金の見積もりを要求する。さらに現在、顧客のトラフィックターゲッチング商品Bは、単に、せいぜい2つのフライトからなる国内のリクエストを含んでいると仮定する。
【００５８】
動作検証のための関連トラフィックを生成するために、トラフィック生成サブシステム24は、この日本人クライアントからのトランザクションのみを処理するように構成される。トラフィック生成サブシステム24は、次の規則を適用する(図5および図6も参照)。
【００５９】
変換規則:  1つの評価規則:入ってくる要求に新しい国際便が挿入される。挿入される都市はすべて1つの直行便で日本からアクセス可能である。
【００６０】
1つの分配規則:生成された要求のフライトセグメントにランダムに国際便が挿入される。
【００６１】
1つの関係規則:意味関係が、(図5に示すように)フライト要求の中ですべてのフライトが連続したままであるように挿入されたフライトを選択しなければならないことを指定する。
【００６２】
第2の関係規則:元の要求(1つまたは2つ)にいくつのフライトセグメントがあっても、生成された要求には4つのフライトがなければならない。
【００６３】
実行規則:
1つの規制規則:新しいトランザクションは、計算能力を超えないように、10TPSよりも大きい頻度で送信されてはならない。
【００６４】
前述の例では、入ってくるTXNbについて、3つの制約(すなわち、挿入される都市がすべて1つの直行便で日本からアクセスできる、挿入されるフライトはすべてのフライトがフライト要求の中で連続したままであるように選択されなければならない、また生成される要求の中に4つのフライトセグメントがなければならない)すべてを同時に行うことができるとは限らないと仮定する。この場合、入力フィルタリング機能は、入ってくるTXNbを単純に廃棄し、トランザクションは生成されない。
【００６５】
図6は、プロダクショントラフィックTXNBからの新しいトラフィック(TXNB')の生成中にトラフィック生成サブシステム24で行われる様々なステップを示している。ブロック6A、6B、および6Cは、それぞれ図2のブロック2A、2B、および2Cと実質的に同じものである。プロダクション設備12に向かうトラフィックは、エントリポイント20によって取り込まれ(すなわち、複製され)、トラフィック生成システム24に送信され、商品B(TXNB)に関連するトラフィックのみが保持される。すなわち、日本人のクライアントに(および商品Bに)対応しないトラフィックは、単純に廃棄される。ブロック6Dにおいて評価規則に従って要求が処理され、新しいトラフィック(TXNB')はステージング設備のフェアショッピングサーバ18に送信される。新しく生成されたトランザクションは、1秒あたりに生成されるトラフィックの量が、抑制に関連する実行規則によって課される限度(この例では10TPS)を超える場合、送信される前に廃棄される。
【００６６】
第3の例示的使用例は、クライアントの設備で動作検証を行うことに関する。
【００６７】
航空会社(ここではクライアント22'と呼ぶ)が、そのウェブポータル上で新しいサービスを実施しようとしていると仮定する。このサービスは、フェアリングシステム10の新しい商品Xを利用する。この点に関しては、いくつかの点で図1と同様である図7を参照することができる。
【００６８】
プロダクションを開く前に、フェアリングシステム10によってクライアントの航空会社に返される情報の量は、正確に知られない。クライアントのウェブインフラストラクチャが、フェアリングシステム10によって返されるデータの量を処理できることを保証するために、クライアントは、(新しい商品Xについて)その独自のサービスをプロダクションで公開する前に、これをテストすることを望む。またクライアントはその動作検証を手動で行うことを望まず、新しいトラフィックをシミュレートして、クライアントのウェブインフラストラクチャの動作安定性を検証するために、トラフィックの既存のソースを必要とすると仮定する。
【００６９】
このシナリオでは、クライアント22'に、ステージング設備16のトラフィック生成システム24へのプライベートアクセスを提供することができる。プライベートアクセスを実現すると、クライアント22'は、トラフィック生成サブシステム24(TXNW)に向けられたトラフィック(例えば、あらかじめ記録されたトラフィックトランザクション、複製されたトラフィックおよび/またはいかなる手段によってもクライアント22'によって取得されたトラフィック)を送信する。トラフィックは、データベース26に格納されたビジネス変換に従って変換され、ステージングシステムのフェアショッピングサーバ18に供給されるトラフィックTXNXになる。この場合、ビジネス変換は、航空会社のクライアント22'によって開始されることになる新しいサービスに関するトランザクションメッセージを実行するように選択される。フェアショッピングサーバ18の出力は、続いてTXNXトラフィックとして航空会社のクライアント22'に返され、それによってクライアント22'は、フェアリングシステム10と併せて新しいサービスを実際に開始する前に、そのウェブインフラストラクチャをテストできる。すなわち、トラフィック生成サブシステム24は、関連トランザクションを生成し、これを、処理するためのステージングシステムのフェアショッピングサーバ18に渡す。フェアショッピングサーバ18からの応答は、クライアント22'に転送され、その後クライアント22'がデータを処理して、クライアント独自の動作検証を行うことができる。
【００７０】
図2、4、および6に示す様々なブロックは、ビジネス変換データベース26に格納された知識モデル(変換規則、実行規則)と共同して、トラフィック生成サブシステム24の一部を形成する1つまたは複数のデータプロセッサによるコンピュータプログラム命令の実行に応答して実行される動作を表すことができることが指摘される。こうしたコンピュータプログラム命令は、トラフィック生成サブシステム24の一部を形成する、固定ディスクもしくはリムーバブルディスク、および/または固定半導体メモリもしくは取り外し可能な半導体メモリなど、いくつかの好適なコンピュータ可読媒体中に、またはこの上に格納されると考えられる。あるいは、図2、4、および6に示す様々なブロックは、ビジネス変換データベース26に格納された知識モデル(変換規則、実行規則)と共同して、指定された機能を実行するように構成された、相互接続されたハードウェア要素と見ることができる。あるいは、図2、4、および6に示す様々なブロックは、コンピュータプログラム命令および相互接続されたハードウェア要素の組合せであると見ることができる。
【００７１】
さらに、プロダクション設備12、ステージング設備16、ならびにフェアショッピングサーバ14および18のそれぞれは、コンピュータプログラムコードを実行する1つのデータ処理プラットフォームまたは同じ場所に配置された(co-located)データ処理プラットフォームまたは分散型データ処理プラットフォームを使用してそれぞれ実装されることが可能である。一部の実施形態では、この機能のすべてが、単一データ処理プラットフォームで実装されることが可能である。
【００７２】
前述の説明は、例示的かつ非限定的な例によって、本発明の例示的実施形態の完全かつ有益な説明を提供した。しかしながら、添付の図面および添付の特許請求の範囲と併せて読まれるとき、前述の説明を見ると、当業者には様々な変更および適合が明らかになるであろう。ほんの一例として、他の同様のまたは同等のフェアリングシステムのアーキテクチャの使用は、当業者によって試みられることが可能である。しかしながら、本発明の技術のこのような変更および同様の変更はすべて、依然として本発明の実施形態の範囲内に含まれる。
【００７３】
さらに、記載されるシステムの構成要素に使用される様々な名前(例えば、プロダクション設備、ステージング設備、(1つまたは複数の)フェアショッピングサーバ、トラフィック生成サブシステムなど)は、こうした様々なシステムの構成要素はいかなる好適な名前によって識別されることも可能であるので、いかなる観点においても限定的であることを意図していない。例えば、トラフィック生成サブシステム24は、一般性を失うことなく、2つの非限定的な例として、トラフィックエミュレーションユニット(traffic emulation unit)またはシャドートラフィック変換システムと呼ばれることも可能である。
【００７４】
さらに、例示的実施形態の使用は、航空券の予約関連の目的のみに限定されず、他のタイプの予約(例えば、列車、バス、自動車、ホテルなど)を行うために使用できることを理解されたい。
【００７５】
なお、本発明の様々な非限定的かつ例示的実施形態の機能は、対応して他の機能を使用することなく、有利に利用することができる。したがって、前述の説明は、本発明の趣旨、技術、および例示的実施形態の例示にすぎず、その限定ではないと考えられるべきである。
【符号の説明】
【００７６】
10  フェアリングシステム
12  プロダクション設備
14  フェアショッピングサーバ
16  ステージング設備
18  フェアショッピングサーバ
20  エントリポイント
22  顧客
24  トラフィック生成サブシステム
26  データベース
【図１】
2016192219.tif 000003
【図２】
2016192219.tif 000004
【図３】
2016192219.tif 000005
【図４】
2016192219.tif 000006
【図５】
2016192219.tif 000007
【図６】
2016192219.tif 000008
【図７】
2016192219.tif 000009
【手続補正書】
【提出日】平成28年8月3日(2016.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第1のフェアショッピングサーバを備えるプロダクション設備と、第2のフェアショッピングサーバおよびトラフィック生成サブシステムを備えるステージング設備と、顧客と双方向通信を行うためのエントリポイントとを有するフェアリングシステムによって行われる方法であって、前記方法は、
前記エントリポイントにおいて前記顧客から要求を受信するステップであって、前記要求は、値をそれぞれが有する複数のフィールドを含む、受信するステップと、
前記要求を受信することに応答して、前記エントリポイントによって、前記要求の第1のコピーを、処理するための前記第1のフェアショッピングサーバに送信し、かつ前記要求の第2のコピーを、前記トラフィック生成サブシステムに送信するステップと、
前記トラフィック生成サブシステムによって、入力フィルタを使用して、前記フェアリングシステムの新しいまたは変更された機能を評価するために、前記要求の前記第2のコピーを使用できるかどうかを判断するステップと、
前記新しいまたは変更された機能を評価するために、前記要求の前記第2のコピーを使用できるという判断に応答して、前記トラフィック生成サブシステムによって、規則データベースから変換規則を検索するステップであって、前記変換規則は、データマッピング規則および評価規則を含む前記要求を変換する規則のセットを指定する、検索するステップと、
前記トラフィック生成サブシステムによって、
前記要求の前記第2のコピーの1つのフィールドの少なくとも1つの値を、前記データマッピング規則に基づいて、前記変更された要求中の対応するフィールドにコピーするステップと、
前記評価規則によって定義されるフィールドのリストからの各フィールドを前記変更された要求に挿入するステップと、
フィールドの前記リストからの各フィールドについて、前記フィールドに生成するための前記フィールドについての前記評価規則によって定義される値のリストから1つの値を選択するステップと
により、変更された要求を作成するために、規則の前記セットに従って、前記要求の前記第2のコピーを変更するステップと、
前記トラフィック生成サブシステムによって、前記変更された要求を、処理するための前記第2のフェアショッピングサーバに送信するステップと
を含む、方法。
【請求項２】
規則の前記セットが、分配規則または関連規則をさらに含む、請求項1に記載の方法。
【請求項３】
前記分配規則は、前記変更された要求を生成するときに前記評価規則からの特定の値が使用される頻度を指定する、請求項2に記載の方法。
【請求項４】
前記分配規則を含む規則の前記セットに応答して、前記変更された要求を生成するときに前記特定の値が使用される前記頻度を調整するステップをさらに含む、請求項3に記載の方法。
【請求項５】
前記関連規則は、前記変更された要求中のフィールドの1つの値の、前記変更された要求中の少なくとも1つの他のフィールドの値への影響を指定する、請求項2に記載の方法。
【請求項６】
前記規則データベースから少なくとも1つの実行規則を検索するステップであって、前記少なくとも1つの実行規則は、前記規則データベースに格納された実行規則のセットから選択される、検索するステップをさらに含む、請求項1に記載の方法。
【請求項７】
実行規則の前記セットは、ルーピング規則または規制規則を含む、請求項6に記載の方法。
【請求項８】
前記ルーピング規則は、前記要求の前記第2のコピーから生成される変更された要求の数を指定する、請求項7に記載の方法。
【請求項９】
前記規制規則は、前記第2のフェアショッピングサーバに送信される単位時間あたりの変更された要求の最大数を指定する、請求項7に記載の方法。
【請求項１０】
前記要求の前記第1のコピーを前記第1のフェアショッピングサーバに送信するステップと、前記要求の前記第2のコピーを変更するステップと、前記変更された要求を前記第2のフェアショッピングサーバに送信するステップは、コンピュータソフトウェア命令を実行する少なくとも1つのデータプロセッサによって実行される、請求項1に記載の方法。
【請求項１１】
前記受信された要求は、航空旅行関連情報要求を含む、請求項1に記載の方法。
【請求項１２】
前記入力フィルタは、1つまたは複数の制約を含み、かつ前記フェアリングシステムの新しいまたは変更された機能を評価するために、前記要求の前記第2のコピーを使用できるかどうかを判断する前記ステップは、
前記要求の前記第2のコピーの各フィールドの前記値に基づいて、前記1つまたは複数の制約を同時に行うことができるかどうかを判断するステップを含む、請求項1に記載の方法。
【請求項１３】
前記変換規則は、変更される要求のタイプ、および前記変更された要求のための1つまたは複数の実行規則についての参照をさらに指定する、請求項1に記載の方法。
【請求項１４】
フェアリングシステムであって、
第1のフェアショッピングサーバを備えるプロダクション設備と、
第2のフェアショッピングサーバと、トラフィック生成サブシステムと、規則データベースとを備えるステージング設備と、
顧客と双方向通信を行うための、前記プロダクション設備および前記ステージング設備に結合されたエントリポイントと
を備え、前記エントリポイントは、
前記顧客から要求を受信し、前記要求は、値をそれぞれが有する複数のフィールドを含み、
前記要求を受信することに応答して、前記要求の第1のコピーを、処理するための前記第1のフェアショッピングサーバに送信し、かつ
前記要求の第2のコピーを前記トラフィック生成サブシステムに送信する
ように構成され、かつ
前記トラフィック生成サブシステムは、
入力フィルタを使用して、前記フェアリングシステムの新しいまたは変更された機能を評価するために、前記要求の前記第2のコピーを使用できるかどうかを判断し、
前記新しいまたは変更された機能を評価するために、前記要求の前記第2のコピーを使用できるという判断に応答して、前記規則データベースから変換規則を検索し、前記変換規則は、データマッピング規則および評価規則を含む前記要求を変換する規則のセットを指定し、
前記要求の前記第2のコピーの1つのフィールドの少なくとも1つの値を、前記データマッピング規則に基づいて、前記変更された要求中の対応するフィールドにコピーすることと、
前記評価規則によって定義されるフィールドのリストからの各フィールドを前記変更された要求に挿入することと、
フィールドの前記リストからの各フィールドについて、前記フィールドに生成するための前記フィールドについての前記評価規則によって定義される値のリストから1つの値を選択し、かつ前記変更された要求を処理するための前記第2のフェアショッピングサーバに送信することと
により、変更トランザクション要求を作成するために、前記規則データベースから検索された規則の前記セットに従って、前記要求の前記第2のコピーを変更する
ように構成された、フェアリングシステム。
【請求項１５】
規則の前記セットは、分配規則または関連規則をさらに含む、請求項14に記載のフェアリングシステム。
【請求項１６】
前記分配規則は、前記変更された要求を生成するときに前記評価規則からの特定の値が使用される頻度を指定し、かつ
前記関連規則は、前記変更された要求中のフィールドの1つの値の、少なくとも1つの他のフィールドの値への影響を指定する、請求項15に記載のフェアリングシステム。
【請求項１７】
前記トラフィック生成サブシステムは、前記規則データベースから少なくとも1つの実行規則を検索するようにさらに構成され、前記少なくとも1つの実行規則は、前記規則データベースに格納された実行規則のセットから選択される、請求項14に記載のフェアリングシステム。
【請求項１８】
実行規則の前記セットは、ルーピング規則または規制規則を含む、請求項17に記載のフェアリングシステム。
【請求項１９】
前記ルーピング規則は、1つの受信された要求から生成される変更された要求の数を指定し、かつ前記規制規則は、前記第2のフェアショッピングサーバに送信される単位時間あたりの変更された要求の最大数を指定する、請求項18に記載のフェアリングシステム。
【請求項２０】
前記顧客から受信された前記要求は、航空旅行関連情報要求を含む、請求項14に記載のフェアリングシステム。
【外国語明細書】
2016192219000001.pdf