この出願は、コンピュータネットワーク技術の分野に関連し、コンピュータネットワーク分野における人工知能(Artificial Intelligence, AI)技術のアプリケーションにさらに関連し、特に、端末間接続状態予測方法、仮想マシン間接続状態予測装置、及び分析デバイスに関連する。
データセンタ(data center, DC)は、通信ネットワークを介して互いに接続されるいくつかのリソースによって形成されるプール(pool)である。リソースは、コンピューティングリソース、ストレージリソース、ネットワークリソースなどを含む。仮想マシンは、低コスト、アジリティ、フレキシビリティ、良好なスケーラビリティなどの利点を有する。従って、仮想マシンは、DC内の重要なコンピューティングリソースである。データセンタネットワーク(Data Center Network, DCN)は、DC内のリソースをインターコネクトするために利用される。DCNは、DC内で重要な役割を演じる。増加するクラウドコンピューティング要件に対処するため、DCNは、拡張可能であり、かつ効率的に数百、数千の仮想マシンと、メモリなどの他のリソースとを接続する必要がある。
DC内の仮想マシンは、互いに通信して、DCにおける様々なサービスを協調的に完成させる。仮想マシン間の接続状態は、2つの仮想マシンが互いに通信しているかどうかを示す。2つの仮想マシンが互いに通信しているとき、2つの仮想マシン間の接続状態は、接続している状態である。2つの仮想マシンが互いに通信していないとき、2つの仮想マシン間の接続状態は、接続していない状態である。
仮想マシン間接続状態予測技術(この出願において、以下では、略して「予測技術」と称される)は、DCNにおける重要な技術の1つである。技術は、多くのシナリオ、例えば、故障影響分析及び構成検証シナリオに広く適用される。故障影響分析は、仮想マシンが故障しているときに、理論上、故障仮想マシンに接続されている他の仮想マシンを決定し、故障の影響範囲をさらに分析するために、仮想マシン間接続状態予測技術が利用されることを意味する。構成検証は、仮想マシンの構成がアップデート対象(ここでは、構成がアップデート対象である仮想マシンが、VM1と表記される)であるとき、VM1に理論上接続されている、構成がアップデートされないと仮定する他の仮想マシンを決定するために、仮想マシン間接続状態予測技術が利用されることを意味する。VM1の構成がアップデートされた後、VM1と他の仮想マシンとの間の接続上での構成アップデートの影響を分析するために、これらの仮想マシンが、ちょうど構成がアップデートされたVM1に接続されているかどうかが検出され、それによって、誤構成がサービスの円滑さに影響することを回避する。
関連技術において、いくつかの予測方法が提案されている。1つは、サービス正則性仮説に基づく予測方法である。この予測方法では、ある日のある時点での仮想マシンのペアの間の接続状態が、前日の同じ時点での仮想マシンのペアの間の接続状態に基づいて予測される。例えば、2015年1月11日の10:00より前の2015年1月10日の10:00における、仮想マシンVM1と仮想マシンVM2との間の接続状態が、2015年1月11日の10:00における仮想マシンVM1と仮想マシンVM2との間の予測された接続状態として利用される。
他の1つは、サービス連続性仮説に基づく予測方法である。この予測方法では、ある時点での仮想マシンのペアの間の接続状態が、前の時点での仮想マシンのペアの間の接続状態に基づいて予測される。例えば、2015年1月11日の10:00より前の、2015年1月11の9:00における、仮想マシンVM1と仮想マシンVM2との間の接続状態が、2015年1月11日10:00における、仮想マシンVM1と仮想マシンVM2との間の予測された接続状態として利用される。
しかし、具体的な実践結果によれば、上記の2つの予測方法は不十分な正確性を持つ。
この出願の実施形態は、関連する予測技術の不十分な正確性の問題を解決するための、端末間接続状態予測方法を提供する。
第1の態様によれば、端末間接続状態予測方法が提供される。分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である。分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、予測プロセスにおいて、分析デバイスは、単一の過去の単に時点におけるテスト端末ペアの接続状態情報を利用する代わりに、複数の過去の単に時点におけるテスト端末ペアの接続状態情報を利用する。このことは、過去の状態情報を分析することによって、より有益な情報を発見することにつながり、それによって、予測精度を改善する。
任意選択で、可能な実装において、分析デバイスは、以下のステップを利用することによって、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を予測モデルに入力し、予測モデルの出力結果を取得する。
予測モデルは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて生成され、第2の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第2の過去の時間セグメントは、M+Q個の連続する単位時刻を含み、Nは、1以上の自然数である。
分析デバイスは、出力結果に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
分析デバイスは、機械学習アルゴリズムを利用すること、及び多量のトレーニング端末ペアの長期間の過去の接続状態情報を完全に利用することによるトレーニングを通じて予測モデルを取得する。
このようにすると、同じネットワークシナリオにおける複数の端末ペアの接続状態を反映できる汎用的で動的な傾向情報又はパターン情報が抽出でき、それによって、予測がより正確に実行される。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて予測モデルの出力結果を取得する。
分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、第1のサンプルシーケンスを決定する。
第1のサンプルシーケンスは、M個の要素を含み、M個の要素のそれぞれの値は、M個の連続する単位時刻の1つに対応する接続状態に対応する。
分析デバイスは、第1のサンプルシーケンスを予測モデルに入力し、予測モデルの出力結果を取得する。
出力結果は、予測されたシーケンスであり、予測されたシーケンスは、Q個の要素を含み、Q個の要素のそれぞれの値は、Q個の連続する単位時刻の1つに対応する接続状態に対応する。
分析デバイスは、最初に、テスト端末ペアの過去の接続状態を反映する第1のサンプルシーケンスを取得し、次いで、第1のサンプルシーケンスを予測モデルに入力し、出力結果として利用される予測されたシーケンスを取得する。
サンプルシーケンスを利用することによる予測は、予測モデルを適用する効果的な方法である。
任意選択で、M個の要素又はQ個の要素のうちの1つの値が第1の値であるとき、それは、対応する単位時刻での接続状態が、接続している状態であることを示し、M個の要素又はQ個の要素のうちの1つの値が第2の値であるとき、それは、対応する単位時刻での接続状態が、接続していない状態であることを示し、第1の値と第2の値とは異なる。接続状態を示すために、各サンプルシーケンス内の異なる要素値を利用することは、シンプルで効率的な接続状態表示方法である。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて、トレーニングを通じて予測モデルを取得する。
分析デバイスは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得し、
分析デバイスは、N個のトレーニング端末ペアのうちの第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスを生成することであって、残りのものは、N個のトレーニングサンプルシーケンスを取得するために、同じ方法で処理でき、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスは、M+Q個の要素を含み、M+Q個の要素のそれぞれの値は、第1のトレーニング端末ペアのものであり、かつM+Q個の連続する単位時刻の1つに対応する接続状態に対応する、ことを行い、
分析デバイスは、N個のトレーニングサンプルシーケンスを、機械学習アルゴリズムの入力として利用し、機械学習アルゴリズムによって出力される予測モデルを取得する。
分析デバイスは、最初に、トレーニング端末ペアの過去の接続状態傾向を反映するトレーニングサンプルシーケンスを取得し、次いで、多量のトレーニングサンプルシーケンスに基づいて、機械学習アルゴリズムを利用することによって、トレーニングを実行し、予測モデルを生成する。これは、効果的な予測モデル学習方法を提供する。予測モデルは、同じネットワークシナリオにおける複数の端末ペアの接続状態の汎用的で動的な傾向情報又はパターン情報を反映する。
任意選択で、分析デバイスは、以下のステップを通じて、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
分析デバイスは、複数のデータフローにそれぞれ対応するセーブされたエントリから、第1のグループのターゲットエントリを選択する。
第1のグループのターゲットエントリは、記録された単位時刻が第1の過去の時間セグメントに属し、送信元IPアドレスが第1の端末のIPアドレスであり、かつ宛先IPアドレスが第2の端末であるエントリと、記録された単位時刻が第1の過去の時間セグメントに属し、宛先IPアドレスが第1の端末のIPアドレスであり、送信元IPアドレスが第2の端末であるエントリと、を含む。
分析デバイスは、選択された第1のグループのターゲットエントリに記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第1の過去の時間セグメント内のものであり、かつ選択された第1のグループのターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
上記のデータ処理方法を利用することによって、分析デバイスは、テスト端末ペアのものであり、かつその粒度が2つの隣接する単位時刻の間の時間セグメントである過去の接続状態情報を取得し、それによって、テスト端末ペアの未来の接続状態は、テスト端末ペアの過去の接続状態情報に基づいて、その後に予測される。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得する。
分析デバイスは、N個のトレーニング端末ペアを取得する。
分析デバイスは、N個のトレーニング端末ペアが全て処理されるまで、N個のトレーニング端末ペアから1つのトレーニング端末ペアを選択し、選択されたトレーニング端末ペア上で、以下の処理ステップを実行し、選択されたトレーニング端末ペアは、第3の端末と第4の端末とを含む。
分析デバイスは、複数のデータフローにそれぞれ対応するセーブされたエントリから、第2のグループのターゲットエントリを選択する。
第2のグループのターゲットエントリは、記録された単位時刻が第2の過去の時間セグメントに属し、送信元IPアドレスが第3の端末のIPアドレスであり、かつ宛先IPアドレスが第4の端末であるエントリと、記録された単位時刻が第2の過去の時間セグメントに属し、宛先IPアドレスが第4の端末のIPアドレスであり、かつ送信元IPアドレスが第3の端末であるエントリとを含む。
分析デバイスは、選択された第2のターゲットエントリ内に記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第2の過去の時間セグメント内のものであり、かつ選択された第2のグループターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する、選択されたトレーニング端末ペアの接続状態を取得する。
上記のデータ処理方法を利用することによって、分析デバイスは、トレーニング端末ペアのものであり、かつその粒度が2つの隣接する単位時刻間の時間セグメントである過去の接続状態情報を取得し、それによって、予測モデルは、トレーニング端末ペアの過去の接続状態情報に基づいて、トレーニングを通じて、その後に取得される。
任意選択で、可能な実装において、Q=1のとき、N個のトレーニングサンプルシーケンスにおける、正のサンプルの数量と、負のサンプルの数量との間の比は、0.5以上、かつ2以下である。正のサンプルは、最後の要素の値によって示される接続状態が、接続している状態であるトレーニングサンプルシーケンスであり、負のサンプルは、最後の要素の値によって示される接続状態が、接続していない状態であるトレーニングサンプルシーケンスである。上記の条件に適合するトレーニングサンプルシーケンスは、バランスのとれたサンプルセットとみなされる。分析デバイスは、バランスのとれたサンプルセットに基づいて予測モデルをトレーニングし、それによって、より良好な予測効果を持つ予測モデルを取得する。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて、フロー統計情報から、いくつかのエントリを取得し、エントリは、テスト端末ペア又はトレーニング端末ペアの接続状態を取得するための未処理データとみなされうる。
分析デバイスは、複数のフロー統計情報エントリを取得する。
複数のフロー統計情報エントリのそれぞれは、1つのデータフローに対応し、フロー統計情報エントリは、データフローの、生成時間、終了時間、送信元IPアドレス、及び宛先IPアドレスを含む。
分析デバイスは、単位時刻を基準として利用することによって、事前設定された時間アライメントルールに基づいて、各フロー統計情報エントリ上での時間アライメント処理を実行し、複数のデータフローにそれぞれ対応するエントリを生成し、複数のデータフローにそれぞれ対応するエントリをセーブする。
複数のデータフローにそれぞれ対応するエントリのそれぞれは、単位時刻、送信元IPアドレス、及び宛先IPアドレスを記録する。
上記の方式を利用することによって生成されたエントリデータは、フロー統計情報内の接続状態関連情報のみを保持し、それによって、フロー統計情報に比べてデータ量を低減し、ストレージ空間を節約する。加えて、時間アライメント処理は、エントリデータを生成するプロセス内で実行される。これは、その後の処理効率を改善することにつながる。
任意選択で、第1の態様又は第1の態様の可能な実装のいずれか1つにおける、第1の端末、第2の端末、第3の端末、及び第4の端末は全て、仮想マシンである。さらに、仮想マシンは、DCNを通じて接続されたデータセンタ内に配置される。この出願のこの実施形態において提供される予測方法は、DC内の2つの仮想マシンの間の接続状態を予測することに適用可能である。
第2の態様によれば、端末間接続状態予測装置が提供される。装置は、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実装するための機能を有する。機能は、ハードウェアによって実装されてよく、又は対応するソフトウェアを実行するハードウェアによって実装されてよい。ハードウェア又はソフトウェアは、上記の機能に対応する1つ以上のモジュールを含む。
第3の態様によれば、分析デバイスが提供される。分析デバイスは、メモリと、少なくとも1つのプロセッサとを含む。メモリは、命令を格納するように構成され、命令が少なくとも1つのプロセッサによって読み込まれた後、分析デバイスは、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実行する。詳細については、上記の詳細な説明を参照されたい。ここでは、詳細については再び説明されない。
第3の態様によれば、この出願の実施形態は、分析デバイスによって利用されるコンピュータソフトウェア命令を格納するように構成された、コンピュータ記憶媒体を提供する。命令は、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実行するように設計されたプログラムを含む。
第4の態様によれば、命令を含むコンピュータプログラム製品が提供される。コンピュータプログラム製品がコンピュータ上で実行されるとき、コンピュータは、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実行可能になる。
第5の態様によれば、この出願の実施形態は、メモリ及びプロセッサを含むチップを提供する。メモリは、コンピュータ命令を格納するように構成され、プロセッサは、メモリからコンピュータ命令を呼び出し、コンピュータ命令を実行して、第1の態様及び第1の態様の可能な実装のいずれか1つによる方法を実行するように構成される。
この出願の実施形態における技術的解決策について、より明確に説明するために、以下では、実施形態を説明するために必要な添付図について簡単に説明する。明らかに、以下の説明における添付図は、この出願のいくつかの実施形態を示しており、当業者は、創作的努力なしに、これらの添付図から他の図面をさらに導きうる。
この出願の実施形態による、適用シナリオの模式図である。
この出願の実施形態による、端末間接続状態予測方法のフローチャートである。
この出願の実施形態による、予測モデルに基づく端末間接続状態予測方法のフローチャートである。
この出願の実施形態による、予測モデルに基づく端末間接続状態予測方法のフローチャートである。
この出願の実施形態による、第1のトレーニング仮想マシンペアに対応するトレーニングサンプルシーケンスの模式図である。
この出願の実施形態による、N個のトレーニングサンプルシーケンスの模式図である。
この出願の実施形態による、テスト仮想マシンペアに対応する第1のサンプルシーケンスの模式図である。
この出願の実施形態による、予測モデルを取得するために、分析デバイスがN個のトレーニングサンプルシーケンスをMLPに入力するプロセスの模式図である。
この出願の実施形態による、分析デバイスの構造の模式図である。
この出願の実施形態による、端末間接続状態予測装置の構造の模式図である。
関連技術におけるいくつかの予測方法は不十分な正確性を有する。従って、本発明の実施形態は、端末間接続状態予測方法を提供する。この方法において、人工知能技術を利用することによって、過去の時間セグメント内の複数の単位時刻での端末ペア(この実施形態において、2つの端末を含む端末のペアは、「端末ペア」と称される)の接続状態に基づいて、有益な情報が抽出される。例えば、端末ペアの接続状態数学モデルが、端末ペアの長期間の過去の接続状態情報に基づいて構築されるか、又は、予測モデルが、いくつかの端末ペアの長期間の過去の接続状態情報に基づいて構築される。端末ペアの接続状態が予測される必要があるとき、端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態は、上記の有益な情報に基づいて取得される。この方法において、長期間における端末ペアの過去の接続状態情報は、予測を実行するために完全に利用される。これは、予測精度を改善することにつながる。
この出願の実施形態において提供される予測方法は、複数のネットワークシナリオ、例えば、企業、行政部門又は学校内のローカルエリアネットワーク、及びDCNに適用可能である。異なる具体的な適用シナリオに基づき、任意選択で、端末ペアに含まれる端末は、パーソナルコンピュータ、ノートブックコンピュータ、モバイル端末、ウェアラブルデバイス、又は仮想マシンである。
任意選択で、端末ペアに含まれる2つの端末は、同じタイプのデバイスである。例えば、両者はパーソナルコンピュータであるか、又は両者は仮想マシンである。代替的に、端末ペアに含まれる2つの端末は、異なるタイプのデバイスである。例えば、端末ペアのうちの一方の端末はパーソナルコンピュータであり、他の端末は仮想マシンである。代替的に、端末ペアのうちの一方の端末はモバイル端末であり、他の端末は仮想マシンである。
以下の実施形態において、この出願の実施形態において提供される予測方法は、主に、例として、DCNシナリオを利用することによって説明される。DCNシナリオの特徴は、多量の仮想マシンがコンピューティングリソースを提供することにある。仮想マシンは、仮想化技術を利用することによってシミュレートされ、かつ完全なソフトウェア及びハードウェアシステムの機能を有する論理的なコンピュータデバイスである。ホストは、仮想化技術を実装するための基盤であり、即ち、ホストは、仮想化技術のための実際のハードウェアリソースを提供するコンピュータデバイスである。例えば、仮想化ソフトウェアを利用することによって仮想化技術が実装されるとき、仮想化ソフトウェアがホスト上にインストールされた後、ホストのハードウェアリソースに基づいて構成される1つ以上の仮想マシンが生成されうる。従って、ホストは、仮想マシンを動作させるためのハードウェアプラットフォームともみなされうる。DCNシナリオにおいて、端末ペアは、仮想マシンペア、即ち、2つの仮想マシンを含む仮想マシンのペアである。予測方法の実装原理は、異なるシナリオでも基本的に同様であり、従って、1つ1つ説明されない。
本発明の実施形態における技術的解決策の主な実装原理及び具体的な実装と、本発明の実施形態における技術的解決策が達成できる、対応する有利な効果については、添付図を参照しながら以下で詳細に説明される。
図1は、この出願の実施形態による、DCNシナリオにおける適用シナリオの模式図である。DCNは、ホスト1、ホスト2、ホスト3、ホスト4、及びホスト5と表記されている複数のホスト(host)を含む。1つ以上の異なる仮想マシンが各ホスト上で動作している。例えば、VM1a及びVM1bはホスト1上で動作し、VM2aはホスト2上で動作し、VM3a、VM3b、及びVM3cはホスト3上で動作し、VM4a及びVM4bはホスト4上で動作し、VM5a及びVM5bはホスト5上で動作する。
図1に示したシナリオは、複数のパケット転送デバイスをさらに含む。パケット転送デバイスは、様々なスイッチ、例えば、レイヤ2スイッチ又はレイヤ3スイッチを含む。レイヤ2スイッチは、データリンクレイヤで稼働し、データパケット内のMACアドレス情報を識別でき、転送を実施するために、識別されたMACアドレスに基づいてアドレステーブルを調べ、アドレステーブルは、MACアドレスとポート番号との間の対応関係を含む。レイヤ3スイッチは、ネットワークレイヤで稼働し、レイヤ3スイッチング技術を利用することによって転送を実装する。レイヤ3スイッチ技術は、ルーティング技術及びスイッチング技術を組み合わせる技術である。レイヤ3スイッチが第1のデータフローをルーティングした後、レイヤ3スイッチは、MACアドレスとIPアドレスとの間のマッピングテーブルを生成する。レイヤ3スイッチを同じデータフローが再び通過するとき、レイヤ3スイッチは、ルーティングを再び実行する代わりに、マッピングテーブルに基づいてレイヤ2からの転送を実行する。例えば、図1において、スイッチS1、S2、S3、S4はレイヤ2スイッチであり、スイッチS5、S6はレイヤ3スイッチである。
図1に鎖線で示したように、物理的な接続、例えば、イーサネット接続が、ホストとパケット転送デバイスとの間に存在する。仮想マシンは、パケット転送デバイスと、仮想マシン動作プラットフォームとして利用されるホストとの間の物理的な接続を利用することによって互いに通信する。
図1に示した適用シナリオは、分析デバイスをさらに含む。分析デバイスは、データソースデバイスと通信し、複数のフロー統計情報エントリを取得する。任意選択で、データソースデバイスは、パケット転送デバイス及びホストを含む。各フロー統計情報エントリは、1つのデータフローに対応し、フロー統計情報エントリは、データフローの、生成時間、送信元IPアドレス、及び宛先IPアドレスを含む。この出願の実施形態において、データフローは、ソースコンピュータから宛先パーティへの一連のパケットである。宛先パーティは、他のコンピュータであってよいし、又は、コンピュータのグループ又はブロードキャストドメインであってよい。
任意選択で、データソースデバイスは、データソースデバイスのネットワークインターフェースを通じて送信されたトラフィックをミラーリングし(mirror)、ミラーリングされたトラフィックを分析デバイスに送信する。分析デバイスは、簡単に、ミラーリングされたトラフィックを解析し、フロー統計情報を取得する。簡単な解析は、全てのトラフィックから、同期シーケンス番号(Synchronize Sequence Numbers, SYN)パケットを選択すること、SYNパケットから、送信元IPアドレスと宛先IPアドレスとを抽出すること、及び、SYNパケットの送信時間と、抽出された送信元IPアドレス及び宛先IPアドレスとに基づいてフロー統計情報を生成することを含む。この方式は、データソースデバイスの過度な処理リソースを消費せず、データソースデバイスのハードウェアに対する低い要件を有し、従って、データソースデバイスがスイッチ又はホストであるケースに適用可能である。
代替的に、データソースデバイスは、簡単に、データソースデバイスのネットワークインターフェースを通じて送信されたパケットを解析して、フロー統計情報を取得し、フロー統計情報を分析デバイスに送信する。フロー統計情報のデータ量の方が、ミラーリングされたパケットのものより小さいため、ミラーリングされたパケットを、データソースデバイスが直接的に送信する方式と比較し、この方式は、ネットワーク送信リソースを節約できる。この方式は、データソースデバイスの処理能力に対する具体的な要件を有し、従って、データソースデバイスがホストであるケースに、より適している。
表1は、分析デバイスによって受信されたフロー統計情報の例であり、各行は、1つのフロー統計情報エントリを表す。任意選択で、異なるデータソースは、異なるフォーマット又はエンコードモードを利用することによって、データフローの、生成時間、送信元IPアドレス、及び宛先IPアドレスを記録してよく、例えば、アドレス情報を、バイナリ、十進法、又は16進法のフォーマットで記録してよい。分析デバイスは、元のフロー統計情報を正規化するために、最初に、受信された未処理のフロー統計情報のフォーマットを、一定のフォーマットのフロー統計情報に変換する。フロー統計情報のIPアドレスは、異なる仮想マシンを区別することを意図していると理解できる。理解及び説明を容易にするため、この実施形態において、IPアドレスは、仮想マシン識別子によって置き換えられる。
分析デバイスは、事前設定された時間アライメントルールに基づいて、単位時刻を基準として利用することによって、各フロー統計情報エントリ上での時間アライメント処理を実行し、複数のデータフローにそれぞれ対応するエントリを生成し、複数のデータフローにそれぞれ対応するエントリをセーブする。
任意選択で、分析デバイスは、複数の受信されたフロー統計情報エントリ上での時間アライメント処理を実行するとき、利用される時間粒度は、分析デバイスのストレージ空間及び処理リソース、DCNのネットワークスケール、及び分析目的などの様々な要因に基づいて、管理者によって設定されてよい。時間アライメント処理は、データ量を低減してストレージ空間を節約し、その後の解析効率を改善することにつながる。
任意選択で、事前設定された時間アライメントルールは、フレキシブルに設定されてよい。時間アライメント処理で利用される粒度は、必要に応じて、例えば、1時間、30分、10分、又は1分に設定されてよい。この出願の実施形態において、複数の受信されたフロー統計情報エントリ上での分析デバイスが時間アライメント処理を実行するとき、利用される時間粒度は1時間であると仮定する。言い換えると、アライメント処理後に取得されるエントリの単位時間は1時間である。例えば、時間アライメントルールは、2つの単位時刻の間の時間を処理して、2つの単位時刻の前者にすることであり、例えば、「2015-1-10 11:23:00」は、処理されて「2015-1-10 11:00:00」になる。他の時間アライメントルールは、2つの単位時刻の間の時間を処理して、2つの単位時刻の後者にすることであり、例えば、「2015-1-10 11:55:00」は、処理されて「2015-1-10 12:00:00」になる。
時間アライメント処理の後、分析デバイスは、表2に示したエントリを取得し、これらのエントリを、その後の利用のためにセーブする。
さらに、人工知能技術を利用することによって、複数のデータフローにそれぞれ対応する、セーブされたエントリに基づいて、分析デバイスは、分析を通して、仮想マシンペアの接続状態傾向又はパターン情報を取得し、又は予測モデルを構築する。以下では、各実施形態を参照しながら、この出願の実施形態において提供される端末間接続状態予測方法について説明する。人工知能技術は、人工的に製造されたマシンが人間のような知性を示すことを可能にする技術である。既存の調査によれば、人工知能技術は、機械学習アルゴリズムを含む。
図2は、この出願の実施形態による、端末間接続状態予測方法のフローチャートである。図2において、方法は、主に、分析デバイスの視点から説明される。任意選択で、図2の分析デバイスは、図1の分析デバイスである。
ステップ21:分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得し、テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である。
例えば、現在時刻が2015-1-11 9:20であるとき、分析デバイスの現在の予測タスクは、図1に示したシナリオにおいて、2015-1-11 10:00での仮想マシンVM1a、VM2aの間の接続状態を予測することである。管理者は、分析デバイスの入力/出力インターフェースに接続された入力デバイスを通じて予測タスクを入力してよい。言い換えると、この実施形態におけるテスト仮想マシンペアは(VM1a-VM2a)である。
第1の過去の時間セグメントが現在時刻より前の3時間である、即ち、M=3であると仮定する。次いで、第1の過去の時間セグメントは、2015-1-11 6:20から2015-1-11 9:20である。第1の過去の時間セグメントは、3つの単位時刻を含み、それらは、2015-1-11 7:00、2015-1-11 8:00、及び2015-1-11 9:00である。
予測タスクを完了するため、分析デバイスは、最初に、2015-1-11 7:00、2015-1-11 8:00、及び2015-1-11 10:00にそれぞれ対応するテスト仮想マシンペア(VM1a-VM2a)の接続状態を取得する。
任意選択で、分析デバイスは、ステップ21a、21bを利用することによって、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
ステップ21a:分析デバイスは、複数のデータフローにそれぞれ対応する、セーブされたエントリから、第1のグループのターゲットエントリを選択し、第1のグループのターゲットエントリは、記録された単位時刻が第1の過去の時間セグメントに属し、送信元IPアドレスが第1の端末のIPアドレスであり、かつ宛先IPアドレスが第2の端末であるエントリと、記録された単位時刻が第1の過去の時間セグメントに属し、宛先IPアドレスが第1の端末のIPアドレスであり、かつ送信元IPアドレスが第2の端末であるエントリとを含む。
ステップ21b:分析デバイスは、選択された第1のグループのターゲットエントリに記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第1の過去の時間セグメント内のものであり、かつ選択された第1のグループのターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
上記の例を再び参照する。分析デバイスは、表2に示したエントリから、以下の2つの条件のいずれかを満たすエントリを選択して、第1のグループのターゲットエントリを形成する。
条件1:単位時刻は、2015-1-11 7:00、2015-1-11 8:00、又は2015-1-11 10:00のうちの1つであり、送信元IPアドレスはVM1aであり、宛先IPアドレスはVM2aである。
条件2:単位時刻は、2015-1-11 7:00、2015-1-11 8:00、又は2015-1-11 10:00のうちの1つであり、送信元IPアドレスはVM2aであり、宛先IPアドレスはVM1aである。
分析デバイスによって、表2に示したエントリから選択された第1のグループのターゲットエントリは、表3に示されていると仮定する。
表3に示した、選択された第1のグループのターゲットエントリは、単位時刻識別子2015-1-10 8:00:00及び2015-1-10 9:00:00を含み、単位時刻2015-1-10 7:00:00を含まない。従って、分析デバイスは、テスト仮想マシンペア(VM1a-VM2a)の接続状態が、2015-1-10 8:00:00において、接続している状態であり、接続状態が、2015-1-10 9:00:00において、接続している状態であり、接続状態が、2015-1-10 7:00:00において、接続していない状態であると決定する。
ステップ22:分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定し、未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、例としてのDCNを利用する適用シナリオの中で、分析デバイスは、最初に、データソースデバイスから、テストされる対象物として利用されるテスト仮想マシンペアのものであり、かつ複数の過去の単位時刻に対応する接続状態情報を取得する。分析デバイスは、テスト基準として、複数の過去の単位時刻でのテスト仮想マシンペアの接続状態情報を利用することによって、未来の時間セグメントにおけるテスト仮想マシンペアの接続状態を予測する。単一の過去の単位時刻でのテスト仮想マシンペアの接続状態情報ではなく、複数の過去の単位時刻でのテスト仮想マシンペアの接続状態情報が予測プロセスで利用される。これは、過去の状態情報を分析することによって、より有益な情報、例えば、より詳細で具体的なパターン又は傾向情報を発見することにつながり、それによって、予測精度を改善する。
任意選択で、この出願のこの実施形態において提供される予測方法を利用することによって、分析デバイスが予測結果(即ち、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態)を取得した後、分析デバイスは、予測結果を異なるシナリオ、例えば、故障影響分析及び構成検証シナリオに適用し、故障影響分析の正確性及び構成検証の正確性をさらに改善する。
「テスト基準として、複数の過去の単位時刻でのテスト端末ペアの接続状態情報を利用することによって、未来の時間セグメントにおけるテスト端末ペアの接続状態を予測すること」の全体的なコンセプトの下で、複数の可能な実装解決策が実装プロセスにおいて利用可能である。これらの実装解決策は、それらに限定されないが、複数の単位時刻での接続状態を含む過去の接続状態情報に基づいて、数学モデル及び予測モデルを構築する方法を含む。この出願の以下の実施形態において、数学モデル又は予測モデルは、この出願の実施形態において提供される予測方法を説明するための例として利用される。
I.数学モデルに基づいてテスト端末ペアの接続状態を予測する
分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアの接続状態数学モデルを決定する。さらに、分析デバイスは、数学モデルに基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
任意選択で、分析デバイスは、複数の数学モデルマッチングルールを事前に記憶している。分析デバイスは、マッチングルールに対して1つ1つ、テスト仮想マシンペア(VM1a-VM2a)のものであり、かつ第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を照合して、テスト仮想マシンペア(VM1a-VM2a)の過去の接続状態情報が適合する数学モデルを決定する。もちろん、分析デバイスは、他のメカニズムを利用して、テスト仮想マシンペア(VM1a-VM2a)の過去の接続状態情報が適合する数学モデルを学習してもよい。
以下の2つの例(例1及び例2)は、実例説明を提供するために利用される。明らかに、多くのより類似する数学モデルが利用可能であり、それらは、ここでは列挙することができない。
例1
分析デバイスは、テスト仮想マシンペア(VM1a-VM2a)のものであり、かつ過去24時間のそれぞれに対応する接続状態に基づいて、テスト仮想マシンペア(VM1a-VM2a)の接続状態数学モデルが、表4に示すように、「連続する2時間の間、接続状態が、接続している状態に留まり、次いで、接続していない状態にスイッチして、連続する3時間の間その状態に留まり、次いで、接続している状態にスイッチして、連続する2時間の間その状態に留まるなど」であると決定する。簡潔さのため、接続状態は、表4において、値0又は1を利用することによって示され、0は、接続していない状態を表し、1は、接続している状態を表す。
表5は、2015-1-11 0:00:00から24:00:00の未来の時間セグメントにおけるテスト仮想マシンペア(VM1a-VM2a)のものであり、かつ分析デバイスによって、上記の数学モデルに基づいて決定される接続状態を示す。
この例において、M=24であり、Q=24である。
例2
分析デバイスは、テスト仮想マシンペア(VM1a-VM2a)のものであり、かつ過去24時間のそれぞれに対応する接続状態に基づいて、テスト仮想マシンペア(VM1a-VM2a)の接続状態数学モデルが、表6に示すように、「接続状態が、連続するn時間の間、接続している状態に留まり、次いで、接続していない状態にスイッチして、連続するn時間の間その状態に留まり、次いで、接続している状態にスイッチして、その状態に留まり、nは、1からスタートし、各時間で1ずつ増加する」と決定する。簡潔のために、図6において、接続状態は、値0又は1を利用することによって示され、0は、接続していない状態を表し、1は、接続している状態を表す。
表7は、2015-1-11 0:00:00から11:00:00の未来の時間セグメントでのテスト仮想マシンペア(VM1a-VM2a)のものであり、かつ上記の数学モデルに基づいて、分析デバイスによって決定される接続状態を示す。
この実施形態において、M=24であり、Q=12である。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、例としてDCNを利用する適用シナリオにおいて、分析デバイスは、最初に、データソースデバイスから、テストされる対象物として利用されるテスト仮想マシンペアのものであり、かつ複数の連続する過去の単位時刻に対応する接続状態情報を取得する。分析デバイスは、テスト基準として、複数の連続する過去の単位時刻でのテスト仮想マシンペアの接続状態情報を利用することによって、未来の時間セグメントにおけるテスト仮想マシンペアの接続状態を予測する。テスト基準は、単一の過去の単位時刻でのテスト仮想マシンペアの接続状態情報ではなく、複数の連続する過去の単位時刻でのテスト仮想マシンペアの接続状態情報である。これは、分析を通して、テスト仮想マシンペアの長期間の過去の接続状態傾向を発見することにつながり、それによって、予測精度を改善する。
II.予測モデルに基づいてテスト仮想マシンペアの接続状態を予測する
分析デバイスは、予測モデルに基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。予測モデルは、予測対象として利用されるテスト端末ペアが配置されるネットワークシナリオにおける多量の端末ペアの過去の接続状態情報に基づいて、機械学習アルゴリズムを利用することによって、分析デバイスによるトレーニングを通じて取得される。予測モデルをトレーニングするために利用される多量の端末ペアは、予測対象として利用されるテスト端末ペアとして、同じネットワークシナリオ内に配置される。予測モデルをトレーニングするために利用される端末ペアは、この実施形態においてトレーニング端末ペアと称される。任意選択で、トレーニング端末ペアは、予測端末ペアを含んでよいし、又は、予測端末ペアを含まなくてよい。このことは、本明細書において限定されない。
特に、分析デバイスは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、予測モデルを生成する。言い換えると、予測モデルは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて生成される。第2の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第2の過去の時間セグメントは、M+Q個の連続する単位時刻を含み、Nは、1以上の自然数である。通常、Nの値が100万レベルに到達するとき、満足な効果が達成できる。予測結果は、適切な値の範囲内でNの値が増加させるにつれて、より正確になる。次いで、分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を予測モデルに入力し、予測モデルの出力結果を取得する。
予測モデルは、予測要件に基づいてトレーニングされると理解できる。予測要件は、M及びQを意味する。具体的には、「Q個の単位時刻を含む未来の時間セグメントにおけるテスト端末ペアの接続状態は、M個の単位時刻を含む第1の過去の時間セグメントにおけるテスト端末ペアの接続状態に基づいて予測される」。任意選択で、管理者は、分析デバイスの入力インターフェースに接続された入力デバイスを通じて予測要件を入力してよい。
予測モデルの入力は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態である。予測モデルの出力は、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態である。この出願において、予測モデルを生成するプロセスについては、以下の実施形態を参照しながら詳細に説明される。
例として図1に示したシナリオをさらに利用し、第1の過去の時間セグメントは、現在時刻より前の3時間、即ち、M=3であり、未来の時間セグメントは、現在時刻より後の1時間、即ち、Q=1であると仮定する。次いで、未来の時間セグメントは、2015-1-11 9:20から2015-1-11 10:20である。未来の時間セグメントは、1つの単位時刻を含み、それは、2015-1-11 10:00である。
分析デバイスは、現在時刻より前の3時間内の単位時刻でのテスト仮想マシンペア(VM1a-VM2a)のものであり、かつステップ21で決定される接続状態を予測モデルに入力する。具体的には、情報「テスト仮想マシンペア(VM1a-VM2a)の接続状態は、2015-1-10 7:00:00で、接続していない状態であり、接続状態は、2015-1-10 8:00:00で、接続している状態であり、接続状態は、2015-1-10 9:00:00で、接続している状態である」が予測モデルに入力される。予測モデルは、2015-1-11 10:00での接続状態が、接続している状態であることを出力する。
分析デバイスは、予測モデルの出力に基づいて、まだ到来していない2015-1-10 10:00:00でのテスト仮想マシンペアの接続状態が、接続している状態であると決定する。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、例としてDCNを利用する適用シナリオにおいて、分析デバイスは、多量のトレーニング仮想マシンペアの過去の接続状態情報を取得する。過去の接続状態情報は、複数の単位時刻にそれぞれ対応する接続状態を含む。分析デバイスは、多量のトレーニング仮想マシンペアの過去の接続状態情報に基づいて、予測要件に関連する予測モデルをさらに生成する。予測の間、予測対象物として利用されるテスト仮想マシンペアについて、分析デバイスは、過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト仮想マシンペアの接続状態を予測モデルに入力し、予測モデルの出力に基づいて、テスト仮想マシンペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。この出願のこの実施形態において、一方で、多数の過去の接続状態情報は、多量の仮想マシンペアの過去の接続状態情報を含む。一方、過去の接続状態情報は、少なくとも2つの単位時刻に対応する接続状態情報を含む。前日のある時点でのテスト仮想マシンの接続状態が、当日の同じ時点での仮想マシンのペアの接続状態として利用される予測解決策、及び前の時点でのテスト仮想マシンの接続状態が、現時点での仮想マシンのペアの接続状態として利用される予測解決策と比較すると、この出願のこの実施形態の予測方法において、予測は、多数の過去の接続状態情報に基づいて実行される。このことは、偶然の要因に起因するエラーを低減し、それによって、予測精度を改善する。
図3A及び図3Bは、この出願の実施形態による、予測モデルに基づく端末間接続状態予測方法のフローチャートである。任意選択で、図3A及び図3Bの分析デバイスは、図1又は図2の分析デバイスである。図3A及び図3Bに示したプロセスにおいて、ステップ31からステップ33を含むサブプロセスは、主に、分析デバイスが予測モデルを生成するプロセスを記述し、ステップ34からステップ36を含むサブプロセスは、主に、分析デバイスが、予測モデルに基づいてテスト端末ペアの接続状態を予測するプロセスを記述する。明らかに、予測モデルを生成した後、各予測でトレーニング端末ペアの過去の接続状態情報に基づいて予測モデルを再生成する必要なしに、分析デバイスは、予測モデルに基づいて、複数のテスト端末ペアの接続状態を予測しうる。
ステップ31:分析デバイスは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得する。第2の過去の時間セグメントの定義については、上記の説明を参照されたい。詳細について、ここで再び説明する。
任意選択で、ステップ31は、いくつかのサブステップ、即ち、ステップ311からステップ314を含む。
ステップ311:分析デバイスは、N個のトレーニング端末ペアを含む。
任意選択で、分析デバイスは、様々な方法でトレーニング端末ペアを取得する。例えば、分析デバイスは、表2に示された、セーブされたエントリを読み出し、エントリ内の送信元IPアドレス及び宛先IPアドレスに基づいて、トレーニング端末ペアを取得する。代替的に、分析デバイスは、アドレス管理デバイス(例えば、動的ホスト構成プロトコル(Dynamic Host Configuration Protocol, DHCP)サーバ)を利用することによって、利用する端末に割り当てられているネットワーク内のIPアドレスを取得し、次いで、置換及び結合を通じて、いくつかの端末ペアを生成してもよい。分析デバイスは、次いで、置換及び結合を通じて生成された、いくつかの端末ペアから、N個のトレーニング端末ペアを選択する。選択方式は、ランダム選択、事前設定されたシーケンスに従う選択などを含む。詳細については、ここでは説明されない。
ステップ312:分析デバイスは、N個のトレーニング端末ペアから、1つのトレーニング端末ペアを選択し、N個のトレーニング端末ペアが全て処理されるまで、選択されたトレーニング端末ペア上で処理ステップ312a、312bを実行し、選択されたトレーニング端末ペアは、第3の端末及び第4の端末を含む。
ステップ312a:分析デバイスは、複数のデータフローにそれぞれ対応するセーブされたエントリから、第2のグループのターゲットエントリを選択し、第2のグループのターゲットエントリは、記録された単位時刻が第2の過去の時間セグメントに属し、送信元IPアドレスが第3の端末のIPアドレスであり、かつ宛先IPアドレスが第4の端末であるエントリと、記録された単位時刻が第2の過去の時間セグメントに属し、宛先IPアドレスが第4の端末のIPアドレスであり、かつ送信元IPアドレスが第3の端末であるエントリとを含む。
ステップ312b:分析デバイスは、選択された第2のターゲットエントリ内に記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第2の過去の時間セグメント内のものであり、かつ選択された第2のグループターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する、選択されたトレーニング端末ペアの接続状態を取得する。
ステップ312a及びステップ312bは、それぞれ図2のステップ21a及びステップ21bに類似している。詳細については、ここでは再び説明されない。
長さ制限のため、この実施形態は、説明のための単純な例を提供する。予測要件が「24×6単位時刻を含む第1の過去の時間セグメントにおけるテスト仮想マシンペアの接続状態に基づいて、未来の時間セグメントにおけるテスト仮想マシンペアの接続状態を予測することであって、未来の時間セグメントは、1つの単位時刻を含む、こと」であると仮定する。言い換えると、M=24×6であり、Q=1である。例えて言うと、予測要件は、過去6日間の全時間の接続状態に基づいて、次の1時間における接続状態を予測することである。
表8は、過去M+Q(24×6+1=145)時間における、選択されたトレーニング仮想マシンペアのものであり、かつステップ312a及びステップ312bを利用することによって、分析デバイスによって取得される接続状態を示す。簡潔のために、表8に示した接続状態テーブルにおいて、値0及び1は、異なる接続状態を示すために利用され、0は、接続していない状態を表し、1は、接続している状態を表す。
表8は、第2の過去の時間セグメント内の単位時刻にそれぞれ対応するトレーニング仮想マシンペアの接続状態の例である。分析デバイスは、N個のトレーニング仮想マシンペアの全てに関して、ステップ312a及びステップ312bを実行し、表8に示したもののようなN個の状態情報テーブルを取得する。
ステップ32:分析デバイスは、N個のトレーニング端末ペアのうちの第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスを生成し、残りのものは、N個のトレーニングサンプルシーケンスを取得するために、同じ方法で処理されることができ、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスは、M+Q個の要素を含み、M+Q個の要素のそれぞれの値は、第1のトレーニング端末ペアのものであり、かつM+Q個の連続する単位時刻の1つに対応する接続状態に対応する。
上記の例を再び参照する。N個のトレーニング仮想マシンペアの第1のトレーニング仮想マシンペアについて、分析デバイスは、表8に示されたものと類似し、かつ第1のトレーニング仮想マシンペアに対応する状態情報テーブルに基づいて、第1の仮想マシンペアに対応するトレーニングサンプルシーケンスを生成する。トレーニングサンプルシーケンスは、図4Aに示すように、M+Q(145)個の要素を含む。要素の値は0又は1であり、0は、接続していない状態を表し、1は、接続している状態を表すと仮定する。分析デバイスは、サンプルシーケンス内の最初のM(24×6=144)個の要素、例えば、図4Aの41を、トレーニングサンプルシーケンスのサンプル部分として利用する。分析デバイスは、最後の1つの要素、例えば、図4Aの42を、トレーニングサンプルシーケンスにおけるラベルとして利用する。
分析デバイスは、N個のトレーニング仮想マシンペアのそれぞれについてステップ32を実行し、図4Bに示すように、N個のトレーニングサンプルシーケンスを取得する。
ステップ33:分析デバイスは、N個のトレーニングサンプルシーケンスを、トレーニングサンプルとして機械学習アルゴリズムに入力し、機械学習アルゴリズムによって出力される予測モデルを取得する。
任意選択で、機械学習アルゴリズムは、それらに限定されないが、ニューラルネットワーク、決定ツリー、ランダムフォレスト、サポートベクターマシンなどを含む。様々な機械学習アルゴリズムが利用可能である。機械学習アルゴリズムを利用することによって、N個のトレーニングサンプルシーケンスに基づいて予測モデルを生成するプロセスは列挙できない。この出願のこの実施形態において、1つの機械学習アルゴリズムの、予測モデルを生成することに対する適用が説明のための例として利用される。
この実施形態において、マルチレイヤパーセプトロン(Multi Layer Perceptron, MLP)が、予測モデルを生成するプロセスについて詳細に説明するための例として利用される。ニューラルネットワークの基本コンピューティングユニットは、ノード(node)であり、ノードは、ニューロン(neuron)とも称される。ノードは、外部入力を受信し、活性化関数を計算した後の出力を生成する。重みは、出力ノードと受信ノードとの間の関連の強さを表す。重み値は、重み値が安定傾向になるまで、ニューラルネットワークをトレーニングするプロセスで自動的に調整される。重み値は、トレーニングの主要なオブジェクトである。活性化関数は、f()と表記され、一般的に非線形である。活性化関数は、主に、ニューロンの出力に非線形特徴を追加し、トレーニングサンプルを学習する中で、ニューラルネットワークの能力を向上させるために利用される。
図5は、予測モデルを取得するために、N個のトレーニングサンプルシーケンスがMLPに入力されるプロセスの模式図である。図5のMLPは、入力レイヤ(input layer)と、出力レイヤ(output layer)とを含む。任意選択で、より良好な学習効果を達成するために、MLPは、1つ以上の隠蔽レイヤ(hidden layer)をさらに含む。簡潔のために、この実施形態の説明のための例として、MLPは、2つの隠蔽レイヤを含む。各隠蔽レイヤに含まれるノードの数量が設定されうる。例えば、第1の隠蔽レイヤは、64ノードを含み、第2の隠蔽レイヤは、16ノードを含む。
MLPの入力レイヤに含まれるノードの数量は、トレーニングサンプルシーケンスのサンプル部分に含まれる要素の数量と同じであり、出力ノードの数量は、トレーニングサンプルシーケンスのラベルに含まれる要素の数量と同じである。この実施形態において、トレーニングサンプルシーケンスのサンプル部分に含まれる要素の数量は144である。従って、MLPの入力レイヤに含まれるノードの数量は144である。この実施形態において、トレーニングサンプルシーケンスのラベルに含まれる要素の数量は1である。従って、MLPの出力レイヤに含まれるノードの数量は1である。
分析デバイスがトレーニングサンプルシーケンスをMLPに入力するとき、トレーニングサンプルシーケンスのサンプル部分内の要素はそれぞれ、MLPの入力レイヤ内の対応するノードに入力される。分析デバイスは、出力レイヤにおけるノードの値と、トレーニングサンプルシーケンスのラベルにおける要素値とを比較する。出力レイヤにおけるノードの値と、トレーニングサンプルシーケンスのラベルにおける要素値との間の差が大きい場合、MLPは、f()を利用することによって、重み値を自動的に調整する。学習を通じて予測モデルを取得するプロセスは、MLPが、分析デバイスによって入力されるN個のトレーニングサンプルを受信し、出力レイヤにおけるノードの値とトレーニングサンプルシーケンスのラベルにおける要素値との間の差の間の重み値を調整するプロセスである。MLPの重み値が、理想的な安定状態に自動的に調整されるとき、学習プロセスは終了する。このとき、図5に示した構造のMLP及び理想的な状態の重み値は、予測モデルである。
任意選択で、より良好な予測効果を持つ予測モデルを取得するため、分析デバイスによって、予測モデルを生成するために機械学習アルゴリズムに入力されるN個のトレーニングサンプルシーケンスは、バランスのとれたサンプルセットである。バランスのとれたサンプルセットとは、トレーニングを通じて予測モデルを生成するために利用されるN個のトレーニングサンプルシーケンスにおいて、正のサンプルの数量と負のサンプルの数量とが近似的に同じであり、大きな差がないことを意味する。言い換えると、N個のトレーニングサンプルシーケンスにおいて、正のサンプルの数量と負のサンプルの数量との間の比が適切な範囲に収まる。正のサンプルは、最後の要素の値によって示される接続状態が、接続している状態であるトレーニングサンプルシーケンスであり、負のサンプルは、最後の要素の値によって示される接続状態が、接続していない状態であるトレーニングサンプルシーケンスである。任意選択で、実装可能な適切な範囲は、0.5から2までの値である。
ステップ34:分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、第1のサンプルシーケンスを決定し、第1のサンプルシーケンスは、M個の要素を含み、M個の要素のそれぞれの値は、M個の連続する単位時刻の1つに対応する接続状態に対応する。
分析デバイスによって、第1のサンプルシーケンスを決定する方法は、基本的に、このプロセスのステップ32におけるトレーニングサンプルシーケンスを生成する方法と類似している。詳細については、ここでは再び説明されない。生成された第1のサンプルシーケンスは、図4Cに示されている。第1のサンプルシーケンスは、M(144)個の要素を含む。
ステップ35:分析デバイスは、第1のサンプルシーケンスを予測モデルに入力し、予測モデルの出力結果を取得する。
この実施形態において、予測モデルの出力結果は、予測されたシーケンスである。予測されたシーケンスは、Q個の要素を含み、Q個の要素のそれぞれの値は、Q個の連続する単位時刻の1つに対応する接続状態に対応する。
例えば、分析デバイスが、図4Cに示した第1のサンプルシーケンスを予測モデルに入力した後、予測モデルによって出力される、予測されたシーケンスは、“[1]”である。この実施形態における説明に利用される例では、Q=1である。従って、予測されたシーケンスは、1つの要素を含む。Qの値が1より大きい他の自然数であるとき、予測されたシーケンスは、より多くの要素を含む。例えば、Q=3のとき、予測されたシーケンスの形は、“[1,0,1]”になる。
ステップ36:分析デバイスは、予測モデルの出力結果に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
予測モデルによって出力される予測されたシーケンスが“[1]”であるとき、分析デバイスは、次の1時間におけるテスト仮想マシンペア(VM1a-VM2a)に対応する接続状態が、接続している状態であると決定することが理解できる。
この出願のこの実施形態は、予測モデルを生成し、予測モデルに基づいて端末間の接続状態を予測する詳細なプロセスを提供する。図3A及び図3Bのステップ31からステップ33を含むサブプロセスは、トレーニング端末ペアの過去の接続状態情報に基づいて、予測モデルをどのように生成するかについて説明している。DCNを例として利用する適用シナリオにおいて、分析デバイスは、最初に、データソースデバイスから、複数の過去の連続する単位時刻での多量のトレーニング仮想マシンペアの接続状態情報を取得し、次いで、取得された接続状態情報に基づいて、機械学習アルゴリズムを利用することによって、予測モデルを生成する。上記の実施形態における数学モデルと比較すると、予測モデルは、より良好な普遍性の特色をなし、かつ偶然の要因によって引き起こされるエラーを低減する傾向情報又はパターン情報を反映し、それによって、予測精度をさらに改善する。図3A及び図3Bのステップ34からステップ36を含むサブプロセスは、主に、分析デバイスが、予測モデルに基づいて、テスト端末ペアの接続状態を予測するプロセスについて説明する。予測モデルに基づいて、DCNにおける多数の過去の接続状態情報が、接続状態を予測するために完全に利用される。実際のデータテストによれば、この出願の実施形態において提供される予測方法の精度は、およそ98%に達することができる。予測精度は、関連する既存技術のものに比べて明らかに改善されている。
それに対応して、この出願の実施形態は、上記の実施形態において説明された予測方法を実装するように構成された分析デバイスをさらに提供する。図6は、この出願の実施形態による、分析デバイスの構造の模式図である。任意選択で、図6に示した分析デバイスは、図1に示した適用シナリオの分析デバイス、又は、図2又は図3A及び図3Bに示したプロセスにおける分析デバイスである。分析デバイスは、少なくとも1つのプロセッサ61と、メモリ62とを含む。
少なくとも1つのプロセッサ61は、1つ以上のCPUであってよい。CPUは、シングルコアCPUであってよいし、又はマルチコアCPUであってよい。
メモリ62は、それらに限定されないが、ランダムアクセスメモリ(random access memory, RAM)、リードオンリーメモリ(Read only Memory, ROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read-only memory, EPROM、又はフラッシュメモリ)、フラッシュメモリ、光メモリなどを含む。メモリ62は、オペレーティングシステムのコードを記憶する。
任意選択で、プロセッサ61は、メモリ62に格納された命令を読み出すことによって、上記の実施形態における方法を実装する。代替的に、プロセッサ61は、内部ストレージ内の命令を利用することによって、上記の実施形態における方法を実装しうる。プロセッサ61が、メモリ62に格納された命令を読み出すことによって、上記の実施形態における方法を実装するとき、メモリ62は、この出願の上記の実施形態において提供される方法を実装するための命令を格納している。
メモリ62に格納されたプログラムコードが、少なくとも1つのプロセッサ61によって読み出された後、分析デバイスは、以下の動作、即ち、
第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得することであって、テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である、ことと、
第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定することであって、未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である、ことと
を実行する。
任意選択で、図6に示した分析デバイスは、ネットワークインターフェース63をさらに含む。ネットワークインターフェース63は、有線インターフェース、例えば、ファイバ分散データインターフェース(Fiber Distributed Data Interface, FDDI)又はギガビットイーサネット(Gigabit Ethernet, GE)インターフェースであってよい。代替的に、ネットワークインターフェース63は、無線インターフェースであってよい。ネットワークインターフェース63は、データソースからのミラーリングされたトラフィック、又は複数のフロー統計情報エントリを受信するように構成される。
メモリ62は、ネットワークインターフェース63によって受信された、ミラーリングされたトラフィックと、複数のフロー統計情報エントリとを記憶するように構成される。少なくとも1つのプロセッサ61は、ミラーリングされたトラフィックと、複数のフロー統計情報エントリとを処理して、表2に示した、いくつかのエントリを取得し、これらのエントリをメモリ62にセーブするように構成される。
少なくとも1つのプロセッサ61は、メモリ62にセーブされたエントリに基づいて、上記の方法実施形態において説明された予測方法をさらに実行する。プロセッサ61によって上記の機能を実装することについて、より詳細には、上記の方法実施形態における説明を参照されたい。詳細については、ここでは再び説明されない。
任意選択で、分析デバイスは、バス64をさらに含む。プロセッサ61とメモリ62とは、通常、バス64を利用することによって互いに接続され、又は他の方式で互いに接続されうる。
任意選択で、分析デバイスは、入力/出力インターフェース65をさらに含む。入力/出力インターフェース65は、入力デバイスに接続するように構成され、入力デバイスを通じて、ユーザによって入力される予測要件を受信する。入力デバイスは、それらに限定されないが、キーボード、タッチスクリーン、マイクロフォンなどを含む。入力/出力インターフェース65は、出力デバイスに接続されるようにさらに構成され、プロセッサ61の予測結果を出力する。出力デバイスは、それらに限定されないが、ディスプレイ、プリンタなどを含む。
この出願のこの実施形態において提供される分析デバイスは、上記の方法実施形態において提供される予測方法を実行するように構成される。予測プロセスにおいて、分析デバイスは、単一の過去の単位時刻でのテスト仮想マシンペアの接続状態情報ではなく、複数の過去の単位時刻でのテスト仮想マシンペアの接続状態情報を利用する。これは、過去の状態情報を分析することによって、より有益な情報を発見することにつながり、それによって、予測精度を改善する。
図7は、この出願の実施形態による、端末間接続状態予測装置の構造の模式図である。端末間接続状態予測装置70は、取得モジュール71と、予測モジュール72とを含む。
取得モジュール71は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得するように構成され、テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である。
予測モジュール72は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定するように構成され、未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である。
任意選択で、予測モジュール72は、モデルテストユニット721と、決定ユニット722とを含む。
モデルテストユニット721は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を予測モデルに入力し、予測モデルの出力結果を取得するように構成され、予測モデルは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて生成され、第2の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第2の過去の時間セグメントは、M+Q個の連続する単位時刻を含み、Nは、1以上の自然数である。
決定ユニット722は、出力結果に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定するように構成される。
任意選択でモデルテストユニット721は、
第1の過去の時間セグメントの複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、第1のサンプルシーケンスを決定することであって、第1のサンプルシーケンスは、M個の要素を含み、M個の要素のそれぞれの値は、M個の連続する単位時刻の1つに対応する接続状態に対応する、ことと、
第1のサンプルシーケンスを予測モデルに入力し、予測モデルの出力結果を取得することであって、出力結果は、予測されたシーケンスであり、予測されたシーケンスは、Q個の要素を含み、Q個の要素のそれぞれの値は、Q個の連続する単位時刻の1つに対応する接続状態に対応する、ことと
を行うように構成される。
任意選択で、図7の予測モジュール72は、モデルテストユニット721が第1のサンプルシーケンスを予測モデルに入力する前に、以下のステップ、即ち、
N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得するステップと、
N個のトレーニング端末ペアのうちの第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスを生成するステップであって、残りのものは、N個のトレーニングサンプルシーケンスを取得するために、同じ方法で処理されることができ、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスは、M+Q個の要素を含み、M+Q個の要素のそれぞれの値は、第1のトレーニング端末ペアのものであり、かつM+Q個の連続する単位時刻の1つに対応する接続状態に対応する、ステップと、
N個のトレーニングサンプルシーケンスを、機械学習アルゴリズムの入力として利用し、機械学習アルゴリズムによって出力される予測モデルを取得するステップと
を実行するように構成された、モデル学習ユニット723をさらに含む。
図7に示した装置実施形態は、単なる例に過ぎない。例えば、モジュール分割は、単なる論理機能分割に過ぎず、実際の実装時には他の分割であってよい。例えば、複数のモジュール又はコンポーネントは、他のシステムに結合又は統合されてよく、又は、いくつかの機能は省略されてよいし又は実行されなくてよい。この出願の実施形態における機能モジュールは、1つの処理モジュールに統合されてよいし、又は、モジュールのそれぞれは、物理的に単独で存在してよいし、又は、2つ以上のモジュールは、1つのモジュールに統合されてよい。図7の上記のモジュールは、ハードウェアの形態で実装されてよいし、又は、ソフトウェア機能ユニットの形態で実装されてよい。例えば、ソフトウェアを利用することによって実装する際、取得モジュール71、予測モジュール72、モデルテストユニット721、決定ユニット722、及びモデル学習ユニット723は、図6の少なくとも1つのプロセッサ61が、メモリに格納されたプログラムコードを読み出した後に生成されるソフトウェア機能モジュールによって実装されうる。図7のモジュールは、代替的に、分析デバイスの異なるハードウェアによってそれぞれ実装されうる。例えば、取得モジュール71は、ネットワークインターフェース63と、図6の少なくとも1つのプロセッサ63内のいくつかの処理リソース(例えば、マルチコアプロセッサ内のコア)とによって一緒に実装され、予測モジュール72は、図6の少なくとも1つのプロセッサ63内のいくつかの残りの処理リソース(例えば、マルチコアプロセッサの他のコア)、又は、プログラマブルデバイス、例えば、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array, FPGA)又はコプロセッサによって実装される。明らかに、上記の機能モジュールは、代替的に、ソフトウェアとハードウェアとの組み合わせによって実装されうる。例えば、取得モジュール71は、ハードウェアプログラマブルデバイスによって実装され、予測モジュール72は、CPUがメモリ内に格納されたプログラムコードを読み出した後に生成されるソフトウェア機能モジュールである。
取得モジュール71、予測モジュール72、及び図7の予測モジュール内のユニットによって上記の機能を実装することについて、より詳細には、上記の方法実施形態における説明を参照されたい。詳細については、ここでは再び説明される。
この明細書の実施形態は全て、実施形態における同じ又は類似する部分について、プログレッシブ方式で説明され、これらの実施形態を参照し、各実施形態は、他の実施形態と異なる部分にフォーカスしている。特に、システム実施形態は、基本的に、方法実施形態と類似しており、従って、簡潔に説明されている。関連部分については、方法実施形態における部分的な説明を参照されたい。
上記の実施形態の全部又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを通じて実装されうる。ソフトウェアが、実施形態を実装するために利用されるとき、実施形態の全部又は一部は、コンピュータプログラム製品の形態で実装されうる。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上に読み出されて実行されるとき、本発明の実施形態による手順又は機能が完全に又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてよいし、又は、コンピュータ可読記憶媒体から他のコンピュータ可読記憶媒体へと伝送されてよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、又はデータセンタから、有線(例えば、同軸ケーブル、光ファイバ、又はデジタルサブスクライバ回線(DSL))又は無線(例えば、赤外線、無線、又はマイクロ波)方式で、他のウェブサイト、コンピュータ、サーバ、又はデータセンタへと伝送されうる。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、又は、1つ以上の利用可能な媒体を統合するサーバ又はデータセンタなどのデータストレージデバイスであってよい。利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、又は磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、固体ドライブSolid State Disk(SSD))などであってよい。
当業者は、この出願に対し、この出願の範囲を逸脱することなく、様々な修正及び変形を加えることができることは明らかである。この出願は、それらが以下の特許請求の範囲で画定される保護の範囲に収まる限りにおいて、これらの修正及び変形をカバーすることを意図している。
この出願は、コンピュータネットワーク技術の分野に関連し、コンピュータネットワーク分野における人工知能(Artificial Intelligence, AI)技術のアプリケーションにさらに関連し、特に、端末間接続状態予測方法、端末間接続状態予測装置、及び分析デバイスに関連する。
データセンタ(data center, DC)は、通信ネットワークを介して互いに接続されるいくつかのリソースによって形成されるプール(pool)である。リソースは、コンピューティングリソース、ストレージリソース、ネットワークリソースなどを含む。仮想マシンは、低コスト、アジリティ、フレキシビリティ、良好なスケーラビリティなどの利点を有する。従って、仮想マシンは、DC内の重要なコンピューティングリソースである。データセンタネットワーク(Data Center Network, DCN)は、DC内のリソースをインターコネクトするために利用される。DCNは、DC内で重要な役割を演じる。増加するクラウドコンピューティング要件に対処するため、DCNは、拡張可能であり、かつ効率的に数百、数千の仮想マシンと、メモリなどの他のリソースとを接続する必要がある。
DC内の仮想マシンは、互いに通信して、DCにおける様々なサービスを協調的に完成させる。仮想マシン間の接続状態は、2つの仮想マシンが互いに通信しているかどうかを示す。2つの仮想マシンが互いに通信しているとき、2つの仮想マシン間の接続状態は、接続している状態である。2つの仮想マシンが互いに通信していないとき、2つの仮想マシン間の接続状態は、接続していない状態である。
仮想マシン間接続状態予測技術(この出願において、以下では、略して「予測技術」と称される)は、DCNにおける重要な技術の1つである。技術は、多くのシナリオ、例えば、故障影響分析及び構成検証シナリオに広く適用される。故障影響分析は、仮想マシンが故障しているときに、理論上、故障仮想マシンに接続されている他の仮想マシンを決定し、故障の影響範囲をさらに分析するために、仮想マシン間接続状態予測技術が利用されることを意味する。構成検証は、仮想マシンの構成がアップデート対象(ここでは、構成がアップデート対象である仮想マシンが、VM1と表記される)であるとき、VM1に理論上接続されている、構成がアップデートされないと仮定する他の仮想マシンを決定するために、仮想マシン間接続状態予測技術が利用されることを意味する。VM1の構成がアップデートされた後、VM1と他の仮想マシンとの間の接続上での構成アップデートの影響を分析するために、これらの仮想マシンが、ちょうど構成がアップデートされたVM1に接続されているかどうかが検出され、それによって、誤構成がサービスの円滑さに影響することを回避する。
関連技術において、いくつかの予測方法が提案されている。1つは、サービス正則性仮説に基づく予測方法である。この予測方法では、ある日のある時点での仮想マシンのペアの間の接続状態が、前日の同じ時点での仮想マシンのペアの間の接続状態に基づいて予測される。例えば、2015年1月11日の10:00より前の2015年1月10日の10:00における、仮想マシンVM1と仮想マシンVM2との間の接続状態が、2015年1月11日の10:00における仮想マシンVM1と仮想マシンVM2との間の予測された接続状態として利用される。
他の1つは、サービス連続性仮説に基づく予測方法である。この予測方法では、ある時点での仮想マシンのペアの間の接続状態が、前の時点での仮想マシンのペアの間の接続状態に基づいて予測される。例えば、2015年1月11日の10:00より前の、2015年1月11の9:00における、仮想マシンVM1と仮想マシンVM2との間の接続状態が、2015年1月11日10:00における、仮想マシンVM1と仮想マシンVM2との間の予測された接続状態として利用される。
しかし、具体的な実践結果によれば、上記の2つの予測方法は不十分な正確性を持つ。
この出願の実施形態は、関連する予測技術の不十分な正確性の問題を解決するための、端末間接続状態予測方法を提供する。
第1の態様によれば、端末間接続状態予測方法が提供される。分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である。分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、予測プロセスにおいて、分析デバイスは、単一の過去の単に時点におけるテスト端末ペアの接続状態情報を利用する代わりに、複数の過去の単に時点におけるテスト端末ペアの接続状態情報を利用する。このことは、過去の状態情報を分析することによって、より有益な情報を発見することにつながり、それによって、予測精度を改善する。
任意選択で、可能な実装において、分析デバイスは、以下のステップを利用することによって、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を予測モデルに入力し、予測モデルの出力結果を取得する。
予測モデルは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて生成され、第2の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第2の過去の時間セグメントは、M+Q個の連続する単位時刻を含み、Nは、1以上の自然数である。
分析デバイスは、出力結果に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
分析デバイスは、機械学習アルゴリズムを利用すること、及び多量のトレーニング端末ペアの長期間の過去の接続状態情報を完全に利用することによるトレーニングを通じて予測モデルを取得する。
このようにすると、同じネットワークシナリオにおける複数の端末ペアの接続状態を反映できる汎用的で動的な傾向情報又はパターン情報が抽出でき、それによって、予測がより正確に実行される。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて予測モデルの出力結果を取得する。
分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、第1のサンプルシーケンスを決定する。
第1のサンプルシーケンスは、M個の要素を含み、M個の要素のそれぞれの値は、M個の連続する単位時刻の1つに対応する接続状態に対応する。
分析デバイスは、第1のサンプルシーケンスを予測モデルに入力し、予測モデルの出力結果を取得する。
出力結果は、予測されたシーケンスであり、予測されたシーケンスは、Q個の要素を含み、Q個の要素のそれぞれの値は、Q個の連続する単位時刻の1つに対応する接続状態に対応する。
分析デバイスは、最初に、テスト端末ペアの過去の接続状態を反映する第1のサンプルシーケンスを取得し、次いで、第1のサンプルシーケンスを予測モデルに入力し、出力結果として利用される予測されたシーケンスを取得する。
サンプルシーケンスを利用することによる予測は、予測モデルを適用する効果的な方法である。
任意選択で、M個の要素又はQ個の要素のうちの1つの値が第1の値であるとき、それは、対応する単位時刻での接続状態が、接続している状態であることを示し、M個の要素又はQ個の要素のうちの1つの値が第2の値であるとき、それは、対応する単位時刻での接続状態が、接続していない状態であることを示し、第1の値と第2の値とは異なる。接続状態を示すために、各サンプルシーケンス内の異なる要素値を利用することは、シンプルで効率的な接続状態表示方法である。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて、トレーニングを通じて予測モデルを取得する。
分析デバイスは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得し、
分析デバイスは、N個のトレーニング端末ペアのうちの第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスを生成することであって、残りのものは、N個のトレーニングサンプルシーケンスを取得するために、同じ方法で処理でき、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスは、M+Q個の要素を含み、M+Q個の要素のそれぞれの値は、第1のトレーニング端末ペアのものであり、かつM+Q個の連続する単位時刻の1つに対応する接続状態に対応する、ことを行い、
分析デバイスは、N個のトレーニングサンプルシーケンスを、機械学習アルゴリズムの入力として利用し、機械学習アルゴリズムによって出力される予測モデルを取得する。
分析デバイスは、最初に、トレーニング端末ペアの過去の接続状態傾向を反映するトレーニングサンプルシーケンスを取得し、次いで、多量のトレーニングサンプルシーケンスに基づいて、機械学習アルゴリズムを利用することによって、トレーニングを実行し、予測モデルを生成する。これは、効果的な予測モデル学習方法を提供する。予測モデルは、同じネットワークシナリオにおける複数の端末ペアの接続状態の汎用的で動的な傾向情報又はパターン情報を反映する。
任意選択で、分析デバイスは、以下のステップを通じて、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
分析デバイスは、複数のデータフローにそれぞれ対応するセーブされたエントリから、第1のグループのターゲットエントリを選択する。
第1のグループのターゲットエントリは、記録された単位時刻が第1の過去の時間セグメントに属し、送信元IPアドレスが第1の端末のIPアドレスであり、かつ宛先IPアドレスが第2の端末のIPアドレスであるエントリと、記録された単位時刻が第1の過去の時間セグメントに属し、宛先IPアドレスが第1の端末のIPアドレスであり、送信元IPアドレスが第2の端末のIPアドレスであるエントリと、を含む。
分析デバイスは、選択された第1のグループのターゲットエントリに記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第1の過去の時間セグメント内のものであり、かつ選択された第1のグループのターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
上記のデータ処理方法を利用することによって、分析デバイスは、テスト端末ペアのものであり、かつその粒度が2つの隣接する単位時刻の間の時間セグメントである過去の接続状態情報を取得し、それによって、テスト端末ペアの未来の接続状態は、テスト端末ペアの過去の接続状態情報に基づいて、その後に予測される。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得する。
分析デバイスは、N個のトレーニング端末ペアを取得する。
分析デバイスは、N個のトレーニング端末ペアが全て処理されるまで、N個のトレーニング端末ペアから1つのトレーニング端末ペアを選択し、選択されたトレーニング端末ペア上で、以下の処理ステップを実行し、選択されたトレーニング端末ペアは、第3の端末と第4の端末とを含む。
分析デバイスは、複数のデータフローにそれぞれ対応するセーブされたエントリから、第2のグループのターゲットエントリを選択する。
第2のグループのターゲットエントリは、記録された単位時刻が第2の過去の時間セグメントに属し、送信元IPアドレスが第3の端末のIPアドレスであり、かつ宛先IPアドレスが第4の端末のIPアドレスであるエントリと、記録された単位時刻が第2の過去の時間セグメントに属し、宛先IPアドレスが第4の端末のIPアドレスであり、かつ送信元IPアドレスが第3の端末のIPアドレスであるエントリとを含む。
分析デバイスは、選択された第2のグループのターゲットエントリ内に記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第2の過去の時間セグメント内のものであり、かつ選択された第2のグループのターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する、選択されたトレーニング端末ペアの接続状態を取得する。
上記のデータ処理方法を利用することによって、分析デバイスは、トレーニング端末ペアのものであり、かつその粒度が2つの隣接する単位時刻間の時間セグメントである過去の接続状態情報を取得し、それによって、予測モデルは、トレーニング端末ペアの過去の接続状態情報に基づいて、トレーニングを通じて、その後に取得される。
任意選択で、可能な実装において、Q=1のとき、N個のトレーニングサンプルシーケンスにおける、正のサンプルの数量と、負のサンプルの数量との間の比は、0.5以上、かつ2以下である。正のサンプルは、最後の要素の値によって示される接続状態が、接続している状態であるトレーニングサンプルシーケンスであり、負のサンプルは、最後の要素の値によって示される接続状態が、接続していない状態であるトレーニングサンプルシーケンスである。上記の条件に適合するトレーニングサンプルシーケンスは、バランスのとれたサンプルセットとみなされる。分析デバイスは、バランスのとれたサンプルセットに基づいて予測モデルをトレーニングし、それによって、より良好な予測効果を持つ予測モデルを取得する。
任意選択で、可能な実装において、分析デバイスは、以下のステップを通じて、フロー統計情報から、いくつかのエントリを取得し、エントリは、テスト端末ペア又はトレーニング端末ペアの接続状態を取得するための未処理データとみなされうる。
分析デバイスは、複数のフロー統計情報エントリを取得する。
複数のフロー統計情報エントリのそれぞれは、1つのデータフローに対応し、フロー統計情報エントリは、データフローの、生成時間、終了時間、送信元IPアドレス、及び宛先IPアドレスを含む。
分析デバイスは、事前設定された時間アライメントルールに基づいて、各フロー統計情報エントリ上での時間アライメント処理を実行し、複数のデータフローにそれぞれ対応するエントリを生成し、複数のデータフローにそれぞれ対応するエントリをセーブする。
複数のデータフローにそれぞれ対応するエントリのそれぞれは、単位時刻、送信元IPアドレス、及び宛先IPアドレスを記録する。
上記の方式を利用することによって生成されたエントリデータは、フロー統計情報内の接続状態関連情報のみを保持し、それによって、フロー統計情報に比べてデータ量を低減し、ストレージ空間を節約する。加えて、時間アライメント処理は、エントリデータを生成するプロセス内で実行される。これは、その後の処理効率を改善することにつながる。
任意選択で、第1の態様又は第1の態様の可能な実装のいずれか1つにおける、第1の端末、第2の端末、第3の端末、及び第4の端末は全て、仮想マシンである。さらに、仮想マシンは、DCNを通じて接続されたデータセンタ内に配置される。この出願のこの実施形態において提供される予測方法は、DC内の2つの仮想マシンの間の接続状態を予測することに適用可能である。
第2の態様によれば、端末間接続状態予測装置が提供される。装置は、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実装するための機能を有する。機能は、ハードウェアによって実装されてよく、又は対応するソフトウェアを実行するハードウェアによって実装されてよい。ハードウェア又はソフトウェアは、上記の機能に対応する1つ以上のモジュールを含む。
第3の態様によれば、分析デバイスが提供される。分析デバイスは、メモリと、少なくとも1つのプロセッサとを含む。メモリは、命令を格納するように構成され、命令が少なくとも1つのプロセッサによって読み込まれた後、分析デバイスは、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実行する。詳細については、上記の詳細な説明を参照されたい。ここでは、詳細については再び説明されない。
第3の態様によれば、この出願の実施形態は、分析デバイスによって利用されるコンピュータソフトウェア命令を格納するように構成された、コンピュータ記憶媒体を提供する。命令は、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実行するように設計されたプログラムを含む。
第4の態様によれば、命令を含むコンピュータプログラム製品が提供される。コンピュータプログラム製品がコンピュータ上で実行されるとき、コンピュータは、第1の態様又は第1の態様の可能な実装のいずれか1つによる方法を実行可能になる。
第5の態様によれば、この出願の実施形態は、メモリ及びプロセッサを含むチップを提供する。メモリは、コンピュータ命令を格納するように構成され、プロセッサは、メモリからコンピュータ命令を呼び出し、コンピュータ命令を実行して、第1の態様及び第1の態様の可能な実装のいずれか1つによる方法を実行するように構成される。
この出願の実施形態における技術的解決策について、より明確に説明するために、以下では、実施形態を説明するために必要な添付図について簡単に説明する。明らかに、以下の説明における添付図は、この出願のいくつかの実施形態を示しており、当業者は、創作的努力なしに、これらの添付図から他の図面をさらに導きうる。
この出願の実施形態による、適用シナリオの模式図である。
この出願の実施形態による、端末間接続状態予測方法のフローチャートである。
この出願の実施形態による、予測モデルに基づく端末間接続状態予測方法のフローチャートである。
この出願の実施形態による、予測モデルに基づく端末間接続状態予測方法のフローチャートである。
この出願の実施形態による、第1のトレーニング仮想マシンペアに対応するトレーニングサンプルシーケンスの模式図である。
この出願の実施形態による、N個のトレーニングサンプルシーケンスの模式図である。
この出願の実施形態による、テスト仮想マシンペアに対応する第1のサンプルシーケンスの模式図である。
この出願の実施形態による、予測モデルを取得するために、分析デバイスがN個のトレーニングサンプルシーケンスをマルチレイヤパーセプトロン(MLP)に入力するプロセスの模式図である。
この出願の実施形態による、分析デバイスの構造の模式図である。
この出願の実施形態による、端末間接続状態予測装置の構造の模式図である。
関連技術におけるいくつかの予測方法は不十分な正確性を有する。従って、本発明の実施形態は、端末間接続状態予測方法を提供する。この方法において、人工知能技術を利用することによって、過去の時間セグメント内の複数の単位時刻での端末ペア(この実施形態において、2つの端末を含む端末のペアは、「端末ペア」と称される)の接続状態に基づいて、有益な情報が抽出される。例えば、端末ペアの接続状態数学モデルが、端末ペアの長期間の過去の接続状態情報に基づいて構築されるか、又は、予測モデルが、いくつかの端末ペアの長期間の過去の接続状態情報に基づいて構築される。端末ペアの接続状態が予測される必要があるとき、端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態は、上記の有益な情報に基づいて取得される。この方法において、長期間における端末ペアの過去の接続状態情報は、予測を実行するために完全に利用される。これは、予測精度を改善することにつながる。
この出願の実施形態において提供される予測方法は、複数のネットワークシナリオ、例えば、企業、行政部門又は学校内のローカルエリアネットワーク、及びDCNに適用可能である。異なる具体的な適用シナリオに基づき、任意選択で、端末ペアに含まれる端末は、パーソナルコンピュータ、ノートブックコンピュータ、モバイル端末、ウェアラブルデバイス、又は仮想マシンである。
任意選択で、端末ペアに含まれる2つの端末は、同じタイプのデバイスである。例えば、両者はパーソナルコンピュータであるか、又は両者は仮想マシンである。代替的に、端末ペアに含まれる2つの端末は、異なるタイプのデバイスである。例えば、端末ペアのうちの一方の端末はパーソナルコンピュータであり、他の端末は仮想マシンである。代替的に、端末ペアのうちの一方の端末はモバイル端末であり、他の端末は仮想マシンである。
以下の実施形態において、この出願の実施形態において提供される予測方法は、主に、例として、DCNシナリオを利用することによって説明される。DCNシナリオの特徴は、多量の仮想マシンがコンピューティングリソースを提供することにある。仮想マシンは、仮想化技術を利用することによってシミュレートされ、かつ完全なソフトウェア及びハードウェアシステムの機能を有する論理的なコンピュータデバイスである。ホストは、仮想化技術を実装するための基盤であり、即ち、ホストは、仮想化技術のための実際のハードウェアリソースを提供するコンピュータデバイスである。例えば、仮想化ソフトウェアを利用することによって仮想化技術が実装されるとき、仮想化ソフトウェアがホスト上にインストールされた後、ホストのハードウェアリソースに基づいて構成される1つ以上の仮想マシンが生成されうる。従って、ホストは、仮想マシンを動作させるためのハードウェアプラットフォームともみなされうる。DCNシナリオにおいて、端末ペアは、仮想マシンペア、即ち、2つの仮想マシンを含む仮想マシンのペアである。予測方法の実装原理は、異なるシナリオでも基本的に同様であり、従って、1つ1つ説明されない。
本発明の実施形態における技術的解決策の主な実装原理及び具体的な実装と、本発明の実施形態における技術的解決策が達成できる、対応する有利な効果については、添付図を参照しながら以下で詳細に説明される。
図1は、この出願の実施形態による、DCNシナリオにおける適用シナリオの模式図である。DCNは、ホスト1、ホスト2、ホスト3、ホスト4、及びホスト5と表記されている複数のホスト(host)を含む。1つ以上の異なる仮想マシンが各ホスト上で動作している。例えば、VM1a及びVM1bはホスト1上で動作し、VM2aはホスト2上で動作し、VM3a、VM3b、及びVM3cはホスト3上で動作し、VM4a及びVM4bはホスト4上で動作し、VM5a及びVM5bはホスト5上で動作する。
図1に示したシナリオは、複数のパケット転送デバイスをさらに含む。パケット転送デバイスは、様々なスイッチ、例えば、レイヤ2スイッチ又はレイヤ3スイッチを含む。レイヤ2スイッチは、データリンクレイヤで稼働し、データパケット内のMACアドレス情報を識別でき、転送を実施するために、識別されたMACアドレスに基づいてアドレステーブルを調べ、アドレステーブルは、MACアドレスとポート番号との間の対応関係を含む。レイヤ3スイッチは、ネットワークレイヤで稼働し、レイヤ3スイッチング技術を利用することによって転送を実装する。レイヤ3スイッチ技術は、ルーティング技術及びスイッチング技術を組み合わせる技術である。レイヤ3スイッチが第1のデータフローをルーティングした後、レイヤ3スイッチは、MACアドレスとIPアドレスとの間のマッピングテーブルを生成する。レイヤ3スイッチを同じデータフローが再び通過するとき、レイヤ3スイッチは、ルーティングを再び実行する代わりに、マッピングテーブルに基づいてレイヤ2からの転送を実行する。例えば、図1において、スイッチS1、S2、S3、S4はレイヤ2スイッチであり、スイッチS5、S6はレイヤ3スイッチである。
図1に鎖線で示したように、物理的な接続、例えば、イーサネット接続が、ホストとパケット転送デバイスとの間に存在する。仮想マシンは、パケット転送デバイスと、仮想マシン動作プラットフォームとして利用されるホストとの間の物理的な接続を利用することによって互いに通信する。
図1に示した適用シナリオは、分析デバイスをさらに含む。分析デバイスは、データソースデバイスと通信し、複数のフロー統計情報エントリを取得する。任意選択で、データソースデバイスは、パケット転送デバイス及びホストを含む。各フロー統計情報エントリは、1つのデータフローに対応し、フロー統計情報エントリは、データフローの、生成時間、送信元IPアドレス、及び宛先IPアドレスを含む。この出願の実施形態において、データフローは、ソースコンピュータから宛先パーティへの一連のパケットである。宛先パーティは、他のコンピュータであってよいし、又は、コンピュータのグループ又はブロードキャストドメインであってよい。
任意選択で、データソースデバイスは、データソースデバイスのネットワークインターフェースを通じて送信されたトラフィックをミラーリングし(mirror)、ミラーリングされたトラフィックを分析デバイスに送信する。分析デバイスは、簡単に、ミラーリングされたトラフィックを解析し、フロー統計情報を取得する。簡単な解析は、全てのトラフィックから、同期シーケンス番号(Synchronize Sequence Numbers, SYN)パケットを選択すること、SYNパケットから、送信元IPアドレスと宛先IPアドレスとを抽出すること、及び、SYNパケットの送信時間と、抽出された送信元IPアドレス及び宛先IPアドレスとに基づいてフロー統計情報を生成することを含む。この方式は、データソースデバイスの過度な処理リソースを消費せず、データソースデバイスのハードウェアに対する低い要件を有し、従って、データソースデバイスがスイッチ又はホストであるケースに適用可能である。
代替的に、データソースデバイスは、簡単に、データソースデバイスのネットワークインターフェースを通じて送信されたパケットを解析して、フロー統計情報を取得し、フロー統計情報を分析デバイスに送信する。フロー統計情報のデータ量の方が、ミラーリングされたパケットのものより小さいため、ミラーリングされたパケットを、データソースデバイスが直接的に送信する方式と比較し、この方式は、ネットワーク送信リソースを節約できる。この方式は、データソースデバイスの処理能力に対する具体的な要件を有し、従って、データソースデバイスがホストであるケースに、より適している。
表1は、分析デバイスによって受信されたフロー統計情報の例であり、各行は、1つのフロー統計情報エントリを表す。任意選択で、異なるデータソースは、異なるフォーマット又はエンコードモードを利用することによって、データフローの、生成時間、送信元IPアドレス、及び宛先IPアドレスを記録してよく、例えば、アドレス情報を、バイナリ、十進法、又は16進法のフォーマットで記録してよい。分析デバイスは、元のフロー統計情報を正規化するために、最初に、受信された未処理のフロー統計情報のフォーマットを、一定のフォーマットのフロー統計情報に変換する。フロー統計情報のIPアドレスは、異なる仮想マシンを区別することを意図していると理解できる。理解及び説明を容易にするため、この実施形態において、IPアドレスは、仮想マシン識別子によって置き換えられる。
分析デバイスは、事前設定された時間アライメントルールに基づいて、単位時刻を基準として利用することによって、各フロー統計情報エントリ上での時間アライメント処理を実行し、複数のデータフローにそれぞれ対応するエントリを生成し、複数のデータフローにそれぞれ対応するエントリをセーブする。
任意選択で、分析デバイスは、複数の受信されたフロー統計情報エントリ上での時間アライメント処理を実行するとき、利用される時間粒度は、分析デバイスのストレージ空間及び処理リソース、DCNのネットワークスケール、及び分析目的などの様々な要因に基づいて、管理者によって設定されてよい。時間アライメント処理は、データ量を低減してストレージ空間を節約し、その後の解析効率を改善することにつながる。
任意選択で、事前設定された時間アライメントルールは、フレキシブルに設定されてよい。時間アライメント処理で利用される粒度は、必要に応じて、例えば、1時間、30分、10分、又は1分に設定されてよい。この出願の実施形態において、複数の受信されたフロー統計情報エントリ上での分析デバイスが時間アライメント処理を実行するとき、利用される時間粒度は1時間であると仮定する。言い換えると、アライメント処理後に取得されるエントリの単位時間は1時間である。例えば、時間アライメントルールは、2つの単位時刻の間の時間を処理して、2つの単位時刻の前者にすることであり、例えば、「2015-1-10 11:23:00」は、処理されて「2015-1-10 11:00:00」になる。他の時間アライメントルールは、2つの単位時刻の間の時間を処理して、2つの単位時刻の後者にすることであり、例えば、「2015-1-10 11:55:00」は、処理されて「2015-1-10 12:00:00」になる。
時間アライメント処理の後、分析デバイスは、表2に示したエントリを取得し、これらのエントリを、その後の利用のためにセーブする。
さらに、人工知能技術を利用することによって、複数のデータフローにそれぞれ対応する、セーブされたエントリに基づいて、分析デバイスは、分析を通して、仮想マシンペアの接続状態傾向又はパターン情報を取得し、又は予測モデルを構築する。以下では、各実施形態を参照しながら、この出願の実施形態において提供される端末間接続状態予測方法について説明する。人工知能技術は、人工的に製造されたマシンが人間のような知性を示すことを可能にする技術である。既存の調査によれば、人工知能技術は、機械学習アルゴリズムを含む。
図2は、この出願の実施形態による、端末間接続状態予測方法のフローチャートである。図2において、方法は、主に、分析デバイスの視点から説明される。任意選択で、図2の分析デバイスは、図1の分析デバイスである。
ステップ21:分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得し、テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である。
例えば、現在時刻が2015-1-11 9:20であるとき、分析デバイスの現在の予測タスクは、図1に示したシナリオにおいて、2015-1-11 10:00での仮想マシンVM1a、VM2aの間の接続状態を予測することである。管理者は、分析デバイスの入力/出力インターフェースに接続された入力デバイスを通じて予測タスクを入力してよい。言い換えると、この実施形態におけるテスト仮想マシンペアは(VM1a-VM2a)である。
第1の過去の時間セグメントが現在時刻より前の3時間である、即ち、M=3であると仮定する。次いで、第1の過去の時間セグメントは、2015-1-11 6:20から2015-1-11 9:20である。第1の過去の時間セグメントは、3つの単位時刻を含み、それらは、2015-1-11 7:00、2015-1-11 8:00、及び2015-1-11 9:00である。
予測タスクを完了するため、分析デバイスは、最初に、2015-1-11 7:00、2015-1-11 8:00、及び2015-1-11 9:00にそれぞれ対応するテスト仮想マシンペア(VM1a-VM2a)の接続状態を取得する。
任意選択で、分析デバイスは、ステップ21a、21bを利用することによって、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
ステップ21a:分析デバイスは、複数のデータフローにそれぞれ対応する、セーブされたエントリから、第1のグループのターゲットエントリを選択し、第1のグループのターゲットエントリは、記録された単位時刻が第1の過去の時間セグメントに属し、送信元IPアドレスが第1の端末のIPアドレスであり、かつ宛先IPアドレスが第2の端末のIPアドレスであるエントリと、記録された単位時刻が第1の過去の時間セグメントに属し、宛先IPアドレスが第1の端末のIPアドレスであり、かつ送信元IPアドレスが第2の端末のIPアドレスであるエントリとを含む。
ステップ21b:分析デバイスは、選択された第1のグループのターゲットエントリに記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第1の過去の時間セグメント内のものであり、かつ選択された第1のグループのターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得する。
上記の例を再び参照する。分析デバイスは、表2に示したエントリから、以下の2つの条件のいずれかを満たすエントリを選択して、第1のグループのターゲットエントリを形成する。
条件1:単位時刻は、2015-1-11 7:00、2015-1-11 8:00、又は2015-1-11 9:00のうちの1つであり、送信元IPアドレスはVM1aであり、宛先IPアドレスはVM2aである。
条件2:単位時刻は、2015-1-11 7:00、2015-1-11 8:00、又は2015-1-11 9:00のうちの1つであり、送信元IPアドレスはVM2aであり、宛先IPアドレスはVM1aである。
分析デバイスによって、表2に示したエントリから選択された第1のグループのターゲットエントリは、表3に示されていると仮定する。
表3に示した、選択された第1のグループのターゲットエントリは、単位時刻識別子2015-1-10 8:00:00及び2015-1-10 9:00:00を含み、単位時刻2015-1-10 7:00:00を含まない。従って、分析デバイスは、テスト仮想マシンペア(VM1a-VM2a)の接続状態が、2015-1-10 8:00:00において、接続している状態であり、接続状態が、2015-1-10 9:00:00において、接続している状態であり、接続状態が、2015-1-10 7:00:00において、接続していない状態であると決定する。
ステップ22:分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定し、未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、例としてのDCNを利用する適用シナリオの中で、分析デバイスは、最初に、データソースデバイスから、テストされる対象物として利用されるテスト仮想マシンペアのものであり、かつ複数の過去の単位時刻に対応する接続状態情報を取得する。分析デバイスは、予測基準として、複数の過去の単位時刻でのテスト仮想マシンペアの接続状態情報を利用することによって、未来の時間セグメントにおけるテスト仮想マシンペアの接続状態を予測する。単一の過去の単位時刻でのテスト仮想マシンペアの接続状態情報ではなく、複数の過去の単位時刻でのテスト仮想マシンペアの接続状態情報が予測プロセスで利用される。これは、過去の状態情報を分析することによって、より有益な情報、例えば、より詳細で具体的なパターン又は傾向情報を発見することにつながり、それによって、予測精度を改善する。
任意選択で、この出願のこの実施形態において提供される予測方法を利用することによって、分析デバイスが予測結果(即ち、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態)を取得した後、分析デバイスは、予測結果を異なるシナリオ、例えば、故障影響分析及び構成検証シナリオに適用し、故障影響分析の正確性及び構成検証の正確性をさらに改善する。
「予測基準として、複数の過去の単位時刻でのテスト端末ペアの接続状態情報を利用することによって、未来の時間セグメントにおけるテスト端末ペアの接続状態を予測すること」の全体的なコンセプトの下で、複数の可能な実装解決策が実装プロセスにおいて利用可能である。これらの実装解決策は、それらに限定されないが、複数の単位時刻での接続状態を含む過去の接続状態情報に基づいて、数学モデル及び予測モデルを構築する方法を含む。この出願の以下の実施形態において、数学モデル又は予測モデルは、この出願の実施形態において提供される予測方法を説明するための例として利用される。
I.数学モデルに基づいてテスト端末ペアの接続状態を予測する
分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアの接続状態数学モデルを決定する。さらに、分析デバイスは、数学モデルに基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
任意選択で、分析デバイスは、複数の数学モデルマッチングルールを事前に記憶している。分析デバイスは、マッチングルールに対して1つ1つ、テスト仮想マシンペア(VM1a-VM2a)のものであり、かつ第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を照合して、テスト仮想マシンペア(VM1a-VM2a)の過去の接続状態情報が適合する数学モデルを決定する。もちろん、分析デバイスは、他のメカニズムを利用して、テスト仮想マシンペア(VM1a-VM2a)の過去の接続状態情報が適合する数学モデルを学習してもよい。
以下の2つの例(例1及び例2)は、実例説明を提供するために利用される。明らかに、多くのより類似する数学モデルが利用可能であり、それらは、ここでは列挙することができない。
例1
分析デバイスは、テスト仮想マシンペア(VM1a-VM2a)のものであり、かつ過去24時間のそれぞれに対応する接続状態に基づいて、テスト仮想マシンペア(VM1a-VM2a)の接続状態数学モデルが、表4に示すように、「連続する2時間の間、接続状態が、接続している状態に留まり、次いで、接続していない状態にスイッチして、連続する3時間の間その状態に留まり、次いで、接続している状態にスイッチして、連続する2時間の間その状態に留まるなど」であると決定する。簡潔さのため、接続状態は、表4において、値0又は1を利用することによって示され、0は、接続していない状態を表し、1は、接続している状態を表す。
表5は、2015-1-11 0:00:00から24:00:00の未来の時間セグメントにおけるテスト仮想マシンペア(VM1a-VM2a)のものであり、かつ分析デバイスによって、上記の数学モデルに基づいて決定される接続状態を示す。
この例において、M=24であり、Q=24である。
例2
分析デバイスは、テスト仮想マシンペア(VM1a-VM2a)のものであり、かつ過去24時間のそれぞれに対応する接続状態に基づいて、テスト仮想マシンペア(VM1a-VM2a)の接続状態数学モデルが、表6に示すように、「接続状態が、連続するn時間の間、接続している状態に留まり、次いで、接続していない状態にスイッチして、連続するn時間の間その状態に留まり、次いで、接続している状態にスイッチして、連続するn時間の間その状態に留まり、nは、1からスタートし、各スイッチで1ずつ増加する」と決定する。簡潔のために、図6において、接続状態は、値0又は1を利用することによって示され、0は、接続していない状態を表し、1は、接続している状態を表す。
表7は、2015-1-11 0:00:00から11:00:00の未来の時間セグメントでのテスト仮想マシンペア(VM1a-VM2a)のものであり、かつ上記の数学モデルに基づいて、分析デバイスによって決定される接続状態を示す。
この実施形態において、M=24であり、Q=12である。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、例としてDCNを利用する適用シナリオにおいて、分析デバイスは、最初に、データソースデバイスから、テストされる対象物として利用されるテスト仮想マシンペアのものであり、かつ複数の連続する過去の単位時刻に対応する接続状態情報を取得する。分析デバイスは、予測基準として、複数の連続する過去の単位時刻でのテスト仮想マシンペアの接続状態情報を利用することによって、未来の時間セグメントにおけるテスト仮想マシンペアの接続状態を予測する。予測基準は、単一の過去の単位時刻でのテスト仮想マシンペアの接続状態情報ではなく、複数の連続する過去の単位時刻でのテスト仮想マシンペアの接続状態情報である。これは、分析を通して、テスト仮想マシンペアの長期間の過去の接続状態傾向を発見することにつながり、それによって、予測精度を改善する。
II.予測モデルに基づいてテスト仮想マシンペアの接続状態を予測する
分析デバイスは、予測モデルに基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。予測モデルは、予測対象として利用されるテスト端末ペアが配置されるネットワークシナリオにおける多量の端末ペアの過去の接続状態情報に基づいて、機械学習アルゴリズムを利用することによって、分析デバイスによるトレーニングを通じて取得される。予測モデルをトレーニングするために利用される多量の端末ペアは、予測対象として利用されるテスト端末ペアとして、同じネットワークシナリオ内に配置される。予測モデルをトレーニングするために利用される端末ペアは、この実施形態においてトレーニング端末ペアと称される。任意選択で、トレーニング端末ペアは、テスト端末ペアを含んでよいし、又は、テスト端末ペアを含まなくてよい。このことは、本明細書において限定されない。
特に、分析デバイスは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、予測モデルを生成する。言い換えると、予測モデルは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて生成される。第2の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第2の過去の時間セグメントは、M+Q個の連続する単位時刻を含み、Nは、1以上の自然数である。通常、Nの値が100万レベルに到達するとき、満足な効果が達成できる。予測結果は、適切な値の範囲内でNの値が増加させるにつれて、より正確になる。次いで、分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を予測モデルに入力し、予測モデルの出力結果を取得する。
予測モデルは、予測要件に基づいてトレーニングされると理解できる。予測要件は、M及びQを意味する。具体的には、「Q個の単位時刻を含む未来の時間セグメントにおけるテスト端末ペアの接続状態は、M個の単位時刻を含む第1の過去の時間セグメントにおけるテスト端末ペアの接続状態に基づいて予測される」。任意選択で、管理者は、分析デバイスの入力インターフェースに接続された入力デバイスを通じて予測要件を入力してよい。
予測モデルの入力は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態である。予測モデルの出力は、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態である。この出願において、予測モデルを生成するプロセスについては、以下の実施形態を参照しながら詳細に説明される。
例として図1に示したシナリオをさらに利用し、第1の過去の時間セグメントは、現在時刻より前の3時間、即ち、M=3であり、未来の時間セグメントは、現在時刻より後の1時間、即ち、Q=1であると仮定する。次いで、未来の時間セグメントは、2015-1-11 9:20から2015-1-11 10:20である。未来の時間セグメントは、1つの単位時刻を含み、それは、2015-1-11 10:00である。
分析デバイスは、現在時刻より前の3時間内の単位時刻でのテスト仮想マシンペア(VM1a-VM2a)のものであり、かつステップ21で決定される接続状態を予測モデルに入力する。具体的には、情報「テスト仮想マシンペア(VM1a-VM2a)の接続状態は、2015-1-10 7:00:00で、接続していない状態であり、接続状態は、2015-1-10 8:00:00で、接続している状態であり、接続状態は、2015-1-10 9:00:00で、接続している状態である」が予測モデルに入力される。予測モデルは、2015-1-11 10:00での接続状態が、接続している状態であることを出力する。
分析デバイスは、予測モデルの出力に基づいて、まだ到来していない2015-1-10 10:00:00でのテスト仮想マシンペアの接続状態が、接続している状態であると決定する。
この出願のこの実施形態において提供される端末間接続状態予測方法によれば、例としてDCNを利用する適用シナリオにおいて、分析デバイスは、多量のトレーニング仮想マシンペアの過去の接続状態情報を取得する。過去の接続状態情報は、複数の単位時刻にそれぞれ対応する接続状態を含む。分析デバイスは、多量のトレーニング仮想マシンペアの過去の接続状態情報に基づいて、予測要件に関連する予測モデルをさらに生成する。予測の間、予測対象物として利用されるテスト仮想マシンペアについて、分析デバイスは、過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト仮想マシンペアの接続状態を予測モデルに入力し、予測モデルの出力に基づいて、テスト仮想マシンペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。この出願のこの実施形態において、一方で、多数の過去の接続状態情報は、多量の仮想マシンペアの過去の接続状態情報を含む。一方、過去の接続状態情報は、少なくとも2つの単位時刻に対応する接続状態情報を含む。前日のある時点でのテスト仮想マシンペアの接続状態が、当日の同じ時点での仮想マシンのペアの接続状態として利用される予測解決策、及び前の時点でのテスト仮想マシンの接続状態が、現時点での仮想マシンのペアの接続状態として利用される予測解決策と比較すると、この出願のこの実施形態の予測方法において、予測は、多数の過去の接続状態情報に基づいて実行される。このことは、偶然の要因に起因するエラーを低減し、それによって、予測精度を改善する。
図3A及び図3Bは、この出願の実施形態による、予測モデルに基づく端末間接続状態予測方法のフローチャートである。任意選択で、図3A及び図3Bの分析デバイスは、図1又は図2の分析デバイスである。図3A及び図3Bに示したプロセスにおいて、ステップ31からステップ33を含むサブプロセスは、主に、分析デバイスが予測モデルを生成するプロセスを記述し、ステップ34からステップ36を含むサブプロセスは、主に、分析デバイスが、予測モデルに基づいてテスト端末ペアの接続状態を予測するプロセスを記述する。明らかに、予測モデルを生成した後、各予測でトレーニング端末ペアの過去の接続状態情報に基づいて予測モデルを再生成する必要なしに、分析デバイスは、予測モデルに基づいて、複数のテスト端末ペアの接続状態を予測しうる。
ステップ31:分析デバイスは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得する。第2の過去の時間セグメントの定義については、上記の説明を参照されたい。詳細について、ここでは再び説明されない。
任意選択で、ステップ31は、いくつかのサブステップ、即ち、ステップ311からステップ314を含む。
ステップ311:分析デバイスは、N個のトレーニング端末ペアを含む。
任意選択で、分析デバイスは、様々な方法でトレーニング端末ペアを取得する。例えば、分析デバイスは、表2に示された、セーブされたエントリを読み出し、エントリ内の送信元IPアドレス及び宛先IPアドレスに基づいて、トレーニング端末ペアを取得する。代替的に、分析デバイスは、アドレス管理デバイス(例えば、動的ホスト構成プロトコル(Dynamic Host Configuration Protocol, DHCP)サーバ)を利用することによって、利用する端末に割り当てられているネットワーク内のIPアドレスを取得し、次いで、置換及び結合を通じて、いくつかの端末ペアを生成してもよい。分析デバイスは、次いで、置換及び結合を通じて生成された、いくつかの端末ペアから、N個のトレーニング端末ペアを選択する。選択方式は、ランダム選択、事前設定されたシーケンスに従う選択などを含む。詳細については、ここでは説明されない。
ステップ312:分析デバイスは、N個のトレーニング端末ペアから、1つのトレーニング端末ペアを選択し、N個のトレーニング端末ペアが全て処理されるまで、選択されたトレーニング端末ペア上で処理ステップ312a、312bを実行し、選択されたトレーニング端末ペアは、第3の端末及び第4の端末を含む。
ステップ312a:分析デバイスは、複数のデータフローにそれぞれ対応するセーブされたエントリから、第2のグループのターゲットエントリを選択し、第2のグループのターゲットエントリは、記録された単位時刻が第2の過去の時間セグメントに属し、送信元IPアドレスが第3の端末のIPアドレスであり、かつ宛先IPアドレスが第4の端末のIPアドレスであるエントリと、記録された単位時刻が第2の過去の時間セグメントに属し、宛先IPアドレスが第4の端末のIPアドレスであり、かつ送信元IPアドレスが第3の端末のIPアドレスであるエントリとを含む。
ステップ312b:分析デバイスは、選択された第2のグループのターゲットエントリ内に記録された単位時刻に対応する接続状態が、接続している状態であると決定し、第2の過去の時間セグメント内のものであり、かつ選択された第2のグループのターゲットエントリに記録された単位時刻とは異なる単位時刻に対応する接続状態が、接続していない状態であると決定し、それによって、第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する、選択されたトレーニング端末ペアの接続状態を取得する。
ステップ312a及びステップ312bは、それぞれ図2のステップ21a及びステップ21bに類似している。詳細については、ここでは再び説明されない。
長さ制限のため、この実施形態は、説明のための単純な例を提供する。予測要件が「24×6単位時刻を含む第1の過去の時間セグメントにおけるテスト仮想マシンペアの接続状態に基づいて、未来の時間セグメントにおけるテスト仮想マシンペアの接続状態を予測することであって、未来の時間セグメントは、1つの単位時刻を含む、こと」であると仮定する。言い換えると、M=24×6であり、Q=1である。例えて言うと、予測要件は、過去6日間の全時間の接続状態に基づいて、次の1時間における接続状態を予測することである。
表8は、過去M+Q(24×6+1=145)時間における、選択されたトレーニング仮想マシンペアのものであり、かつステップ312a及びステップ312bを利用することによって、分析デバイスによって取得される接続状態を示す。簡潔のために、表8に示した接続状態テーブルにおいて、値0及び1は、異なる接続状態を示すために利用され、0は、接続していない状態を表し、1は、接続している状態を表す。
表8は、第2の過去の時間セグメント内の単位時刻にそれぞれ対応するトレーニング仮想マシンペアの接続状態の例である。分析デバイスは、N個のトレーニング仮想マシンペアの全てに関して、ステップ312a及びステップ312bを実行し、表8に示したもののようなN個の状態情報テーブルを取得する。
ステップ32:分析デバイスは、N個のトレーニング端末ペアのうちの第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスを生成し、残りのものは、N個のトレーニングサンプルシーケンスを取得するために、同じ方法で処理されることができ、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスは、M+Q個の要素を含み、M+Q個の要素のそれぞれの値は、第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメントに含まれるM+Q個の連続する単位時刻の1つに対応する接続状態に対応する。
上記の例を再び参照する。N個のトレーニング仮想マシンペアの第1のトレーニング仮想マシンペアについて、分析デバイスは、表8に示されたものと類似し、かつ第1のトレーニング仮想マシンペアに対応する状態情報テーブルに基づいて、第1のトレーニング仮想マシンペアに対応するトレーニングサンプルシーケンスを生成する。トレーニングサンプルシーケンスは、図4Aに示すように、M+Q(145)個の要素を含む。要素の値は0又は1であり、0は、接続していない状態を表し、1は、接続している状態を表すと仮定する。分析デバイスは、サンプルシーケンス内の最初のM(24×6=144)個の要素、例えば、図4Aの41を、トレーニングサンプルシーケンスのサンプル部分として利用する。分析デバイスは、最後の1つの要素、例えば、図4Aの42を、トレーニングサンプルシーケンスにおけるラベルとして利用する。
分析デバイスは、N個のトレーニング仮想マシンペアのそれぞれについてステップ32を実行し、図4Bに示すように、N個のトレーニングサンプルシーケンスを取得する。
ステップ33:分析デバイスは、N個のトレーニングサンプルシーケンスを、トレーニングサンプルとして機械学習アルゴリズムに入力し、機械学習アルゴリズムによって出力される予測モデルを取得する。
任意選択で、機械学習アルゴリズムは、それらに限定されないが、ニューラルネットワーク、決定ツリー、ランダムフォレスト、サポートベクターマシンなどを含む。様々な機械学習アルゴリズムが利用可能である。機械学習アルゴリズムを利用することによって、N個のトレーニングサンプルシーケンスに基づいて予測モデルを生成するプロセスは列挙できない。この出願のこの実施形態において、1つの機械学習アルゴリズムの、予測モデルを生成することに対する適用が説明のための例として利用される。
この実施形態において、マルチレイヤパーセプトロン(Multilayer Perceptron, MLP)が、予測モデルを生成するプロセスについて詳細に説明するための例として利用される。ニューラルネットワークの基本コンピューティングユニットは、ノード(node)であり、ノードは、ニューロン(neuron)とも称される。ノードは、外部入力を受信し、活性化関数を計算した後の出力を生成する。重みは、出力ノードと受信ノードとの間の関連の強さを表す。重み値は、重み値が安定傾向になるまで、ニューラルネットワークをトレーニングするプロセスで自動的に調整される。重み値は、トレーニングの主要なオブジェクトである。活性化関数は、f()と表記され、一般的に非線形である。活性化関数は、主に、ニューロンの出力に非線形特徴を追加し、トレーニングサンプルを学習する中で、ニューラルネットワークの能力を向上させるために利用される。
図5は、予測モデルを取得するために、N個のトレーニングサンプルシーケンスがMLPに入力されるプロセスの模式図である。図5のMLPは、入力レイヤ(input layer)と、出力レイヤ(output layer)とを含む。任意選択で、より良好な学習効果を達成するために、MLPは、1つ以上の隠蔽レイヤ(hidden layer)をさらに含む。簡潔のために、この実施形態の説明のための例として、MLPは、2つの隠蔽レイヤを含む。各隠蔽レイヤに含まれるノードの数量が設定されうる。例えば、第1の隠蔽レイヤは、64ノードを含み、第2の隠蔽レイヤは、16ノードを含む。
MLPの入力レイヤに含まれるノードの数量は、トレーニングサンプルシーケンスのサンプル部分に含まれる要素の数量と同じであり、出力レイヤのノードの数量は、トレーニングサンプルシーケンスのラベルに含まれる要素の数量と同じである。この実施形態において、トレーニングサンプルシーケンスのサンプル部分に含まれる要素の数量は144である。従って、MLPの入力レイヤに含まれるノードの数量は144である。この実施形態において、トレーニングサンプルシーケンスのラベルに含まれる要素の数量は1である。従って、MLPの出力レイヤに含まれるノードの数量は1である。
分析デバイスがトレーニングサンプルシーケンスをMLPに入力するとき、トレーニングサンプルシーケンスのサンプル部分内の要素はそれぞれ、MLPの入力レイヤ内の対応するノードに入力される。分析デバイスは、出力レイヤにおけるノードの値と、トレーニングサンプルシーケンスのラベルにおける要素値とを比較する。出力レイヤにおけるノードの値と、トレーニングサンプルシーケンスのラベルにおける要素値との間の差が大きい場合、MLPは、f()を利用することによって、重み値を自動的に調整する。学習を通じて予測モデルを取得するプロセスは、MLPが、分析デバイスによって入力されるN個のトレーニングサンプルを受信し、出力レイヤにおけるノードの値とトレーニングサンプルシーケンスのラベルにおける要素値との間の差に基づいて重み値を調整するプロセスである。MLPの重み値が、理想的な安定状態に自動的に調整されるとき、学習プロセスは終了する。このとき、図5に示した構造のMLP及び理想的な状態の重み値は、予測モデルである。
任意選択で、より良好な予測効果を持つ予測モデルを取得するため、分析デバイスによって、予測モデルを生成するために機械学習アルゴリズムに入力されるN個のトレーニングサンプルシーケンスは、バランスのとれたサンプルセットである。バランスのとれたサンプルセットとは、トレーニングを通じて予測モデルを生成するために利用されるN個のトレーニングサンプルシーケンスにおいて、正のサンプルの数量と負のサンプルの数量とが近似的に同じであり、大きな差がないことを意味する。言い換えると、N個のトレーニングサンプルシーケンスにおいて、正のサンプルの数量と負のサンプルの数量との間の比が適切な範囲に収まる。正のサンプルは、最後の要素の値によって示される接続状態が、接続している状態であるトレーニングサンプルシーケンスであり、負のサンプルは、最後の要素の値によって示される接続状態が、接続していない状態であるトレーニングサンプルシーケンスである。任意選択で、実装可能な適切な範囲は、0.5から2までである。
ステップ34:分析デバイスは、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、第1のサンプルシーケンスを決定し、第1のサンプルシーケンスは、M個の要素を含み、M個の要素のそれぞれの値は、第1の過去の時間セグメントに含まれるM個の連続する単位時刻の1つに対応する接続状態に対応する。
分析デバイスによって、第1のサンプルシーケンスを決定する方法は、基本的に、このプロセスのステップ32におけるトレーニングサンプルシーケンスを生成する方法と類似している。詳細については、ここでは再び説明されない。生成された第1のサンプルシーケンスは、図4Cに示されている。第1のサンプルシーケンスは、M(144)個の要素を含む。
ステップ35:分析デバイスは、第1のサンプルシーケンスを予測モデルに入力し、予測モデルの出力結果を取得する。
この実施形態において、予測モデルの出力結果は、予測されたシーケンスである。予測されたシーケンスは、Q個の要素を含み、Q個の要素のそれぞれの値は、未来の時間セグメント内のQ個の連続する単位時刻の1つに対応する接続状態に対応する。
例えば、分析デバイスが、図4Cに示した第1のサンプルシーケンスを予測モデルに入力した後、予測モデルによって出力される、予測されたシーケンスは、“[1]”である。この実施形態における説明に利用される例では、Q=1である。従って、予測されたシーケンスは、1つの要素を含む。Qの値が1より大きい他の自然数であるとき、予測されたシーケンスは、より多くの要素を含む。例えば、Q=3のとき、予測されたシーケンスの形は、“[1,0,1]”になる。
ステップ36:分析デバイスは、予測モデルの出力結果に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定する。
予測モデルによって出力される予測されたシーケンスが“[1]”であるとき、分析デバイスは、次の1時間におけるテスト仮想マシンペア(VM1a-VM2a)に対応する接続状態が、接続している状態であると決定することが理解できる。
この出願のこの実施形態は、予測モデルを生成し、予測モデルに基づいて端末間の接続状態を予測する詳細なプロセスを提供する。図3A及び図3Bのステップ31からステップ33を含むサブプロセスは、トレーニング端末ペアの過去の接続状態情報に基づいて、予測モデルをどのように生成するかについて説明している。DCNを例として利用する適用シナリオにおいて、分析デバイスは、最初に、データソースデバイスから、複数の過去の連続する単位時刻での多量のトレーニング仮想マシンペアの接続状態情報を取得し、次いで、取得された接続状態情報に基づいて、機械学習アルゴリズムを利用することによって、予測モデルを生成する。上記の実施形態における数学モデルと比較すると、予測モデルは、より良好な普遍性の特色をなし、かつ偶然の要因によって引き起こされるエラーを低減する傾向情報又はパターン情報を反映し、それによって、予測精度をさらに改善する。図3A及び図3Bのステップ34からステップ36を含むサブプロセスは、主に、分析デバイスが、予測モデルに基づいて、テスト端末ペアの接続状態を予測するプロセスについて説明する。予測モデルに基づいて、DCNにおける多数の過去の接続状態情報が、接続状態を予測するために完全に利用される。実際のデータテストによれば、この出願の実施形態において提供される予測方法の予測精度は、およそ98%に達することができる。予測精度は、関連する既存技術のものに比べて明らかに改善されている。
それに対応して、この出願の実施形態は、上記の実施形態において説明された予測方法を実装するように構成された分析デバイスをさらに提供する。図6は、この出願の実施形態による、分析デバイスの構造の模式図である。任意選択で、図6に示した分析デバイスは、図1に示した適用シナリオの分析デバイス、又は、図2又は図3A及び図3Bに示したプロセスにおける分析デバイスである。分析デバイスは、少なくとも1つのプロセッサ61と、メモリ62とを含む。
少なくとも1つのプロセッサ61は、1つ以上のCPUであってよい。CPUは、シングルコアCPUであってよいし、又はマルチコアCPUであってよい。
メモリ62は、それらに限定されないが、ランダムアクセスメモリ(random access memory, RAM)、リードオンリーメモリ(Read-Only Memory, ROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read-only memory, EPROM)、フラッシュメモリ、光メモリなどを含む。メモリ62は、オペレーティングシステムのコードを記憶する。
任意選択で、プロセッサ61は、メモリ62に格納された命令を読み出すことによって、上記の実施形態における方法を実装する。代替的に、プロセッサ61は、内部ストレージ内の命令を利用することによって、上記の実施形態における方法を実装しうる。プロセッサ61が、メモリ62に格納された命令を読み出すことによって、上記の実施形態における方法を実装するとき、メモリ62は、この出願の上記の実施形態において提供される方法を実装するための命令を格納している。
メモリ62に格納されたプログラムコードが、少なくとも1つのプロセッサ61によって読み出された後、分析デバイスは、以下の動作、即ち、
第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得することであって、テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である、ことと、
第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定することであって、未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である、ことと
を実行する。
任意選択で、図6に示した分析デバイスは、ネットワークインターフェース63をさらに含む。ネットワークインターフェース63は、有線インターフェース、例えば、ファイバ分散データインターフェース(Fiber Distributed Data Interface, FDDI)又はギガビットイーサネット(Gigabit Ethernet, GE)インターフェースであってよい。代替的に、ネットワークインターフェース63は、無線インターフェースであってよい。ネットワークインターフェース63は、データソースからのミラーリングされたトラフィック、又は複数のフロー統計情報エントリを受信するように構成される。
メモリ62は、ネットワークインターフェース63によって受信された、ミラーリングされたトラフィックと、複数のフロー統計情報エントリとを記憶するように構成される。少なくとも1つのプロセッサ61は、ミラーリングされたトラフィックと、複数のフロー統計情報エントリとを処理して、表2に示した、いくつかのエントリを取得し、これらのエントリをメモリ62にセーブするように構成される。
少なくとも1つのプロセッサ61は、メモリ62にセーブされたエントリに基づいて、上記の方法実施形態において説明された予測方法をさらに実行する。プロセッサ61によって上記の機能を実装することについて、より詳細には、上記の方法実施形態における説明を参照されたい。詳細については、ここでは再び説明されない。
任意選択で、分析デバイスは、バス64をさらに含む。プロセッサ61とメモリ62とは、通常、バス64を利用することによって互いに接続され、又は他の方式で互いに接続されうる。
任意選択で、分析デバイスは、入力/出力インターフェース65をさらに含む。入力/出力インターフェース65は、入力デバイスに接続するように構成され、入力デバイスを通じて、ユーザによって入力される予測要件を受信する。入力デバイスは、それらに限定されないが、キーボード、タッチスクリーン、マイクロフォンなどを含む。入力/出力インターフェース65は、出力デバイスに接続されるようにさらに構成され、プロセッサ61の予測結果を出力する。出力デバイスは、それらに限定されないが、ディスプレイ、プリンタなどを含む。
この出願のこの実施形態において提供される分析デバイスは、上記の方法実施形態において提供される予測方法を実行するように構成される。予測プロセスにおいて、分析デバイスは、単一の過去の単位時刻でのテスト仮想マシンペアの接続状態情報ではなく、複数の過去の単位時刻でのテスト仮想マシンペアの接続状態情報を利用する。これは、過去の状態情報を分析することによって、より有益な情報を発見することにつながり、それによって、予測精度を改善する。
図7は、この出願の実施形態による、端末間接続状態予測装置の構造の模式図である。端末間接続状態予測装置70は、取得モジュール71と、予測モジュール72とを含む。
取得モジュール71は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を取得するように構成され、テスト端末ペアは、第1の端末と第2の端末とを含み、第1の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第1の過去の時間セグメントは、M個の連続する単位時刻を含み、Mは、2以上の自然数である。
予測モジュール72は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定するように構成され、未来の時間セグメントは、現在時刻より後の時間セグメントであり、未来の時間セグメントは、Q個の連続する単位時刻を含み、未来の時間セグメント内の最初の単位時刻と、第1の過去の時間セグメント内の最後の単位時刻とは、連続する単位時刻であり、Qは、1以上の自然数である。
任意選択で、予測モジュール72は、モデルテストユニット721と、決定ユニット722とを含む。
モデルテストユニット721は、第1の過去の時間セグメント内の複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態を予測モデルに入力し、予測モデルの出力結果を取得するように構成され、予測モデルは、N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて生成され、第2の過去の時間セグメントは、現在時刻より前の時間セグメントであり、第2の過去の時間セグメントは、M+Q個の連続する単位時刻を含み、Nは、1以上の自然数である。
決定ユニット722は、出力結果に基づいて、テスト端末ペアのものであり、かつ未来の時間セグメント内の少なくとも1つの単位時刻に対応する接続状態を決定するように構成される。
任意選択でモデルテストユニット721は、
第1の過去の時間セグメントの複数の単位時刻にそれぞれ対応するテスト端末ペアの接続状態に基づいて、第1のサンプルシーケンスを決定することであって、第1のサンプルシーケンスは、M個の要素を含み、M個の要素のそれぞれの値は、M個の連続する単位時刻の1つに対応する接続状態に対応する、ことと、
第1のサンプルシーケンスを予測モデルに入力し、予測モデルの出力結果を取得することであって、出力結果は、予測されたシーケンスであり、予測されたシーケンスは、Q個の要素を含み、Q個の要素のそれぞれの値は、Q個の連続する単位時刻の1つに対応する接続状態に対応する、ことと
を行うように構成される。
任意選択で、図7の予測モジュール72は、モデルテストユニット721が第1のサンプルシーケンスを予測モデルに入力する前に、以下のステップ、即ち、
N個のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態を取得するステップと、
N個のトレーニング端末ペアのうちの第1のトレーニング端末ペアのものであり、かつ第2の過去の時間セグメント内の複数の単位時刻にそれぞれ対応する接続状態に基づいて、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスを生成するステップであって、残りのものは、N個のトレーニングサンプルシーケンスを取得するために、同じ方法で処理されることができ、第1のトレーニング端末ペアに対応するトレーニングサンプルシーケンスは、M+Q個の要素を含み、M+Q個の要素のそれぞれの値は、第1のトレーニング端末ペアのものであり、かつM+Q個の連続する単位時刻の1つに対応する接続状態に対応する、ステップと、
N個のトレーニングサンプルシーケンスを、機械学習アルゴリズムの入力として利用し、機械学習アルゴリズムによって出力される予測モデルを取得するステップと
を実行するように構成された、モデル学習ユニット723をさらに含む。
図7に示した装置実施形態は、単なる例に過ぎない。例えば、モジュール分割は、単なる論理機能分割に過ぎず、実際の実装時には他の分割であってよい。例えば、複数のモジュール又はコンポーネントは、他のシステムに結合又は統合されてよく、又は、いくつかの機能は省略されてよいし又は実行されなくてよい。この出願の実施形態における機能モジュールは、1つの処理モジュールに統合されてよいし、又は、モジュールのそれぞれは、物理的に単独で存在してよいし、又は、2つ以上のモジュールは、1つのモジュールに統合されてよい。図7の上記のモジュールは、ハードウェアの形態で実装されてよいし、又は、ソフトウェア機能ユニットの形態で実装されてよい。例えば、ソフトウェアを利用することによって実装する際、取得モジュール71、予測モジュール72、モデルテストユニット721、決定ユニット722、及びモデル学習ユニット723は、図6の少なくとも1つのプロセッサ61が、メモリに格納されたプログラムコードを読み出した後に生成されるソフトウェア機能モジュールによって実装されうる。図7のモジュールは、代替的に、分析デバイスの異なるハードウェアによってそれぞれ実装されうる。例えば、取得モジュール71は、ネットワークインターフェース63と、図6の少なくとも1つのプロセッサ61内のいくつかの処理リソース(例えば、マルチコアプロセッサ内のコア)とによって一緒に実装され、予測モジュール72は、図6の少なくとも1つのプロセッサ61内のいくつかの残りの処理リソース(例えば、マルチコアプロセッサの他のコア)、又は、プログラマブルデバイス、例えば、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array, FPGA)又はコプロセッサによって実装される。明らかに、上記の機能モジュールは、代替的に、ソフトウェアとハードウェアとの組み合わせによって実装されうる。例えば、取得モジュール71は、ハードウェアプログラマブルデバイスによって実装され、予測モジュール72は、CPUがメモリ内に格納されたプログラムコードを読み出した後に生成されるソフトウェア機能モジュールである。
取得モジュール71、予測モジュール72、及び図7の予測モジュール内のユニットによって上記の機能を実装することについて、より詳細には、上記の方法実施形態における説明を参照されたい。詳細については、ここでは再び説明されない。
この明細書の実施形態は全て、実施形態における同じ又は類似する部分について、プログレッシブ方式で説明され、これらの実施形態を参照し、各実施形態は、他の実施形態と異なる部分にフォーカスしている。特に、システム実施形態は、基本的に、方法実施形態と類似しており、従って、簡潔に説明されている。関連部分については、方法実施形態における部分的な説明を参照されたい。
上記の実施形態の全部又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを通じて実装されうる。ソフトウェアが、実施形態を実装するために利用されるとき、実施形態の全部又は一部は、コンピュータプログラム製品の形態で実装されうる。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上に読み出されて実行されるとき、本発明の実施形態による手順又は機能が完全に又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてよいし、又は、コンピュータ可読記憶媒体から他のコンピュータ可読記憶媒体へと伝送されてよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、又はデータセンタから、有線(例えば、同軸ケーブル、光ファイバ、又はデジタルサブスクライバ回線(DSL))又は無線(例えば、赤外線、無線、又はマイクロ波)方式で、他のウェブサイト、コンピュータ、サーバ、又はデータセンタへと伝送されうる。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、又は、1つ以上の利用可能な媒体を統合するサーバ又はデータセンタなどのデータストレージデバイスであってよい。利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、又は磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、固体ドライブ(SSD))などであってよい。
当業者は、この出願に対し、この出願の範囲を逸脱することなく、様々な修正及び変形を加えることができることは明らかである。この出願は、それらが以下の特許請求の範囲で画定される保護の範囲に収まる限りにおいて、これらの修正及び変形をカバーすることを意図している。