(57)【要約】  機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法がここに教示される。そのような方法は、デジタルオブジェクトライブラリに多数の機械可読なデジタルオブジェクトを投入し、前記デジタルオブジェクトを修正して前記デジタルオブジェクトまたはその他のデジタルオブジェクトおよび既存のデジタルオブジェクト間の関係について追加の機械可読なデータを含め、未知のオブジェクトを１以上のカテゴリに分類するために用いられる機械学習モデルの構築および検証用のオブジェクトリストを生成し、クエリを構築してオブジェクトリストを生成し、未知のオブジェクトを１以上のカテゴリに分類するために用いられる機械学習モデルが生成される、モデル生成を開始し；モデル評価を開始し、モデル、オブジェクトリスト、評価結果、およびこれらのオブジェクト間の関連を記憶し、オブジェクトメタデータ、リスト、関連情報、および評価結果の画像表示を生成し、そしてデジタルオブジェクトのライブラリにわたって分散可能なアルゴリズムを実行することを含む。
2018514840.tif 000002
【特許請求の範囲】
【請求項１】
デジタルオブジェクトライブラリ管理システム、グラフィカルユーザーインターフェース、分散分析モジュール、および１以上のクラスタのコンピュータを用いた機械学習モデルのトレーニングおよびテストの管理方法であって、
デジタルオブジェクトライブラリに多数の機械可読なデジタルオブジェクトを投入し；
前記デジタルオブジェクトを修正して前記デジタルオブジェクトまたはその他のデジタルオブジェクトおよび既存のデジタルオブジェクト間の関係について追加の機械可読なデータを含め；
未知のオブジェクトを１以上のカテゴリに分類するために用いられる機械学習モデルの構築および検証用のオブジェクトリストを生成し；
クエリを構築してオブジェクトリストを生成し；
未知のオブジェクトを１以上のカテゴリに分類するために用いられる１以上の機械学習モデルが生成される、モデル生成を開始し；
モデル評価を開始し；
モデル、オブジェクトリスト、評価結果、およびこれらのオブジェクト間の関連を記憶し；
オブジェクトメタデータ、リスト、関連情報、および評価結果の画像表示を生成し；そして
前記デジタルオブジェクトのライブラリにわたって分散可能なアルゴリズムを実行すること：
を含む方法。
【請求項２】
前記デジタルオブジェクトメタデータの修正は、分散可能なアルゴリズムを用いて実行される、請求項１に記載の方法。
【請求項３】
前記システムは、悪質なコンピュータ可読ファイルから安全なコンピュータ可読ファイルを区別する目的で分類器の生成を管理するために用いられる、請求項１に記載の方法。
【請求項４】
前記モデル生成は、複数のコンピュータ上で同時に実行される、請求項１に記載の方法。
【請求項５】
前記モデル評価は、複数のコンピュータ上で同時に実行される、請求項１に記載の方法。
【請求項６】
前記分散可能なアルゴリズムは、Ｍａｐ／Ｒｅｄｕｃｅを含む、請求項１に記載の方法。
【請求項７】
分類用に用いられる前記モデルは、教師あり機械学習アルゴリズムによって生成される、請求項１に記載の方法。
【請求項８】
一クラスタのコンピュータが、モデルのトレーニングおよびテスト用に用いられ、別の一クラスタが、データ記憶用に用いられる、請求項１に記載の方法。
【請求項９】
前記デジタルオブジェクトの修正は、前記デジタルオブジェクトについてのユーザー入力の受け付けを含む、請求項１に記載の方法。
【請求項１０】
前記オブジェクトリストを生成する構築クエリは、前記クエリを構築すべきユーザーの選択の受け付けを含む、請求項１に記載の方法。
【請求項１１】
前記デジタルオブジェクトの修正は、前記デジタルオブジェクトまたはその他のデジタルオブジェクトおよび既存のデジタルオブジェクト間の関係について追加の機械可読なデータを含む１以上のメタデータデジタルオブジェクトの生成を含む、請求項１に記載の方法。
【請求項１２】
機械学習モデルのトレーニングおよびテスト用に用いられるデジタルオブジェクトライブラリ管理システムであって：
機械学習モデルのトレーニングおよびテスト用に用いられるデジタルオブジェクトの記憶、作成および修正を管理するために用いられるデジタルオブジェクトライブラリ管理システム（ＤＯＬＭＳ）サーバー、
前記機械学習モデルのトレーニングおよびテスト用に用いられるテストおよびトレーニングクラスタのコンピュータ；および
前記デジタルオブジェクトを１以上のデジタルオブジェクトライブラリ内に記憶するために用いられるストレージクラスタのコンピュータ
を備え、
前記ＤＯＬＭＳサーバーは：
デジタルオブジェクトレポジトリ（ＤＯＲ）；
グラフィカルユーザーインターフェース（ＧＵＩ）ソフトウェア；
データベース；および
分散分析モジュール；
をさらに含むシステム。
【請求項１３】
テストおよびトレーニングクラスタは、別のテストクラスタおよびトレーニングクラスタを含む請求項１２のシステム。
【請求項１４】
前記テストクラスタは、複数のテスト仮想マシンを含む仮想テストクラスタを含む請求項１３に記載のシステム。
【請求項１５】
前記ＤＯＲは、ユーザーの選択に基づきアップロードされたデジタルオブジェクトを受け付ける請求項１２に記載のシステム。
【請求項１６】
前記ＤＯＲは、前記ストレージクラスタ内の１以上のデジタルオブジェクトライブラリ内の前記デジタルオブジェクトを記憶する請求項１５に記載のシステム。
【請求項１７】
ＧＵＩソフトウェアは、ユーザーに表示されるＧＵＩであって、当該ＧＵＩを通じて、ユーザーが機械学習モデルのトレーニングおよびテストに影響を及ぼし、前記ＤＯＲを構築し、ＤＯＲ内のオブジェクトを管理し、そして前記ＤＯＲを探索する選択を行うＧＵＩを生成する請求項１２に記載のシステム。
【請求項１８】
前記分散分析モジュールは、１以上のデジタルオブジェクトについての新たな情報を生成するため、前記ストレージクラスタ内の前記デジタルオブジェクト上で動作する請求項１２に記載のシステム。
【請求項１９】
デジタルオブジェクトライブラリに多数の機械可読なデジタルオブジェクトを投入し；
前記デジタルオブジェクトを修正して前記デジタルオブジェクトまたはその他のデジタルオブジェクトおよび既存のデジタルオブジェクト間の関係について追加の機械可読なデータを含め；
未知のオブジェクトを１以上のカテゴリに分類するために用いられる機械学習モデルの構築および検証用のオブジェクトリストを生成し；
クエリを構築してオブジェクトリストを生成し；
未知のオブジェクトを１以上のカテゴリに分類するために用いられる１以上の機械学習モデルが生成される、モデル生成を開始し；
モデル評価を開始し；
モデル、オブジェクトリスト、評価結果、およびこれらのオブジェクト間の関連を記憶し；
オブジェクトメタデータ、リスト、関連情報、および評価結果の画像表示を生成し；そして
デジタルオブジェクトのライブラリにわたって分散可能なアルゴリズムを実行すること：
によって、デジタルオブジェクトライブラリ管理システム、グラフィカルユーザーインターフェース、分散分析モジュール、および１以上のクラスタのコンピュータを用いた機械学習モデルのトレーニングおよびテストの管理方法を実行するための命令を含む有形のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムに関する。
【背景技術】
【０００２】
背景
既存の技術水準のデジタルオブジェクト管理システムは、機械学習プロセスの支援に特化していない。デジタルオブジェクト管理システムは通常、ユーザーにデジタル文書を触れさせるために大規模なライブラリシステムによって利用される傾向がある。必要とされるものは、何十万から何十億ものトレーニングおよびテスト例を考慮して管理する必要がある「ビッグデータ」環境において、教師あり機械学習を実行する課題に取り組むシステムである。これは歴史的には、トレーニング計算リソースと比べて、トレーニングデータが限られていた環境で通常行われていた機械学習にとって、新体制である（すなわち、あなたがトレーニングデータを有するなら、トレーナーは、しかるべき期間、そのデータを扱うことができる）。自動化されたデータソースが機械学習アルゴリズムに入力されても、利用することのできる例および／または特徴の数は、学習アルゴリズムの性能によって制限される。
【０００３】
この新たな動作体制は、ユーザーにどのサンプルを使用すべきか選択させる。コーパスからの無作為抽出などの、単純な方法は、収集の偏りを保ち、結果に悪影響を及ぼしうる。結果として、ユーザーがトレーニングサンプルの偏りを理解し、制御する必要がある。
【０００４】
今日、機械学習用のデジタルオブジェクトは通常、階層的なファイルシステム内に記憶されている。ファイル記憶装置は共有であってもよいが、ユーザーのマシンにしばしば限定される。教師あり機械学習のトレーニングおよびテストのリストは、通常、比較的小さな数のサンプルおよび／またはオブジェクトにわたって手動生成される。機械学習技術が「ビッグデータ」環境に組み入れられるについて、何百万から何十億ものサンプルを管理する必要になるだろう。機械学習は通常、スクリプトまたは手動で実行される。トレーニングおよびテストの結果はしばしば、データオブジェクトと同じ階層的なファイルシステム内に記憶される。関連メタデータはしばしば維持されない。データが維持されるなら、結果の語と語のつながり（collocation）を通じて、トレーニング、およびテストのリストが分類器とともにディレクトリ構造内または手動で維持されたスプレッドシート内にあるものと示唆される。
【０００５】
既存の機械学習特許は、機械学習技術により用いられる学習アルゴリズムおよびプロセスを含むが、機械学習システムの入力および出力の準備および管理を含まない。
【発明の概要】
【課題を解決するための手段】
【０００６】
要約
実施形態は、従来技術のデメリットを克服する機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法を含む。例えば、実施形態は、何十万から何十億ものトレーニングおよびテスト例を考慮して管理する必要がある「ビッグデータ」環境において、教師あり機械学習を実行する課題に取り組むシステムを提供する。さらに、実施形態は、ユーザーがトレーニングサンプルの偏りを理解し、制御することを可能にする。
【０００７】
これらのおよびその他の長所は、デジタルオブジェクトライブラリ管理（ＤＯＬＭ）システムをクラウドストレージソリューションと統合させることによって提供される。ＤＯＬＭは、多数のオブジェクトおよびオブジェクト間の関係を示すメタデータを含む関連メタデータを追跡して管理する能力を提供する。クラウドストレージソリューションは、ライブラリにわたって分析およびメタデータ抽出の分散処理を可能にする。
【０００８】
これらのおよびその他の長所は、デジタルオブジェクトライブラリに多数の機械可読なデジタルオブジェクトを投入（populate）し、前記デジタルオブジェクトを修正して前記デジタルオブジェクトまたはその他のデジタルオブジェクトおよび既存のデジタルオブジェクト間の関係について追加の機械可読なデータを含め、既知のオブジェクトを１以上のカテゴリに分類するために用いられる機械学習モデルの構築および検証（verification）用のオブジェクトリストを生成し、クエリを構築してオブジェクトリストを生成し、既知のオブジェクトを１以上のカテゴリに分類するために用いられる機械学習モデルが生成される、モデル生成を開始し、モデル評価を開始し、モデル、オブジェクトリスト、評価結果、およびこれらのオブジェクト間の関連を記憶し、オブジェクトメタデータ、リスト、関連情報、および評価結果の画像表示を生成し、デジタルオブジェクトのライブラリにわたって分散可能なアルゴリズムを実行することを含む機械学習アプリケーション用のデジタルオブジェクトライブラリ管理方法によっても提供される。
【０００９】
これらのおよびその他の長所は、機械学習モデルのトレーニングおよびテスト用に用いられるデジタルオブジェクトライブラリ管理システムによっても提供される。前記システムは、機械学習モデルのトレーニングおよびテスト用に用いられるデジタルオブジェクトの記憶、生成および修正を管理するために用いられるデジタルオブジェクトライブラリ管理システム（ＤＯＬＭＳ）サーバーを含む。ＤＯＬＭＳサーバーは、デジタルオブジェクトレポジトリ（ＤＯＲ）、グラフィカルユーザーインターフェース（ＧＵＩ）ソフトウェア、データベースおよび分散分析モジュールをさらに含む。前記システムは、機械学習モデルのトレーニングおよびテストに用いられるテストおよびトレーニングクラスタのコンピュータならびに前記デジタルオブジェクトを１以上のデジタルオブジェクトライブラリ内に記憶するために用いられるストレージクラスタのコンピュータをさらに含む。
【００１０】
図面の簡単な説明
機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法の実施形態は、以下の図面と併せて理解され、説明される。
【図面の簡単な説明】
【００１１】
【図１】図１は、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムの実施形態の一例となるアーキテクチャを例示するブロック図である。
【図２】図２は、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理方法の一実施形態を例示するフローチャートである。
【図３】図３は、一例となるデジタルオブジェクトの一表現である。
【図４】図４は、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムの一実施形態のコンピュータシステムの構成要素（components）のブロック図である。
【発明を実施するための形態】
【００１２】
詳細な説明
本明細書には、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法の実施形態が記載される。実施形態機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法は、何十万から何十億ものトレーニングおよびテスト例を考慮して管理する必要がある「ビッグデータ」環境において、教師あり機械学習を実行する課題に取り組む。上で述べたように、これは歴史的には、トレーニング計算リソースと比べて、トレーニングデータが限られていた環境で通常、動作していた機械学習にとって、新体制である。実施形態によれば、ユーザーは、トレーニングサンプルの偏りを理解し、制御することも可能になる。トレーニングサンプルの偏りを明らかにし、管理することによって、実施形態によれば、ユーザーは特定の動作環境に分類器を調整し、または多種多様の動作環境にわたって適用可能なバランスのとれた分類器を構築することが可能となる。さらに、実施形態によれば、ユーザーは、トレーニングおよびテストセットメンバの品質基準を強化し、分散分析（distributed analytic）を用いて新たなメタ特徴を構築することが可能となる。
【００１３】
機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法は、データベースおよびコンピュータ処理環境を用いた大規模なデータセットに基づく教師あり、または半教師あり機械学習に基づく分類モデルを効率的に管理、開発、および評価するためのメカニズムを提供する。言いかえれば、実施形態は、機械学習アプリケーションとともに用いられる分類器または分類モデルをトレーニングするために用いられる。実施形態は、機械学習プロセスで用いられるデジタルオブジェクトの仮想ライブラリを管理し、トレーニングおよびテストセットを自動的に構築するのを助け、モデル開発によって生じたアーチファクトの構成管理（configuration management）を実行し、モデル性能評価を可視化する。機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法の１つの実施は、マルウェア検知用の分類器の構築の管理に関係する。そのような分類器は、2013年9月26日に出願された「System and Method for Automated Machine-Learning, Zero-Day Malware Detection」というタイトルの米国特許出願番号第14/038, 682（「’６８２特許」）に記載されたものであってもよく、参照によりその全体が本明細書に組み込まれる。
【００１４】
デジタルオブジェクトライブラリ管理システムの実施形態によって処理され、管理されるデジタルオブジェクトは、一般に固定長の２進シーケンスによって表されるものであってもよい。本明細書に記載された実施形態において、デジタルオブジェクトはバイナリブロブ；すなわち、構造のないビット列のレポジトリである。一般に、デジタルオブジェクトライブラリ管理システムの実施形態に用いられるオブジェクトには２種類ある：コンテンツブロブとメタデータブロブである。一般的にいえば、コンテンツブロブ、またはオブジェクトは、ファイルであり、一方、メタデータブロブ、またはオブジェクトは、関連したコンテントブロブを記載する情報を含む。例えば、メタデータオブジェクトは、コンテンツファイル、複数のコンテンツファイル、または１以上のその他のメタデータオブジェクトについての情報を含むＸＭＬファイルであってもよい。メタデータオブジェクトは一般に、コンテンツオブジェクトを参照または指し示す情報（例えば、ポインタ）を含み、メタデータオブジェクトはコンテンツオブジェクトと関連付けられている（すなわち、メタデータオブジェクトがコンテンツオブジェクトを記述する）。
【００１５】
機械学習プロセスに用いられ、それゆえデジタルオブジェクトライブラリ管理システムの実施形態によって提供されるライブラリに記憶される特定タイプのデジタルコンテンツオブジェクトは、デジタルオブジェクトライブラリ管理システムが用いられる機械学習プロセスまたはアプリケーションに依存する。例えば、’６８２出願に記載されているような機械学習プロセスとともに用いられるデジタルコンテンツオブジェクトは、ＰＥ３２ファイル、Ｌｉｎｕｘ実行ファイル、音声ファイル、文書ファイル、ビデオ映像等であってもよい。画像認識機械学習プロセスで用いられるコンテンツオブジェクトは、画像ファイルであってもよい。言いかえれば、デジタルオブジェクトライブラリ管理システムの実施形態によってライブラリに記憶されたコンテンツオブジェクトは、実質上いかなるタイプのファイルであってもよい。
【００１６】
コンテンツオブジェクトに関連付けられたデジタルメタデータオブジェクト内に含まれる情報は、デジタルオブジェクトライブラリ管理システムが用いられる機械学習プロセスまたは出願にも依存しうる。例えば、’６８２出願に記載されているような機械学習プロセスとともに用いられる実施形態において、メタデータオブジェクトは、コンテンツオブジェクトファイルが悪質または安全であったか、コンテンツオブジェクトファイルが特定のトレーニングまたは評価リストに属していたか否か、評価が評価リストのメンバであるなら、その評価結果がどうだったのか、およびその他の関連情報を示す情報を含むものであってもよい。いくつかの実施形態において、メタデータオブジェクトは、抽出された特徴（例えば、ｎ−ｇｒａｍ、ヘッダフィールド値、ｌｅｎｇｔｈ）を含むものであってもよい。画像認識プロセスとともに用いられる実施形態において、メタデータオブジェクトは、画像の特徴を含むものであってもよい。上で述べたように、デジタルメタデータオブジェクトは、１以上のデジタルコンテンツオブジェクトおよび／または１以上のデジタルメタデータオブジェクトと関連付けられたもの、または関連するものであってもよい。
【００１７】
オブジェクトのソースは、一般にアプリケーションの性質に依存し（例えば、マルウェア検知は画像処理等とは大きく異なりうる）、１つのアプリケーションがライブラリに入力する多くのソースを有するものであってもよい。
【００１８】
機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法の実施形態によって、ユーザーはオブジェクトメタデータフィールドおよび意味関係を用いた（例えば、何千万もの）ラベルありデジタルオブジェクトの非常に大きなライブラリからの教師あり機械学習プロセスで利用されるトレーニングおよびテストセットを構築することも可能になる。実施形態は、全ライブラリオブジェクト、トレーニングおよびテストセット、分類器モデルおよびテスト結果に対する構成およびバージョン管理も維持する。
【００１９】
実施形態において、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムおよび方法は、いくつかの既存技術を統合して教師あり機械学習用の「ビッグデータ」を管理する問題を解決する。第１に、実施形態は、トレーニングおよびテストサンプルメタデータおよび意味関係を管理するデジタルオブジェクトレポジトリを組み込む。第２に、実施形態は、分散分析を実行すべきクラウドストレージソリューションを提供する。第３に、実施形態は、機械学習プロセス内のトレーニングバイアスを制御する際にユーザーを支援するように調整されているグラフィカルユーザーインターフェース（ＧＵＩ）を含む。最後に、実施形態は、サンプルストレージおよびメタデータを結び付け、分類器および結果構成管理システムを処理する。
【００２０】
これは、トレーニングおよびテストサンプルメタデータを検索可能な、拡張可能なデータベースに入力するため、ファイルパス名内のトレーニングおよびテストサンプルメタデータを記憶することから離れることによって既存技術を改良する。実施形態は、機械学習およびテストプロセスを自動化する。また、実施形態は、スプレッドシートから構成管理関数を自動化されたサービスに移動する。自動化レベルの上昇により、ユーザーは機械学習ソリューションを開発し、維持することにおいて、エラーと時間を減らすことができる。
【００２１】
図１を参照して、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システム１００の例となるアーキテクチャを例示するブロック図を示す。システム１００の実施形態は、３つ（３）のサブシステム：中央の、デジタルオブジェクトライブラリ管理システム（ＤＯＬＭＳ）サーバー１０２；テストおよびトレーニングクラスタのコンピュータ（本明細書では、テストクラスタ１０４およびトレーニングクラスタ１０６として示される）；およびストレージクラスタのコンピュータ１０８を含む。ＤＯＬＭＳサーバー１０２は、デジタルオブジェクトレポジトリ（ＤＯＲ）ソフトウェア１１２、グラフィカルユーザーインターフェース（ＧＵＩ）ソフトウェア１１４、データベースソフトウェア１１６、および分散分析モジュール１１８を含む、システム１００のいくつかの機能の構成要素をホストするものであってもよい。ＤＯＲソフトウェア１１２は、例えば、ＦｅＤＯＲａ  Ｃｏｍｍｏｎｓ（登録商標）ＤＯＲとして実行してもよいし、ストレージクラスタ１０８と通信するためＦｅＤＯＲａ  Ａｋｕｒｂａ（登録商標）を含むものであってもよい。ＧＵＩソフトウェア１１４は、ＤＯＬＭＳサーバー１０２の、例えば、Ｔｏｍｃａｔ（登録商標）ウェブサーバー１２０の構成要素によってホストされた、例えば、Ｄｊａｎｇｏ（登録商標）ウェブアプリケーションであってもよい。データベースソフトウェア１１６は、例えば、ＰｏｓｔｇｒｅＳＱＬデータベースとして実行するものであってもよい。分散分析モジュール１１８は、例えば、分散Ｐｉｇ（登録商標）分析モジュールとして実行するものであってもよい。ＤＯＬＭＳサーバー１０２およびその構成要素は、相互に通信、および、例えば、ＥＵＬＦｅＤＯＲａメッセージ、ＨＴＴＰ、Ｍａｐ／ＲｅｄｕｃｅメッセージおよびＡｋｕｂｒａ  ＨＤＦＳメッセージを用いたその他のシステム１００のコンポーネントと通信するものであってもよい。いくつかのインスタンス化において、ＤＯＬＭＳサーバー１０２機能は、単一のコンピュータシステム上でホストされるものであってもよい（例えば、ＤＯＬＭＳサーバー１０２は、自己完結ボックスとして実行するものであってもよい）あるいは、複数のコンピュータシステム（例えば、ハードウェアサーバーまたは仮想マシン）にわたって分散するものであってもよい。
【００２２】
ＤＯＲ１１２は、ストレージクラスタ１０８とインターフェースを有し、システム１００およびユーザーがデジタルオブジェクトのライブラリにアクセスし、管理することを可能にする。ＤＯＲ１１２は、ＦＯＸＭＬメタデータストアなどの、メタデータストアを含むものであってもよい。ＤＯＲは、デジタル情報を管理しうるソフトウェアシステムの基礎を提供するデジタル情報について一組の抽象化（abstraction）を利用する概念フレームワークである。メタデータは、データベース内に記憶されないが、検索用にインデックスされる。データは、アクセスポイント（生のビットストリームを含む、仮想データ表示）を通してアクセスされる。各アクセスポイントはＵＲＩを有する。カスタムアクセスポイントを作成しうる。ＤＯＲは、デジタルオブジェクト間のデジタルオブジェクト関係（意味グラフ）の作成を支援する。一例：<is a member of the collection><hasMetadata>。単純なＲＤＦスキーマが用いられる。オブジェクト対オブジェクトの関係が特別なデータストリーム内のデジタルオブジェクトにメタデータとして記憶される。
【００２３】
図１を続けて参照し、テストおよびトレーニングクラスタは、１つの、複合コンピュータシステムまたは別々のテストクラスタ１０４およびトレーニングクラスタ１０６としてインスタンス化されるものであってもよい。テストおよびトレーニングクラスタ（例えば、別々のテストクラスタ１０４およびトレーニングクラスタ１０６）は、分散して機械学習モデルの生成およびモデルテストおよび評価を実行するために用いられる１以上の仮想および物理コンピュータシステムとして実施するものであってもよい。テストおよびトレーニングクラスタの各要素は、トレーニングおよび時間を減らすべく、オブジェクトのローカルストア、またはキャッシュを維持するものであってもよい。テストおよびトレーニングクラスタは一種の機械学習モデルの構築のためのロジックを含み、提供する。例えば、テストおよびトレーニングクラスタは、’６８２出願に記載された機械学習アルゴリズムおよび技術ごとに機械学習モデルの構築を支援するロジックを含むものであってもよい。システム１００は、それに伴う複数のテストおよびトレーニングクラスタを含み、それぞれ１以上の種類の機械学習技術用のロジックを含み、または支援するものであってもよい。このようにして、システム１００は、複数の機械学習モデルの構築を支援するものであってもよい。一実施形態において、テストクラスタ１０４は、複数のテスト仮想マシン（ＶＭ１，ＶＭ２，ＶＭ３…）を含む仮想テストクラスタとして実施するものであってもよい。各テスト仮想マシンは、図のようにファイルキャッシュを含むものであってもよい。トレーニングクラスタ１０６は、ローカルファイルキャッシュを含む、例えば、Ｂａｒｅ  ｍｅｔａｌ  ｔｒａｉｎｅｒとして実施するものであってもよい。
【００２４】
ストレージクラスタ１０８は、レポジトリ内のデジタルオブジェクトと関連付けられたデジタルコンテンツおよびメタデータを記憶する１以上のマシンで実行するものであってもよい。実施形態において、ストレージクラスタ１０８は、ＨＤＦＳ／Ｈａｄｏｏｐクラウドとして実施するものであってもよい。このような実施形態は、複数のノード：例えば、ネームノードおよび複数のワーカーノード（例えば、１…ｎ）を含むものであってもよい。Ｈａｄｏｏｐクラウドは、ＤＯＲ１１２用のストレージバックエンドだが、分析モジュール１１８（例えば、Ｐｉｇ分析モジュールを含む）に直接アクセス可能でもある。分析モジュール１１８は、ＤＯＲ１１２によって管理されたデジタルメタデータオブジェクトを作成するものであってもよい。ストレージクラスタ１０８は、機械学習プロセスで用いられることを目的としたデジタルオブジェクトのライブラリを記憶し、提供する。このライブラリは、デジタルオブジェクトおよび（デジタルオブジェクトとして記憶されるものであってもよい）関連メタデータのコレクションを含む。実施形態において、ストレージクラスタ１０８は、図のようにクラウドストレージとして実施される。ＤＯＬＭＳサーバー１０２上のローカルストレージは、いくつかのインスタンス化において、ストレージクラスタ１０８の代わりをするものであってもよい。
【００２５】
システム１００アーキテクチャは、共有されたソフトウェアレポジトリ１２２を含むものであってもよい。実際、システム１００は、特にインスタンス化および実行のために必要とされるその他のコンポーネントを含むものであってもよい。図１は、１つの可能なアーキテクチャの実行を例示する。
【００２６】
実施形態において、システム１００は、全てのハードウェアの構成要素に必要とされるソフトウェアの構成要素をコピー、インストール、構成およびアップデートするための機構を備えるものであってもよい。
【００２７】
図１を続けて参照し、ＤＯＲ１１２は、システム１００にロードされ、または作成された全てのデジタルオブジェクトの構成管理を追跡し、維持する。さらに、ＤＯＲ１１２は、データベース１１６内のデジタルオブジェクト間の意味関係の知識を記憶する。ＤＯＲ１１２は、ユーザーによって探索（search）および検索（retrieval）に使用可能なオブジェクトおよびそれらの関連メタデータおよび意味関係を作成する。実施形態において、ＤＯＲ１１２は、外部のデータベース、記憶装置、サーチエンジンおよびウェブサーバーと情報をやりとりするアプリケーションプログラミングインターフェース（ＡＰＩｓ）を有する。インスタンス化は、特定のデータベース、記憶装置、サーチエンジンおよびウェブサーバーの利用に応じて変わるものであってもよい。
【００２８】
ＧＵＩ１１４は、ユーザーがＤＯＲ１１２を構成し、ＤＯＲ１１２内のオブジェクトを管理し、ＤＯＲ１１２を探索し、テストおよびトレーニングクラスタ（例えば、トレーニングクラスタ１０６およびテストクラスタ１０４）上で機械学習のトレーニングおよびテストを開始し、テストおよび評価結果を見ることを可能にする。実施形態において、ＧＵＩ１１４は、ユーザーのウェブブラウザを介してアクセス可能なアプリケーションであり、ＤＯＬＭ１０２のウェブサーバー１２０の構成要素によって提供される。ＧＵＩ１１４は、ＤＯＲ１１２およびデータベース１１６と連動して、システム１００上でユーザーアカウントおよび権限を管理（作成、編集、および消去）するために用いるものであってもよい。
【００２９】
図１を続けて参照し、実施形態において、分散解析モジュール１１８は、１以上のデジタルオブジェクト（コレクションと呼ぶ）について、新たな情報を生成するため、ユーザーによって拡張可能で、ストレージクラスタ１０８内のデジタルオブジェクトにわたって動作する、一組のソフトウェアプログラムである。分析モジュール１１８は、デジタルオブジェクトのコレクション内のコンテンツ、メタデータまたは意味関係を作成、読み取り、編集し、または削除するものであってもよい。分析モジュール１１８は、ライブラリ内のデジタルオブジェクトについて、新たなメタデータストリームを作成し、または既存のメタデータを編集するものであってもよい。例えば、分析モジュールは、特定のバイト列の発生の回数を計算し、その結果を新たなメタデータストリームとして記憶するものであってもよい。別の例において、分析は、類似の測定基準（metric）を用いて関連デジタルオブジェクトを特定し、関係メタデータを編集して、この分析結果を反映するものであってもよい。分析モジュール１１８は、オンデマンドまたは定期的に実行するように構成されるものであってもよい。
【００３０】
分析モジュール１１８は、例えば、Ｈａｄｏｏｐ（登録商標）に例示されたＭａｐＲｅｄｕｃeパラダイムを用いて構成し、分散ストレージクラスタ１０８の多重（multiple）ノードにおいて同時に実行することを可能にするものであってもよい。例えば、分析モジュール１１８は、Ｐｉｇ分析モジュール１１８として実行するものであってもよい。Ｐｉｇ分析モジュール１１８は、ファイルロードおよびファイル上で実行する拡張可能な分析スクリプトを含むものであってもよい。マルウェア分析アプリケーションにおいて、分析モジュール１１８は、ファイルの類似の、または再利用された部分を発見するように試みるものであってもよい。Ｈａｄｏｏｐは、Ａｐａｃｈｅによって提供された分散コンピューティングフレームワークである。Ｈａｄｏｏｐは、コモディティハードウェアから構築されたコンピュータクラスタ上の非常に大きなデータセット（ビッグデータ）の分散ストレージおよび分散処理用の一組のアルゴリズムを提供する。Ｈａｄｄｏpの２つの主要な構成要素は、ストレージコンポーネント（Ｈａｄｏｏｐ分散ファイルシステム（ＨＤＦＳ））および処理コンポーネント（ＭａｐＲｅｄｕｃｅ）である。Ｈａｄｏｏｐは、ファイルを大きなブロック（例えば、６４ＭＢまたは１２８ＭＢ）に分割し、当該ブロックをストレージクラスタ１０８内のノードに分配する。データを処理するため、Ｈａｄｏｏｐ  Ｍａｐｒｅｄｕｃｅは、必要なデータを有するストレージクラスタ１０８内のノードであって、前記データを並列に処理するノードにコードを転送する。Ｈ−ｂａｓｅなどの、分散データベースは、Ｈａｄｏｏｐと連動して実行することで、小さなファイルオブジェクトへのアクセスを改善するものであってもよい。この方法は、計算およびデータが高速ネットワークによってつながった並列ファイルシステムに依存する従来のスーパーコンピュータアーキテクチャを用いるよりも、データの局所性を活用して、分散処理によって、より早く、より効率的にデータを処理する。
【００３１】
本明細書に記載された機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システム１００の実施形態は、教師あり機械学習の分類器モデルの制御された構築および評価用に用いられる。分類器モデルは、モデルによって定義されたオブジェクトクラスの一つへの未知のインスタンスの割り当てをもたらす判定ロジックを含む。判定ロジックは、オブジェクト内の一組の特徴に基づく。特徴の定義および選択／縮小はトレーニングプロセスの一部として動的に発生するものであってもよく、またはトレーニング前にユーザーによって静的に定義されるものであってもよい。機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システム１００は、一組のラベルありトレーニングインスタンス、すなわち、教師あり機械学習に基づくが、機械学習のいかなる個別のタイプ（individual ro type）に特有でなく、または当該タイプに限定されない分類器モデルの開発に用いられるものであってもよい。教師あり、または半教師あり機械学習用の多くの異なるアルゴリズムおよびプロセスがシステム１００の実施形態内で用いられるものであってもよい。システム１００の実施形態は、トレーニングおよびテストクラスタ内の教師あり機械学習に１以上の方法を組み込むものであってもよい。
【００３２】
図１を続けて参照し、ユーザーはＧＵＩ１１４を介して、またはＤＯＲ  ＡＰＩ（図示せず）を介してデジタルオブジェクトをＤＯＲ１１２にアップロードするものであってもよい。例えば、ＧＵＩ１１４は、ユーザーにローカルマシン、ネットワーク、ネットワークシステムまたはその他のソース上に常駐するデジタルオブジェクトを選択可能にするものであってもよい。あるいは、ＤＯＲ  ＡＰＩは、既知の記憶場所内のデジテルオブジェクトを検出して、アップロードするものであってもよい。オブジェクトメタデータは、例えば、ＤＯＲ１１２によって、ｉｎｇｅｓｔ上で関連して構築され、例えば、ＤＯＲ１１２によって、新たに、アップロードされたデジタルオブジェクトで構築される。オブジェクトメタデータは、本明細書に記載されたようなアップロードされたデジタルオブジェクトに（例えば、ポインタによって）リンクした別個のオブジェクトとして記憶するものであってもよい。共通のメタデータフィールドは、機械学習用のコンテンツおよび特徴に関連したオブジェクトの作成、ｉｎｇｅｓｔ時間、ソース、既知の分類、オブジェクトのサイズおよび質の測定を含む。メタデータは、デジタルオブジェクト間の関係に関する情報を含むものであってもよい。メタデータは、例えば、ＧＵＩ１１４により、または自動化決定に基づき、ユーザーの入力に基づき構築するものであってもよい。既存のデジタルオブジェクトは、必要なら、ＤＯＲ  ＡＰＩを介して加えられるそれらのメタデータを有するものであってもよい。サンプルファイルは、ＧＵＩ１１４を通じてアップロードされ、テストリストオブジェクトと手動で関連づけられるものであってもよい。オブジェクトコンテンツおよびメタデータはいずれも、ストレージクラスタ１０８内に記憶される。
【００３３】
全クラスのオブジェクトがライブラリに加えられたときに、教師あり機械学習プロセスを開始するものであってもよい。教師あり機械学習プロセスは、機械学習プロセスで用いられたモデルを構築して検証し、既知のオブジェクトを１以上のカテゴリに分類する。教師あり機械学習プロセスにおいて、ユーザーは、メタデータに基づき、クエリ（例えば、ＳＱＬクエリ）を構築し、ＧＵＩ１１４を用いてトレーニングおよびテストセットプロパティを設定する。トレーニングおよびテストセットプロパティは、クラス間のエントリーのセットサイズおよび望ましいディストリビューションなどの要素を含む。Ｃｏｍｐｌｅｘクエリは、オブジェクトメタデータの値に基づき、トレーニングおよびテストセットメンバシップを限定するために用いられる。例えば、ユーザーは、特定の日付（例えば、DATE >= 01012014）の後で作成され、ユーザーの企業（例えば、SOURCE ! = My Company）から供給されたものでなく、安全および悪質なサンプルが均等に混合したものを含む（例えば、BENIGN_RATIO == 0.5）特定のファイルタイプ（例えば、filetype == PDF）のオブジェクトを選択するクエリを生成することによってトレーニングリストを作成することを望むものであってもよい。作成されたトレーニングおよびテストセットは、ＤＯＲ１１２内に入力され、当該セットおよびそれらの構成メンバオブジェクト間で意味関係が作成される。
【００３４】
テストおよびトレーニングセットがいったん構築されると、ユーザーは、トレーニングおよびテストクラスタ上（例えば、トレーニングクラスタ１０６上）で分類器の生成を開始することができる。代表的な実行において、ストレージクラスタ１０８から適切なオブジェクトをコピーし、それらをトレーニングクラスタ１０６のノード（図示しないノード）に設定するためにトレーニングリストが用いられる。あるいは、トレーニングクラスタ１０６のノードは、ストレージクラスタ１０８からのトレーニングオブジェクトにアクセスできるものであってもよい。使用される特定の機械学習技術（例えば、’６８２出願を参照）に応じてトレーニングを実行するものであってもよい。システム１００は、複数の機械学習のアルゴリズムまたは技術を含むものであってもよい。ユーザーは、システム１００に組み込まれたさまざまな機械学習アルゴリズムから選択するものであってもよい。そのような機械学習アルゴリズムの例は、’６８２出願に記載されたアルゴリズムの他、その他の単純ベイズ、決定木、ランダム森、および人工の神経ネットワークアルゴリズムも含む。トレーニングがいったん完了すると、トレーニング分類器およびトレーニングリストおよびその中のオブジェクト間で意味関係が設定されて、ＤＯＲ１１２に結果のモデル／分類器が入力される。意味関係は、<memberOf>、<derivedFrom>、<similarTo>または<contains>に似た形式の分野として、オブジェクトメタデータ内に示すものであってもよい。
【００３５】
複数のモデル／分類器を同時にトレーニングするものであってもよく、集合分類器または分類器バンドルにまとめるものであってもよい。生成される１以上の分類器を、複数のコンピュータ上で同時に生成するものであってもよい。その後、テストセットを用いて分類器を評価するものであってもよい。テストセットは、トレーニングセットからデジタルオブジェクトを含む、または含まないものであってもよい。システム１００は、複数のコンピュータ上の分類器を同時にテストするものであってもよい。評価結果がいったん出たら、ＤＯＲ１１２内の分類器のメタデータは、分類器およびテストリストおよびその中のオブジェクト間で意味関係が設定されて更新される。
【００３６】
その後、ユーザーは、ＧＵＩ１１４を介して結果にアクセスして、分類器を検索し、テスト結果を見て、トレーニングリストを編集するものであってもよい。さらに、ＧＵＩ１１４は、データソースによって、ブレイクアウトを示すライブラリの全コンテンツに関する統計を提供するようにしてもよい。実施形態において、ＧＵＩ１１４は、認定された外部のパーティーからのウェブポータルを介してデジタルオブジェクトの寄与（contributions）を促進させる。
【００３７】
実施形態において、デジタルオブジェクトライブラリ管理システム１００は、機械学習モデルの構築および維持を支援し、悪質なソフトウェアから安全なソフトウェアを分類するために用いられるものであってもよい。多数の既知の安全および悪質なソフトウェアがライブラリ内に（例えば、ストレージクラスタ１０８内に）記憶される。トレーニングまたはテストセット内に含まれるかどうかを判定すべき各ファイルについて、メタデータを用いてファイルタイプ単位で分類器を生成するものであってもよい。分類器は管理され、新たなサンプルを収集すると、時間とともにアップデートされる。分類器が生成されると、テスト結果を検討して適切なパフォーマンスを確保するか、または新たな学習のメカニズム、特徴セットもしくは特徴選択アルゴリズムをテストする。
【００３８】
図２を参照して、トレーニングおよびテスト機械学習モデル用の方法２００の実施形態を例示するフローチャートが示される。方法２００は、図１に例示されるシステム１００など、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムの実施形態によって、および当該実施形態を用いて実装（implement）または実行（execute）するものであってもよい、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理用の方法である。方法２００は、ストレージクラスタ１０８内に記憶するものであってもよい、ライブラリに、複数の機械可読なデジタルオブジェクトを投入する、ブロック２０２。デジタルオブジェクトは、選択して、上述のように、ＧＵＩ１１４および／またはＤＯＲ  ＡＰＩを用いて、ライブラリ内に（例えば、ストレージクラスタ１０８内に）アップロードするものであってもよい。実施形態において、デジタルオブジェクトは、ファイル（例えば、Ｐ３２ファイル、実行ファイル、音声ファイル、文書ファイル、画像ファイル等）などの、コンテンツオブジェクトである。投入されたライブラリ内のデジタルオブジェクトは、追加の機械可読なデータ、例えば、デジタルオブジェクトおよびデジタルオブジェクト間の関係について、またはその他の方法でデジタルオブジェクトおよびデジタルオブジェクト間の関係を記述するメタデータを含むように修正されるものであってもよい、ブロック２０４。メタデータを含むべくデジタルオブジェクトの修正２０４は、ライブラリへの投入２０２による１以上のデジタルコンテンツオブジェクトと関連付けられているデジタルメタデータオブジェクトを作成するシステム１００を含むものであってもよい。あるいは、修正２０４は、ＤＯＲ１１２インターフェースを利用するか、またはその利点を活用するものであってもよい。さらなる代替として、投入２０２は、ストレージクラスタ１０８内へのデジタルメタデータオブジェクトの作成および記憶を含むものであってもよく、修正２０４は、既に存在するデジタルメタデータオブジェクトの編集／修正を含むものであってもよい。いずれにせよ、受け付けたユーザーの入力（例えば、GUIを通じて受け付けた）に基づき、システム１００によって修正２０４を実行するものであってもよい。図３を参照して、システム１００の実施形態を用いて作成されたメタデータを有するデジタルオブジェクトの一例が示される。
【００３９】
ライブラリへの投入２０２および追加の記述データを含むオブジェクトの修正２０４がいったんなされたら、方法２００は、１以上のカテゴリに未知のオブジェクトを分類するために用いられるモデルの構築および検証用のオブジェクトリストを生成するものであってもよい、ブロック２０６。生成されたリストは、投入されたライブラリからオブジェクトのトレーニングリストおよびテストリストを含むものであってもよい。例えば、トレーニングリストの生成（構築）、その後、検証（テストまたは評価）リストの生成のように、別々の手順でリストの生成２０６を行うものであってもよい。ＧＵＩ１１４を通じてなされたユーザーの選択および入力に基づき、リストの生成２０６を行うものであってもよい。例えば、ＧＵＩ１１４へのユーザーの入力に基づき構築されているクエリに基づき、リストの生成２０６を行うものであってもよい、ブロック２０８。これらのクエリは、ＳＱＬまたはＳＱＬ状のクエリステートメントの形式であってもよい。
【００４０】
方法２００は、１以上の機械学習モデルまたはトレーニング分類器の生成を開始するものであってもよい、ブロック２１０。例えば、構築（トレーニング）リストおよびトレーニングクラスタ１０６を用いて、機械学習モデルを生成するものであってもよい。それゆえ、システム１００および方法２００は、１以上のモデルを生成するものであってもよい。トレーニングクラスタ１０６は、特定の機械学習アルゴリズムおよび技術ごとに機械学習モデルを生成するのに必要なソフトウェアコード（命令）を含むものであってもよい。モデルは、特定のタイプ（例えば、ＰＤＦ、Ｗｉｎｄｏｗｓ実行ファイル、Ｌｉｎｕｘ実行ファイル、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅファイル）の（またはそうでない可能性より特定のタイプである可能性が高い）（トレーニングリストに記載された）デジタルオブジェクトを含むものであってもよい。単一のコンピュータで、または複数のコンピュータ上で同時に、機械学習モデルを生成するものであってもよい。これは、単一のコンピュータまたは複数のコンピュータにわたってインスタンスを作成されたトレーニングクラスタ１０６によって行われるものであってもよい。
【００４１】
図２を続けて参照し、機械学習モデルが生成された後、方法２００は、１以上の機械学習モデルのテストまたは評価を開始するものであってもよい、ブロック２１２。機械学習モデルは、例えば、検証（テスト／評価）リストおよびテストクラスタ１０４を用いてテストするものであってもよい。それゆえ、システム１００および方法２００は、１以上のモデルをテストするものであってもよい。テストクラスタ１０４は、特定の機械学習アルゴリズムおよび技術ごとに機械学習モデルをテストするために必要なソフトウェアコード（命令）を含むものであってもよい。テストは、特定のタイプ（例えば、ＰＤＦ、Ｗｉｎｄｏｗｓ実行ファイル、Ｌｉｎｕｘ実行ファイル、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃeファイル）であることが分かっているデジタルオブジェクトを用いて、決定するものであってもよい。評価用に用いられるデジタルオブジェクトは、例えば、デジタルオブジェクトライブラリ管理システムを用いるユーザーによって選択された、テストリストからのものであってもよい。単一のコンピュータで、または複数のコンピュータ上で同時に、１以上の機械学習モデルをテストするものであってもよい。これは、単一のコンピュータまたは複数のコンピュータにわたってインスタンスを作成されたテストクラスタ１０４によって達成されるものであってもよい。機械学習モデルを評価するとき、システム１００は、評価結果を生成するものであってもよい。ＧＵＩ１１４を通じてユーザーに表示されることもある、評価結果は、機械学習モデルの効果（例えば、モデルが正確にサンプルのクラスを予測できるか否か）を示す。
【００４２】
方法２００はまた、モデル、オブジェクトリスト、評価結果およびこれらのデジタルオブジェクト間の関連を記憶するものであってもよい、ブロック２１４。モデル、オブジェクトリスト、評価結果およびこれらの関連は、ストレージクラスタ１０８内への記憶２１４であってもよい。そのような項目は、例えば、さまざまなオブジェクトリスト（例えば、トレーニングリストまたは評価リスト）内のデジタルオブジェクト（すなわち、ｃｏｎｓｔａｎｔオブジェクト）を指し示し、一緒に関連付ける情報、評価リスト内の既定のデジタルオブジェクトの評価結果を示す情報等を含むメタデータデジタルオブジェクトの利用を通じて記憶するものであってもよい。方法２００は、オブジェクトメタデータ、オブジェクトリスト、関連情報および評価結果の画像表示も生成するものであってもよい、ブロック２１６。ウェブサーバー１２０は、画像表示を生成するものであってもよい。生成２１６による画像表示は、例えば、ユーザーのワークステーション上でユーザーにＧＵＩ１１４によって表示されるものであってもよい。方法２００は、デジタルオブジェクトのライブラリにわたって分散可能なアルゴリズムを実行させるものであってもよい。例えば、方法２００は、デジタルオブジェクトのライブラリにわたってｍａｐ／ｒｅｄｕｃｅアルゴリズムの実行２１８を行うものであってもよい。Ｍａｐ／ｒｅｄｕｃｅアルゴリズムは、デジタルオブジェクト（例えば、コンテンツオブジェクト）間の関係を探索し、当該オブジェクトのサブセットについてメタデータを生成し、またはオブジェクトのライブラリについて統計を作成するものであってもよい。Ｍａｐ／ｒｅｄｕｃｅアルゴリズムは、複数の物理サーバー上でのライブラリの物理的な分散を活用して、分析時間を減らす。
【００４３】
図４を参照して、機械学習アプリケーション用のデジタルオブジェクトライブラリ管理システムの実施形態の例示となるコンピュータシステムの構成要素が示される。サーバー４００は通常、メモリ４０２、二次記憶装置４０４、プロセッサ４０６、ネットワーク接続４０８を含む。システム４００は、ＧＵＩおよびその他のインターフェースを表示するための（図示しない）ディスプレイを含むものであってもよい。メモリ４０２は、ＲＡＭまたは類似の種類のメモリを含むものであってもよく、プロセッサ４０６による実行用の１以上のアプリケーション（例えば、ＤＯＬＭＳサーバーおよびそのＤＯＲ、ＧＵＩ、データベースおよび分散分析モジュール、テストおよびトレーニングクラスタおよびストレージクラスタを提供するために必要なアプリケーション）をホストまたは記憶するものであってもよい。二次記憶装置４０４は、アプリケーションをより永続的に記憶するハードディスクドライブまたはその他の種類の非揮発性のデータストレージを含むものであってもよい。プロセッサ４０６は、メモリ４０２または二次記憶装置４０４内に記憶された、またはインターネットもしくはその他のネットワークから受信したアプリケーションを実行する。ネットワーク接続４０８は、ネットワークまたは外部装置への接続（例えば、ＵＳＢまたはイーサネット接続）用のいかなる種類の接続を含むものであってもよい。
【００４４】
サーバー４００は、例えば、アプリケーションに必要な、またはアプリケーションによって用いられる情報を記憶し、維持するために、二次記憶装置４０４内のデータベースを記憶するものであってもよい。また、プロセッサ４０６は、特に、上述の方法において、本明細書に記載された機能を提供するために１以上のソフトウェアアプリケーションを実行するものであってもよく、コンピュータまたはその他のマシンによって実行するための、ソフトウェアモジュールなどの、ソフトウェア内で処理を行うものであってもよい。前記処理は、上述のＧＵＩ１１４などの、ウェブページおよびその他のＧＵＩを提供し、支援するものであってもよい。ＧＵＩは、例えば、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）、拡張マークアップ言語（ＸＭＬ）またはその他のディスプレイ装置上の提示のための、いかなる適切な形式のウェブページとして、フォーマットされるものであってもよい。
【００４５】
サーバー４００は、さまざまな構成要素で表現されているが、当業者は、サーバーが追加の、または異なる構成要素を含みうることを十分に理解するであろう。また、以上と一致する実行の態様は、メモリに記憶されているものと記載されているが、当業者は、これらの態様が、その他の種類のコンピュータプログラム製品または二次記憶装置などの、コンピュータ可読媒体に記憶され、または読み込まれうることも十分に理解するであろう。コンピュータ可読媒体は、サーバー４００などの、コンピュータシステムを制御するための命令を含み、特定の方法を実行するものであってもよい。サーバー４００は、本明細書に記載された機能および方法を実行することを目的としたブレードサーバーシステムの一部であってもよい。
【００４６】
当業者は、本発明の精神および範囲を逸脱することなく、さまざまな修正および変更が上述の実施形態になされることを十分に理解するであろう。それゆえ、本発明が上述の特定の実施形態に限定されないことが理解されるが、それは、以下のクレームによって規定される上記の修正および変更を含むことを意図している。
【図１】
2018514840.tif 000003
【図２】
2018514840.tif 000004
【図３】
2018514840.tif 000005
【図４】
2018514840.tif 000006
【国際調査報告】
2018514840.tif 000007
2018514840.tif 000008
2018514840.tif 000009
2018514840.tif 000010