JP2019536299A - 仮想環境におけるレイテンシを決定し緩和する技術 - Google Patents

仮想環境におけるレイテンシを決定し緩和する技術 Download PDF

Info

Publication number
JP2019536299A
JP2019536299A JP2019502673A JP2019502673A JP2019536299A JP 2019536299 A JP2019536299 A JP 2019536299A JP 2019502673 A JP2019502673 A JP 2019502673A JP 2019502673 A JP2019502673 A JP 2019502673A JP 2019536299 A JP2019536299 A JP 2019536299A
Authority
JP
Japan
Prior art keywords
virtual machine
latency
jitter
machine monitor
network interface
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
Application number
JP2019502673A
Other languages
English (en)
Other versions
JP7039553B2 (ja
Inventor
グレイ,マーク
カニンガム,アンドリュー
マクナマラ,クリス
ブラウン,ジョン
ローラン,ピエール
レッキー,アレグザンダー
Original Assignee
インテル コーポレイション
インテル コーポレイション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2019536299A publication Critical patent/JP2019536299A/ja
Application granted granted Critical
Publication of JP7039553B2 publication Critical patent/JP7039553B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

実施例が、仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせ、仮想マシンモニタを通して通信される1つ以上のパケットの各々に少なくとも部分的に基づいて仮想マシンモニタのレイテンシ及びジッタのうち少なくとも1つを決定し、レイテンシ及びジッタのうち少なくとも1つが仮想マシンモニタ上の仮想マシンの要件を満たさないときに補正処置を実行する技術に一般に向けられ得る。

Description

関連出願の相互参照
本出願は、2016年9月28日に出願された、前に出願された米国特許出願第15/279,380号に対する利益及び優先権を主張し、該出願の対象事項はその全体を本明細書において参照により援用される。
技術分野
本明細書で説明される実施例は、仮想マシンモニタを通してパケットを通信してレイテンシ及びジッタを決定することに一般に関する。
サービス及び能力を提供するための仮想環境の利用は、今日のコンピューティング環境においてますます普及してきている。仮想環境は、高い可用性及びトラフィックレイテンシ要件を有するサービスを提供するために使用されている。例えば、電気通信会社は、これらの環境を使用してテレコムサービスをユーザに提供している。これらのサービスを提供するシステムは、サービスが提供されており、顧客により規定された厳しい要件を満たすことを確保するために、絶えず監視される。実施例は、これらの他の問題を解決することに向けられる。
発明の実施例が、添付図面の図において限定としてでなく例として示され、図面において、同様の参照番号は同様の要素を示す。
システムの例を示す。 システムの例を示す。 システムの例を示す。 論理フローの例を示す。 論理フローの例を示す。 論理フローの例を示す。 処理フローの例を示す。 論理フローの例を示す。 コンピューティングシステムの例を示す。 コンピュータアーキテクチャの例を示す。
本明細書で論じられる様々な実施例は、ハイパーバイザ(hypervisor(登録商標))などの仮想マシンモニタによりもたらされるレイテンシ及びジッタ(jitter)を決定するための方法、装置、デバイス、及びシステムを含み得る。例えば、実施例は、1つ以上の「トレーサ(tracer)」パケットを仮想マシンモニタを通してネットワークインターフェース間で通信させることを含み得る。ネットワークインターフェースは、仮想ネットワークインターフェースを含み、仮想マシンモニタを介して動作する仮想マシンに関連づけられてもよい。いくつかの実施例において、仮想マシンは、ネットワーキングサービスを提供できる仮想ネットワーキング機能(virtual networking functions;VNF)などの1つ以上のサービスをサポートし、動作させてもよい。
実施例は、通信されたパケットを使用して仮想マシンモニタのレイテンシ及びジッタを決定することをさらに含み得る。例えば、レイテンシは、パケットがネットワークインターフェースにより送信されたときと、それが別のネットワークインターフェースにより受信されたときとの間の差に基づいてもよい。測定は、仮想マシンモニタによりもたらされたレイテンシを示させる。ジッタ又はパケット遅延変動がさらに計算され、仮想マシンモニタのレイテンシ及び過去レイテンシ測定に基づいてもよい。ジッタは、異なるレイテンシ計算間のレイテンシの変動を示してもよい。
いくつかの例において、実施例は、レイテンシ又はジッタが仮想マシンの指定された要件又は定義されたパラメータを満たさないことに基づいて補正処置を実行することをさらに含み得る。例えば、サービスレベル合意(service level agreement)が、仮想マシンのレイテンシ及びジッタ要件を含む1つ以上の定義されたパラメータを規定してもよい。実施例は、仮想マシンモニタによりこれらの要件が満たされていることを確保し、これらが満たされていないときに緩和又は補正処置を行うことを含み得る。例えば、仮想マシン及びアプリケーションが、異なる仮想マシンモニタにマイグレートされ(migrated)てもよい。別の例において、実施例は、異なる仮想マシンモニタ上で仮想マシン及びアプリケーションを開始することを含み得る。これら及び他の詳細が以下の説明で論じられる。
次に、図面に対して参照が行われ、同様の参照番号は、全体を通して同様の要素を示すために使用される。以下の説明において、説明の目的で、複数の特定の詳細がその完全な理解を提供するために明記される。しかしながら、新規の実施例はこれらの特定の詳細なく実施できることが明らかであり得る。他の例において、周知の構造及びデバイスが、その説明を容易にするためにブロック図形式で示される。その意図は、請求される対象事項と一貫するすべての修正、均等物、及び代替をカバーすることである。
図1Aは、仮想環境の一部であり得るシステム100の一般的概観を示す。実施例において、図のいくつかに表されるシステム100は様々な構成で提供されてもよい。いくつかの実施例において、システムは、システムの1つ以上のコンポーネントがクラウドコンピューティングシステムにおいて1つ以上のネットワークにわたり分散される分散システムとして構成されてもよい。さらに、システムは様々な環境を利用してもよい。ゆえに、システムの1つ以上のコンポーネントが、例えば、必ずしも特定のマシン又はデバイスに結び付けられなくてもよく、しかし、特定の性能要件を満たすために利用可能なリソースを有するマシン又はデバイスのプール又はグループにおいて動作してもよい。システム100は、1つ以上の仮想環境が1つ以上のサービスレベル定義パラメータを満たすことを可能にし得る。これら及び他の詳細が以下の説明でより明らかになる。
システム100は、処理回路102、メモリ104、1つ以上のネットワークインターフェース106、及び記憶装置108を含み得る。いくつかの実施例において、処理回路102は、論理を含んでもよく、これらに限られないがマイクロプロセッサ、プロセッサ、中央処理ユニット、デジタル信号処理ユニット、デュアルコアプロセッサ、モバイルデバイスプロセッサ、デスクトッププロセッサ、シングルコアプロセッサ、システムオンチップ(SoC)デバイス、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セット(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)回路、又は単一チップ若しくは集積回路上の任意の他タイプのプロセッサ若しくは処理回路などの、任意タイプの計算要素のうち1つ以上でもよい。処理回路102は、1つ以上のバス、制御ライン、及びデータラインなどのインターコネクト(図示されていない)を介して、ピアシステム105の他の要素に接続され、該他の要素と通信してもよい。いくつかの実施例において、処理回路102は、実行中にアクセスされ及びアクセスできる命令を含む情報を記憶するために処理ユニットに利用可能なプロセッサレジスタ又は少量の記憶装置を含んでもよい。さらに、プロセッサレジスタは、メモリ階層の上位に通常あり、データにアクセスするための最速の方法を提供する。
上述されたように、システム100は、情報を記憶するためのメモリ104を含み得る。さらに、メモリ104は、揮発及び不揮発メモリの双方を含む、データを記憶できるマシン読取可能又はコンピュータ読取可能媒体を使用して実現されてもよい。いくつかの実施例において、マシン読取可能又はコンピュータ読取可能媒体は非一時的媒体を含んでもよい。実施例はこの文脈で限定されない。
メモリ104は、瞬間的、一時的、又は永続的にデータを記憶することができる。メモリ104は、システム100のための命令及びデータを記憶する。メモリ104は、処理回路102が命令を実行している間、一時変数又は他の中間情報をさらに記憶してもよい。いくつかの実施例において、情報及びデータが、命令の処理中、メモリ104からコンピューティングレジスタにロードされてもよい。次いで、操作されたデータは、しばしば、同じ命令によってか又は後の命令によってかのいずれかで、メモリ104に戻され記憶される。メモリ104は、上記で論じられたデータを記憶することに限定されず、メモリ104は、任意タイプのデータを記憶し得る。
1つ以上のネットワークインターフェース106は、無線及び有線接続を通じての情報又は通信を処理する任意のデバイス及び回路を含む。例えば、1つ以上のネットワークインターフェース106は、受信機、送信機、1つ以上のアンテナ、及び1つ以上のイーサネット(登録商標)接続を含んでもよい。1つ以上のネットワークインターフェース106の具体的な設計及び実装は、システム100が動作するよう意図した通信ネットワークに依存してもよい。
システム100は、これらに限られないが磁気ディスクドライブ、光学ディスクドライブ、テープドライブ、内部記憶装置、取り付け記憶装置、フラッシュメモリ、バッテリバックアップ付きSDRAM(同期DRAM)、及び/又はネットワークアクセス可能記憶装置などの、不揮発記憶装置として実現され得る記憶装置108を含み得る。実施例において、記憶装置108は、例えば、複数のハードドライブが含まれるときに高価なデジタル媒体の記憶性能強化保護を増大させる技術を含んでもよい。記憶装置108のさらなる例には、ハードディスク、フロッピーディスク、コンパクトディスク読取専用メモリ(CD‐ROM)、コンパクトディスクレコーダブル(CD‐R)、コンパクトディスクリライタブル(CD‐RW)、光ディスク、磁気媒体、磁気光媒体、取外し可能メモリカード若しくはディスク、様々なタイプのDVDデバイス、テープデバイス、カセットデバイスなどを含んでもよい。実施例はこの文脈で限定されない。
さらに、記憶装置108は、情報を一時的にメモリ104に記憶させ、かつ処理回路102により処理させ得る命令を含んでもよい。より具体的に、記憶装置108は、1つ以上のオペレーティングシステム(OS)、1つ以上の仮想環境、及び1つ以上のアプリケーションを含んでもよい。
いくつかの実施例において、1つ以上のオペレーティングシステムは、Android(登録商標)ベースのオペレーティングシステム、Apple(登録商標) iOS(登録商標)ベースのオペレーティングシステム、Symbian(登録商標)ベースのオペレーティングシステム、Blackberry(登録商標) OSベースのオペレーティングシステム、Windows(登録商標) OSベースのオペレーティングシステム、Palm OS(登録商標)ベースのオペレーティングシステム、Linux(登録商標)ベースのオペレーティングシステム、FreeBSD(登録商標)ベースのオペレーティングシステムなどの、任意タイプのオペレーティングシステムでもよい。オペレーティングシステムは、他の仮想環境及びアプリケーションが動作することを可能にし得る。
いくつかの実施例において、システム100は、ハイパーバイザなどの仮想マシンモニタ110を介して動作する1つ以上の仮想マシンを含み得る1つ以上の仮想環境を含み得る。仮想マシンは、ハードウェア、メモリ、及びインターフェース、並びにオペレーティングシステムを含むソフトウェアなどの、コンピュータシステムの特定の部分をエミュレートし得る。例えば、以下でより詳細に論じられるように、システム100は、仮想処理回路122、仮想化メモリ124、1つ以上の仮想ネットワークインターフェース126、及び仮想記憶装置128を含んでもよい。
いくつかの実施例において、仮想処理回路122は、仮想マシンに割り当てられる、処理回路102などの物理中央処理ユニット(CPU)でもよい。いくつかの例において、各仮想マシンは、仮想処理回路122を割り振られてもよい。しかしながら、いくつかの例において、システム100がその配設で複数のCPUコアを有する場合、コンピュータ処理ユニット(CPU)スケジューラが実行コンテキストを割り当てることができ、仮想処理回路122は論理プロセッサ上の一連の時間スロットを介して処理を可能にする。実施例はこの方式に限定されない。
同様の方式で、システム100は、仮想マシンのために割り振られたメモリ104の一部を含み得る仮想化メモリ124を含み得る。仮想化メモリ124は、メモリ104が使用されるのと同じ方式で仮想マシンにより使用されてもよい。例えば、仮想化メモリ124は、処理のために仮想マシンに関連づけられた命令を記憶してもよい。いくつかの実施例において、仮想化メモリ124は、仮想メモリマネージャ(図示されていない)により制御されてもよく、これは、仮想マシンモニタ110の一部でもよい。
システム100は、1つ以上の仮想ネットワークインターフェース126をさらに含み得る。仮想ネットワークインターフェース126は、ネットワークインターフェース106などのコンピュータネットワークインターフェースの抽象的仮想化表現である。仮想ネットワークインターフェース126は、仮想マシンにとって、その独自の媒体アクセス制御(MAC)アドレスを有する本格的なイーサネットコントローラとして見えてもよい。仮想ネットワークインターフェース126は、ネットワークインターフェース106にブリッジされ(bridged)てもよい。仮想マシンにより通信されるパケットは、例えば、宛先に対する通信のために、仮想ネットワークインターフェース126及びブリッジされた物理ネットワークインターフェース106を通して送信されてもよい。いくつかの実施例において、パケットは、仮想マシンモニタ110を通して通信されてもよい。
システム100は、仮想記憶装置128をさらに含み得る。仮想記憶装置128は、例えば、仮想マシンに割り振られた物理記憶装置108の一部でもよい。仮想記憶装置128は、仮想マシンのための情報を記憶してもよい。いくつかの例において、仮想記憶装置128は、仮想マシンの作成の時に仮想マシンに割り振られてもよい。
いくつかの例において、システム100は、例えば、ハードウェアネットワーキングインフラストラクチャ ‐ ルータ、スイッチ等の上位で、1つ以上の仮想マシン上で実行する特定のネットワーク機能を扱う責任を負う仮想ネットワーク機能(VNF)132‐nを含み、かつ/あるいは利用することができる。個々のVNFは、システム100のためのフルスケールのネットワーキング通信サービスを提供するための構築ブロックとして一緒に接続又は組み合わせできる。例えば、いくつかの実施例において、システム100は、ロングタームエボリューション(Long-Term Evolution;LTE(登録商標))及び後続5G標準システムにおけるセルラー及びパケットベースの通信を処理するためのテルコ(Telco)システムの一部でもよい。様々なVNF132‐nが、システム100の様々な通信能力を提供し得る。ゆえに、VNF132‐nは、トラフィッククラスに基づく、及びサービスレベル合意により定義される、厳しい性能要件を有するよう予期されることがある。より詳細に論じられるように、実施例は、仮想マシンモニタ110を通してパケット通信を監視して、仮想環境及び仮想マシンモニタ110により少なくとも部分的にもたらされるリアルタイムの、アベレージの、及び平均のレイテンシ及びジッタを決定することにより、これらの厳しい性能要件を維持することに向けられる。
仮想マシンモニタ110又はハイパーバイザは、仮想マシンを作成して実行する1つのコンピュータソフトウェア、ファームウェアハードウェアでもよい。いくつかの例において、仮想マシンモニタ110は、仮想回路122、仮想化メモリ124、仮想ネットワークインターフェース126、及び仮想記憶装置128を使用のために仮想マシンに提示する。ゆえに、仮想マシンモニタ110は、仮想マシンがシステム100のハードウェア及びコンポーネントを利用することを可能にし得る。例えば、仮想マシンモニタ110は、仮想マシン環境内で実行するアプリケーションが仮想処理回路122を介して処理回路102を、仮想化メモリ124を介してメモリ104を、及び仮想記憶装置128を介して記憶装置108を利用することを可能にする。同様に、仮想マシンモニタ110は、パケットが仮想ネットワークインターフェース126及びネットワークインターフェース106を介して仮想マシンのアプリケーションと外部計算環境との間で通信されることを可能にし得る。これらのパケットは、有線又は無線接続を介して1つ以上の他のデバイスに通信されてもよい。いくつかの実施例において、仮想マシンモニタ110は、仮想オペレーティングプラットフォームを有するゲストオペレーティングシステムを仮想マシンに提示してもよく、ゲストオペレーティングシステムの実行を管理する。
前述されたように、実施例は、仮想マシンモニタ110を通してパケットのレイテンシ及びジッタを監視することを含み得る。例えば、トレーサパケットなどの1つ以上のパケットが、ネットワークインターフェースの各々と仮想ネットワークインターフェース126の各々との間で通信されてもよい。パケットは、ネットワークインターフェース106及び仮想マシンモニタ110によりホストされる仮想ネットワークインターフェース126により生成され、周期的、又は半周期的(semi-periodic)に通信される。より具体的に、パケットは、レイテンシ及びジッタ検出の容易さを可能にするために、固定のフレーム間遅延(inter frame delay)(周期)でネットワークインターフェース106及び仮想ネットワークインターフェース126により投入されてもよい。さらに、様々な投入パス粒度が、仮想マシンレベル、仮想ポート/仮想ブリッジレベル、仮想接続レベル、及びサービスクラス(class of service)レベルにおいてを含みサポートされてもよい。サービスクラスレベルは、リアルタイムトラフィック及びベストエフォートトラフィックなどのトラフィッククラスでもよい。仮想マシンモニタ110は、パケットの通信に基づいて、ネットワークインターフェース106及び仮想ネットワークインターフェース126の間の瞬間的レイテンシ及びジッタを決定してもよい。さらに、仮想マシンモニタ110は、この情報、例えば瞬間的レイテンシ及びジッタ情報を、さらなる処理のために仮想マシンコントローラ140に通信してもよい。
実施例において、システム100は、VMware(登録商標)Orchestrator(登録商標)又はOpenStack(登録商標)などの仮想マシンコントローラ140をさらに含み得る。仮想マシンコントローラ140は、ユーザが1つ以上の仮想マシンのための管理タスクを実行することを可能にし得る。さらに、仮想マシンコントローラ140は、1つ以上の仮想マシンモニタ110からレイテンシ及びジッタ情報を受信して、クラウド計算環境にわたるレイテンシ及びジッタ分布モデルを生成し、更新してもよい。ゆえに、仮想マシンコントローラ140は、クラウドレベルでレイテンシ及びジッタを監視し、様々なユーザ及びユーザアプリケーションについて特定のサービスレベル合意が満たされているかどうかに関してリアルタイムの判断を行うことができる。例えば、仮想マシンコントローラ140は、仮想マシンモニタ110及び関連づけられた仮想マシンがサービスレベル合意に基づくレイテンシ及びジッタ要件を含む定義されたパラメータを満たすことができるかどうかを決定することができる。そうでない場合、仮想マシンコントローラ140は、1つ以上の緩和又は補正処置を実行させてもよい。例えば、アプリケーションが、指定されたレイテンシ及びジッタ要件をサポートしていないシステム上で既に動作している場合、仮想マシンコントローラ140は、仮想マシンとVNF132‐nなどのアプリケーションとに、要件を満たすことができる異なる仮想マシンモニタ110にマイグレートさせてもよい。異なる例において、仮想マシンコントローラ140は、現在実行していない仮想マシン及びアプリケーションに、指定された要件を満たすことができる仮想マシンモニタ110上で開始させてもよい。別の例において、仮想マシンコントローラ140は、仮想マシンモニタ110内の1つ以上の構成変更をさせて、性能特性を向上させてもよい。実施例はこれらの例に限定されない。
図1Bは、クラウドベースの計算環境のレイテンシ及びジッタを監視及び緩和するシステム150の例を示す。前述されたように、実施例は、互いの間でパケットを通信する各ネットワークインターフェース106‐p及び仮想ネットワークインターフェース126‐mを含んでよく、p及びmは任意の正整数でよい。ゆえに、パケットは、間欠的な間隔で、インターフェース(106及び126)のすべてに、及び該すべてから送信されることがある。これらのネットワークインターフェース106及び仮想ネットワークインターフェース126は、仮想マシンモニタ110によりサポートされる仮想マシンのためのネットワークサービスを提供してもよい。仮想マシンモニタ110は、ネットワークインターフェース106及び仮想ネットワークインターフェース126の間で通信されるパケットに基づいて瞬間的レイテンシ及びジッタを決定してもよい。
パケットは、「アクティブセッション」の間、例えば、システム150がネットワーク機能仮想化(network function virtualization;NFV)を有効にするためにVNF132などのアプリケーションのための情報を処理しているとき、システム150に挿入されてもよい。ゆえに、パケットは、セッションパケットにより横断されるパスを正確に反映するために、処理回路102を通るリアルパスに挿入されてもよい。ゆえに、VNF132を含むNFV環境において、仮想マシンモニタ110は、パケット、例えばトレーサパケットを、リアルトラフィックとして扱ってもよい。しかしながら、パケットは、アプリケーションへの引渡し又はアプリケーションへの通過の前、仮想ネットワークインターフェース126の最終段階の前に除去されてもよい。いくつかの例において、パケットは、処理回路102を出る前に除去されてもよい。ゆえに、周期的パケット挿入がネットワークインターフェース106及び仮想ネットワークインターフェース126にわたりスケジュールでき、それにより、これらがスループットに影響しないことをパケットスケジューリングが確保するとき、トレーシングは、性能の観点で立ち入らない(non-intrusive)。例えば、パケットスケジューラは、それがセッションパケットが通信していないことを知っている周期又は間隔の間、トレーシングパケットの通信をさせる。実施例はこの方式に限定されない。
仮想マシンモニタ110は、レイテンシ及びジッタ情報を決定し、それを仮想マシンコントローラ140に送信してもよい。仮想マシンモニタ110は、パケットドロップをさらに監視し、記録し、これは、仮想マシンコントローラ140にさらに送信され、補正処置を実行するために使用されてもよい。いくつかの実施例において、仮想マシンモニタ110は、トリガイベントに基づいて情報を仮想マシンコントローラ140に通信してもよい。例えば、情報は、瞬間的レイテンシがレイテンシ閾値を上回るとき、通信されてもよい。レイテンシ閾値は、例えば、サービスレベル合意において確立されたレイテンシ要件に基づいてもよい。別の例において、仮想マシンモニタ110は、サービスレベル合意におけるレイテンシ要件に同様に基づき得るレイテンシ閾値などの閾値をアベレージレイテンシが上回ると決定されたとき、情報を通信してもよい。実施例はこの方式で限定されず、いくつかの例において、仮想マシンコントローラ140が、周期的、半周期的、又は非周期的に情報をポーリングしてもよい。いくつかの例において、仮想マシンコントローラ140は、クラウドベースの計算環境において任意数の仮想マシンについて監視し、決定を行ってもよい。
図1Cは、クラウドベースの計算環境においてレイテンシ及びジッタを監視及び緩和する例示的なシステム175を示す。システム175は、仮想マシンコントローラ140により監視できる複数の仮想マシンモニタ110‐qを含み、qは任意の正整数でよい。仮想マシンコントローラ140は、以下でより詳細に論じられるように、仮想マシンモニタ110‐qを監視することに限定されず、他の処置を実行してもよい。
仮想マシンモニタ110‐qの各々は、仮想環境、又は仮想環境を提供するための仮想マシンに関連づけられてもよい。例えば、仮想マシンモニタ110は、ネットワーク機能仮想化を有効にし、かつVNF132アプリケーションを含む仮想マシンをサポートしてもよい。これらのVNF132アプリケーションは、厳しいレイテンシ及びジッタ要件を典型的に含む。仮想マシンモニタ110‐qの各々は、レイテンシ及びジッタ情報を仮想マシンコントローラ140に報告することができ、これは、VNF132などのアプリケーションのレイテンシ及びジッタ要件が満たされていることを確保する。仮想マシンコントローラ140は、例えば、要件が満たされていない場合、アプリケーション及び仮想マシンを異なる仮想マシンモニタ110に移動してもよい。仮想マシンモニタ110‐q及び仮想マシンコントローラ140の各々は、単一の計算デバイス若しくはサーバ、又は複数の計算デバイス若しくはサーバにわたり動作してもよいことに留意する。ゆえに、アプリケーション及び仮想マシンを移動することは、これらをあるデバイスから別のデバイスに移動することを含んでもよい。しかしながら、実施例はこの方式で限定されない。いくつかの例において、アプリケーション及び仮想マシンは、同じデバイス上の仮想マシンモニタ110間で移動されてもよい。
いくつかの実施例において、仮想マシンコントローラ140は、仮想マシンモニタ110‐qの各々からレイテンシ及びジッタ情報を受信し、仮想マシンモニタ110‐qの各々について統計モデルを生成することができる。統計モデルは、ある期間にわたり仮想マシンモニタ110‐qの各々についてレイテンシ及びジッタ統計を記録してもよい。モデルは、仮想環境モニタの各々についてレイテンシ及びジッタに関して平均及び標準偏差を決定するために使用できるガウシアン分布を含んでもよい。これらのモデルは、特定の仮想マシンモニタ110‐qが仮想マシン及びアプリケーションの要件を満たすことができるかどうかを決定するために、仮想マシンコントローラ140により使用されてもよい。特定の仮想マシンモニタ110‐qが、モデルに基づいて仮想マシン及びアプリケーションをサポートすることができる場合、仮想マシンコントローラ140は、補正処置を行わなくてもよい。しかしながら、特定の仮想マシンモニタ110‐qが仮想マシン及びアプリケーションをサポートすることができない場合、仮想マシンコントローラ140は、異なる仮想マシンモニタ110‐q上に仮想マシン及びアプリケーションを移動し、あるいはインスタンス化してもよい。
図2Aは、仮想環境における処理のための第1の論理フロー200の例を示す。論理フロー200は、本明細書で説明される1つ以上の実施例により実行される動作の一部又は全部の代表であり得る。例えば、論理フロー200は、図1A〜1Cに示される仮想マシンモニタ110により実行される動作を示し得る。様々な実施例はこの方式で限定されず、1つ以上の動作が、仮想マシンコントローラ140を含む他のコンポーネントにより実行されてもよい。
ブロック202において、仮想マシンモニタが、1つ以上のネットワークインターフェース及び仮想ネットワークインターフェースに、互いの間でパケットを通信させてもよい。いくつかの実施例において、パケットは、システムの処理回路を通るリアルパスを表すアクティブセッションに挿入されるトレーサパケットでもよい。アクティブセッションは、1つ以上のアプリケーションにより処理されるべき又は処理されている情報が仮想マシンとクライアントデバイスとの間でさらに通信されるセッションでもよい。例えば、アクティブセッションの間、テレコム通信に関連する1つ以上のアクティブセッションパケットが、ネットワークインターフェース及び仮想ネットワークインターフェースの間でさらに通信されてもよい。これらのアクティブセッションパケットは、VNFなどのアプリケーションにより処理される情報を含んでもよい。
実施例において、トレーサパケットは、アプリケーションにより処理される情報を有するアクティブセッションパケットと干渉しない。例えば、トレーサパケットは、アクティブセッションパケット通信の間で通信されてもよい。しかしながら、トレーサパケットは、処理回路を通るアクティブセッションパケットと同じパスをたどってもよく、しかし、処理回路を出る前に除去されてもよい。トレーサパケットは、さらに、通信パイプラインの異なるポイントで除去されてもよい。例えば、これらはさらに、アプリケーションへの引渡しの前、仮想ネットワークインターフェースの最終段階により取り除かれてもよい。
トレーサパケットはさらに、これらがアクティブセッションパケットと干渉しないように周期的又は半周期的に通信されてもよい。例えば、トレーサパケットは、固定のフレーム間遅延(周期)で通信されてもよい。ゆえに、トレーサパケットは、アクティブセッションパケットのスループットに影響しない。
実施例において、各ネットワークインターフェース及び各仮想ネットワークインターフェースは、トレーサパケットを、あらゆる他のネットワークインターフェース及び仮想ネットワークインターフェースに通信してもよい。さらに、ブロック204において、仮想マシンモニタは、トレーサパケットの通信に基づいて瞬間的レイテンシ及びジッタを決定してもよい。仮想マシンモニタは、ネットワークインターフェース及び仮想ネットワークインターフェースがトレーサパケットを毎回通信した後、瞬間的レイテンシ及びジッタを決定してもよい。レイテンシは、トレーサパケットがインターフェースにより通信されたときと、それがインターフェースにより受信されたときとの間の差に基づいて決定されてもよい。いくつかの実施例において、仮想マシンモニタは、インターフェースからこの情報を受信してもよい。さらに、仮想マシンモニタは、フレーム間周期中に通信される単一のトレーサパケット、複数のトレーサパケット、及びすべてのトレーサパケットの通信に基づいて、瞬間的レイテンシを決定してもよい。ジッタがさらに決定され、フレーム間周期中に通信されるこれらのトレーサパケットに基づいてもよい。
ブロック206において、仮想マシンモニタは、瞬間的レイテンシ及びジッタを仮想マシンコントローラに通信してもよい。いくつかの実施例において、仮想マシンモニタは、レイテンシ及びジッタ要件が仮想マシンモニタにより満たされていないとき、レイテンシ及びジッタ情報を通信してもよい。前述されたように、これらの要件は、仮想マシンモニタによりサポートされる1つ以上のアプリケーションの性能要件を定義するサービスレベル合意に基づいてもよい。実施例はこの方式で限定されない。例えば、仮想マシンモニタは、各決定及び/又はフレーム間周期の後、レイテンシ及びジッタ情報を通信してもよい。
図2Bは、仮想環境における処理のための第2の論理フロー220の例を示す。論理フロー220は、本明細書で説明される1つ以上の実施例により実行される動作の一部又は全部の代表であり得る。例えば、論理フロー220は、図1A〜1Cに示される仮想マシンコントローラにより実行される動作を示し得る。様々な実施例はこの方式で限定されない。様々な実施例は限定されず、1つ以上の動作が、仮想マシンモニタを含む他のコンポーネントにより実行されてもよい。
ブロック222において、仮想マシンコントローラは、トレーサパケットなどの1つ以上のパケットを、1つ以上の仮想マシンモニタのためのネットワークインターフェース及び仮想ネットワークインターフェースにより通信させてもよい。例えば、仮想マシンコントローラは、トレーサパケットがアクティブセッションパケットと干渉しないように、1つ以上の仮想マシンモニタの各々がいつトレーサパケットを通信すべきかを決定するためのスケジューラ(図示されていない)を含んでもよい。
ブロック224において、仮想マシンコントローラは、仮想マシンモニタからレイテンシ及びジッタ情報を受信してもよい。仮想マシンコントローラは、仮想マシンコントローラが制御している仮想環境内の仮想マシンモニタの各々からレイテンシ及びジッタ情報を受信することに留意する。しかしながら、情報は、仮想マシンモニタの各々についてのトレーサパケットの通信のスケジューリングに基づいて、異なる時間又は間隔で受信できる。レイテンシ及びジッタ情報は、単一又は複数のフレーム間周期中にトレーサパケットの通信に基づいて仮想マシンモニタにより決定される瞬間的レイテンシ及びジッタでもよい。
ブロック226において、仮想マシンコントローラは、仮想マシンモニタの各々についてのある期間にわたるレイテンシ及びジッタ統計を含み得るレイテンシ及びジッタモデルを更新してもよい。例えば、レイテンシ及びジッタモデルは、仮想マシンモニタのある期間にわたるアベレージレイテンシ、仮想マシンモニタのピークレイテンシ、ピークレイテンシに関連づけられた時間などを示してもよい。この情報並びに瞬間的レイテンシ及びジッタは、ブロック228において、仮想マシン及び仮想マシンモニタによりホストされるアプリケーションの各々についてレイテンシ及びジッタ要件が満たされているかどうかを決定するために使用されてもよい。要件が満たされている場合、仮想マシンコントローラは、仮想マシンモニタのモデルを監視及び更新することを継続してもよい。
ブロック230において、仮想マシンコントローラは、レイテンシ及びジッタ要件が1つ以上のアプリケーションについて満たされていることを確保するために補正処置を行ってもよい。例えば、仮想マシンコントローラは、仮想マシン及びアプリケーションを、要件を満たすのに失敗している仮想マシンモニタから、要件を満たす仮想マシンモニタにマイグレートしてもよい。いくつかの例において、仮想マシンコントローラは、レイテンシ及びジッタモデル、及び/又は瞬間的レイテンシ及びジッタ情報に基づいて、どの仮想マシンモニタが仮想マシン及びアプリケーションを移動すべきかを選択してもよい。いくつかの実施例において、仮想マシンコントローラにより実行される処置は、以下で図2Cにより詳細に論じられるように、どこで仮想マシンをインスタンス化すべきかを決定することを含んでもよい。
図2Cは、仮想環境における処理のための第3の論理フロー240の例を示す。論理フロー240は、本明細書で説明される1つ以上の実施例により実行される動作の一部又は全部の代表であり得る。例えば、論理フロー240は、図1A〜1Cに示される仮想マシンコントローラ140により実行される動作を示し得る。様々な実施例はこの方式で限定されない。様々な実施例は限定されず、1つ以上の動作が、仮想マシンモニタ110を含む他のコンポーネントにより実行されてもよい。
ブロック242において、仮想マシンコントローラは、情報を処理するための1つ以上のアプリケーションを含む仮想マシンをインスタンス化するための要求を受信してもよい。いくつかの実施例において、要求はユーザにより生成され、ユーザ入力を有するユーザ対話に基づいてもよい。しかしながら、実施例はこの方式で限定されず、いくつかの例において、要求はコンピュータにより生成されてもよい。
ブロック244において、仮想マシンコントローラは、仮想マシン及びアプリケーションの要件を、仮想マシンモニタのレイテンシ及びジッタモデルと比較してもよい。比較は、ブロック246において、どの仮想マシンモニタが仮想マシン及びアプリケーションをインスタンス化すべきかを決定するために使用されてもよい。例えば、仮想マシンコントローラは、仮想マシン及びアプリケーションのレイテンシ及びジッタ要件を満たすことができる利用可能な仮想マシンモニタを選択してもよい。いくつかの例において、モデルに基づき最も低いレイテンシを有する「最良」又は仮想のマシンモニタが選択されてもよい。ただし、実施例はこの方式で限定されない。さらに、ブロック248において、仮想マシンコントローラは、仮想マシン及びアプリケーションに、選択された仮想マシンモニタ上でインスタンス化させてもよい。
図3は、レイテンシ及びジッタを監視することを含む仮想環境における処理のための第1の処理フロー300の例を示す。処理フロー300は、本明細書で説明される1つ以上の実施例により実行される動作の一部又は全部の代表であり得る。例えば、処理フロー300は、図1A〜1Cに示される仮想マシンコントローラ及び仮想マシンモニタにより実行される動作を示し得る。特定の動作が特定の順序で生じるものとして示されるが、実施例はこの方式で限定されない。1つ以上の動作が、他の動作の前、間、又は後に生じてもよい。
ブロック302において、実施例は、仮想マシンコントローラ140が仮想マシンモニタ110に関連づけられたインターフェースにより通信されるトレーサパケットなどの1つ以上のパケットの通信をさせることを含む。例えば、仮想マシンコントローラ140は、インターフェースを介して通信されるトレーサパケットの通信をスケジュールしてもよい。ブロック304において、仮想マシンモニタ110は、1つ以上のトレーサパケットを通信し、あるいは該1つ以上のトレーサパケットの通信をさせてもよい。より具体的に、仮想マシンモニタ110は、ネットワークインターフェース及び仮想ネットワークインターフェースの各々に、互いに対してトレーサパケットを通信させてもよい。
実施例において、仮想マシンモニタ110は、ブロック306においてトレーサパケットに基づいて瞬間的レイテンシ及びジッタを決定してもよい。さらに、ブロック308において、仮想マシンモニタは、レイテンシ及びジッタ情報の結果を仮想マシン協調(coordinate)140に通信してもよい。結果は、例えば、1つ以上の有線又は無線通信リンクを介して1つ以上のパケットとして通信されてもよい。
ブロック310において、仮想マシンコントローラ140は、結果並びにレイテンシ及びジッタ情報に基づいてレイテンシ及びジッタモデルを更新してもよい。さらに、ブロック312において、仮想マシンコントローラ140は、仮想マシン及び1つ以上のアプリケーションを動作させる仮想マシンモニタ110が仮想マシン及びアプリケーションのレイテンシ及びジッタ要件を満たしている/超えているかどうかを決定する。仮想マシンモニタ110が要件を満たしている場合、仮想マシンコントローラ140は処置を行わなくてもよい。しかしながら、ブロック314において、仮想マシンモニタ110が仮想マシン及びアプリケーションの要件を提供又はサポートしていない場合、仮想マシンコントローラ140は処置を行ってもよい。例えば、仮想マシンコントローラ140は、仮想マシン及びアプリケーションに、要件をサポートすることができる異なる仮想マシンモニタ110にマイグレートさせてもよい。別の例において、仮想マシンコントローラ140は、結果に基づいて異なる仮想マシンモニタ110上で仮想マシン及びアプリケーションを開始してもよい。実施例はこの方式で限定されず、他の処置が実行されてもよい。例えば、ユーザ通知がユーザに通信されてもよく、これは警告メッセージの形式でもよい。
図4は、第4の論理フロー図400の実施例を示す。論理フロー400は、本明細書で説明される1つ以上の実施例により実行される動作の一部又は全部の代表であり得る。例えば、論理フロー400は、図1A〜1Cにおける1つ以上のシステム又はデバイスにより実行される動作を示し得る。様々な実施例はこの方式で限定されない。
様々な実施例において、論理フロー400は、ブロック405において、仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせることを含み得る。例えば、スケジューラが、仮想マシンモニタを介して動作する仮想マシンに関連づけられた各々のネットワークインターフェースと仮想ネットワークインターフェースとの間で1つ以上のトレーサパケットを通信させてもよい。いくつかの実施例において、仮想マシンは、VNFなどの1つ以上のアプリケーションをサポートし、動作させてもよい。
ブロック410において、論理フロー400は、仮想マシンモニタを通して通信される1つ以上のパケットの各々に少なくとも部分的に基づいて、仮想マシンモニタのレイテンシ及びジッタのうち少なくとも1つを決定することを含み得る。例えば、仮想マシンコントローラが、仮想マシンモニタのレイテンシを決定するために、パケットの通信に基づいてレイテンシ及びジッタ情報を受信してもよい。
ブロック415において、論理フローは、レイテンシ及びジッタのうち少なくとも1つが仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行することを含む。例えば、サービスレベル合意が、仮想マシンのレイテンシ及びジッタ要件を含む1つ以上の定義されたパラメータを規定してもよい。実施例は、これらの要件が仮想マシンモニタより満たされていることを確保し、これらが満たされていないときに緩和又は補正処置を行うことを含んでもよい。例えば、仮想マシン及びアプリケーションが、異なる仮想マシンモニタにマイグレートされてもよい。別の例において、実施例は、異なる仮想マシンモニタ上で仮想マシン及びアプリケーションを開始することを含んでもよい。実施例はこれらの例に限定されない。
図5は、システム500の一実施例を示す。様々な実施例において、システム500は、図1A〜1Cに示されるシステム及びデバイスなどの、本明細書で説明される1つ以上の実施例での使用に適したシステム又はアーキテクチャの代表であり得る。実施例はこの点で限定されない。
図5に示されるように、システム500は複数の要素を含み得る。1つ以上の要素が、設計又は性能制約の所与のセットのため所望に応じて、1つ以上の回路、コンポーネント、レジスタ、プロセッサ、ソフトウェア、サブルーチン、モジュール、又はこれらの任意の組み合わせを使用して実現されてもよい。図5は、例として特定のトポロジにおいて限られた数の要素を示すが、任意の適切なトポロジにおけるより多くの又はより少ない要素が、所与の実現のため所望に応じてシステム500で使用されてもよいことが十分理解できる。実施例はこの文脈で限定されない。
様々な実施例において、システム500は、パーソナルコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、サーバ、サーバファーム、ブレードサーバ、又は任意の他タイプのサーバなどを含む、任意タイプのコンピュータ又は処理デバイスであり得るコンピューティングデバイス505を含み得る。
様々な実施例において、コンピューティングデバイス505はプロセッサ回路502を含み得る。プロセッサ回路502は、任意のプロセッサ又は論理デバイスを使用して実現されてもよい。処理回路502は、これらに限られないがマイクロプロセッサ、プロセッサ、中央処理ユニット、デジタル信号処理ユニット、デュアルコアプロセッサ、モバイルデバイスプロセッサ、デスクトッププロセッサ、シングルコアプロセッサ、システムオンチップ(SoC)デバイス、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セット(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は単一チップ若しくは集積回路上の任意の他タイプのプロセッサ若しくは処理回路などの、任意タイプの計算要素のうち1つ以上でもよい。処理回路502は、1つ以上のバス、制御ライン、及びデータラインなどのインターコネクト543を介して、コンピューティングシステムの他の要素に接続され、該他の要素と通信してもよい。
一実施例において、コンピューティングデバイス505は、プロセッサ回路502に結合するメモリユニット504を含み得る。メモリユニット504は、所与の実現のため所望に応じて、通信バス543を介して、又はプロセッサ回路502及びメモリユニット504の間の専用通信バスにより、プロセッサ回路502に結合されてもよい。メモリユニット504は、揮発及び不揮発メモリの双方を含む、データを記憶できる任意のマシン読取可能又はコンピュータ読取可能媒体を使用して実現されてもよい。いくつかの実施例において、マシン読取可能又はコンピュータ読取可能媒体は非一時的媒体を含んでもよい。実施例はこの文脈で限定されない。
コンピューティングデバイス505は、様々な実施例において、グラフィックス処理ユニット(GPU)506を含み得る。GPU506は、グラフィックス関連動作並びにビデオデコーダエンジン及びフレーム相関エンジンを実行するように最適化された任意の処理ユニット、論理、又は回路を含んでもよい。GPU506は、ビデオゲーム、グラフィックス、コンピュータ支援設計(CAD)、シミュレーション及び視覚化ツール、イメージング等などの様々なアプリケーションの2次元(2D)及び/又は3次元(3D)イメージをレンダリングするために使用されてもよい。様々な実施例はこの方式で限定されない。GPU506は、ピクチャ、ビデオ、プログラム、アニメーション、3D、2D、オブジェクトイメージなどの任意タイプのグラフィックスを処理してもよい。
いくつかの実施例において、コンピューティングデバイス505はディスプレイコントローラ508を含み得る。ディスプレイコントローラ508は、グラフィックス情報を処理しグラフィックス情報を表示するための任意タイプのプロセッサ、コントローラ、回路、論理などでもよい。ディスプレイコントローラ508は、1つ以上のバッファからグラフィックス情報を受信し、あるいは取り出してもよい。情報を処理した後、ディスプレイコントローラ508は、グラフィックス情報をディスプレイに送信してもよい。
様々な実施例において、システム500は送受信機544を含み得る。送受信機544は、様々な適切な無線通信技術を使用して信号を送信及び受信することができる1つ以上の無線機を含んでもよい。こうした技術には、1つ以上の無線ネットワークにわたる通信を含んでもよい。例示的な無線ネットワークは、(これらに限られないが)無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)、無線メトロポリタンエリアネットワーク(WMAN)、セルラーネットワーク、及び衛星ネットワークを含む。それは、(これらに限られないが)イーサネット、パケット光ネットワーク、(データセンター)ネットワークファブリック等を含み得る有線ネットワーキングのための送受信機をさらに含んでもよい。こうしたネットワークにわたり通信する際、送受信機544は、任意のバージョンの1つ以上の適用可能な標準に従って動作してもよい。実施例はこの文脈で限定されない。
様々な実施例において、コンピューティングデバイス505はディスプレイ545を含み得る。ディスプレイ545は、プロセッサ回路502、グラフィックス処理ユニット506、及びディスプレイコントローラ508から受信された情報を表示することができる任意のディスプレイデバイスを構成してよい。
様々な実施例において、コンピューティングデバイス505は記憶装置546を含み得る。記憶装置546は、これらに限られないが磁気ディスクドライブ、光学ディスクドライブ、テープドライブ、内部記憶装置、取り付け記憶装置、フラッシュメモリ、バッテリバックアップ付きSDRAM(同期DRAM)、及び/又はネットワークアクセス可能記憶装置などの、任意の不揮発記憶装置として実現されてよい。実施例において、記憶装置546は、例えば、複数のハードドライブが含まれるときに高価なデジタル媒体の記憶性能強化保護を増大させる技術を含んでもよい。記憶装置546のさらなる例には、ハードディスク、フロッピーディスク、コンパクトディスク読取専用メモリ(CD‐ROM)、コンパクトディスクレコーダブル(CD‐R)、コンパクトディスクリライタブル(CD‐RW)、光ディスク、磁気媒体、磁気光媒体、取外し可能メモリカード若しくはディスク、様々なタイプのDVDデバイス、テープデバイス、カセットデバイスなどを含んでもよい。実施例はこの文脈で限定されない。
様々な実施例において、コンピューティングデバイス505は1つ以上のI/Oアダプタ547を含み得る。I/Oアダプタ547の例は、ユニバーサルシリアルバス(USB)ポート/アダプタ、IEEE1394 Firewireポート/アダプタなどを含んでもよい。実施例はこの文脈で限定されない。
図6は、前に説明された様々な実施例を実現するのに適した例示的なコンピューティングアーキテクチャ600の実施例を示す。一実施例において、コンピューティングアーキテクチャ600は、前に論じられた1つ以上のシステム及びデバイスの一部を含み、あるいは該一部として実現されてもよい。
本出願で用いられるとき、用語「システム」及び「コンポーネント」は、コンピュータ関連エンティティ、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかを参照するよう意図され、これらの例が、例示的なコンピューティングアーキテクチャ600により提供される。例えば、コンポーネントは、これらに限られないがプロセッサ上で実行するプロセス、プロセッサ、ハードディスクドライブ、(光及び/又は磁気記憶媒体の)複数の記憶装置ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラム、及び/又はコンピュータであり得る。例として、サーバ上で実行するアプリケーションとサーバとの双方がコンポーネントであり得る。1つ以上のコンポーネントが、実行のプロセス及び/又はスレッド内に存在してもよく、コンポーネントは、1つのコンピュータ上に局所化でき、かつ/あるいは2つ以上のコンピュータ間で分散できる。さらに、コンポーネントは、動作を協調するために様々なタイプの通信媒体により互いに対して通信可能に結合されてもよい。協調は、情報の単方向又は双方向の交換を含んでもよい。例えば、コンポーネントは、通信媒体を通じて通信される信号の形式で情報を通信してもよい。情報は、様々な信号ラインに割り振られた信号として実現できる。こうした割り振りにおいて、各メッセージは信号である。しかしながら、さらなる実施例がデータメッセージを代替的に採用してもよい。こうしたデータメッセージは、様々な接続にわたり送信されてもよい。例示的な接続は、パラレルインターフェース、シリアルインターフェース、及びバスインターフェースを含む。
コンピューティングアーキテクチャ600は、様々な一般的コンピューティング要素、例えば、1つ以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺装置、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント、電源などを含む。しかしながら、実施例は、コンピューティングアーキテクチャ600による実装に限定されない。
図6に示されるように、コンピューティングアーキテクチャ600は、処理ユニット604、システムメモリ606、及びシステムバス608を含む。処理ユニット604は、市販のプロセッサ、例えば、図1Aに示される処理回路を参照して説明されたものなどでもよい。
システムバス608は、これらに限られないが処理ユニット604対メモリ606を含むシステムコンポーネントのためのインターフェースを提供する。システムバス608は、様々な市販のバスアーキテクチャ構造のうち任意のものを使用してメモリバス(メモリコントローラを有し又は有さない)、周辺装置バス、及びローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のうち任意のものでもよい。インターフェースアダプタが、スロットアーキテクチャを介してシステムバス608に接続してもよい。例示的なスロットアーキテクチャは、アクセラレーテッドグラフィックスポート(Accelerated Graphics Port;AGP)、カードバス、(拡張)インダストリスタンダードアーキテクチャ((Extended)Industry Standard Architecture;(E)ISA)、マイクロチャネルアーキテクチャ(Micro Channel Architecture;MCA)、ニューバス(NuBus)、ペリフェラルコンポーネントインターコネクト(拡張)(Peripheral Component Interconnect (Extended);PCI(X))、PCIエクスプレス、パーソナルコンピュータメモリカードインターナショナルアソシエーション(Personal Computer Memory Card International Association;PCMCIA)などを限定なく含んでもよい。
コンピューティングアーキテクチャ600は、様々な製造品を含み、あるいは実装してもよい。製造品は、論理を記憶するためのコンピュータ読取可能記憶媒体を含んでもよい。コンピュータ読取可能記憶媒体の例は、揮発メモリ又は不揮発メモリ、取外し可能又は取外し不能メモリ、消去可能又は消去不能メモリ、書き込み可能又は再書き込み可能メモリなどを含む、電子データを記憶できる任意の有形媒体を含んでもよい。論理の例は、任意の適切なタイプのコード、例えば、ソースコード、コンパイルコード、解釈コード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコードなどを使用して実現される実行可能コンピュータプログラム命令を含んでもよい。実施例は、さらに、本明細書で説明される動作の実行を可能にするために1つ以上のプロセッサにより読み出し及び実行され得る、非一時的コンピュータ読取可能媒体内又は該媒体上に含まれる命令として少なくとも部分的に実現されてもよい。
システムメモリ606は、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、ダブルデータレートDRAM(DDRAM)、同期DRAM(SDRAM)、静的RAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、ポリマーメモリ、例えば強誘電体ポリマーメモリ、オボニックメモリ、相変化又は強誘電体メモリなど、SONOS(silicon-oxide-nitride-oxide-silicon)メモリ、磁気又は光カード、RAID(Redundant Array of Independent Disks)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD)、及び情報を記憶するのに適した任意の他タイプの記憶媒体などの、1つ以上のより高速のメモリユニットの形式の様々なタイプのコンピュータ読取可能記憶媒体を含んでもよい。図6に示される例示の実施例において、システムメモリ606は不揮発メモリ610及び/又は揮発メモリ612を含むことができる。基本入力/出力システム(BIOS)が不揮発メモリ610に記憶されてもよい。
コンピュータ602は、内部(又は外部)ハードディスクドライブ(HDD)614、取外し可能磁気ディスク618から読み出し又は取外し可能磁気ディスク618に書き込むための磁気フロッピーディスクドライブ(FDD)616、取外し可能光ディスク622(例えば、CD‐ROM又はDVD)から読み出し又は取外し可能光ディスク622に書き込むための光学ディスクドライブ620を含む、1つ以上のより低速のメモリユニットの形式の様々なタイプのコンピュータ読取可能記憶媒体を含んでもよい。HDD614、FDD616、及び光学ディスクドライブ620は、それぞれ、HDDインターフェース624、FDDインターフェース626、及び光学ドライブインターフェース628によりシステムバス608に接続できる。外部ドライブ実装のためのHDDインターフェース624は、ユニバーサルシリアルバス(USB)及びIEEE1394インターフェース技術のうち少なくとも1つ又は双方を含むことができる。
ドライブ及び関連づけられたコンピュータ読取可能媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発及び/又は不揮発記憶を提供する。例えば、オペレーティングシステム630、1つ以上のアプリケーションプログラム632、他のプログラムモジュール634、及びプログラムデータ636を含む複数のプログラムモジュールが、ドライブ及びメモリユニット610、612に記憶されてもよい。一実施例において、1つ以上のアプリケーションプログラム632、他のプログラム634、及びプログラムデータ636は、例えば、システム105の様々なアプリケーション及び/又はコンポーネントを含むことができる。
ユーザは、1つ以上の有線/無線入力デバイス、例えば、キーボード638、及びマウス640などのポインティングデバイスを通して、コマンド及び情報をコンピュータ602に入力することができる。他の入力デバイスには、マイクロフォン、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックスタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性等)、トラックボール、トラックパッド、センサ、スタイラスなどを含んでもよい。これら及び他の入力デバイスは、システムバス608に結合された入力デバイスインターフェース642を通して処理ユニット604にしばしば接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースにより接続されてもよい。
モニタ644又は他のタイプのディスプレイデバイスが、ビデオアダプタ646などのインターフェースを介してシステムバス608にさらに接続される。モニタ644は、コンピュータ602に対して内部又は外部であり得る。モニタ644に追加で、コンピュータは、スピーカ、プリンタなどの他の周辺装置出力デバイスを典型的に含む。
コンピュータ602は、リモートコンピュータ648などの1つ以上のリモートコンピュータに対する有線及び/又は無線通信を介しての論理接続を使用してネットワーク化環境で動作してもよい。リモートコンピュータ648は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽電化製品、ピアデバイス、又は他の一般的ネットワークノードでもよく、コンピュータ602に対して説明された要素の多く又はすべてを典型的に含むが、簡潔さのため、メモリ/記憶デバイス650のみが例示される。図示の論理接続は、ローカルエリアネットワーク(LAN)652及び/又はより大きいネットワーク、例えば、ワイドエリアネットワーク(WAN)654に対する有線/無線接続性を含む。こうしたLAN及びWANネットワーキング環境は、オフィス及び会社において普通であり、イントラネットなどの企業範囲のコンピュータネットワークを容易にし、これらのすべてが、グローバル通信ネットワーク、例えば、インターネットに接続してもよい。
LANネットワーキング環境で使用されるとき、コンピュータ602は、有線及び/又は無線通信ネットワークインターフェース又はアダプタ656を通してLAN652に接続される。アダプタ656は、LAN652に対する有線及び/又は無線通信を容易にすることができ、LAN652は、アダプタ656の無線機能性と通信するためにそれに配設された無線アクセスポイントをさらに含んでもよい。
WANネットワーキング環境で使用されるとき、コンピュータ602は、モデム658を含むことができ、あるいはWAN654上の通信サーバに接続され、あるいはインターネットを用いてなどのWAN654を通じての通信を確立する他の手段を有する。内部又は外部であり、有線及び/又は無線デバイスであり得るモデム658は、入力デバイスインターフェース642を介してシステムバス608に接続する。ネットワーク化環境において、コンピュータ602に対して図示されたプログラムモジュール又はその一部は、リモートメモリ/記憶デバイス650に記憶されてもよい。図示のネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段が使用されてもよいことが十分理解される。
コンピュータ602は、無線通信(例えば、IEEE802.11無線変調技術)において動作可能に配設された無線デバイスなどの、IEEE802ファミリの標準を使用する有線及び無線デバイス又はエンティティと通信するよう動作可能である。これは、とりわけ、少なくともWiFi(又は、ワイヤレスフィデリティ(Wireless Fidelity))、WiMax(登録商標)、及びBluetooth(登録商標)無線技術、3G、4G、LTE無線技術を含む。ゆえに、通信は、従来のネットワークのように予め定義された構造でもよく、あるいは単に、少なくとも2つのデバイス間のアドホック通信でもよい。WiFiネットワークは、IEEE802.11x(a、b、g、n等)と呼ばれる無線技術を使用して、セキュアな、信頼性のある、高速の無線接続性を提供する。WiFiネットワークは、コンピュータを互いに、インターネットに、及び(IEEE802.3関連の媒体及び機能を使用する)有線ネットワークに接続するために使用できる。
図1〜5を参照して前に説明された様々な要素及びコンポーネントは、様々なハードウェア要素、ソフトウェア要素、又は双方の組み合わせを含んでもよい。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ、回路素子(例えば、トランジスタ、抵抗器、キャパシタ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、セミコンダクタデバイス、チップ、マイクロチップ、チップセットなどを含んでもよい。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組み合わせを含んでもよい。しかしながら、実施例がハードウェア要素を使用して実現されるか及び/又はソフトウェア要素を使用して実現されるかを決定することは、所与の実装のために所望されるとおり、所望の計算レート、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計又は性能制約などの任意数のファクタに従って変動してもよい。
次に、詳細な開示は、さらなる実施例に属する例を提供することに移る。以下に提供される例1乃至32(1〜32)は、例示であり非限定的であることが意図される。
第1の例において、システム、デバイス、装置が、1つ以上のネットワーキングインターフェースメモリと、上記メモリに結合された処理回路と、上記処理回路により少なくとも部分的に実現される論理とを含み得る。上記論理は、仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上のパケットの通信をさせ、上記仮想マシンモニタを通して通信される上記1つ以上のパケットに少なくとも部分的に基づいて上記仮想マシンモニタのレイテンシ又はジッタを決定し、上記レイテンシ又は上記ジッタが上記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行する。
第2の例において、及び第1の例の増進において、システム、デバイス、装置は、上記論理が上記補正処置のために上記仮想マシンモニタ上の上記仮想マシンを異なる仮想マシンモニタに移動することを含み得る。
第3の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記論理が上記補正処置のために異なる仮想マシンモニタ上で上記仮想マシンを開始することを含み得る。
第4の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記定義されたパラメータが上記仮想マシンのサービスレベル合意において指定されたレイテンシ要件及びジッタ要件のうち1つ以上を含むことを含み得る。
第5の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記論理が複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定し、上記決定されたレイテンシ及びジッタに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成することを含み得る。
第6の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記論理が上記仮想マシンの上記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて上記複数の仮想マシンモニタのうち1つで上記仮想マシンを開始することを含み得る。
第7の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記論理が各ネットワークインターフェースに、上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、上記ネットワークインターフェース間の瞬間的レイテンシを決定することを含み得る。
第8の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記論理が各ネットワークインターフェースに、周期的に上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させ、各通信の後、瞬間的レイテンシを決定し、少なくとも上記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新することを含み得る。
第9の例において、及び任意の前の例の増進において、システム、デバイス、装置は、上記ネットワークインターフェースのうち少なくとも1つが、上記仮想マシンモニタによりサポートされる仮想マシンの仮想ネットワークインターフェースを含むことを含み得る。
第10の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体が複数の命令を含み、上記複数の命令は、処理回路により実行されたときに処理回路が仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせ、上記仮想マシンモニタを通して通信される上記1つ以上のパケットの各々に少なくとも部分的に基づいて上記仮想マシンモニタのレイテンシ又はジッタを決定し、上記レイテンシ又は上記ジッタが上記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行することを可能にする。
第11の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が上記補正処置のために上記仮想マシンモニタ上の上記仮想マシンを異なる仮想マシンモニタに移動することを可能にする複数の命令を含む。
第12の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が上記補正処置のために異なる仮想マシンモニタ上で上記仮想マシンを開始することを可能にする複数の命令を含む。
第13の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、上記定義されたパラメータが上記仮想マシンのサービスレベル合意において指定されたレイテンシ要件及びジッタ要件のうち少なくとも1つを含むことを有する複数の命令を含む。
第14の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定し、上記決定されたレイテンシに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成することを可能にする複数の命令を含む。
第15の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が上記仮想マシンの上記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて上記複数の仮想マシンモニタのうち1つで上記仮想マシンを開始することを可能にする複数の命令を含む。
第16の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が各ネットワークインターフェースに、上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、上記ネットワークインターフェース間の瞬間的レイテンシを決定することを可能にする複数の命令を含む。
第17の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が各ネットワークインターフェースに、周期的に上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させ、各通信の後、瞬間的レイテンシを決定し、少なくとも上記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新することを可能にする複数の命令を含む。
第18の例において、及び任意の前の例の増進において、コンピュータ読取可能記憶媒体は、処理回路により実行されたときに処理回路が、上記ネットワークインターフェースのうち少なくとも1つが上記仮想マシンモニタによりサポートされる仮想マシンの仮想ネットワークインターフェースを含むことを可能にする複数の命令を含む。
第19の例において、及び任意の前の例の増進において、コンピュータにより実現される方法が、仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせるステップと、上記仮想マシンモニタを通して通信される上記1つ以上のパケットの各々に少なくとも部分的に基づいて上記仮想マシンモニタのレイテンシ又はジッタを決定するステップと、上記レイテンシ又は上記ジッタが上記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行するステップと、を含み得る。
第20の例において、及び任意の前の例の増進において、コンピュータにより実現される方法は、上記補正処置が上記仮想マシンモニタ上の上記仮想マシンを異なる仮想マシンモニタに移動すること及び上記補正処置のために異なる仮想マシンモニタ上で上記仮想マシンを開始することのうち1つ以上を含むことを含み得る。
第21の例において、及び任意の前の例の増進において、コンピュータにより実現される方法は、上記定義されたパラメータが上記仮想マシンのサービスレベル合意において指定されたレイテンシ要件及びジッタ要件のうち少なくとも1つを含むことを含み得る。
第22の例において、及び任意の前の例の増進において、コンピュータにより実現される方法は、複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定するステップと、上記決定されたレイテンシ及びジッタに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成するステップと、を含み得る。
第23の例において、及び任意の前の例の増進において、コンピュータにより実現される方法は、上記仮想マシンの上記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて上記複数の仮想マシンモニタのうち1つで上記仮想マシンを開始するステップを含み得る。
第24の例において、及び任意の前の例の増進において、コンピュータにより実現される方法は、各ネットワークインターフェースに、上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、上記ネットワークインターフェース間の瞬間的レイテンシを決定するステップを含み得る。
第25の例において、及び任意の前の例の増進において、コンピュータにより実現される方法は、各ネットワークインターフェースに、周期的に上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させるステップと、各通信の後、瞬間的レイテンシを決定するステップと、少なくとも上記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新するステップと、を含み得る。
第26の例において、及び任意の前の例の増進において、システム及び装置が、仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせる手段と、上記仮想マシンモニタを通して通信される上記1つ以上のパケットの各々に少なくとも部分的に基づいて上記仮想マシンモニタのレイテンシ又はジッタを決定する手段と、上記レイテンシ又は上記ジッタが上記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行する手段と、を含み得る。
第27の例において、及び任意の前の例の増進において、システム及び装置は、上記仮想マシンモニタ上の上記仮想マシンを異なる仮想マシンモニタに移動する手段と、上記補正処置のために異なる仮想マシンモニタ上で上記仮想マシンを開始する手段と、を含む。
第29の例において、及び任意の前の例の増進において、装置又はシステムは、複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定する手段と、上記決定されたレイテンシ及びジッタに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成する手段と、を含み得る。
第30の例において、及び任意の前の例の増進において、システム又は装置は、上記仮想マシンの上記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて上記複数の仮想マシンモニタのうち1つで上記仮想マシンを開始する手段を含み得る。
第31の例において、及び任意の前の例の増進において、システム又は装置は、各ネットワークインターフェースに、上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、上記ネットワークインターフェース間の瞬間的レイテンシを決定する手段を含み得る。
第32の例において、及び任意の前の例の増進において、システム又は装置は、各ネットワークインターフェースに、周期的に上記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させる手段と、各通信の後、瞬間的レイテンシを決定する手段と、少なくとも上記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新する手段と、を含む。
いくつかの実施例が、表現「一実施例」又は「実施例」をその派生語と共に使用して説明され得る。これらの用語は、実施例と関連して説明された特定の特徴、構造、又は特性少なくとも1つの実施例に含まれることを意味する。本明細書の様々な箇所におけるフレーズ「一実施例において」の出現は、必ずしもすべて同じ実施例を参照していない。さらに、いくつかの実施例が、表現「結合される」及び「接続される」をその派生語と共に使用して説明され得る。これらの用語は、必ずしも互いの同意語として意図されない。例えば、いくつかの実施例は、2つ以上の要素が互いに直接物理的又は電気的に接触することを示すために、用語「結合される」及び/又は「接続される」を使用して説明され得る。しかしながら、用語「結合される」は、2つ以上の要素が互いに直接接触しないがなお依然として互いに協働又は相互作用することをさらに意味し得る。
本開示の要約書は、読み手が技術開示の性質を迅速に確かめられるように提供されていることが強調される。それは、請求項の範囲又は意味を解釈又は限定することに使用されないという理解と共に提出されている。さらに、前述の詳細な説明において、様々な特徴が、開示を合理化する目的で単一の実施例に一緒にグループ化されていることがわかる。この開示方法は、請求される実施例が各請求項に明示的に列挙されているよりもより多くの特徴を要するという意図を反映するものと解釈されるべきでない。むしろ、以下の請求項が反映するように、発明対象事項は、単一の開示の実施例のすべての特徴より少ない特徴に存在する。ゆえに、以下の請求項は、各請求項が別個の実施例として自立し、詳細な説明にここで組み込まれる。別記の請求項において、用語「including」及び「in which」は、それぞれ、分かりやすい英語の均等物のそれぞれの用語「comprising」及び「wherein」として使用される。さらに、用語「第1」、「第2」、「第3」などは、単にラベルとして使用され、その対象に数的要件を課すことは意図されない。
上記で説明されたことは、開示のアーキテクチャの例を含む。当然ながら、コンポーネント及び/又は方法論のあらゆる考えられる組み合わせを説明することは不可能であり、しかし当業者は、多くのさらなる組み合わせ及び配列が可能であることを認識し得る。したがって、新規のアーキテクチャは、別記の請求項の主旨及び範囲内に入るすべてのこうした変更、修正、及び変形を包含することが意図される。

Claims (26)

  1. 装置であって、
    メモリと、
    前記メモリに結合された処理回路と、
    前記処理回路により少なくとも部分的に実現される論理と、を含み、
    前記論理は、
    仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上のパケットの通信をさせ、
    前記仮想マシンモニタを通して通信される前記1つ以上のパケットに少なくとも部分的に基づいて前記仮想マシンモニタのレイテンシ又はジッタを決定し、
    前記レイテンシ又は前記ジッタが前記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行する、装置。
  2. 前記論理は、前記補正処置のために前記仮想マシンモニタ上の前記仮想マシンを異なる仮想マシンモニタに移動する、請求項1に記載の装置。
  3. 前記論理は、前記補正処置のために異なる仮想マシンモニタ上で前記仮想マシンを開始する、請求項1又は2に記載の装置。
  4. 前記定義されたパラメータは、前記仮想マシンのサービスレベル合意において指定されたレイテンシ要件及びジッタ要件のうち1つ以上を含む、請求項1乃至3のうちいずれか1項に記載の装置。
  5. 前記論理は、複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定し、前記決定されたレイテンシ及びジッタに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成する、請求項1乃至4のうちいずれか1項に記載の装置。
  6. 前記論理は、前記仮想マシンの前記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて前記複数の仮想マシンモニタのうち1つで前記仮想マシンを開始する、請求項5に記載の装置。
  7. 前記論理は、各ネットワークインターフェースに、前記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、前記ネットワークインターフェース間の瞬間的レイテンシを決定する、請求項1乃至5のうちいずれか1項に記載の装置。
  8. 前記論理は、
    各ネットワークインターフェースに、周期的に前記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させ、
    各通信の後、瞬間的レイテンシを決定し、
    少なくとも前記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新する、請求項1乃至5又は7のうちいずれか1項に記載の装置。
  9. 前記ネットワークインターフェースのうち少なくとも1つが、前記仮想マシンモニタによりサポートされる仮想マシンの仮想ネットワークインターフェースを含む、請求項1乃至5、7、又は8のうちいずれか1項に記載の装置。
  10. 仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせるステップと、
    前記仮想マシンモニタを通して通信される前記1つ以上のパケットの各々に少なくとも部分的に基づいて前記仮想マシンモニタのレイテンシ又はジッタを決定するステップと、
    前記レイテンシ又は前記ジッタが前記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行するステップと、
    を処理回路に実行させるコンピュータプログラム。
  11. 前記補正処置のために前記仮想マシンモニタ上の前記仮想マシンを異なる仮想マシンモニタに移動するステップ、を処理回路にさらに実行させる請求項10に記載のコンピュータプログラム。
  12. 前記補正処置のために異なる仮想マシンモニタ上で前記仮想マシンを開始するステップ、を処理回路にさらに実行させる請求項10又は11に記載のコンピュータプログラム。
  13. 前記定義されたパラメータは、前記仮想マシンのサービスレベル合意において指定されたレイテンシ要件及びジッタ要件のうち少なくとも1つを含む、請求項10乃至12のうちいずれか1項に記載のコンピュータプログラム。
  14. 複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定するステップと、前記決定されたレイテンシ及びジッタに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成するステップと、を処理回路にさらに実行させる請求項10乃至13のうちいずれか1項に記載のコンピュータプログラム。
  15. 前記仮想マシンの前記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて前記複数の仮想マシンモニタのうち1つで前記仮想マシンを開始するステップ、を処理回路にさらに実行させる請求項14に記載のコンピュータプログラム。
  16. 各ネットワークインターフェースに、前記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、前記ネットワークインターフェース間の瞬間的レイテンシを決定するステップ、を処理回路にさらに実行させる請求項10乃至15のうちいずれか1項に記載のコンピュータプログラム。
  17. 各ネットワークインターフェースに、周期的に前記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させるステップと、
    各通信の後、瞬間的レイテンシを決定するステップと、
    少なくとも前記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新するステップと、
    を処理回路にさらに実行させる請求項10乃至16のうちいずれか1項に記載のコンピュータプログラム。
  18. 前記ネットワークインターフェースのうち少なくとも1つが、前記仮想マシンモニタによりサポートされる仮想マシンの仮想ネットワークインターフェースを含む、請求項10乃至17のうちいずれか1項に記載のコンピュータプログラム。
  19. コンピュータにより実現される方法であって、
    仮想マシンモニタを通して1つ以上のネットワークインターフェースから1つ以上の他のネットワークインターフェースへ1つ以上のパケットの通信をさせるステップと、
    前記仮想マシンモニタを通して通信される前記1つ以上のパケットの各々に少なくとも部分的に基づいて前記仮想マシンモニタのレイテンシ又はジッタを決定するステップと、
    前記レイテンシ又は前記ジッタが前記仮想マシンモニタ上の仮想マシンの定義されたパラメータを満たさないとき、補正処置を実行するステップと、
    を含む、コンピュータにより実現される方法。
  20. 前記補正処置は、前記仮想マシンモニタ上の前記仮想マシンを異なる仮想マシンモニタに移動すること及び前記補正処置のために異なる仮想マシンモニタ上で前記仮想マシンを開始することのうち1つ以上を含む、請求項19に記載のコンピュータにより実現される方法。
  21. 前記定義されたパラメータは、前記仮想マシンのサービスレベル合意において指定されたレイテンシ要件及びジッタ要件のうち少なくとも1つを含む、請求項19又は20に記載のコンピュータにより実現される方法。
  22. 複数の仮想マシンモニタの各々についてレイテンシ及びジッタを決定するステップと、
    前記決定されたレイテンシ及びジッタに少なくとも部分的に基づいてレイテンシ及びジッタモデルを生成するステップと、
    を含む請求項19乃至21のうちいずれか1項に記載のコンピュータにより実現される方法。
  23. 前記仮想マシンの前記レイテンシ及びジッタモデル並びにサービスレベル合意に基づいて前記複数の仮想マシンモニタのうち1つで前記仮想マシンを開始するステップ、を含む請求項22に記載のコンピュータにより実現される方法。
  24. 各ネットワークインターフェースに、前記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させて、前記ネットワークインターフェース間の瞬間的レイテンシを決定するステップ、を含む請求項19乃至23のうちいずれか1項に記載のコンピュータにより実現される方法。
  25. 各ネットワークインターフェースに、周期的に前記仮想マシンモニタを通して各々の他のネットワークインターフェースへパケットを通信させるステップと、
    各通信の後、瞬間的レイテンシを決定するステップと、
    少なくとも前記瞬間的レイテンシを使用して、各周期の後、レイテンシ及びジッタモデルを更新するステップと、
    を含む請求項19乃至24のうちいずれか1項に記載のコンピュータにより実現される方法。
  26. 請求項10乃至18のうちいずれか1項に記載のコンピュータプログラムを記憶したコンピュータ読取可能記憶媒体。
JP2019502673A 2016-09-28 2017-08-29 仮想環境におけるレイテンシを決定し緩和する技術 Active JP7039553B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/279,380 US20180088977A1 (en) 2016-09-28 2016-09-28 Techniques to determine and mitigate latency in virtual environments
US15/279,380 2016-09-28
PCT/US2017/049112 WO2018063668A1 (en) 2016-09-28 2017-08-29 Techniques to determine and mitigate latency in virtual environments

Publications (2)

Publication Number Publication Date
JP2019536299A true JP2019536299A (ja) 2019-12-12
JP7039553B2 JP7039553B2 (ja) 2022-03-22

Family

ID=61685413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019502673A Active JP7039553B2 (ja) 2016-09-28 2017-08-29 仮想環境におけるレイテンシを決定し緩和する技術

Country Status (5)

Country Link
US (1) US20180088977A1 (ja)
JP (1) JP7039553B2 (ja)
CN (1) CN109690483B (ja)
DE (1) DE112017004879T8 (ja)
WO (1) WO2018063668A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022003820A1 (ja) * 2020-06-30 2022-01-06 日本電信電話株式会社 性能監視装置、プログラムおよび性能監視方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628233B2 (en) * 2016-12-30 2020-04-21 Samsung Electronics Co., Ltd. Rack-level scheduling for reducing the long tail latency using high performance SSDS
JP6705513B2 (ja) * 2017-02-01 2020-06-03 日本電気株式会社 管理システム、管理装置、管理方法及びプログラム
CN109257240B (zh) * 2017-07-12 2021-02-23 上海诺基亚贝尔股份有限公司 一种监测虚拟化网络功能单元性能的方法和装置
US20190278714A1 (en) * 2018-03-09 2019-09-12 Nutanix, Inc. System and method for memory access latency values in a virtual machine
EP4106275A1 (en) * 2021-06-18 2022-12-21 Rohde & Schwarz GmbH & Co. KG Jitter determination method, jitter determination module, and packet-based data stream receiver

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112182A1 (en) * 2014-10-15 2016-04-21 Anue Systems, Inc. Network Packet Timing Synchronization For Virtual Machine Host Systems
JP2016512416A (ja) * 2013-03-15 2016-04-25 アマゾン・テクノロジーズ・インコーポレーテッド ネットワークトラフィックマッピング及び性能分析
JP2016517202A (ja) * 2013-03-15 2016-06-09 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ハイパーバイザおよび物理マシン、ならびにハイパーバイザおよび物理マシンにおけるパフォーマンス測定のためのそれぞれの方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061509A1 (en) * 2000-02-18 2001-08-23 Cedere Corporation Real time mesh measurement system stream latency and jitter measurements
US9100318B1 (en) * 2001-04-05 2015-08-04 Dj Inventions, Llc Method for discovering routers in a communication path of a supervisory control and data acquisition system
US7729267B2 (en) * 2003-11-26 2010-06-01 Cisco Technology, Inc. Method and apparatus for analyzing a media path in a packet switched network
US7633879B2 (en) * 2004-12-13 2009-12-15 Cisco Technology, Inc. Method and apparatus for discovering the incoming media path for an internet protocol media session
US20060133387A1 (en) * 2004-12-16 2006-06-22 Georgiy Pekhteryev Route tracing in wireless networks
US20080244574A1 (en) * 2007-03-26 2008-10-02 Vedvyas Shanbhogue Dynamically relocating devices between virtual machines
US8479195B2 (en) * 2007-05-16 2013-07-02 Vmware, Inc. Dynamic selection and application of multiple virtualization techniques
JP5029701B2 (ja) * 2008-01-09 2012-09-19 富士通株式会社 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置
US20090182668A1 (en) * 2008-01-11 2009-07-16 Nortel Networks Limited Method and apparatus to enable lawful intercept of encrypted traffic
KR101640769B1 (ko) * 2009-11-06 2016-07-19 삼성전자주식회사 가상화 시스템 및 그것의 명령어 실행 방법
US9258216B2 (en) * 2009-12-23 2016-02-09 Pismo Labs Technology Limited Methods and systems for transmitting packets through network interfaces
EP2531917B1 (en) * 2010-02-04 2019-11-27 Telefonaktiebolaget LM Ericsson (publ) Network performance monitor for virtual machines
US8510520B2 (en) * 2010-08-02 2013-08-13 Taejin Info Tech Co., Ltd. Raid controller having multi PCI bus switching
US9619301B2 (en) * 2011-04-06 2017-04-11 Telefonaktiebolaget L M Ericsson (Publ) Multi-core memory model and speculative mode processor management
US9064216B2 (en) * 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US9898317B2 (en) * 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US9122508B2 (en) * 2012-06-15 2015-09-01 International Business Machines Corporation Real time measurement of I/O interrupt delay times by hypervisor by selectively starting and/or stopping corresponding LPARs
US9032399B1 (en) * 2012-06-28 2015-05-12 Emc Corporation Measurement of input/output scheduling characteristics in distributed virtual infrastructure
US9332028B2 (en) * 2013-01-25 2016-05-03 REMTCS Inc. System, method, and apparatus for providing network security
US9203723B2 (en) * 2013-01-30 2015-12-01 Broadcom Corporation Network tracing for data centers
KR20140117993A (ko) * 2013-03-27 2014-10-08 한국전자통신연구원 링크 장애 추적을 위한 mpls-tp 네트워크 및 방법
WO2014179533A1 (en) * 2013-05-01 2014-11-06 Adc Telecommunications, Inc. Enhanced route tracing
US9354908B2 (en) * 2013-07-17 2016-05-31 Veritas Technologies, LLC Instantly restoring virtual machines by providing read/write access to virtual disk before the virtual disk is completely restored
US9864620B2 (en) * 2013-07-30 2018-01-09 International Business Machines Corporation Bandwidth control in multi-tenant virtual networks
AU2014311463B2 (en) * 2013-08-26 2017-02-16 VMware LLC Virtual machine monitor configured to support latency sensitive virtual machines
US9350632B2 (en) * 2013-09-23 2016-05-24 Intel Corporation Detection and handling of virtual network appliance failures
US20150124622A1 (en) * 2013-11-01 2015-05-07 Movik Networks, Inc. Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments
US20150286416A1 (en) * 2014-04-07 2015-10-08 International Business Machines Corporation Introducing Latency And Delay For Test Or Debug Purposes In A SAN Environment
US9413783B1 (en) * 2014-06-02 2016-08-09 Amazon Technologies, Inc. Network interface with on-board packet processing
US10044581B1 (en) * 2015-09-29 2018-08-07 Amazon Technologies, Inc. Network traffic tracking using encapsulation protocol
US9444714B2 (en) * 2014-08-07 2016-09-13 Microsoft Technology Licensing, Llc Estimating bandwidth in a network
US9723501B2 (en) * 2014-09-08 2017-08-01 Verizon Patent And Licensing Inc. Fault analytics framework for QoS based services
US9705849B2 (en) * 2014-09-30 2017-07-11 Intel Corporation Technologies for distributed detection of security anomalies
CN104866370B (zh) * 2015-05-06 2018-02-23 华中科技大学 一种云计算环境下面向并行应用的动态时间片调度方法及系统
US10142353B2 (en) * 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US9755939B2 (en) * 2015-06-26 2017-09-05 Cisco Technology, Inc. Network wide source group tag binding propagation
US9979639B2 (en) * 2015-07-28 2018-05-22 Futurewei Technologies, Inc. Single network interface for multiple interface virtual network functions
EP3154225B1 (en) * 2015-10-08 2018-12-26 ADVA Optical Networking SE System and method of assessing latency of forwarding data packets in virtual environment
ES2779320T3 (es) * 2016-02-16 2020-08-14 Deutsche Telekom Ag Método para rastreo y/o monitorización mejorado de los nodos de red de una red de comunicación, red de comunicación, una pluralidad de máquinas virtuales, funcionalidad de gestión de función de red virtualizada, programa y producto de programa informático

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016512416A (ja) * 2013-03-15 2016-04-25 アマゾン・テクノロジーズ・インコーポレーテッド ネットワークトラフィックマッピング及び性能分析
JP2016517202A (ja) * 2013-03-15 2016-06-09 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ハイパーバイザおよび物理マシン、ならびにハイパーバイザおよび物理マシンにおけるパフォーマンス測定のためのそれぞれの方法
US20160112182A1 (en) * 2014-10-15 2016-04-21 Anue Systems, Inc. Network Packet Timing Synchronization For Virtual Machine Host Systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"VMotion、DRS、そしてVMware HA", VMWARE INFRASTRUCTURE 3 徹底入門(3), JPN6021023709, 18 August 2008 (2008-08-18), ISSN: 0004533090 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022003820A1 (ja) * 2020-06-30 2022-01-06 日本電信電話株式会社 性能監視装置、プログラムおよび性能監視方法

Also Published As

Publication number Publication date
WO2018063668A1 (en) 2018-04-05
CN109690483A (zh) 2019-04-26
JP7039553B2 (ja) 2022-03-22
US20180088977A1 (en) 2018-03-29
DE112017004879T5 (de) 2019-06-13
CN109690483B (zh) 2024-03-12
DE112017004879T8 (de) 2019-10-31

Similar Documents

Publication Publication Date Title
JP7039553B2 (ja) 仮想環境におけるレイテンシを決定し緩和する技術
US11870702B1 (en) Dynamic resource allocation of cloud instances and enterprise application migration to cloud architecture
US10540196B2 (en) Techniques to enable live migration of virtual environments
US9733987B2 (en) Techniques to dynamically allocate resources of configurable computing resources
US11405464B2 (en) Policy controlled semi-autonomous infrastructure management
CN107273199B (zh) 用于管理虚拟化环境中的中断的体系结构和方法
US11030136B2 (en) Memory access optimization for an I/O adapter in a processor complex
US10324754B2 (en) Managing virtual machine patterns
WO2017172073A1 (en) Systems and methods for controlling processing performance
US9954757B2 (en) Shared resource contention
US20180217859A1 (en) Technologies for duplicating virtual machine states
KR101770038B1 (ko) 네트워킹 디바이스에 대한 전력 및 성능을 관리하기 위한 기술
US20210406091A1 (en) Technologies to offload workload execution
US20180157557A1 (en) Determining reboot time after system update
US10805242B2 (en) Techniques for a configuration mechanism of a virtual switch
US10846125B2 (en) Memory access optimization in a processor complex
US9563472B2 (en) Concurrent workload deployment to synchronize activity in a design palette
US11429593B2 (en) Maintaining a shared state among networked computing devices using a shared data store
US10908935B1 (en) Estimation of guest clock value based on branch instruction count and average time between branch instructions for use in deterministic replay of execution
US20230247486A1 (en) Dynamic resource reconfiguration based on workload semantics and behavior
US9792152B2 (en) Hypervisor managed scheduling of virtual machines
US9928095B2 (en) Preventing interoperability conflicts in a shared computing environment
Zhang et al. The Research of Cloud Computing Service Model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210916

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: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220309

R150 Certificate of patent or registration of utility model

Ref document number: 7039553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150