(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-12
(54)【発明の名称】コンテナ化された環境のインテリジェントバックアップ及び復元
(51)【国際特許分類】
G06F 16/903 20190101AFI20230905BHJP
【FI】
G06F16/903
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023513331
(86)(22)【出願日】2021-06-25
(85)【翻訳文提出日】2023-02-24
(86)【国際出願番号】 CN2021102418
(87)【国際公開番号】W WO2022041996
(87)【国際公開日】2022-03-03
(32)【優先日】2020-08-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000316
【氏名又は名称】弁理士法人ピー・エス・ディ
(72)【発明者】
【氏名】レーン、ギリッシュ、ヴィラス
(72)【発明者】
【氏名】コール、ペイ、ウェン
(72)【発明者】
【氏名】ウォン、キム、ポー
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
(57)【要約】
軽量アプリケーションの最適なバックアップ及び復元場所を決定するためのシステムが提供される。コンピュータデバイスは、訓練データのセットを特定し、訓練データは、軽量コンテナと、対応するバックアップ軽量コンテナと、軽量コンテナ及び対応するバックアップ軽量コンテナのための最適化スコアとを特定する。コンピューティングデバイスは、特定された訓練データを利用して、機械学習モデルを訓練する。コンピューティングデバイスは、バックアップのための新しい軽量コンテナを特定する。コンピューティングデバイスは、訓練された機械学習モデルを利用して、新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定する。
【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサによって、訓練データのセットを特定することであって、前記訓練データは、軽量コンテナと、対応するバックアップ軽量コンテナと、前記軽量コンテナ及び対応する前記バックアップ軽量コンテナのための最適化スコアとを特定する、前記特定することと、
1つ又は複数のプロセッサによって、特定された前記訓練データを利用して機械学習モデルを訓練することと、
1つ又は複数のプロセッサによって、バックアップのための新しい軽量コンテナを特定することと、
1つ又は複数のプロセッサによって、訓練された前記機械学習モデルを利用して、前記新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定することと
を含むコンピュータ実装方法。
【請求項2】
前記訓練データは、(i)前記軽量コンテナのための非構造化コンテナデータ、(ii)前記軽量コンテナのための構成データ、及び(iii)前記バックアップ軽量コンテナのバックアップデータをさらに特定し、
前記新しい軽量コンテナは、対応する非構造化コンテナデータ及び構成データを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記非構造化コンテナデータは、少なくともコンテナ名とログデータとを含む、前記軽量コンテナのためのテキストデータを含み、
前記構成データは、前記軽量コンテナのためのハードウェア及びソフトウェア要件を含み、
前記バックアップデータは、前記バックアップ軽量コンテナのためのハードウェア及びソフトウェア特徴を含む、
請求項2に記載のコンピュータ実装方法。
【請求項4】
決定された前記最適なバックアップ軽量コンテナは、コンテナ環境内の複数のノード上で実行され、前記複数のノードは、マスタノード及び1つ又は複数のワーカノードを含む、
請求項1に記載のコンピュータ実装方法。
【請求項5】
1つ又は複数のプロセッサによって、前記軽量コンテナのための前記非構造化コンテナデータから1つ又は複数のパターンを特定するステップと、
1つ又は複数のプロセッサによって、前記機械学習モデルを訓練する際に、特定された前記1つ又は複数のパターンを含むステップと
をさらに含み、
前記新しい軽量コンテナのための決定された前記最適なバックアップ軽量コンテナは、前記新しい軽量コンテナの前記非構造化コンテナデータからのそれぞれのパターンに少なくとも部分的に基づいて決定される、
請求項2に記載のコンピュータ実装方法。
【請求項6】
前記1つ又は複数のパターンの前記特定は、K平均アルゴリズムを利用する、
請求項5に記載のコンピュータ実装方法。
【請求項7】
1つ又は複数のプロセッサによって、前記軽量コンテナ及び対応する前記バックアップ軽量コンテナの前記最適化スコアを決定するステップをさらに含み、
前記最適化スコアは、(i)K平均アルゴリズムの結果、(ii)レイテンシ制約、及び(iii)所要のバックアップ期間に少なくとも部分的に基づくものである、
請求項6に記載のコンピュータ実装方法。
【請求項8】
1つ又は複数のコンピュータ可読記憶媒体と、前記1つ又は複数のコンピュータ可読記憶媒体に格納されたプログラム命令とを含み、格納された前記プログラム命令は、
訓練データのセットを特定するプログラム命令であって、前記データは、軽量コンテナと、対応するバックアップ軽量コンテナと、前記軽量コンテナ及び対応する前記バックアップ軽量コンテナのための最適化スコアとを特定する、前記プログラム命令と、
特定された前記訓練データを利用して機械学習モデルを訓練するプログラム命令と、
バックアップのための新しい軽量コンテナを特定するプログラム命令と、
訓練された前記機械学習モデルを利用して、前記新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定するプログラム命令と
を含む、コンピュータプログラム製品。
【請求項9】
前記訓練データは、(i)前記軽量コンテナのための非構造化コンテナデータ、(ii)前記軽量コンテナのための構成データ、及び(iii)前記バックアップ軽量コンテナのバックアップデータをさらに特定し、
前記新しい軽量コンテナは、対応する非構造コンテナデータ及び構成データを含む、
請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記非構造化コンテナデータは、少なくともコンテナ名とログデータとを含む、前記軽量コンテナのためのテキストデータを含み、
前記構成データは、前記軽量コンテナのためのハードウェア及びソフトウェア要件を含み、
前記バックアップデータは、前記バックアップ軽量コンテナのためのハードウェア及びソフトウェア特徴を含む、
請求項9に記載のコンピュータプログラム製品。
【請求項11】
決定された前記最適なバックアップ軽量コンテナは、コンテナ環境内の複数のノード上実行され、前記複数のノードは、マスタノード及び1つ又は複数のワーカノードを含む、
請求項8に記載のコンピュータプログラム製品。
【請求項12】
格納された前記プログラム命令は、
前記軽量コンテナのための前記非構造化コンテナデータから1つ又は複数のパターンを特定するプログラム命令と、
前記機械学習モデルを訓練する際に、特定された前記1つ又は複数のパターンを含むプログラム命令と
をさらに含み、
前記新しい軽量コンテナのための決定された前記最適なバックアップ軽量コンテナは、前記新しい軽量コンテナの前記非構造化コンテナデータからのそれぞれのパターンに少なくとも部分的に基づいて決定される、
請求項9に記載のコンピュータプログラム製品。
【請求項13】
前記1つ又は複数のパターンの前記特定は、K平均アルゴリズムを利用する、
請求項12に記載のコンピュータプログラム製品。
【請求項14】
格納された前記プログラム命令は、
前記軽量コンテナ及び対応する前記バックアップ軽量コンテナの前記最適化スコアを決定するプログラム命令をさらに含み、
前記最適化スコアは、(i)K平均アルゴリズムの結果、(ii)レイテンシ制約、及び(iii)所要のバックアップ期間に少なくとも部分的に基づくものである、
請求項13に記載のコンピュータプログラム製品。
【請求項15】
1つ又は複数のコンピュータプロセッサと、
1つ又は複数のコンピュータ可読記憶媒体と、
前記1つ又は複数のプロセッサのうちの少なくとも1つによって実行するために前記コンピュータ可読記憶媒体に格納されたプログラム命令と
を備え、格納された前記プログラム命令は、
訓練データのセットを特定するプログラム命令であって、前記データは、軽量コンテナと、対応するバックアップ軽量コンテナと、前記軽量コンテナ及び対応する前記バックアップ軽量コンテナのための最適化スコアとを特定する、前記プログラム命令と、
特定された前記訓練データを利用して機械学習モデルを訓練するプログラム命令と、
バックアップのための新しい軽量コンテナを特定するプログラム命令と、
訓練された前記機械学習モデルを利用して、前記新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定するプログラム命令と
を含む、コンピュータシステム。
【請求項16】
前記訓練データは、(i)前記軽量コンテナのための非構造化コンテナデータ、(ii)前記軽量コンテナのための構成データ、及び(iii)前記バックアップ軽量コンテナのバックアップデータをさらに特定し、
前記新しい軽量コンテナは、対応する非構造コンテナデータ及び構成データを含む、
請求項15に記載のコンピュータシステム。
【請求項17】
前記非構造化コンテナデータは、少なくともコンテナ名とログデータとを含む、前記軽量コンテナのためのテキストデータを含み、
前記構成データは、前記軽量コンテナのためのハードウェア及びソフトウェア要件を含み、
前記バックアップデータは、前記バックアップ軽量コンテナのためのハードウェア及びソフトウェア特徴を含む、
請求項16に記載のコンピュータシステム。
【請求項18】
格納された前記プログラム命令は、
前記軽量コンテナのための前記非構造化コンテナデータから1つ又は複数のパターンを特定するプログラム命令と、
前記機械学習モデルを訓練する際に、特定された前記1つ又は複数のパターンを含むプログラム命令と
をさらに含み、
前記新しい軽量コンテナのための決定された前記最適なバックアップ軽量コンテナは、前記新しい軽量コンテナの前記非構造化コンテナデータからのそれぞれのパターンに少なくとも部分的に基づいて決定される、
請求項16に記載のコンピュータシステム。
【請求項19】
前記1つ又は複数のパターンの前記特定は、K平均アルゴリズムを利用する、
請求項18に記載のコンピュータシステム。
【請求項20】
格納されたプログラム命令は、
前記1つ又は複数のプロセッサによって、前記軽量コンテナ及び対応する前記バックアップ軽量コンテナの前記最適化スコアを決定することをさらに含み、
前記最適化スコアは、(i)K平均アルゴリズムの結果、(ii)レイテンシ制約、及び(iii)所要のバックアップ期間に少なくとも部分的に基づくものである、
請求項19に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、データバックアップ及びストレージの分野に関し、より詳細には、ソフトウェアコンテナのバックアップ及びストレージに関する
【背景技術】
【0002】
一般に、コンテナ化された環境では、データが圧縮され、格納されて、各アプリケーション内のオペレーティングシステムを関連付けるオーバーヘッドなしに、様々なオペレーティングシステムで実施することができる軽量アプリケーションを作成する。
【発明の概要】
【0003】
本発明の実施形態は、軽量アプリケーションのための最適なバックアップ及び復元場所を決定するための方法、システム、及びプログラム製品を提供する。
【0004】
第1の実施形態は、1つ又は複数のプロセッサが訓練データのセットを特定する方法を含み、訓練データは、軽量コンテナと、対応するバックアップ軽量コンテナと、軽量コンテナ及び対応するバックアップ軽量コンテナのための最適化スコアとを特定する。1つ又は複数のプロセッサは、特定された訓練データを利用して機械学習モデルを訓練する。1つ又は複数のプロセッサは、バックアップのための新しい軽量コンテナを特定する。1つ又は複数のプロセッサは、訓練された機械学習モデルを利用して、新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定する。
【0005】
第2の実施形態は、1つ又は複数のコンピュータ可読記憶媒体と、1つ又は複数のコンピュータ可読記憶媒体に格納されたプログラム命令とを含むコンピュータプログラム製品を含む。プログラム命令は、訓練データのセットを特定するプログラム命令を含み、訓練データは、軽量コンテナと、対応するバックアップ軽量コンテナと、軽量コンテナ及び対応するバックアップ軽量コンテナのための最適化スコアとを特定する。プログラム命令は、特定された訓練データを利用して機械学習モデルを訓練するプログラム命令を含む。プログラム命令は、バックアップのための新しい軽量コンテナを特定するプログラム命令を含む。プログラム命令は、訓練された機械学習モデルを利用して、新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定するプログラム命令を含む。
【0006】
第3の実施形態は、1つ又は複数のコンピュータプロセッサと、1つ又は複数のコンピュータ可読記憶媒体と、1つ又は複数のプロセッサのうちの少なくとも1つによって実行するためにコンピュータ可読記憶媒体に格納されたプログラム命令とを含むコンピュータシステムを含む。プログラム命令は、訓練データのセットを特定するプログラム命令を含み、訓練データは、軽量コンテナと、対応するバックアップ軽量コンテナと、軽量コンテナ及び対応するバックアップ軽量コンテナのための最適化スコアとを特定する。プログラム命令は、特定された訓練データを利用して機械学習モデルを訓練するプログラム命令を含む。プログラム命令は、バックアップのための新しい軽量コンテナを特定するプログラム命令を含む。プログラム命令は、訓練された機械学習モデルを利用して、新しい軽量コンテナのための最適なバックアップ軽量コンテナを決定するプログラム命令を含む。
【図面の簡単な説明】
【0007】
【
図1】本発明の例示的な実施形態による、コンピューティングデバイスが最適なバックアップ及び復元場所を決定するコンピューティング環境を示す機能ブロック図である。
【
図2】本発明の例示的な実施形態による、
図1の環境内のコンピューティングデバイス上の最適なバックアップ及び復元場所を決定するためのシステムを実行する動作プロセスを示す。
【
図3】本発明の少なくとも1つの実施形態による構成図を示す
【
図4】本発明の少なくとも1つの実施形態によるコンテナ化された環境のブロック図を示す。
【
図5】本発明の少なくとも1つの実施形態によるクラウドコンピューティング環境を示す。
【
図6】本発明の少なくとも実施形態による抽象化モデル層を示す。
【
図7】本発明の例示的な実施形態による、
図1に示すコンピューティング環境内の1つ又は複数のコンピューティングデバイスの構成要素のブロック図を示す。
【発明を実施するための形態】
【0008】
本発明の詳細な実施形態は、添付の図面を参照して本明細書に開示される。開示された実施形態は、本発明の潜在的な実施形態の例示であり、様々な形態をとることができることを理解されたい。また、様々な実施形態に関連して与えられる各例は、例示的なものであり、限定するものではない。さらに、図面は必ずしも縮尺通りではないが、いくつかの特徴は、特定の構成要素の詳細を示すために誇張されていることがある。したがって、本明細書に開示される具体的な構造的及び機能的な詳細は、限定として解釈されるべきではなく、当業者が本発明を様々に使用することを教示するための代表的な基礎としてのみ解釈されるべきではない。
【0009】
本明細書の「一実施形態」、「実施形態」、「例示的な実施形態」などの参照は、説明された実施形態が特定の特徴、構造、又は特性を含むことができることを示しているが、すべての実施形態は、必ずしも特定の特徴、構造、又は特性を含まなくてもよいことを示している。また、このような語句は、必ずしも同一の実施形態を参照する必要はない。さらに、特定の特徴、構造、又は特性が実施形態に関連して記載されている場合、明示的に記載されているかどうかにかかわらず、他の実施形態に関連してそのような特徴、構造、又は特性に影響を与えることは当業者の知識内にあると提出される。
【0010】
以下、図面を参照して本発明を詳細に説明する
【0011】
図1は、本発明の一実施形態による、一般に100で指定されたコンピューティング環境を示す機能ブロック図である。コンピューティング環境100は、ネットワーク110を介して接続されたコンピュータシステム120、クライアントデバイス130、及びストレージエリアネットワーク(SAN)140を含む。コンピュータシステム120は、インテリジェントコンテナ化プログラム122及びコンピュータインターフェース124を含む。クライアントデバイス130は、クライアントアプリケーション132及びクライアントインターフェース134を含む。ストレージエリアネットワーク(SAN)140は、サーバアプリケーション142及びデータベース144を含む。
【0012】
本発明の様々な実施形態では、コンピュータシステム120は、スタンドアロンデバイス、サーバ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、パーソナルコンピュータ(PC)、パーソナルデジタルアシスタント(PDA)、デスクトップコンピュータ、又はデータを受信、送信、及び処理することができる任意のプログラマブル電子デバイスであり得るコンピューティングデバイスである。一般に、コンピュータシステム120は、機械可読プログラム命令及び様々な他のコンピュータシステム(図示せず)との通信を実行することができる任意のプログラマブル電子デバイス又はプログラマブル電子デバイスの組み合わせを表す。別の実施形態では、コンピュータシステム120は、クラスタ化されたコンピュータ及び構成要素を利用して、シームレスなリソースの単一のプールとして作用するコンピューティングシステムを表す。一般に、コンピュータシステム120は、任意のコンピューティングデバイス又は様々な他のコンピューティングシステム(図示せず)にアクセスするデバイスの組み合わせとすることができ、インテリジェントコンテナ化プログラム122及びコンピュータインターフェース124を実行することができる。コンピュータシステム120は、
図1に関してさらに詳細に説明されるように、内部及び外部ハードウェア構成要素を含むことができる。
【0013】
この例示的な実施形態では、インテリジェントコンテナ化プログラム122及びコンピュータインターフェース124は、コンピュータシステム120上に格納される。しかし、他の実施形態では、インテリジェントコンテナ化プログラム122及びコンピュータインターフェース124は、外部に格納され、ネットワーク110などの通信ネットワークを介してアクセスされる。ネットワーク110は、例えば、ローカルエリアネットワーク(Local Area Network)、インターネット等の広域ネットワーク (Wide Area Network)、又はこれらの組み合わせとすることができ、有線、無線、光ファイバ、又は当該技術分野で公知の任意の他の接続を含み得る。一般に、ネットワーク110は、本発明の所望の実施形態によれば、コンピュータシステム120、クライアントデバイス130、SAN 140、及び様々な他のコンピュータシステム(図示せず)間の通信をサポートする接続及びプロトコルの任意の組み合わせとすることができる。
【0014】
本発明の様々な実施形態では、様々な他のコンピュータシステム(図示せず)は、スタンドアロンデバイス、サーバ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、パーソナルコンピュータ(PC)、デスクトップコンピュータ、又はデータを受信、送信、及び処理することができる任意のプログラマブル電子デバイスであり得る。別の実施形態では、様々な他のコンピュータシステムは、クラスタ化されたコンピュータ及びコンポーネントを利用して、シームレスなリソースの単一のプールとして作用するコンピューティングシステムを表す。一般に、様々な他のコンピュータシステムは、コンピュータシステム120、クライアントデバイス130、SAN 140、及びネットワーク110にアクセスする任意のコンピューティングデバイス又はデバイスの組み合わせとすることができ、インテリジェントコンテナ化プログラム122及びコンピュータインターフェース124を実行することができる。様々な他のコンピュータシステムは、
図1に関してさらに詳細に説明され、説明されるように、内部及び外部ハードウェア構成要素を含むものとすることができる。
【0015】
図1に示す実施形態では、インテリジェントコンテナ化プログラム122は、少なくとも部分的にクライアントアプリケーション132へのアクセスを有し、コンピュータシステム120上に格納されたデータをクライアントデバイス130、SAN 140、及び様々な他のコンピュータシステム(図示せず)に通信することができる。より具体的には、インテリジェントコンテナ化プログラム122は、クライアントデバイス130及びデータベース144に格納されたデータへのアクセスを有するコンピュータシステム120のユーザを定義する
【0016】
図1には、説明を簡単にするためにインテリジェントコンテナ化プログラム122が示されている。本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122は、コンピュータシステム120上で実行される論理演算を表し、コンピュータインターフェース124は、インテリジェントコンテナ化プログラム122に従って管理され実行されるこれらの論理演算を把握する能力を管理する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、入力及び出力(I/O)を処理及び分析するコグニティブAIシステムを表す。さらに、インテリジェントコンテナ化プログラム122は、コグニティブAI処理を実行する際に、分析されたI/Oから学習し、軽量アプリケーションに格納されたデータの最適なバックアップ及び格納場所を決定する
【0017】
コンピュータシステム120は、コンピュータインターフェース124を含む。コンピュータインターフェース124は、コンピュータシステム120とクライアントデバイス130とSAN140との間のインターフェースを提供する。いくつかの実施形態では、コンピュータインターフェース124は、グラフィカルユーザインターフェース(GUI)又はウェブユーザインターフェース(WUI)とすることができ、テキスト、ドキュメント、ウェブブラウザ、ウィンドウ、ユーザオプション、アプリケーションインターフェース、及び動作のための命令を表示することができ、プログラムがユーザに提示し、ユーザがプログラムを制御するために使用するシーケンスを制御する情報(グラフィック、テキストなど)を含む。いくつかの実施形態では、コンピュータシステム120は、コンピュータシステム120上で動作するクライアントベースのアプリケーションを介してクライアントデバイス130及び/又はSAN140から通信されるデータにアクセスする。例えば、コンピュータシステム120は、コンピュータシステム120とクライアントデバイス130とSAN140との間のインターフェースを提供するモバイルアプリケーションソフトウェアを含む。
【0018】
様々な実施形態では、クライアントデバイス130は、スタンドアロンデバイス、サーバ、ラップトップコンピュータ、タブレットコンピュータ、又はデータを受信、送信及び処理することができる任意のプログラマブル電子デバイスであり得るコンピューティングデバイスである。一般に、コンピュータシステム120は、機械可読プログラム命令及び様々な他のコンピュータシステム(図示せず)との通信を実行することができる任意のプログラマブル電子デバイス又はプログラマブル電子デバイスの組み合わせを表す。
【0019】
図1には、説明を簡単にするためにクライアントアプリケーション132が示されている。本発明の様々な実施形態では、クライアントアプリケーション132は、クライアントデバイス130上で実行される論理演算を表し、クライアントインターフェース134は、クライアントアプリケーション132に従って管理され実行されるこれらの論理動作を把握する能力を管理する。様々な実施形態では、クライアントアプリケーション132は、コンピュータシステム120及び/又はデータベース144上に記憶されたデータへのアクセスを有するクライアントデバイス130のユーザを定義する
【0020】
ストレージエリアネットワーク(SAN)140は、サーバアプリケーション142及びデータベース144を含むストレージシステムであり、SAN140は、1つ又は複数のコンピューティングデバイス、サーバ、サーバクラスタ、ウェブサーバ、データベース、及び記憶デバイスを含むことができるが、これらに限定されるものではない。SAN140は、コンピュータシステム120、クライアントデバイス130、及びネットワーク110などのネットワーク上の様々な他のコンピューティングデバイス(図示せず)と通信するように動作する。例えば、SAN140は、インテリジェントコンテナ化プログラム122と通信して、コンピュータシステム120と、クライアントデバイス130と、ネットワーク110に接続された様々な他のコンピューティングデバイス(図示せず)との間でデータを転送する。SAN140は、ローカルIoTネットワーク、すなわち、本明細書で説明される機能を提供するために、コンピュータシステム120及びクライアントデバイス130を含むがこれらに限定されない様々なコンピューティングデバイスから構成されるネットワークに、通信可能に接続された任意のコンピューティングデバイス又はデバイスの組み合わせとすることができる。SAN140は、
図6に関して説明されるように、内部及び外部ハードウェア構成要素を含むことができる。本発明は、
図1が、任意の数のコンピューティングデバイス、サーバ、データベース、及び/又は記憶デバイスを含み得ることを認識し、
図1に描写されるもののみに限定されない。したがって、いくつかの実施形態では、SAN140の特徴及び機能の一部又はすべては、コンピュータシステム120、クライアントデバイス130及び/又は別のコンピューティングデバイスの一部として含まれる。同様に、いくつかの実施形態では、コンピュータシステム120の特徴のいくつかは、SAN140及び/又は別のコンピューティングデバイスの一部として含まれる。
【0021】
さらに、いくつかの実施形態では、コンピュータシステム120及びSAN140は、クラウドコンピュータプラットフォームを表すか、又はその一部である。クラウドコンピューティングは、リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、並びに、サービスのプロバイダとの最小限の管理努力又は対話で迅速にプロビジョニング及び解放することができるサービス(1つ又は複数))を備える構成可能な共有プールへの便利なオンデマンドのネットワークアクセスを可能にするためのモデル又はサービス配信である。クラウドモデルは、オンデマンドのセルフサービス、ブロードネットワークアクセス、リソースプーリング、迅速な弾性、及び測定されたサービスなどの特性を含むことができ、プラットフォームとしてのサービス(PaaS)モデル、サービスとしてのインフラストラクチャ(IaaS)モデル、及びサービスとしてのソフトウェア(SaaS)モデルを含むサービスモデルによって表すことができ、プライベートクラウド、コミュニティクラウド、パブリッククラウド、及びハイブリッドクラウドを含む様々な配備モデルとして実装することができる。
【0022】
SAN140は、説明を簡単にするために
図1に示されている。しかしながら、様々な実施形態では、SAN140は、サーバアプリケーション142の機能に従って管理される任意の数のデータベースを含むことができることを理解されたい。一般に、データベース144は、データを表し、サーバアプリケーション142は、別の物理又は仮想リソースに関して特定のアクションをとる能力を提供し、データを使用及び修正する能力を管理する、コードを表す。代替的な実施形態では、インテリジェントコンテナ化プログラム122は、サーバアプリケーション142がデータベース144にアクセスする上述の特徴の任意の組み合わせを表すこともできる。本発明の様々な態様を示すために、インテリジェントコンテナ化プログラム122がローカルIoTネットワークの1つ又は複数を表すが、これらに限定されない、サーバアプリケーション142の例が提示される。
【0023】
いくつかの実施形態では、サーバアプリケーション142及びデータベース144は、SAN140上に格納される。様々な実施形態では、サーバアプリケーション142及びデータベース144は、上述したように、外部に格納され、ネットワーク110などの通信ネットワークを介してアクセスされてもよい。
【0024】
インテリジェントコンテナ化プログラム122は、例示の簡略化のために
図1に示されているが、コンピュータシステム120は、インテリジェントコンテナ化プログラム122に従って管理される任意の数のロジック及び/又はプログラムを含むことができる。一般に、コンピュータシステム120は、物理的又は仮想的なリソースを表すインテリジェントコンテナ化プログラム122へのアクセスを管理する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、特定の情報及びコードを含み、これらは、実行されると、コンピュータシステム120が、限定されるものではないがその特定の情報及びコードに基づいて、別の物理的及び/又は仮想リソースに関して特定のアクションをとることを可能にする。言い換えると、そのような実施形態では、インテリジェントコンテナ化プログラム122は、少なくとも、1つ又は複数の物理リソース及び/又は仮想リソースに関して様々なアクションをとるためのコンピュータシステム120の能力を管理する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、上述の要素の任意の組み合わせを具現することもできる。本発明の様々な態様を例示するために、限定されるものではないが、ユーザプロファイル要求、バックアップ及び復元要求、並びに、バックアップ及び復元場所を最適化するためのインテリジェント学習の1つ又は複数を含むインテリジェントコンテナ化プログラム122の例が提示されるが、インテリジェントコンテナ化プログラム122の実施形態はこれに限定されない。本発明の実施形態は、インテリジェントコンテナ化プログラム122が、当該技術分野で知られている他の形態のバックアップ及び復元要求を含み得ることを認識する。
【0025】
本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122は、入出力(I/O)を含む機械学習モデルを表す。様々な実施形態では、インテリジェントコンテナ化プログラム122は、I/Oを分析し、出力に基づいて予測結果のパターンを学習する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、入力データを分析し、限定されるものではないが予測結果の履歴学習パターンに基づいて、結果の予測パターンを決定する。
【0026】
本発明の様々な実施形態では、軽量アプリケーションは、ときどきバックアップされ、復元される必要がある。本発明は、ノード及びストレージデバイスが、クラウドに直接接続するAPIサーバに接続することを認識する。さらに、追加のノードは、追加のストレージ上又は仮想化環境で動作するためにスピンアップすることができ、軽量アプリケーションを実行することができる。
【0027】
本発明の様々な実施形態では、クライアントアプリケーション132を利用するクライアントデバイス130のユーザは、ソフトウェアアプリケーションを生成し、(i)マニフェスト、(ii)イメージ(例えば、コンテナを記述する)、及び(iii)実際のコンテナを生成する。いくつかの実施形態では、クライアントアプリケーション132は、ソフトウェアアプリケーションのデータを含む軽量コンテナを生成し、ストレージのために軽量コンテナをSAN140に通信する。
【0028】
様々な実施形態では、SAN140は、軽量コンテナを受信し、サーバアプリケーション142を利用して、軽量コンテナをデータベース144に格納する。データベース144は、説明を簡単にするために描かれていることを理解されたい。様々な実施形態では、データベース144は、データを共有し、通信するために互いに接続されたデータベース、サーバ、ストレージデバイス等の集合を表す。
【0029】
本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122は、バックアップ及び復元要求を生成する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、少なくとも1つのマスタノードと、少なくとも第1のストレージデバイス(例えば、データベース144)に接続された少なくとも1つのワーカノードとを特定する。加えて、インテリジェントコンテナ化プログラム122は、1つ又は複数のストレージデバイスを特定し、少なくとも複数のワーカノードは、各追加ストレージデバイスに接続される。本発明は、マスタノード及びワーカノードがコンテナ化されたアプリケーションの実行を担当することを認識する。様々な実施形態では、マスタノード及びワーカノードは、軽量アプリケーションを実行する
【0030】
本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122は、最適化されたバックアップ場所を特定して、データ損失又は破損から軽量アプリケーションを復元するように動作する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、1つ又は複数の格納場所を特定して、データをバックアップし、コンテナ化された環境からデータを復元するための最適なアプローチを構築する。加えて、インテリジェントコンテナ化プログラム122は、軽量コンテナのデータを格納する最適な場所を特定して、データの最適な回復のために閾値速度でデータを取得する。最後に、本発明の実施形態の機械学習モデルは、最適なデータ記憶を特定するための履歴データを活用して、限定されるものではないがインテリジェントアルゴリズム式に基づいて、最適なバックアップ及び復元場所を達成する。
【0031】
本発明の実施形態は、コンテナイメージが、コンテナを実行する実行可能コードを含む静的ファイルであることを認識する。様々な実施形態では、所与のコンテナについてのライブラリ及びコードに変更が行われる場合、インテリジェントコンテナ化プログラム122は、コンテナのための新しいイメージを生成する。インテリジェントコンテナ化プログラム122は、コンテナイメージをリポジトリに格納することによってコンテナイメージを保護し、災害に対する防御及びコンテナ自体の破壊を防止する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、バックアップ及び復元アルゴリズムを利用して、災害時又はコンテナの破壊時にコンテナイメージを復元する。
【0032】
本発明の実施形態は、コンテナがしばしばコンテナの寿命より長持ちするデータを作成することを認識し、このタスクを達成するために、インテリジェントコンテナ化プログラム122は、ネットワークファイルシステム(NFS)を介してオブジェクトストア又は類似のメカニズムにボリュームをマウントし、そのボリュームにデータを書き込む。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、データベースに接続して、外部ユーザによってアクセス可能なデータを格納する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、バックアップ及び復元アルゴリズムを利用して、コンテナの重要な状況(例えば、災害又は破壊)の際にバックアップのための環境を特定し、データ損失なしにデータが復元されることを保証する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、大規模なトランザクションをサポートするためにクラウド環境内のデータをホストする。
【0033】
本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122によって、生の非構造化データが特定される。インテリジェントコンテナ化プログラム122は、(i)最適な方法の場所取得、(ii)レイテンシ方法、(iii)ポインタ及び非ポインタデータ、及び(iv)使用される特定のバックアップソフトウェアのために、インテリジェントバックアップ及び復元アルゴリズムを利用する。少なくともインテリジェントバックアップ及び復元アルゴリズムに基づいて、インテリジェントコンテナ化プログラム122は、最適化されたバックアップ場所を決定する。
【0034】
様々な実施形態では、バックアップデータの場所及び構成は、バックアップ及び復元アルゴリズムへの最適なアプローチを定め、軽量アプリケーションに格納されたデータを復元する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、マスタノード及び作業ノードからのデータの最速の取得を可能にするストレージの最良な場所を特定し、取得のための速度のこの閾値レベルは、データを復元するための最適な格納場所を定める。様々な実施形態では、少なくともバックアップ及び復元アルゴリズム(例えば、式(1))に基づいて最適な格納場所が決定されることを保証するために、バックアップ及び復元方法内でインテリジェント学習が利用される。様々な実施形態では、インテリジェントコンテナ化プログラム122は、限定されるものではないが様々なシナリオ特有の制約に基づいて、最適なバックアップ及び復元場所についての異なるアプローチをレビューした後に、最良の適合構造を決定する。一実施形態及び例では、インテリジェントコンテナ化プログラム122は、複数のファイル(例えば、数千のファイル)から単一のファイルを取得し、ここで、インテリジェントコンテナ化プログラム122は、この唯一のファイルの最適な格納場所を計算するために、バックアップ及び復元アルゴリズムからの結果を管理する。
【0035】
図2は、本発明の例示的な実施形態による、コンピューティング環境100におけるインテリジェントコンテナ化プログラム122の動作を示すフローチャート200である。
図2はまた、インテリジェントコンテナ化プログラム122とサーバアプリケーション142との間の特定の相互作用を表す。いくつかの実施形態において、
図2に示される動作は、コンピュータシステム120上で実行されるインテリジェントコンテナ化プログラム122の特定の論理演算の出力を組み込んでいる。
図2は、1つの実装の図を提供しており、異なる実施形態が実装され得る環境に関する任意の制限を意味するものではないことを理解されたい。図示された環境に対する多くの修正がなされてもよい。一実施形態では、
図2の一連の動作は、任意の順序で行うことができる。別の実施形態では、
図2に示される一連の動作は、同時に行うことができる。さらに、
図2に示される一連の動作は、任意の動作で終了することができる。前述の特徴に加えて、
図2に示される任意の動作をいつでも再開することができる。
【0036】
動作202において、インテリジェントコンテナ化プログラム122は、機械学習モデルを訓練する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、(i)非構造コンテナデータ及び(ii)構成データを含むがこれに限定されない入力コンテナデータを分析する。さらに、様々な実施形態では、インテリジェントコンテナ化プログラム122は、(iii)バックアップコンテナ(例えば、対応するバックアップ軽量コンテナ)に関するバックアップデータを分析する。さらに、インテリジェントコンテナ化プログラム122は、バックアップ及び復元アルゴリズム(式(1))から計算された最適化スコアを利用して、機械学習モデルを訓練する。様々な実施形態では、機械学習モデルは、データバックアップ及び復元のための予測された格納場所のパターンを学習する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、インテリジェントバックアップ及び復元アルゴリズムの最大値(例えば、最適化スコア)を表す最適な格納場所を決定する。加えて、様々な実施形態では、インテリジェントコンテナ化プログラム122は、出現の閾値頻度を決定し、本発明によれば、軽量アプリケーションのデータのバックアップ及び復元のための最適な格納場所となるように、1つ又は複数の格納場所が頻繁に計算される。
【0037】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、機械学習モデルに訓練データのセットを与えて機械学習モデルを訓練し、軽量コンテナ(例えば、入力コンテナ)に格納されたデータのバックアップ及び復元のための最適な格納場所を予測する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、機械学習モデルに、軽量アプリケーションの構成データ及び非構造化データとバックアップ格納場所データとを表すデータを提供する。さらに、インテリジェントコンテナ化プログラム122は、少なくともバックアップ及び復元アルゴリズム(例えば、式(1))に基づいて最適化スコアを計算し、ここで、インテリジェントコンテナ化プログラム122は、K平均閾値、レイテンシ制約、及び構成データを利用する。インテリジェントコンテナ化プログラム122は、最適化スコアを機械学習モデルに提供して、最適な格納場所を予測するために機械学習モデルを訓練する。様々な実施形態では、機械学習モデルは、上述したように、少なくとも提供されたデータに基づいて訓練されて、新たな最適化スコアを生成し、限定されるものではないが、構成データと、軽量アプリケーションの非構造化データと、バックアップ格納場所データとを含む提供データに基づいて、最適なバックアップ格納場所を予測することができる。
【0038】
本発明の実施形態は、インテリジェントコンテナ化プログラム122が、少なくとも軽量アプリケーションの非構造化データに基づいて、軽量アプリケーションに格納されたデータのバックアップ及び復元のための最適な場所を決定することを提供する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、ベクトル量子化と非構造化データをK個のクラスタのnパーティションに分割することとのためにK平均アルゴリズムを利用し、ここで、各クラスタは、非構造化データの最も近い平均値に属する。様々な実施形態では、新しい軽量コンテナの非構造化コンテナデータからのそれぞれのパターンは、K個のクラスタのnパーティションを表す。
【0039】
本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122は、K平均アルゴリズムを利用して、軽量アプリケーション上に格納されたデータセットをK個の予め定義された別個の非重複サブグループに分割し、ここで、軽量アプリケーションに格納されたデータセットの各データポイントは、単一のグループのみに属する。インテリジェントコンテナ化プログラム122は、クラスタ内のデータポイントを計算し、個々のクラスタ間の分離の閾値レベルを維持しながら、クラスタ内のデータポイントを可能な限り類似させることを試みる。
【0040】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、注釈を利用して、データのバックアップ要件を決定する。本発明の実施形態は、バックアップ及び復元されるべきデータのパターンを特定するために注釈データが使用され、バックアップ及び復元アルゴリズムの検証に使用されるコンテンツを確認することを認識する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、限定されるものではないがバックアップ及び復元ルールに基づいて、バックアップ及び復元が実行される最も高い可能性を決定し、ここで、データセットは、事前に特定された基準及びタイムライン内でバックアップされなければならず、バックアップ及び復元ルールを満たすデータセットを決定しなければならない。
【0041】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、さらに、1つ又は複数のストレージデバイスのレイテンシ制約を計算する。本発明の実施形態は、インテリジェントコンテナ化プログラム122が閾値法を利用してレイテンシ制約(例えば、0.6の値)を計算することを認識する。様々な実施形態では、レイテンシ制約の計算を利用して、格納場所のプロキシ要件を決定する。さらに、レイテンシ制約を利用して、バックアップコンテンツ及びデータを復元する能力を確保する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、中断中のレイテンシ制約を利用して、バックアップ及び復元アルゴリズムの分析の際にデータを復元する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、オーケストレーションツールを有するバックアップ及び復元アルゴリズムを活用して、限定するものではないが閾値法の様々な影響に基づいて、コンテナ化された環境内のデータのバックアップ及び復元を実行する。さらに、インテリジェントコンテナ化プログラム122は、レイテンシ制約を利用して、データ復元のインスタンス中にコンテナ化された環境でデータを復元するための追加の方法を検討する。
【0042】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、さらに、特定された構成を計算し、構成をバックアップコンテナのファイルシステムに直接マウントする。様々な実施形態では、構成ファイルは、バインドマウントコンテンツ又は環境使用変数を表すデータを含むが、これらに限定されない。様々な実施形態では、構成データは、リソース管理パラメータ(例えば、CPU、ディスク、システム、vswampなど)、ネットワーキングパラメータ(例えば、ホスト名、IPアドレス、ネットフィルタ、ネームサーバなど)、及びその他様々なもの(例えば、識別子、バージョン、再起動、テンプレート、カスタマイズされた行列など)を含むが、これに限定されない。様々な実施形態では、インテリジェントコンテナ化プログラム122は、コンテナが実行するのに必要な実行可能コードを表す静的ファイルを少なくとも含むコンテナイメージを特定する。本発明の実施形態は、コンテナイメージが特定のコンテナを実行することを可能にすることを認識する。さらに、インテリジェントコンテナ化プログラム122が、所与のコンテナのライブラリ及びコードに変更を行う必要がある場合、インテリジェントコンテナ化プログラム122は、コンテナのための新しいイメージを生成する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、迅速な特定方法(例えば、0.7の値)を利用して、復元ウィンドウが、データをバックアップ及び復元するためにインテリジェントアルゴリズムの動作要件を満たすか又はそれを超えることができることを確認する。本発明の実施形態はさらに、インテリジェントコンテナ化プログラム122が迅速な特定方法を利用して、バックアップの実行を完了し、その持続時間にわたって要件を復元することを認識する。さらに、当業者は、復元ウィンドウが所要のバックアップ期間を表すことを理解し、ここで、軽量アプリケーションに格納されたデータのバックアップ及び復元は、閾値期間内に行われる。
【0043】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、(i)K平均アルゴリズム、(ii)閾値方法、及び(iii)迅速な特定方法からの値出力を利用して、軽量アプリケーション上のデータの最適化されたバックアップ及び復元のための値を計算する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、インテリジェントバックアップ及び復元アルゴリズムをオーケストレーションツールで活用して、最小の閾値期間内で軽量アプリケーション上のデータのバックアップ及び復元を実行する。
【0044】
以下の式(1)は、軽量コンテナのためのデータの最適なバックアップ及び復元場所を決定するために行うことができる処理を表す。
【0045】
式(1):インテリジェントバックアップ及び復元アルゴリズム
インテリジェントバックアップ及び復元アルゴリズム=[K-平均+閾値方法+迅速な特定方法]/3の確率
【0046】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、限定されるものではないがインテリジェントバックアップ及び復元アルゴリズムに基づいて、軽量コンテナ上のデータの最適化スコアを計算する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、データのための最適化スコアを決定し、ここで、インテリジェントバックアップ及び復元アルゴリズムに関連する値(例えば、バックアップ最適化スコア)は、1と0の間にある。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、インテリジェントバックアップ及び復元アルゴリズムの最適化スコアを0.5と等しいか又はこれより大きくなるように計算し、インテリジェントコンテナ化プログラム122は、これが軽量アプリケーション上のデータのバックアップ及び復元のための最適な場所であると判断する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、インテリジェントバックアップ及び復元アルゴリズムの最適化スコアを0.5より小さくなるように計算し、インテリジェントコンテナ化プログラム122は、これが軽量アプリケーション上のデータのバックアップ及び復元のための最適な場所ではないと判断する。様々な実施形態では、インテリジェントコンテナ化プログラム122が、限定されるものではないがインテリジェントバックアップ及び復元アルゴリズムの計算によって生成された値に基づいて、この場所がバックアップ及び復元に最適ではないと判断した場合、インテリジェントコンテナ化プログラム122は、1つ又は複数の格納場所を特定する。
【0047】
本発明の実施形態は、インテリジェントコンテナ化プログラム122が、様々なバックアップコンテナの計算された最適化スコアを機械学習モデルに提供して、機械学習モデルを訓練することを認識する。様々な実施形態では、機械学習モデルは、少なくとも計算された最適化スコアに基づいて、軽量アプリケーションに格納されたデータのための最適な格納場所を学習する。
【0048】
動作204において、インテリジェントコンテナ化プログラム122は、入力コンテナ(すなわち、軽量アプリケーション)を特定して、入力コンテナに格納されたデータをバックアップ及び復元する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、軽量アプリケーションのためのバックアップ場所を特定する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、入力コンテナ(例えば、軽量アプリケーション)上に格納されたバックアップのための入力コンテナを特定する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122によって特定される入力コンテナは、限定されるものではないが、非構造化コンテナデータ(例えば、日付、番号、タイムスタンプ、トランザクションレコード、コンテナ名、異なるログなど、テキストを多用するコンテンツ)及び構成データ(例えば、リソース管理パラメータ(例えば、CPU、ディスク、システム、vスワップなど)、ネットワーキングパラメータ(例えば、ホスト名、IPアドレス、ネットフィルタ、ネームサーバなど)、及び、入力コンテナに関連付けられた雑多なパラメータ(例えば、識別子、バージョン、再起動、テンプレート、カスタマイズされた行列など))を含む。
【0049】
動作206において、インテリジェントコンテナ化プログラム122は、バックアップ及び復元のために利用可能なコンテナ(すなわち、バックアップ格納場所)を特定する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、最適な格納場所のためのバックアップ場所を特定する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、1つ又は複数のストレージデバイスと、バックアップストレージ場所を実行可能な1つ又は複数のノードとを特定する。さらに、インテリジェントコンテナ化プログラム122は、限定されるものではないがコンテナ環境がホストされている場所に基づいて、1つ又は複数のストレージデバイスの場所を特定し、軽量アプリケーション上に配置されるデータを格納するためにストレージ論理ユニット番号(LUN)上にマウントされる。
【0050】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、軽量アプリケーション(例えば、入力コンテナ)に格納されたデータのバックアップのためのバックアップコンテナを特定する。いくつかの実施形態では、インテリジェントコンテナ化プログラム122によって特定されるバックアップコンテナは、非構造化コンテナデータ(例えば、日付、番号、タイムスタンプ、トランザクションレコード、コンテナ名、異なるログなど、テキストを多用するコンテンツ)及び構成データ(例えば、リソース管理パラメータ(例えば、CPU、ディスク、システム、vスワップなど)、ネットワーキングパラメータ(例えば、ホスト名、IPアドレス、ネットフィルタ、ネームサーバなど)、及び、雑多なパラメータ(例えば、識別子、バージョン、再起動、テンプレート、カスタマイズされた行列など))を含む。本発明の様々な実施形態では、インテリジェントコンテナ化プログラム122は、追加のバックアップ場所を特定し、追加のバックアップ場所は、限定されるものではないが、軽量アプリケーションに格納されたデータの最適な格納場所を予測するための最適化スコアを生成するように訓練された機械学習モデルの場所データを含む。
【0051】
動作208において、インテリジェントコンテナ化プログラム122は、少なくとも訓練された機械学習モデルに基づいて、軽量アプリケーションに格納されたデータのための最適なバックアップ及び格納場所を決定する。様々な実施形態では、訓練済み機械学習モデルは、少なくともインテリジェントコンテナ化プログラム122によって提供される入力コンテナとバックアップコンテナとの間の様々なペアリングを決定する。さらに、様々な実施形態では、訓練済み機械学習モデルは、入力コンテナとバックアップコンテナとの間のペアリングごとに、インテリジェントコンテナ化プログラム122によって提供されるデータ(例えば、非構造化データ、構成データ、及びバックアップデータ)に少なくとも基づいて、最適化スコアを生成する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、最適化スコアを分析し、少なくとも最適化スコアの最高閾値レベルに基づいて、入力コンテナ(例えば、軽量アプリケーション)に格納されたデータのための最適な格納場所を決定する。
【0052】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、K-平均アルゴリズム(例えば、0.5の平均値)を利用して、非構造化データの最適化を計算する。本発明の実施形態は、K-平均アルゴリズムがベクトル量子化の方法であり、n個の変数をK個のクラスタに分割し、各観測は、最も近い平均値を持つクラスタに属することを認識する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、日付、番号、タイムスタンプ、トランザクションレコード、コンテナ名、異なるログなど、テキストを多用するコンテンツを含むがこれらに限定されるものではない、コンテナからの非構造化データを利用して、K-平均アルゴリズムを利用する非構造化データの最適化を計算する。
【0053】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、1つ又は複数のストレージデバイスのレイテンシ制約を計算する。本発明の実施形態は、インテリジェントコンテナ化プログラム122が閾値法を利用してレイテンシ制約(例えば、0.6の値)を計算することを認識する。様々な実施形態では、レイテンシ制約の計算を利用して、格納場所のプロキシ要件を決定する。さらに、レイテンシ制約を利用して、バックアップコンテンツ及びデータを復元する能力を確保する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、中断中のレイテンシ制約を利用してデータを復元する。
【0054】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、さらに、特定された構成を計算し、構成をバックアップコンテナのファイルシステムに直接マウントする。様々な実施形態では、構成ファイルは、バインドマウントコンテンツ又は環境使用変数を表すがこれらに限定されないデータを含む。様々な実施形態では、構成データは、リソース管理パラメータ(例えば、CPU、ディスク、システム、vswampなど)、ネットワーキングパラメータ(例えば、ホスト名、IPアドレス、ネットフィルタ、ネームサーバなど)、及びその他様々なもの(例えば、識別子、バージョン、再起動、テンプレート、カスタマイズされた行列など)を含むが、これらに限定されない。様々な実施形態では、インテリジェントコンテナ化プログラム122は、迅速な特定方法(例えば、0.7の値)を利用して、復元ウィンドウが、データをバックアップ及び復元するための動作要件を満たすか又は超えることができることを確認する。
【0055】
本発明の実施形態は、インテリジェントコンテナ化プログラム122が、(i)非構造化データ、(ii)レイテンシ制約、(iii)迅速な特定方法の値、及び(iv)バックアップコンテナのデータを、学習済み機械学習モデルに提供して、最適化スコアを生成し、軽量アプリケーションに格納されたデータのための最適な格納場所を予測することを認識する。様々な実施形態では、訓練済み機械学習モデルは、提供されたデータを分析し、最適化スコア(例えば、バックアップ及び復元アルゴリズムから計算された値)を生成する。様々な実施形態では、訓練済み機械学習モデルは、少なくとも生成された最適化スコアに基づいて、最適な格納場所を予測する。本発明の実施形態は、生成された最適化スコアが、インテリジェントコンテナ化プログラム122によって特定されたバックアップコンテナに関連付けられていることを認識する。
【0056】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、オーケストレーションツール(例えば、サーバアプリケーション142)と統合して、最小の閾値期間内でバックアップを実行する。いくつかの実施形態では、オーケストレーションツールは、限定されるものではないが様々な格納場所のインテリジェントバックアップ及び復元アルゴリズムの値に基づいて、インテリジェントコンテナ化プログラム122が、軽量アプリケーションのデータをバックアップ及び復元することを調整できるようにする。いくつかの実施形態では、インテリジェントコンテナ化プログラム122は、データのバックアップ及び復元のための最適な場所を利用する。代替的に、インテリジェントコンテナ化プログラム122は、最適な格納場所がすべてのリソースを利用しており、バックアップ及び復元に利用できないことを特定する。インテリジェントコンテナ化プログラム122が最適な格納場所を特定できない場合、インテリジェントコンテナ化プログラム122は、インテリジェントバックアップ及び復元アルゴリズムのための値を再計算する。
【0057】
1つの例示的な実施形態では、動作202を参照して、以下のデータを使用してインテリジェントコンテナ化プログラム122が訓練される。本実施形態では、少なくとも4.6ギガバイト(GB)のデータを使用し、1月1日に最後にアクセスされたデータである、入力コンテナZ(例えば、hostname:exampleZ.com)を有する。さらに、本実施形態では、構成データは、2.5ギガヘルツ(GHz)で動作する少なくとも8個の利用可能なコアを持つ、配置場所を指定するCPUを含み、8GBのメモリと、1GBのvswapとを含む。最後に、この例示的な実施形態では、バックアップ場所データは、コンテナを参照する地理的場所を含む。この例示的な実施形態では、入力コンテナZは、バックアップコンテナAから20マイル離れ、バックアップコンテナBから100マイル離れて配置されている。さらに、本実施形態では、入力コンテナY(例えば、exampleY.example.com)を有しており、これは、少なくとも7.2GBのデータを使用し、12月1日に最後にアクセスされ、2ギガヘルツ(GHz)で動作する少なくとも4個の利用可能なコアを持つ、配置場所を指定するCPUと、8GBのメモリと、1GBのvswapとを含む構成データを有し、バックアップコンテナAから5マイル離れ、バックアップコンテナBから100マイル離れて位置する。
【0058】
この例示的な実施形態では、インテリジェントコンテナ化プログラム122は、入力コンテナZ(例えば、exampleZ.example.com)及び入力コンテナY(例えば、ExampleY.example.com)のための非構造化コンテナデータ及び構成データを特定する。さらに、インテリジェントコンテナ化プログラム122は、バックアップコンテナA及びバックアップコンテナBのためのバックアップ場所データ(レイテンシ情報及び場所情報など)を特定する。最後に、インテリジェントコンテナ化プログラム122は、入力コンテナ及びバックアップコンテナの組み合わせごとに注釈を特定し、注釈は、入力コンテナ及びバックアップコンテナの各組み合わせがどのように最適なものであるかを反映する。例えば、本実施形態では、注釈は、上述した式(1)を用いて生成される。本実施形態では、インテリジェントコンテナ化プログラム122は、入力コンテナZについて、バックアップコンテナAが注釈値0.8を有し、バックアップコンテナBが注釈値0.5を有することを特定する。インテリジェントコンテナ化プログラム122は、入力コンテナYについても、バックアップコンテナAが注釈値0.5を有し、バックアップコンテナBが注釈値0.6を有することを特定する。これらの値は、(i)非構造化コンテナデータ、(ii)構成データ、及び(iii)バックZップ場所データと組み合わせて使用され、インテリジェントコンテナ化プログラム122の機械学習モデルを訓練して、将来のモデルに提供される入力コンテナ及びバックアップコンテナの新しい組み合わせのための新しい注釈値(又は「バックアップ最適化スコア」)を生成する。
【0059】
本実施形態では、ここで動作204を参照すると、インテリジェントコンテナ化プログラム122は、バックアップ及び復元のための入力コンテナWを特定する。本実施形態では、入力コンテナWについての非構造化データ(例えば、exampleW.example.com)は、入力コンテナWが少なくとも2.2ギガバイト(GB)のデータを使用し、1月15日に最後にアクセスされたことである。さらに、入力コンテナWについての構成データは、2.3ギガヘルツ(GHz)で動作する少なくとも8個の利用可能なコアを有する、配置場所を指定するCPUを含み、8GBのメモリと1GBのvswapとを含む。また、入力コンテナWは、バックアップコンテナAから20マイルに位置し、バックアップコンテナBから100マイルに位置している
【0060】
例示的な実施形態では、動作206を参照すると、インテリジェントコンテナ化プログラム122は、その訓練された機械学習モデルを使用し、それぞれ、入力コンテナWの非構造化データ及び構成データとバックアップ場所A及びバックアップ場所Bのバックアップ場所データとを使用して、(i)入力コンテナW及びバックアップ場所Aについての第1のバックアップ最適化スコアと、(ii)入力コンテナW及びバックアップ場所Bについての第2のバックアップ最適化スコアを生成する。具体的には、インテリジェントコンテナ化プログラム122は、バックアップ場所Aについて第1のバックアップ最適化スコア0.6と、バックアップ場所Bについて第2のバックアップ最適化スコア0.5とを生成する。
【0061】
この例示的な実施形態では、インテリジェントコンテナ化プログラム122は、機械学習モデルの出力を分析し、少なくとも生成されたバックアップ最適化スコアに基づいて、軽量コンテナ(例えば、入力コンテナW)のための最適場所を決定する。この例では、インテリジェントコンテナ化プログラム122は、バックアップ場所Aがバックアップ場所B (0.5)より高いバックアップ最適化スコア(0.6)を有することに少なくとも基づいて、入力コンテナWをバックアップするための最適な場所としてバックアップ場所Aを選択する。
【0062】
図3は、様々な実施形態において、
図1のコンテナ化された環境の構成要素を示す構成
図300である。様々な実施形態において、コンテナ化された環境は、1つのマスタノード301と複数のワーカノード302A-302Cとを少なくとも含み、軽量アプリケーションは、マスタ及びワーカノードに格納される。本発明の実施形態は、説明を簡単にするために作業者ノード302A-Cが示されており、任意の数のワーカノード(302C)が存在し得るが本発明はそれに限定されるものではないことを提供する。様々な実施形態では、マスタノード及びワーカノードは、軽量アプリケーションに格納されたデータのバックアップ及び復元のために、ストレージデバイス304A及び304Bに通信可能に接続される。本発明の実施形態は、説明を簡単にするために、ストレージ1 304A及びストレージ2 304Bを示しており、任意の数のストレージデバイスを本発明の実施形態に含めることができることを提供する。様々な実施形態では、バックアップ及び復元アルゴリズム306は、インテリジェントバックアップ及び復元アルゴリズム=[K-平均+閾値方法+迅速な特定方法]/3の確率として表される。例えば、インテリジェントコンテナ化プログラム122は、少なくともインテリジェントバックアップ及び復元アルゴリズムに基づいて、最適なバックアップ及び復元場所を決定する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、オーケストレーションツール308を利用して、1つ又は複数の格納場所に接続する仮想マシン310と通信することによって、軽量アプリケーションに格納されたデータのバックアップ及び復元を実行する。
【0063】
図4は、
図1のコンテナ化された環境のブロック
図400を示す。本発明の実施形態は、コンテナ434がブロック
図400で配置されることを提供する。様々な実施形態では、
図3に示されるように、バックアップ及び復元方法のプロセスは、軽量アプリケーションを格納するマスタノード及びワーカノード402から始まる。様々な実施形態では、インテリジェントコンテナ化プログラム122は、(i)構成コンテンツ410、(ii)非構造化データ412、(iii)レイテンシ制約414、及び(iv)迅速な特定データ416(例えば、識別子)を含むがこれらに限定されない、インテリジェントバックアップ及び復元アルゴリズムに関連する入力404を特定する。
【0064】
様々な実施形態では、インテリジェントコンテナ化プログラム122は、上記で特定された入力を利用して、インテリジェントアルゴリズム法406(例えば、式(1))を利用するバックアップ及び復元方法のための最適な格納場所を計算する。様々な実施形態では、最適化された結果を決定する確率は、少なくとも式(1)に基づいて計算される。様々な実施形態では、インテリジェントコンテナ化プログラム122は、関連する注釈データをレビューし、インテリジェントコンテナ化プログラム122が、最適な格納場所が計算されたと判断した場合、バックアップ及び復元動作408(例えば、オーケストレーションツールとの出力の統合)を実行する。様々な実施形態では、インテリジェントコンテナ化プログラム122は、少なくとも式(1)を利用して、最適化された結果を決定する確率418を計算する。インテリジェントコンテナ化プログラム122は、関連する注釈をレビューするか否かを判断する420。レビューしない場合、インテリジェントコンテナ化プログラム122は、アクティビティをキャプチャし、最適化された結果を決定する確率から最適化された結果を実行する422。レビューする場合。インテリジェントコンテナ化プログラム122は、少なくとも関連する注釈420に基づいて、最適な結果を実行する430。様々な実施形態では、インテリジェントコンテナ化プログラム122は、ツール432を利用して実行を完了する。インテリジェントコンテナ化プログラム122は、後の閾値期間における結果比較のために、データを格納する424。様々な実施形態では、インテリジェントコンテナ化プログラム122は、以前のアクションから導出されたデータ(例えば、結果比較424のために格納されたデータ)を分析する426。インテリジェントコンテナ化プログラム122は、このデータをアーチファクト428として格納する。インテリジェントコンテナ化プログラム122が、最適な格納場所が計算されていないと判断した場合、インテリジェントコンテナ化プログラム122は、軽量アプリケーションに格納されたデータに関連するアクティビティを計算し、最適化された結果を実行する。次いで、インテリジェントコンテナ化プログラム122は、結果比較のためにこのデータを格納する。
【0065】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている又は後に開発される任意の他のタイプのコンピューティング環境と関連して実施することが可能である。
【0066】
クラウド・コンピューティングは、最小限の管理労力又はサービスのプロバイダとの対話で迅速にプロビジョニングされ、かつ解放されることが可能である構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワークアクセスを可能にするためのサービス配信のモデルであり、このモデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
【0067】
特徴は以下の通りである。
【0068】
オンデマンド・セルフサービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要ネットワークアクセスプロビジョニングすることができる。
【0069】
広範なネットワークアクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
【0070】
リソース・プール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて複数のコンシューマにサービスを提供するためにプールされ、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されたリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より高い抽象化レベル(例えば、国、州、又はデータセンタ)では位置を特定できる場合がある。
【0071】
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングして素早くスケールアウトし、迅速に解放して素早くスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な能力は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
【0072】
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【0073】
サービスモデルは、以下の通りである。
Software as a Service(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアントデバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティングシステム、スクライアントデバイスリケーション能力をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Platform as a Service(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーションをホストする環境構成を制御する。
Infrastructure as a Service(IaaS):コンシューマに提供される機能は、コンシューマが、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアをデプロイして実行させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレーオペレーティングシステムーションに対する制御、及び場合によってはネットワーク構成要素(例えば、ホストのファイアウォール)選択に対する限定された制御を有する。
【0074】
デプロイメント・モデルは以下の通りである。
プライベートクラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。それは、組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
コミュニティクラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリッククラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループによって利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術(例えば、クラウド間の負荷平衡のためのクラウドバースティング)によって互いに結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
【0075】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0076】
ここで
図5を参照すると、クラウド・コンピューティングを利用する例示的なクラウド・コンピューティング環境50が示される。図示のように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)若しくはセルラ電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C若しくは自動車コンピュータシステム54N又はそれらの組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信することができる、1つ又は複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。ノード10は、上述されるプライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド、又はそれらの組み合わせなどの、1つ又は複数のネットワークにおいて物理的に又は仮想的にグループ化することができる(図示せず)。このことは、クラウド・コンピューティング環境50が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないInfrastructure as a Service、Platform as a Service若しくはSoftware as a Service又はその組み合わせを提供することを可能にする。
図5に示されるコンピューティングデバイス54A-Nのタイプは、単に例示的であることが意図され、コンピューティデスクトップコンピュータコンピラップトップコンピュータ意のタイプのネットワーコンピュータシステムアドレス指定可能な接続又はその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することが可能である(例えば、ウェブブラウザを用いて)ことが理解される。
【0077】
ここで
図6を参照すると、クラウド・コンピューティング環境50(
図5)により提供される機能抽象化層の例示的セットが示される。
図6に示される構成要素、層及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【0078】
ハードウェア及びソフトウェア層60は、ハードウェア構成要素及びソフトウェア構成要素を含む。ハードウェア構成要素の例として、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セットコンピュータ))アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージデバイス65、並びにネットワーク及びネットワーキング構成要素66が含まれる。幾つかの実施形態において、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
【0079】
仮想化層70は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、並びに仮想クライアント75を提供することができる。
【0080】
一例において、管理層80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクについての特定検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(microservice Level Agreement、SLA)の計画及び履行85は、SLAに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【0081】
作業負荷層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができる作業負荷及び機能の例として、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、及び鎮静化出力96が挙げられる。
【0082】
図7は、本発明の例示的な実施形態による、コンピュータシステム120、クライアント装置130、及びSAN140の構成要素のブロック
図700を示す。
図7は、一実施形態の例示のみを提供し、異なる実施形態が実装され得る環境に関する任意の制限を示唆しないことを理解されたい。図示された環境に対する多くの修正がなされてもよい。
【0083】
コンピュータシステム120、クライアントデバイス130、及びSAN140は、通信ファブリック702を含み、通信ファブリック702は、コンピュータプロセッサ704、メモリ706、永続ストレージ708、通信ユニット710、及び入出力(I/O)インターフェース712の間の通信を提供する。通信ファブリック702は、プロセッサ(マイクロプロセッサ、通信及びネットワークプロセッサなど)、システムメモリ、周辺デバイス、及びシステム内の任意の他のハードウェアコンポーネントの間で、データ及び/又は制御情報を通過させるように設計された任意のアーキテクチャで実装することができる。例えば、通信ファブリック702は、1つ又は複数のバスを用いて実装され得る。
【0084】
メモリ706及び永続ストレージ708は、コンピュータ可読記憶媒体である。この実施形態では、メモリ706は、ランダムアクセスメモリ(RAM)714及びキャッシュメモリ716を含む。一般に、メモリ706は、任意の適切な揮発性又は不揮発性のコンピュータ可読記憶媒体を含むことができる。
【0085】
インテリジェントコンテナ化プログラム122、コンピュータインターフェース124、クライアントアプリケーション132、クライアントインターフェース134、サーバアプリケーション142、及びデータベース144は、メモリ706の1つ又は複数のメモリを介して、それぞれのコンピュータプロセッサ704のうちの1つ又は複数による実行及び/又はアクセスのために永続ストレージ708に格納される。この実施形態では、永続ストレージ708は、磁気ハードディスクドライブを含む。代替的に、又は磁気ハードディスクドライブに加えて、永続ストレージ708は、ソリッドステートハードドライブ、半導体ストレージデバイス、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、フラッシュメモリ、又は、プログラム命令若しくはデジタル情報を格納することができる任意の他のコンピュータ可読記憶媒体を含むことができる。
【0086】
永続ストレージ708によって使用されるメディアはまた、取り外し可能であってもよい。例えば、永続ストレージ708として取り外し可能なハードドライブを使用することができる。他の例として、永続ストレージ708の一部でもある別のコンピュータ可読記憶媒体に転送するためにドライブに挿入される、光磁気ディスク、サムドライブ、及びスマートカードが挙げられる。
【0087】
通信ユニット710は、これらの実施例では、ネットワーク110のリソースを含む他のデータ処理システム又はデバイスとの通信を提供する。これらの例では、通信ユニット710は、1つ又は複数のネットワークインターフェースカードを含む。通信ユニット710は、物理的及びワイヤレス通信リンクのいずれか又は両方を使用して通信を提供することができる。インテリジェントコンテナ化プログラム122、コンピュータインターフェース124、クライアントアプリケーション132、クライアントインターフェース134、サーバアプリケーション142、及びデータベース144は、通信ユニット710を介して永続ストレージ508にダウンロードすることができる。
【0088】
I/Oインターフェース712は、コンピュータシステム120、クライアントデバイス130、及びSAN140に接続され得る他のデバイスとのデータの入力及び出力を可能にする。例えば、I/Oインターフェース712は、キーボード、キーパッド、タッチスクリーン、及び/又は何らかの他の適切な入力デバイスなどの外部デバイス718への接続を提供することができる。外部デバイス718はまた、例えば、サムドライブ、ポータブル光学又は磁気ディスク、及びメモリカードなどのポータブルコンピュータ可読記憶媒体を含むことができる。本発明の実施形態を実行するために使用されるソフトウェア及びデータ、例えば、インテリジェントコンテナ化プログラム122、コンピュータインターフェース124、クライアントアプリケーション132、クライアントインターフェース134、サーバアプリケーション142、及びデータベース144は、そのようなポータブルコンピュータ可読記憶媒体上に格納することができ、I/Oインターフェース712を介して永続ストレージ708上にロードすることができる。I/Oインターフェース712は、ディスプレイ720にも接続する。
【0089】
ディスプレイ720は、ユーザにデータを表示するための機構を提供し、例えば、コンピュータモニタ又はテレビ画面であってもよい。
【0090】
本発明は、システム、方法、及び/又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(又は媒体)を含み得る。
【0091】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持し記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、又はこれらの任意の好適な組み合わせであり得るが、これらに限定されない、コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えば、パンチ。カード又は隆起構造のような機械的に符号化されたデバイスは、命令が記録された溝内で、前述の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波又は他の自由に伝搬する電磁波などの一時的な信号自体(例えば、導波管又は他の伝送媒体を伝搬する電磁波)として解釈されるべきではない(例えば、)光ファイバケーブルを通過する光パルス、又はワイヤを介して伝送される電気信号である
【0092】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワークを介して外部コンピュータ又は外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含み得る。各コンピューティング/処理装置内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0093】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、小さいトーク、C++などのオブジェクト指向プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで書き込まれたソースコード又はオブジェクトコードであってもよい。「C」プログラミング言語又は類似プログラミング言語などの従来の手続き型プログラミング言語。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的に、スタンドアロンのソフトウェアパッケージとして、部分的に、ユーザのコンピュータ上で、部分的にリモートコンピュータ上に、又はリモートコンピュータ上又はサーバ上で部分的に実行することができる。後者のシナリオでは、リモート。コンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザコンピュータに接続されてもよく、又は外部コンピュータ(例えば、インターネットサービスプロバイダを使用してインターネットを介して)に接続されてもよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行し得る。
【0094】
本発明の態様は、本発明の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して本明細書に記載される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装することができることが理解されよう。
【0095】
これらのコンピュータ可読プログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行する命令が、フローチャート及び/又はブロック図ブロック又はブロックにおいて指定された機能/動作を実行するための手段を生成するように、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、機械を生成することができる。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、及び/又は他の装置を特定の方法で機能させることができるコンピュータ可読記憶媒体に格納され得、その結果、命令は、フローチャート及び/又はブロック図ブロック又はブロックで指定された機能/行為の態様を実装する命令を含む製造物品を含む。
【0096】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされて、コンピュータ、他のプログラマブルデバイス又は他のデバイス上で実行される一連の動作ステップを実行させて、コンピュータ、他のプログラマブルデバイス、又は他のデバイス上で実行される命令が、フローチャート及び/又はブロック図ブロック又はブロックにおいて指定された機能/動作を実現するように、コンピュータ実装されたプロセスを生成することができる。
【0097】
図中のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。この点に関して、フローチャート又はブロック図の各ブロックは、指定された論理関数を実装するための1つ又は複数の実行可能命令を含む、命令のモジュール、セグメント、又は部分を表し得る。いくつかの代替的な実装形態では、ブロック内に記載された機能は、図面に記載された順序から外れてもよい。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、又はブロックは、関与する機能に応じて逆の順序で実行されてもよい。ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図におけるブロックの組み合わせは、特定の機能を実行する、又は専用ハードウェアとコンピュータ命令との組み合わせを実行する、又は実行する専用ハードウェアベースのシステムによって実施することができることに留意されたい
【0098】
本明細書で説明されるプログラムは、本発明の特定の実施形態で実装されるアプリケーションに基づいて特定される。しかしながら、本明細書における任意の特定のプログラム名は、単に便宜的に使用されることを理解すべきであり、したがって、本発明は、そのような命名法によって特定及び/又は暗示される任意の特定のアプリケーションにおいてのみ使用することに限定されるべきではないことを理解されたい。
【0099】
例えば「Smalltalk」などの用語(単数又は複数)は、世界中の様々な管轄区域において商標権の対象となっている可能性があり、ここでは、そのような商標権が存在する可能性がある限りにおいて、マークによって適切に表される製品又はサービスを参照するのみで使用されていることに留意されたい。
【国際調査報告】