Skip to main content
QUICK REVIEW

[論文レビュー] Opaque Response Generation Enabling Automatic Creation of Virtual Services for Service Virtualisation

Miao Du|arXiv (Cornell University)|Aug 17, 2016
Software System Performance and Reliability参考文献 4被引用数 4
ひとこと要約

本論文は、専門知識やプロトコル仕様書が不要な自動サービス仮想化のための不透明な応答生成手法を提案する。インタラクションをクラスタリングし、到着したリクエストを類似した記録済みリクエストにマッチングさせ、それらからリアルタイムで正確な応答を生成する。この手法により、平均99%以上の精度を達成し、DevOpsフレンドリーな、本番環境に類似したテスト環境を実現する。

ABSTRACT

Service virtualisation is a method to create virtual service models that can mimic interaction behaviors between a system under test and the target system. With service virtualisation, the development team can get access to the production-like conditions whenever and however many times they need, enabling frequent and comprehensive testing. Previous techniques for service virtualisation have relied on explicitly modelling the target services by a service expert and require detailed knowledge of message protocol and structure. However, neither of these are necessarily available. In this thesis, we introduce our novel opaque response generation approach. This approach enables services to be virtualised automatically without any expert knowledge or documentation of system protocol and interaction behaviours. Given a collection of interactions exchanged between a system under test and a target real service, our approach can 1) organise the same type of interactions into the same cluster and derive a cluster prototype for each cluster; 2) search a given incoming request for its the most similar request in the interaction library; 3) learn knowledge from the incoming request and the recorded interaction; and 4) generate a response. A framework and proof-of-concept implementation of our opaque response generation approach is described. Experimental results show our opaque response generation approach is able to automatically generate accurate responses in real time with an accuracy rate over 99% on average.

研究の動機と目的

  • 外部サービスへの依存によって、ソフトウェアシステムの隔離テストが困難になるという課題に対処すること。
  • サービス仮想化において、専門家の逆スペックや詳細なプロトコル仕様書の必要性を排除すること。
  • 観測されたインタラクションのみを用いて、自動的かつリアルタイムに正確な仮想サービス応答を生成すること。
  • 継続的インテグレーションおよびDevOps実践を支援するために、オンデマンドで本番環境に類似したテスト環境を提供すること。

提案手法

  • 類似性メトリクスを用いて、記録済みトラフィックからの類似したインタラクションをグループ化してクラスタリングする。
  • 各インタラクションクラスタに対して、代表的な挙動を表すクラスタープロトタイプ(例:重心)を導出する。
  • 類似度ベースの検索メカニズムを用いて、到着したリクエストを最も類似した記録済みリクエストにマッチングする。
  • マッチングされたリクエストおよびその関連応答から学習し、文脈的に適切な新しい応答を生成する。
  • 応答の精度と耐障害性を向上させるために、コンSENSUSプロトタイプアプローチを適用する。
  • ネットワークトレースデータを用いて、リアルタイムでのサービスエミュレーションを検証するプロトタイプフレームワークを実装する。

実験結果

リサーチクエスチョン

  • RQ1メッセージプロトコルやシステム挙動に関する事前知識がなくても、サービス仮想化を実現できるか?
  • RQ2観測されたインタラクショントレースのみを用いて、仮想サービスがどれほど正確に応答を生成できるか?
  • RQ3リアルタイムでの正確な応答生成を実現するために、効率的で正確なクラスタリングおよびマッチング手法は何か?
  • RQ4不透明な応答生成アプローチは、動的または複雑なインタラクションワークロード下でもスケーラブルで効果的か?
  • RQ5多様なサービスタイプやインタラクションパターンにおいて、このアプローチは高い精度を維持できるか?

主な発見

  • 不透明な応答生成アプローチは、リアルタイムのテストシナリオにおいて平均99%以上の応答精度を達成した。
  • 本手法は、プロトコル仕様書や専門家の逆スペックが不要な状態で、正確な仮想サービス応答を生成できた。
  • クラスタ重心およびコンセンサスプロトタイプ技術は、応答生成の効率性と耐障害性を顕著に向上させた。
  • フレームワークは、キャプチャされたネットワークトレースから本番環境に類似したサービス挙動をエミュレートすることで、継続的かつオンデマンドのテストを可能にした。
  • 本アプローチは、ユーザーのタイムライン取得、ツイート取得、フレンド関係など、Twitter APIコールを含む多様なサービスインタラクションにおいて有効であった。
  • 実装はDevOps環境における実現可能性とスケーラビリティを示しており、本番システムへのアクセスが制限される状況下でも、頻繁かつ包括的なテストが可能となった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。