以下の詳細な説明は例証に過ぎず、実施形態及び/又は実施形態の用途もしくは使用を制限することを意図するものではない。さらに、前述の概要セクション又は詳細な説明セクション内に提示されたいずれの明示的情報又は暗黙的(implied)情報にも制約されることを意図しない。
ここで、図面を参照して、1つ又は複数の実施形態を説明し、図面においては、全体を通して同様の要素を指すために同様の参照番号を用いる。以下の説明において、説明のために、1つ又は複数の実施形態のより完全な理解を与えるために、多数の特定の詳細が説明される。しかしながら、種々の場合において、1つ又は複数の実施形態を、これらの特定の詳細なしに実施できることが明らかである。
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に述べられる教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている又は後に開発される他のあらゆるタイプのコンピューティング環境と共に実装することが可能である。
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
特徴は、以下の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で位置とは独立しているといえるが、より抽象化レベルの高い位置(例えば、国、州、又はデータセンタ)を特定できる場合がある。
迅速な弾力性:機能は、迅速かつ弾力的に、幾つかの場合自動的に、プロビジョニングして素早くスケール・アウトし、迅速にリリースして素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
サービス・モデルは以下の通りである。
Software as a Service(SaaS):クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Platform as a Service(PaaS):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイするために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
Infrastructure as a Service(IaaS):コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイ及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント(例えば、ホストのファイアウォール)選択の限定された制御を有する。
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、構内又は構外に存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって結び付けられる2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
多くの場合、デジタル・データは、コンピューティング・デバイス、もしくはユーザ識別又はその両方と関連付けられる。例えば、医用画像は、患者もしくは医用画像を生成する医療機器又はその両方と関連付けることができ、音声データは、ユーザもしくは音声データを生成するコンピューティング・デバイス又はその両方などと関連付けることができる。さらに、デジタル・データは、多くの場合、種々の技術的目的のために分析される。しかしながら、一般に、デジタル・データの匿名化解除(de-anonymization)なしに、デジタル・データを分析するのは困難である。
本明細書で説明される実施形態は、データの匿名化を容易にするシステム、コンピュータ実施方法、及びコンピュータ・プログラム製品を含む。例えば、データの層状確率的匿名化を用いて、改善されたセキュリティもしくはデジタル・データの品質又はその両方を提供することができる。1つの態様において、データの生成モデル(generative model)(例えば、デジタル・データの生成モデル)を用いて、データの匿名化を容易にすることができる。生成モデルへの入力として提供できる識別データに基づいて、生成モデルを検索することができる。識別データは、ユーザ識別と関連付けられたデータとすることができる。さらに、データの元のバージョンではなく、生成モデルにより生成された出力を提供することができる。1つの実施形態において、ユーザは、暗号化通信チャネルを介して、ユーザ識別と関連付けられたデータをサブミットすることができる。ユーザ識別と関連付けられたデータに基づいて、生成モデルを生成することができる。生成モデルは、ユーザ識別と関連付けられたデータにより特定されるタイプの例を生成するように訓練することができる。付加的に、統計的制約のセットを生成モデルに適用し、ユーザ識別と関連付けられたデータとの類似性の勾配に沿って、例のセットを生成することができる。さらに、特定の特徴の存在又は可能性について、例のセットを評価することができる。評価の質についての信頼推定値(confidence estimate)(例えば、特定の特徴の存在又は可能性の評価)を求めることもできる。特定の実施形態において、ユーザと信頼推定値と関連付けられたスコアリング・プロトコルとの間のネゴシエーション・プロセスを提供し、信頼推定値を観察することに応答して、ユーザが、データと関連付けられた増加した量の識別情報を解放するのを可能にすることができる。従って、データの匿名化を改善することができる。例えば、データを匿名化すると同時に、例えば匿名化されたデータの分析を行うこともできる。従って、データのセキュリティもしくは質又はその両方を与えることもできる。さらに、機械学習プロセスにより生成されたデータの精度の改善、機械学習プロセスにより生成されたデータの質の改善、機械学習プロセスにより生成されたデータの速度の改善、及び/又は機械学習プロセスを用いてデータを分析するためのコストの削減が可能である。機械学習プロセスにより生成された機械学習モデルの精度もしくは効率又はその両方をもたらすこともできる。
図1は、本明細書で説明される1つ又は複数の実施形態による、データの匿名化を容易にする例示的かつ非限定的なシステム100のブロック図を示す。例えば、システム100は、データの層状確率的匿名化を容易にすることができる。種々の実施形態において、システム100は、これらに限定されるものではないが、機械学習技術、人工知能技術、バッチ学習技術、コンピュータ技術、サーバ技術、情報技術、デジタル技術、データ分析技術、データ分類技術、データ・クラスタリング技術、医用イメージング技術、医療機器技術、フィルタリング技術、推薦システム技術、信号処理技術、画像処理技術、ビデオ処理技術、音声処理技術、もしくは他のデジタル技術、又はその組み合わせなどの技術と関連付けられた機械学習システムとすることができる。システム100は、ハードウェアもしくはソフトウェア又はその両方を用いて、事実上非常に専門的であり、抽象的ではなく、人間による精神的な行為のセットとして実行できない問題を解決することができる。さらに、データ匿名化もしくは機械学習又はその両方に関連した定義されたタスクを実行するために、1つ又は複数の専用コンピュータ(例えば、1つ又は複数の専用処理ユニット、データ匿名化コンポーネントを有する専用コンピュータ等)によって、実行されるプロセスの一部を実行することができる。システム100もしくはシステムのコンポーネント又はその両方を用いて、上述した技術の進歩、機械学習の利用、及び/又はコンピュータ・アーキテクチャの利用等によって生じる新しい問題を解決することができる。システム100の1つ又は複数の実施形態は、機械学習システム、人工知能システム、バッチ学習システム、コンピュータ・システム、サーバ・システム、情報システム、デジタル・システム、データ分析システム、データ分類システム、データ・クラスタリング・システム、医用イメージング・システム、医療機器システム、フィルタリング・システム、推薦システム、信号処理システム、画像処理システム、ビデオ処理システム、音声処理システム、もしくは他のシステム又はその組み合わせの技術的改善をもたらし得る。システム100の1つ又は複数の実施形態は、処理ユニットの処理性能の改善、処理ユニットの処理効率の改善、及び/又は処理ユニットが機械学習プロセスを実行する時間の短縮によって、機械学習プロセスと関連付けられた処理ユニット(例えば、プロセッサ)の技術的改善をもたらすこともできる。
図1に示される実施形態において、システム100は、データ匿名化コンポーネント102を含むことができる。図1に示されるように、データ匿名化コンポーネント102は、機械学習コンポーネント104と、評価コンポーネント106とを含むことができる。データ匿名化コンポーネント102の態様は、例えば、1つ又は複数の機械と関連付けられた1つ又は複数のコンピュータ可読媒体(単数又は複数)内に具体化されるなど、機械内に具体化された機械実行可能コンポーネントを構成することができる。そうしたコンポーネントは、例えば、コンピュータ、コンピューティング・デバイス、仮想機械等などの1つ又は複数の機械により実行されるとき、該機械に、説明される動作を実行させることができる。1つの態様において、データ匿名化コンポーネント102は、コンピュータ実行可能コンポーネント及び命令を格納するメモリ108を含むこともできる。さらに、データ匿名化コンポーネント102は、データ匿名化コンポーネント102による命令(例えば、コンピュータ可読コンポーネント及び対応する命令)の実行を容易にするプロセッサ110を含むことができる。図示のように、1つ又は複数の実施形態において、機械学習コンポーネント104、評価コンポーネント106、メモリ108、もしくはプロセッサ110又はその組み合わせは、互いに電気的に及び/又は通信可能に結合することができる。
データ匿名化コンポーネント102(例えば、データ匿名化コンポーネント102の機械学習コンポーネント104)は、データ112を受け取ることができる。データ112は、1つ又は複数のデバイスにより生成され得る。付加的に又は代替的に、データ112は、1つ又は複数のデバイスと関連付けられたデータ112を受け取る及び/又は格納する1つ又は複数のデータベース内に格納することができる。1つの態様において、データ112は、デジタル・データとすることができる。さらに、データ112は、これらに限定されるものではないが、医用イメージング・データ、音声データ、画像データ、ビデオ・データ、文字データ、もしくは他のデータ又はその組み合わせといった、1つ又は複数のタイプのデータを含むことができる。データ112は、エンコードされたデータ、処理データ、もしくは未加工データ又はその両方とすることもできる。1つの態様において、データ112を1つ又は複数の特徴、もしくは1つ又は複数の特性又はその両方と関連付けることができる。さらに、データ112をユーザ識別と関連付けることができる。例えば、データ112は、ユーザの1つ又は複数の特徴、もしくは1つ又は複数の特性又はその両方を識別することができる識別データとすることができる。非限定的な実施形態において、データ112は、1つ又は複数の医療機器により生成された2次元の医療データ、もしくは3次元の医療データ又はその両方とすることができる。一例において、データ112は、センサのセット(例えば、医療機器と関連付けられたセンサのセット)を介してキャプチャされた電磁放射画像とすることができる。特定の実施形態において、センサ112は、ある期間中、センサのセット(例えば、医療機器と関連付けられたセンサのセット)を介してキャプチャされた一連の電磁放射画像とすることができる。医療機器は、例えば、x線装置、医用共鳴イメージング・デバイス、コンピュータ断層撮影(CT)デバイス、別のタイプの医療機器等とすることができる。一例において、データ112は、患者と関連付けることができる。
機械学習コンポーネント104は、データ112について機械学習プロセスを実行することができる。機械学習コンポーネント104と関連付けられた機械学習プロセスは、教師なし学習(unsupervised learning)と関連付けられた機械学習プロセスとすることができる。さらに、機械学習コンポーネント104と関連付けられた機械学習プロセスは、生成モデルとすることができる。例えば、機械学習コンポーネント104と関連付けられた機械学習プロセスは、データ112の分布又はパターンを判断することができる。さらに、機械学習コンポーネント104は、データ112と一定の類似度範囲内の1つ又は複数の例示的データセットを含む機械学習出力データを生成することができる。機械学習出力データは、これらに限定されるものではないが、医用イメージング・データ、音声データ、画像データ、文字データ、もしくは他のデータ又はその組み合わせのような、1つ又は複数のタイプのデータを含むことができる。1つの態様において、データ112及び機械学習出力データは、対応するデータ形式を含むことができる。例えば、データ112は、医用イメージング・データとし、機械学習出力データは、医用イメージング・データの例示的データセットとすることができる。1つの実施形態において、機械学習コンポーネント104と関連付けられた機械学習プロセスは、変分オートエンコーダ(variational autoencoder)を用いることができる。例えば、変分オートエンコーダは、データ112と関連付けられた確率分布を用いて、データ112と一定の類似度範囲内の1つ又は複数の例示的データセットを含む機械学習出力データを生成することができる。付加的に又は代替的に、機械学習コンポーネント104は、隠れマルコフモデル(Hidden Markov Models、HMM)、ベイジアンモデル(例えば、ベイジアン・ネットワーク)、確率的文脈自由文法モデル(probabilistic context-free grammar model)、単純ベイズモデル(Naive Bayes model)、混合ガウスモデル(Gaussian mixture models)、もしくは別のタイプの生成機械学習プロセス又はその組み合わせを用いて、データ112と一定の類似度範囲内の1つ又は複数の例示的データセットを含む機械学習出力データを生成することができる。従って、機械学習コンポーネント104は、1つ又は複数の特徴と関連付けられた第1のデータについて機械学習プロセスを実行し、第1のデータと一定の類似度範囲内の1つ又は複数の例示的データセットを示す第2のデータを生成することができる。第1のデータ及び第2のデータは、例えば、対応するデータ形式を含むことができる。さらに、機械学習コンポーネント104は、機械学習プロセス中、第1のデータと関連付けられた生成モデルを用いて、第2のデータを生成することができる。付加的に又は代替的に、特定の実施形態において、機械学習コンポーネント104は、機械学習プロセス中、第1のデータと関連付けられた変分オートエンコーダを用いて、第2のデータを生成することができる。
評価コンポーネント106は、1つ又は複数の特徴からの特定の特徴について機械学習出力データを評価することができる。評価コンポーネント106は、人工知能の原理を用いて、1つ又は複数の特徴からの特定の特徴について機械学習出力データの評価を容易にすることができる。評価コンポーネント106は、機械学習出力データに関して学習を明示的に又は暗黙的に実行することができる。1つの態様において、評価コンポーネント106は、人工知能の原理と関連付けられた分類、相関、推論、もしくは表現又はその組み合わせに基づいて、1つ又は複数の特徴からの特定の特徴について機械学習出力データを評価することができる。例えば、評価コンポーネント106は、自動分類システムもしくは自動分類プロセス又はその両方を用いて、1つ又は複数の特徴からの特定の特徴について機械学習出力データを評価することができる。さらに、評価コンポーネント106は、匿名化された出力データ114を生成することができる。匿名化された出力データ114は、機械学習出力データについての信頼スコアを示すものとすることができる。1つの実施形態において、評価コンポーネント106は、ディープ・ラーニング・ネットワークに基づいて、機械学習出力データを評価することができる。ディープ・ラーニング・ネットワークは、ディープ・ラーニングを用いて、機械学習出力データと関連付けられた少なくとも1つの特徴を判断する人工ニューラル・ネットワークとすることができる。ディープ・ラーニング・ネットワークは、例えば、教師あり学習(supervised learning)を用いて、機械学習出力データと関連付けられた少なくとも1つの特徴を判断することができる。さらに、ディープ・ラーニング・ネットワークは、第1の層が第2の層の出力を第1の層に対する入力として用いることができる一連の多層の非線形処理を用いる生体神経系に類似した情報を処理することができる。
非限定的な実施形態において、評価コンポーネント106は、畳み込み(convolutional)ニューラル・ネットワークに基づいて、機械学習出力データを評価することができる。畳み込みニューラル・ネットワークは、ディープ・ラーニングを用いて、機械学習出力データと関連付けられた少なくとも1つの特徴を判断する順伝播型(feed-forward)人工ニューラル・ネットワークとすることができる。さらに、畳み込みニューラル・ネットワークは、機械学習出力データと関連付けられた少なくとも1つの特徴を判断するための、教師あり学習と関連付けられた分類器とすることができる。例えば、畳み込みニューラル・ネットワークは、1つ又は複数の畳み込み動作を機械学習出力データに適用する畳み込み層のセットを含むことができる。畳み込みニューラル・ネットワークは、機械学習出力データと関連付けられた分類スコアを計算する全結合層(fully connected layer)のセットを含むこともできる。付加的に、特定の実施形態において、畳み込みニューラル・ネットワークは、ダウンサンプリングを行って、機械学習出力データと関連付けられた空間方向の次元(spatial dimension)を調整するプーリング層のセットを含むこともできる。しかしながら、特定の実施形態において、評価コンポーネント106は、別のタイプのディープ・ラーニング・ネットワークを用い得ることを理解されたい。1つの実施形態において、評価コンポーネント106は、機械学習出力データと関連付けられた信頼スコアを示すスコアリング・データを生成することができる。例えば、評価コンポーネント106は、特定の特徴がデータ112内に含まれる信頼度を示す信頼スコアを示すスコアリング・データを生成することができる。スコアリング・データは、例えば、第3のデータとすることができる。特定の実施形態において、匿名化された出力データ114は、スコア・データを含むことができる。別の実施形態において、評価コンポーネント106は、スコアリング・データが規定の基準を満たすとの判断に応答して、機械学習出力プロセスと関連付けられたディープ・ラーニング・ネットワークの付加的な層のための、データ112と関連付けられた他のデータを用いることができる。例えば、評価コンポーネント106は、スコアリング・データが規定の基準を満たすとの判断に応答して、データ112と関連付けられた他のデータを用いることができる。さらに、評価コンポーネント106は、スコアリング・データが規定の基準を満たすとの判断に応答して、機械学習出力データと関連付けられた畳み込みニューラル・ネットワークの付加的な層を用いることができる。データ112と関連付けられた他のデータは、例えば、データ112と関連付けられたユーザ識別についての増加した量の識別データと関連付けられた付加的なデータとすることができる。特定の実施形態において、ユーザと関連付けられたユーザ・データは、ディープ・ラーニング・ネットワークの付加的な層のための、データ112と関連付けられた他のデータの利用を開始することができる。
データ匿名化コンポーネント102(例えば、機械学習コンポーネント104もしくは評価コンポーネント106又はその両方)は、人間が実行できない(例えば、単一の人間の精神の能力を上回る)データ匿名化プロセスを実行することを認識されたい。例えば、特定の期間にわたる、データ匿名化コンポーネント102(例えば、機械学習コンポーネント104もしくは評価コンポーネント106又はその両方)により処理されるデータ量、データの処理速度、もしくは処理されるデータ・タイプ又はその組み合わせは、同じ期間にわたる、単一の人間の精神により処理することができる量より多く、その速度を上回り、そのデータ・タイプとは異なるものであり得る。データ匿名化コンポーネント102(例えば、機械学習コンポーネント104もしくは評価コンポーネント106又はその両方)は、上述のデータ匿名化プロセスも実行しながら、1つ又は複数の他の機能の実行を目的として完全に動作すること(例えば、完全パワーオンすること、完全に実行すること等)もできる。さらに、データ匿名化コンポーネント102(例えば、機械学習コンポーネント104もしくは評価コンポーネント106又はその両方)により生成される匿名化された出力データ114は、ユーザにより手作業で取得できない情報を含み得る。
図2は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム200のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム200は、データ匿名化コンポーネント102を含む。データ匿名化コンポーネント102は、機械学習コンポーネント104、評価コンポーネント106、もしくは通信コンポーネント202、又はその組み合わせを含むことができる。通信コンポーネント202は、データ112を受け取ることができる。付加的に又は代替的に、通信コンポーネント202は、匿名化された出力データ114を伝送することができる。1つの態様において、通信コンポーネント202は、暗号化通信チャネルを介して、データ112を受け取ることができる。1つの実施形態において、暗号化通信チャネルは、有線の暗号化通信チャネルとすることができる。別の実施形態において、暗号化通信チャネルは、無線の暗号化通信チャネルとすることができる。例えば、暗号化通信チャネルは、これらに限定されるものではないが、広域ネットワーク(WAN、例えば、インターネット)暗号化通信チャネル、ローカル・エリア・ネットワーク(LAN)暗号化通信チャネル、セルラー方式暗号化通信チャネル、もしくは別のタイプの暗号化無線チャネル又はその組み合わせを含む、1つ又は複数の無線暗号化通信チャネル、もしくは1つ又は複数の有線暗号化通信チャネルを含む。特定の実施形態において、暗号化通信チャネルを、1つ又は複数のネットワーク・デバイス(例えば、ネットワーク・ハードウェア、ネットワーク機器、コンピュータ・ネットワーキング・デバイス等)と関連付けて、暗号化通信チャネルを介する通信を容易にすることができる。
図3は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム300のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム300は、データ匿名化コンポーネント102を含む。データ匿名化コンポーネント102は、機械学習コンポーネント104、評価コンポーネント106、通信コンポーネント202、もしくはネゴシエーション・コンポーネント302、又はその組み合わせを含むことができる。ネゴシエーション・コンポーネント302は、ユーザ・デバイスとデータ匿名化コンポーネント102との間のネゴシエーション・プロセスを容易にすることができる。例えば、ネゴシエーション・コンポーネント302は、ユーザと、評価コンポーネント106と関連付けられたスコアリング・プロトコルとの間のネゴシエーション・プロセスを容易にすることができる。ユーザ・デバイスは、例えば、コンピューティング・デバイス、コントローラ、コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モニタデバイス、スマートデバイス、スマートフォン、モバイルデバイス、手持ち式デバイス、タブレット、ウェアラブルデバイス、携帯型コンピューティング・デバイス、又は別のタイプのデバイスのような電子デバイスとすることができる。ネゴシエーション・プロセスは、ユーザ識別と関連付けられたデータ112についての増加した量の識別データを可能にするのを助けることができる。例えば、ユーザ・デバイスは、匿名化された出力データ114と関連付けられた情報を人間が解釈できる形式で表示することができる。1つの態様において、ネゴシエーション・コンポーネント302は、データ112と関連付けられた診断をユーザ・デバイスに提供することができる。付加的に、ネゴシエーション・コンポーネント302は、データ112と関連付けられた診断についての信頼スコアをユーザ・デバイスに提供することができる。ユーザ・デバイスは、データ112と関連付けられたより高忠実度の応答を要求するために、ユーザ・データをデータ匿名化コンポーネント102に提供することができる。例えば、ユーザ・デバイスは、ユーザ・データをデータ匿名化コンポーネント102に提供し、ユーザ識別と関連付けられたデータ112についての増加した量の識別データを可能にすることができる。
図4は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム400のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム400は、ユーザ・デバイス402と、人工知能プラットフォーム・システム404とを含む。ユーザ・デバイス402は、例えば、コンピューティング・デバイス、コントローラ、コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モニタデバイス、スマートデバイス、スマートフォン、モバイルデバイス、手持ち式デバイス、タブレット、ウェアラブルデバイス、携帯型コンピューティング・デバイス、又は別のタイプのデバイスのような電子デバイスとすることができる。特定の実施形態において、ユーザ・デバイス402は、例えば、x線装置、医用共鳴イメージング・デバイス、CTデバイス、又は別のタイプの医療機器のような医療装置とすることができる。人工知能プラットフォーム・システム404は、データ匿名化コンポーネント102を含むことができる。一例において、人工知能プラットフォーム・システム404は、1つ又は複数の機械学習アルゴリズムの実行、機械学習と関連付けられた1つ又は複数のアプリケーション・プログラミング・インターフェースの実行等を容易にするためのサーバ・システムとすることができる。1つの実施態様において、ユーザ・デバイス402は、暗号化通信チャネル406を介して、データ112を、人工知能プラットフォーム・システム404と関連付けられたデータ匿名化コンポーネント102に提供することができる。1つの実施形態において、暗号化通信チャネル406は、有線暗号化通信チャネルとすることができる。別の実施形態において、暗号化通信チャネル406は、無線暗号化通信チャネルとすることができる。例えば、暗号化通信チャネル406は、これらに限定されるものではないが、広域ネットワーク(WAN、例えば、インターネット)暗号化通信チャネル、ローカル・エリア・ネットワーク(LAN)暗号化通信チャネル、セルラー方式暗号化通信チャネル、もしくは別のタイプの暗号化無線チャネル又はその組み合わせを含む、1つ又は複数の無線暗号化通信チャネル、もしくは1つ又は複数の有線暗号化通信チャネル又はその両方を含むことができる。特定の実施形態において、暗号化通信チャネル406を1つ又は複数のネットワーク・デバイス(例えば、ネットワーク・ハードウェア、ネットワーク機器、コンピュータ・ネットワーキング・デバイス等)と関連付けて、暗号化通信チャネル406を介するデータ112の通信を容易にすることができる。
図5は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム500のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム500は、データ502を含む。データ502は、医用イメージング・データ、音声データ、画像データ、ビデオ・データ、文字データ、もしくは他のデータ又はその組み合わせとすることができる。データ502は、エンコードされたデータ、処理データ、もしくは未加工データ又はその組み合わせとすることもできる。1つの実施形態において、データ502は、データ匿名化コンポーネント102が受け取ったデータ112に対応し得る。データ502を1つ又は複数の特徴、もしくは1つ又は複数の特性又はその両方と関連付けることもできる。さらに、データ502をユーザ識別と関連付けることができる。例えば、データ502は、ユーザの1つ又は複数の特徴、もしくは1つ又は複数の特性又はその両方を識別することができる識別データとすることができる。非限定的な実施形態において、データ502は、患者(例えば、患者識別)と関連付けられた医用画像とすることができる。変分オートエンコーダ504は、データ502を入力として受け取ることができる。変分オートエンコーダ504は、データ502と関連付けられた確率分布を用いて、機械学習出力データ506を生成することができる。さらに、変分オートエンコーダ504は、データ502についての確率分布と関連付けられた教師なし学習を用いる層状変分オートエンコーダとすることができる。1つの態様において、変分オートエンコーダ504は、ニューラル・ネットワーク、及びデータ502と関連付けられた確率的勾配降下法(stochastic gradient descent)を用いることができる。別の態様において、変分オートエンコーダ504は、データ502から機械学習出力データ506を生成するためのエンコーダ及びデコーダを含むことができる。機械学習出力データ506は、例えば、データ502よりも低いデータ識別度を含む圧縮バージョンのデータ502とすることができる。例えば、機械学習出力データ506は、データ502よりも少ない数の特徴もしくは特性又はその両方を含み得る。付加的に又は代替的に、機械学習出力データ506は、データ502の1つ又は複数の特徴もしくは1つ又は複数の特性又はその両方を保持しながら、データ502の1つ又は複数の部分を修正することができる。機械学習出力データ506は、医用イメージング・データ、音声データ、画像データ、ビデオ・データ、文字データ、もしくは他のデータ又はその組み合わせとすることができる。非限定的な実施形態において、機械学習出力データ506は、データ502と関連付けられた患者(例えば、患者の識別)についてのより低いデータ識別度と関連付けられた医用画像データとすることができる。1つの態様において、データ502及び機械学習出力データ506は、対応するデータ形式を含むことができる。例えば、データ502は、医用イメージング・データとすることができ、機械学習出力データ506は、データ502と一定の類似度範囲内の医用イメージング・データの例示的データセットとすることができる。代替的実施形態においては、変分オートエンコーダ504ではなく、隠れマルコフモデル(HMM)、ベイジアンモデル(例えば、ベイジアン・ネットワーク)、確率的文脈自由文法モデル、単純ベイズモデル、混合ガウスモデル、もしくは別のタイプの生成機械学習プロセス又その組み合わせを用いて、機械学習出力データ506を生成することもできることを認識されたい。
図6は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム600のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム600は、機械学習出力データ506を含む。機械学習出力データ506を、入力として畳み込みニューラル・ネットワーク602に提供することができる。畳み込みニューラル・ネットワーク602は、ディープ・ラーニングを用いて、機械学習出力データ506と関連付けられた少なくとも1つの特徴を判断する順伝播型人工ニューラル・ネットワークとすることができる。さらに、畳み込みニューラル・ネットワーク602は、機械学習出力データ506と関連付けられた少なくとも1つの特徴を判断するための、教師あり学習と関連付けられた分類器とすることができる。例えば、畳み込みニューラル・ネットワーク602は、1つ又は複数の畳み込み動作を機械学習出力データ506に適用する畳み込み層のセットを含むことができる。畳み込みニューラル・ネットワーク602は、機械学習出力データ506と関連付けられた分類スコアを計算する全結合層のセットを含むこともできる。付加的に、特定の実施形態において、畳み込みニューラル・ネットワーク602は、ダウンサンプリングを行って、機械学習出力データ506と関連付けられた空間方向の次元を調整するプーリング層のセットを含むこともできる。しかしながら、特定の実施形態においては、畳み込みニューラル・ネットワーク602ではなく、別のタイプのディープ・ラーニング・ネットワークを用い得ることを認識されたい。畳み込みニューラル・ネットワーク602は、機械学習出力データ506と関連付けられた畳み込みニューラル・ネットワーク・プロセスに基づいて、診断データ604を生成することができる。診断データ604は、データ502内に含まれている特定の特徴もしくは特定の特性又はその両方についての分類もしくは信頼スコア又はその両方を含むことができる。例えば、診断データ604は、特定の特徴がデータ502内に含まれる信頼度を示す分類もしくは信頼スコア又はその両方を含むことができる。非限定的な実施形態において、診断データ604は、データ502内に含まれる医学的異常についての分類もしくは信頼スコア又はその両方を含むことができる。例えば、診断データ604は、特定の医学的異常がデータ502内に含まれるかどうかに関する表示もしくは信頼スコア又はその両方を含むことができる。
図7は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム700のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム700は、匿名化ネゴシエーション・プロセス702を含む。匿名化ネゴシエーション・プロセス702は、診断データ604に基づいて実行することができる。さらに、匿名化ネゴシエーション・プロセス702は、ユーザと、データ502と関連付けられた人工知能プラットフォーム・システムとの間のネゴシエーション・プロセスを容易にすることができる。ユーザ・デバイスは、例えば、コンピューティング・デバイス、コントローラ、コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モニタデバイス、スマートデバイス、スマートフォン、モバイルデバイス、手持ち式デバイス、タブレット、ウェアラブルデバイス、携帯型コンピューティング・デバイス、又は別のタイプのデバイスのような電子デバイスとすることができる。匿名化ネゴシエーション・プロセス702は、ユーザ識別と関連付けられたデータ502についての増加した量の識別データを可能にするのを助けることができる。例えば、ユーザ・デバイスは、診断データ604と関連付けられた情報を人間が解釈できる形式で表示することができる。1つの実施形態において、匿名化ネゴシエーション・プロセス702は、診断データ604をユーザ・デバイスに提供することができる。ユーザ・デバイスは、データ502と関連付けられたより高忠実度の応答を要求するために、匿名化ネゴシエーション・プロセス702中、ユーザ・データを提供することができる。例えば、ユーザ・デバイスは、匿名化ネゴシエーション・プロセス702中、ユーザ・データを提供し、ユーザ識別と関連付けられたデータ502についての増加した量の識別データを可能にすることができる。従って、データ502と関連付けられたより高忠実度の応答が要求されるとの判断に応答して、修正されたデータ704が、変分オートエンコーダ504に提供される。修正されたデータ704は、データ502の修正バージョンとすることができる。さらに、修正されたデータ704は、データ502内に含まれていない1つ又は複数の付加的な特徴もしくは1つ又は複数の付加的な特性又はその両方を含むことができる。例えば、修正されたデータ704は、付加的な情報を提供し、データ502と関連付けられたユーザ識別についての増加した量の識別データを可能にすることができる。
図8は、本明細書で説明される1つ又は複数の実施形態による、例示的かつ非限定的なシステム800のブロック図を示す。簡単にするために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は省略する。
システム800は、例示的ユーザ・インターフェース802を示す。1つの実施形態において、ユーザ・インターフェース802は、データ匿名化コンポーネント102(例えば、データ匿名化コンポーネント102のネゴシエーション・コンポーネント302)により生成されるユーザ・インターフェースと関連付けることができる。ユーザ・インターフェース802は、これらに限定されるものではないが、コンピューティング・デバイス、コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モニタデバイス、スマートデバイス、スマートフォン、モバイルデバイス、手持ち式デバイス、タブレット、携帯型コンピューティング・デバイス、又はディスプレイと関連付けられた別のタイプのデバイスのような、ユーザ・デバイスのディスプレイ上に提示されるユーザ・インターフェース(例えば、グラフィカル・ユーザ・インターフェース)とすることができる。特定の実施形態において、ユーザ・インターフェース802は、人工知能プラットフォーム・システムと関連付けることができる。例えば、ユーザ・インターフェース802は、人工知能プラットフォーム・システムにより実行されるアプリケーション・プログラミング・インターフェースと関連付けることができる。ユーザ・インターフェース802は、データ804を表示する、もしくは提供する又はその両方をすることができる。1つの実施形態において、データ804をデータ匿名化コンポーネント102に提供することができる。例えば、データ804は、データ112もしくはデータ502又はその両方に対応し得る。1つの実施形態において、データ804は、データ匿名化コンポーネント102により生成されたデータとすることができる。例えば、データ804は、機械学習出力データ506に対応し得る。データ804は、医用イメージング・データ、音声データ、画像データ、ビデオ・データ、文字データ、もしくは他のデータ又はその組み合わせとすることができる。ユーザ・インターフェース802は、匿名化度(degree of anonymization)806を表示することもできる。匿名化度806は、データ804と関連付けられた匿名化度とすることができる。例えば、匿名化度806は、データ804と関連付けられたユーザ識別についての識別データの量を含むことができる。付加的に又は代替的に、ユーザ・インターフェース802は、診断データ808を含むことができる。診断データ808は、データ804内に含まれる特定の特徴もしくは特定の特性又はその両方についての分類を含むことができる。非限定的な実施形態において、診断データ808は、データ804内に含まれる医学的異常の分類を含むことができる。付加的に又は代替的に、ユーザ・インターフェース802は、信頼スコア810を含むことができる。信頼スコア810は、データ804内に含まれる特定の特徴もしくは特定の特性又はその両方についての信頼スコアとすることができる。例えば、信頼スコア810は、特定の特徴がデータ804内に含まれる信頼度を示す信頼スコアを含むことができる。非限定的な実施形態において、信頼スコア810は、データ804内に含まれる医学的異常についての信頼スコアを含むことができる。例えば、信頼スコア810は、特定の医学的異常がデータ804内に含まれるかどうかに関する信頼スコアを含むことができる。ユーザ・インターフェース802は、ツールバー812を含むこともできる。ツールバー812は、ユーザが、データ804についての匿名化度806を制御することを可能にするスライド式ボタン814を含むことができる。例えば、ツールバー812のスライド式ボタン814の位置は、データ804と関連付けられた識別データの量を制御するように修正することができる。ユーザ・インターフェース802は、単なる例であることを認識されたい。従って、ユーザ・インターフェース802、もしくはユーザ・インターフェース802の制御又はその両方と関連付けられたセクションの位置は、変化し得る。さらに、ユーザ・インターフェース802は、図8に図示されない他の特徴、内容、もしくは機能又はその組み合わせを含み得る。
図9は、本明細書で説明される1つ又は複数の実施形態による、データ匿名化を容易にする例示的かつ非限定的なコンピュータ実施方法900のフロー図を示す。902において、プロセッサに動作可能に結合されたシステムにより(例えば、機械学習コンポーネント104により)、暗号化通信チャネルを介して、1つ又は複数の特徴と関連付けられた第1のデータが受け取られる。第1のデータは、医用イメージング・データ、音声データ、画像データ、ビデオ・データ、文字データ、もしくは他のデータ又はその組み合わせとすることができる。1つの実施形態において、暗号化通信チャネルは、有線暗号化通信チャネルとすることができる。別の実施形態において、暗号化通信チャネル406は、無線暗号化通信チャネルとすることができる。例えば、暗号化通信チャネルは、これらに限定されるものではないが、広域ネットワーク(WAN、例えば、インターネット)暗号化通信チャネル、ローカル・エリア・ネットワーク(LAN)暗号化通信チャネル、セルラー方式暗号化通信チャネル、もしくは別のタイプの暗号化無線チャネル又はその組み合わせを含む、1つ又は複数の無線暗号化通信チャネル、もしくは1つ又は複数の有線暗号化通信チャネル又はその両方を含むことができる。特定の実施形態において、暗号化通信チャネルを1つ又は複数のネットワーク・デバイス(例えば、ネットワーク・ハードウェア、ネットワーク機器、コンピュータ・ネットワーキング・デバイス等)と関連付けて、暗号化通信チャネルを介する第1のデータの通信を容易にすることができる。
904において、システム(例えば、機械学習コンポーネント104)により、第1のデータについて、生成モデルと関連付けられた第1の機械学習プロセスを実行し、第1のデータと一定の類似度範囲内の1つ又は複数の例示的データセットを示す第2のデータを生成する。1つの実施形態において、第1の機械学習プロセスと関連付けられた変分オートエンコーダを用いることができる。例えば、第1のデータを、入力として変分オートエンコーダに提供することができる。さらに、変分オートエンコーダは、第1のデータに基づいて第2のデータを生成することができる。第2のデータは、医用イメージング・データ、音声データ、画像データ、ビデオ・データ、文字データ、もしくは他のデータ又はその組み合わせとすることができる。第2のデータは、例えば、機械学習出力データとすることもできる。さらに、第2のデータは、例えば、データ502よりも低いデータ識別度を含む圧縮バージョンの第1のデータとすることができる。例えば、機械学習出力データ506は、データ502よりも少ない数の特徴もしくは特性又はその両方を含むことができる。さらに、第1のデータ及び第2のデータは、対応するデータ形式を含むことができる。1つの態様において、変分オートエンコーダは、第1のデータと関連付けられた確率分布を用いて、第2のデータを生成することができる。さらに、変分オートエンコーダは、第1のデータについての確率分布と関連付けられた教師なし学習を用いる層状変分オートエンコーダとすることができる。別の態様において、変分オートエンコーダは、ニューラル・ネットワーク、及び第1のデータと関連付けられた確率的勾配降下法を用いることができる。更に別の態様において、変分オートエンコーダは、第1のデータから第2のデータを生成するためのエンコーダ及びデコーダを含むことができる。別の実施形態において、隠れマルコフモデル(HMM)、ベイジアンモデル(例えば、ベイジアン・ネットワーク)、確率的文脈自由文法モデル、単純ベイズモデル、混合ガウスモデル、もしくは第1の機械学習プロセスと関連付けられた別のタイプの生成機械学習モデル又その組み合わせを用いることができる。
906において、システムにより(例えば、評価コンポーネント106により)、第2のデータについて、分類器モデルと関連付けられた第2の機械学習プロセスを実行し、第2のデータについての信頼スコアを示す第3のデータを生成する。例えば、第2の機械学習プロセスは、人工知能の原理を用いて、1つ又は複数の特徴からの特定の特徴について第2のデータを評価することを容易にすることができる。信頼スコアは、特定の特徴が第1のデータ内に含まれる信頼度を示すものとすることができる。第2の機械学習プロセスは、第2のデータに関して学習を明示的に又は暗黙的に行うことができる。1つの態様において、第2の機械学習プロセスは、分類、相関、推論、もしくは人工知能の原理と関連付けられた表現又はその組み合わせに基づいて、1つ又は複数の特徴からの特定の特徴について第2のデータを評価することができる。例えば、第2の機械学習プロセスは、自動分類システムもしくは自動分類プロセス又はその両方を用いて、1つ又は複数の特徴からの特定の特徴について第2のデータを評価することができる。1つの実施形態において、第2の機械学習プロセスは、ディープ・ラーニング・ネットワークに基づいて、第2のデータを評価することができる。ディープ・ラーニング・ネットワークは、ディープ・ラーニングを用いて、第2のデータと関連付けられた少なくとも1つの特徴を判断する人工ニューラル・ネットワークとすることができる。ディープ・ラーニング・ネットワークは、例えば、教師あり学習を用いて、第2のデータと関連付けられた少なくとも1つの特徴を判断することができる。さらに、ディープ・ラーニング・ネットワークは、非線形処理の一連の複数の層を用いる生体神経系に類似した情報を処理することができ、そこで、第1の層は、第2の層の出力を第1の層に対する入力として用いることができる。非限定的な実施形態において、第2の機械学習プロセスは、畳み込みニューラル・ネットワークに基づいて、第2のデータを評価することができる。畳み込みニューラル・ネットワークは、ディープ・ラーニングを用いて、第2のデータと関連付けられた少なくとも1つの特徴を判断する順伝播型人工ニューラル・ネットワークとすることができる。さらに、畳み込みニューラル・ネットワークは、第2のデータと関連付けられた少なくとも1つの特徴を判断するための、教師あり学習と関連付けられた分類器とすることができる。例えば、畳み込みニューラル・ネットワークは、1つ又は複数の畳み込み動作を第2のデータに適用する畳み込み層のセットを含むことができる。畳み込みニューラル・ネットワークは、第2のデータと関連付けられた分類スコアを計算する全結合層のセットを含むこともできる。付加的に、特定の実施形態において、畳み込みニューラル・ネットワークは、ダウンサンプリングを行って、第2のデータと関連付けられた空間方向の次元を調整するプーリング層のセットを含むこともできる。しかしながら、特定の実施形態において、評価コンポーネント106は、別のタイプのディープ・ラーニング・ネットワークを用い得ることを認識されたい。
908において、第3のデータが規定の基準を満たすかどうかを判断する。いいえである場合、コンピュータ実施方法900は904に戻り、異なる基準に基づいて第1の機械学習を再実施する。はいである場合、コンピュータ実施方法900は終了する。特定の実施形態において、コンピュータ実施方法900は、第3のデータが規定の基準を満たすとの判断に応答して、システムにより、1つ又は複数の他の特徴と関連付けられた第4のデータに基づいて、システムにより、第1の機械学習プロセスを実行することをさらに含むことができる。第4のデータは、第1のデータの修正バージョンとすることができる。例えば、第4のデータは、第1のデータと関連付けられたユーザ識別についての増加した量の識別データを含むことができる。別の実施形態において、第1の機械学習プロセスを実行すること、もしくは第2の機械学習プロセスを実行すること又はその両方をすることは、第1のデータの匿名化を改善することを含む。
説明を簡単にするために、コンピュータ実施方法が、一連の動作として示され、説明される。本革新は、示される動作、もしくは動作の順序又はその両方に限定されるものではなく、例えば、動作は、様々な順序で及び/又は同時に行われることがあり、他の動作は本明細書に提示及び説明されないことを理解及び認識されたい。さらに、開示される主題によるコンピュータ実施方法を実施するために、全ての示される動作を必要としないことがある。さらに、当業者であれば、コンピュータ実施方法は、状態図又はイベントを介して一連の相関状態として代替的に表し得ることも理解及び認識するであろう。付加的に、以下に及び本明細書の全体を通して開示されるコンピュータ実施方法は、こうしたコンピュータ実施方法をコンピュータに伝送及び転送するのを容易にするために、物品上に格納できることをさらに認識されたい。本明細書で用いられる場合、物品という用語は、あらゆるコンピュータ可読デバイス又はストレージ媒体からアクセス可能なコンピュータ・プログラムを含むように意図される。
さらに、少なくとも第1の機械学習プロセスの実行もしくは第2の機械学習プロセスの実行又はその両方が、電気的及び機械的コンポーネント及び回路の組み合わせから確立されるので、人間は、本明細書に開示されるデータ匿名化コンポーネント102(例えば、機械学習コンポーネント104、評価コンポーネント106、通信コンポーネント202、もしくはネゴシエーション・コンポーネント302又はその組み合わせ)により実行される処理を再現又は実行することはできない。例えば、人間は、第1の機械学習プロセスもしくは第2の機械学習プロセス又その両方を実行できない。さらに、人間は、匿名化された出力データを生成できない。
開示される主題の種々の態様についての文脈を与えるために、図10並びに以下の説明は、開示される主題の種々の態様を実装できる適切な環境の一般的な説明を提供するように意図される。図10は、本明細書に説明される1つ又は複数の実施形態を容易にすることができる例示的かつ非限定的な動作環境のブロック図を示す。簡潔にするために、本明細書で説明される他の実施形態において用いられる同様の要素の反復的な説明は省略する。
ここで図10を参照すると、本開示の種々の態様を実施するための好適な動作環境1000が、コンピュータ1012を含むこともできる。コンピュータ1012は、処理ユニット1014、システム・メモリ1016及びシステム・バス1018を含むこともできる。システム・バス1018は、これに限定されるものではないが、システム・メモリ1016を含むシステム・コンポーネントを処理ユニット1014に結合する。処理ユニット1014は、種々の利用可能なプロセッサのいずれかとすることができる。二重マイクロプロセッサ及び他のマルチプロセッサ・アーキテクチャを処理ユニット1014として用いることもできる。システム・バス1018は、メモリ・バス又はメモリ・コントローラ、周辺バス又は外部バス、及び/又は、これらに限定されるものではないが、業界標準アーキテクチャ(ISA)、マイクロ・チャネル・アーキテクチャ(MSA)、拡張ISA(EISA)、Intelligent Drive Electronics(IDE)、VESA Local Bus(VLB)、Peripheral Component Interconnect(PCI)、カード・バス、ユニバーサル・シリアル・バス(USB)、Advanced Graphics Port(AGP)、Firewire(IEEE1394)、及びSmall Computer Systems Interface(SCSI)を含む任意の種々の利用可能なバス・アーキテクチャを用いたローカル・バスを含む、幾つかのタイプのバス構造体のいずれかとすることができる。
システム・メモリ1016は、揮発性メモリ1020及び不揮発性メモリ1022を含むこともできる。起動の際などにコンピュータ1012内の要素の間で情報を転送するための基本ルーチンを含む基本入力/出力システム(BIOS)が、不揮発性メモリ1022内に格納される。コンピュータ1012は、取り外し可能/取り外し不能な揮発性/不揮発性コンピュータ・ストレージ媒体を含むこともできる。図10は、例えば、ディスク・ストレージ1024を示す。ディスク・ストレージ1024は、これらに限定されるものではないが、磁気ディスク・ドライブ、フロッピー・ディスク・ドライブ、テープ・ドライブ、Jazドライブ、Zipドライブ、LS-100ドライブ、フラッシュ・メモリ・カード、又はメモリ・スティックのようなデバイスを含むこともできる。ディスク・ストレージ1024は、別個に又は他のストレージ媒体と組み合わせてストレージ媒体を含むこともできる。システム・バス1018へのディスク・ストレージ1024の接続を容易にするために、一般的に、インターフェース1026のような取り外し可能又は取り外し不能なインターフェースが用いられる。図10は、ユーザと、好適な動作環境1000において説明される基本コンピュータ・リソースとの間の媒介として働くソフトウェアも示す。そうしたソフトウェアは、例えば、オペレーティング・システム1028を含むこともできる。ディスク・ストレージ1024上に格納することができるオペレーティング・システム1028は、コンピュータ1012のリソースを制御し、割り当てるように働く。
システム・アプリケーション1030は、例えば、システム・メモリ1016内又はディスク・ストレージ1024上に格納された、プログラム・モジュール1032及びプログラム・データ1034を通じたオペレーティング・システム1028によるリソースの管理を利用する。この開示は、種々のオペレーティング・システム、又はオペレーティング・システムの組み合わせにより実施できることを認識されたい。ユーザは、入力デバイス1036を通じてコマンド又は情報をコンピュータ1012に入力する。入力デバイス1036は、これらに限定されるものではないが、マウス、トラックボール、スタイラス、タッチ・パッドのようなポインティング・デバイス、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放送受信アンテナ、スキャナ、TVチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラ等を含む。これら及び他の入力デバイスは、インターフェース・ポート1038を介してシステム・バス1018を通じて処理ユニット1014に接続される。インターフェース・ポート1038は、例えば、シリアル・ポート、パラレル・ポート、ゲーム・ポート及びユニバーサル・シリアル・バス(USB)を含む。出力デバイス1040は、同じタイプのポートの一部を入力デバイス1036として使用する。従って、例えば、USBポートを用いて、コンピュータ1012への入力を提供し、出力情報をコンピュータ1012から出力デバイス1040に提供することができる。出力アダプタ1042は、特別なアダプタを必要とする他の出力デバイス1040の中でも、モニタ、スピーカ及びプリンタのような幾つかの出力デバイス1040があることを示すように提供される。出力アダプタ1042は、限定ではなく例示として、出力デバイス1040とシステム・バス1018との間の接続手段を提供するビデオ及び音声カードを含む。遠隔コンピュータ1044のような、他のデバイス、もしくはデバイスのシステム又はその両方は、入力及び出力の機能の両方を提供することに留意されたい。
コンピュータ1012は、遠隔コンピュータ1044のような1つ又は複数の遠隔コンピュータへの論理接続を用いるネットワーク化環境で動作することができる。遠隔コンピュータ1044は、コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサ・ベースのアプライアンス、ピア・デバイス、又は他の共通ネットワーク・ノード等とすることができ、一般的に、コンピュータ1012に関して記載される要素の多く又は全てを含むこともできる。簡潔にするために、メモリ・ストレージ・デバイス1046だけが、遠隔コンピュータ1044と共に示されている。遠隔コンピュータ1044は、ネットワーク・インターフェース1048を通じてコンピュータ1012に論理的に接続され、次に、通信接続1050を介して物理的に接続される。ネットワーク・インターフェース1048は、ローカル・エリア・ネットワーク(LAN)、広域エリア・ネットワーク(WAN)、セルラー・ネットワーク等のような有線通信ネットワークもしくは無線通信ネットワーク又はその両方を含む。LAN技術として、Fiber Distributed Data Interface(FDDI)、Copper Distributed Data Interface(CDDI)、イーサネット、トークン・リング等が挙げられる。WAN技術として、これらに限定されるものではないが、ポイント・ツー・ポイント・リンク、統合サービス・デジタル網(Integrated Service Digital Networks:ISDN)及びその変形のような回路交換網、パケット交換網、及びデジタル加入者線(Digital Subscriber Line:DSL)が挙げられる。通信接続1050は、ネットワーク・インターフェース1048をシステム・バス1018に接続するために用いられるハードウェア/ソフトウェアを指す。通信接続1050は、明確に示すためにコンピュータ1012内部に示されるが、これはコンピュータ1012の外部にあってもよい。ネットワーク・インターフェース1048への接続のためのハードウェア/ソフトウェアは、例示のためだけに、通常の電話グレード・モデム(regular telephone grade modem)、ケーブル・モデム及びDSLモデムを含むモデム、ISDNアダプタ、並びにイーサネット・カードのような内部及び外部技術を含むこともできる。
ここで図11を参照すると、例証的なクラウド・コンピューティング環境1150が示される。図示のように、クラウド・コンピューティング環境1150は、例えば、携帯情報端末(PDA)又は形態電話1154A、デスクトップ・コンピュータ1154B、ラップトップ・コンピュータ1154C、もしくは自動車コンピュータ・システム1154N又はその組み合わせのような、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスが通信することができる、1つ又は複数のクラウド・コンピューティング・ノード1110を含む。ノード1110は、互いに通信することができる。ノード1110は、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、又はこれらの組み合わせなど、1つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境1150は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとしてインフラストラクチャ、プラットフォーム、もしくはソフトウェア又はその組み合わせを提供することが可能になる。図11に示されるコンピューティング・デバイス1154A~Nのタイプは単に例示であることを意図し、コンピューティング・ノード1110及びクラウド・コンピューティング環境1150は、任意のタイプのネットワーク及び/又はネットワーク・アドレス指定可能な接続上で(例えば、ウェブ・ブラウザを用いて)、任意のタイプのコンピュータ化された装置と通信できることを理解されたい。
ここで図12を参照すると、クラウド・コンピューティング環境1150(図11)によって提供される機能抽象化層のセットが示される。図12に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
ハードウェア及びソフトウェア層1260は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム1261と、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバ1262と、サーバ1263と、ブレード・サーバ1264と、ストレージ・デバイス1265と、ネットワーク及びネットワーキング・コンポーネント1266とが含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1267及びデータベース・ソフトウェア1268を含む。
仮想化層1270は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ1271、仮想ストレージ1272、仮想プライベート・ネットワークを含む仮想ネットワーク1273、仮想アプリケーション及びオペレーティング・システム1274、並びに仮想クライアント1275を提供することができる。
一例においては、管理層1280は、以下で説明される機能を提供することができる。リソース・プロビジョニング1281は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定1282は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、リソースの消費に対する課金又は請求とを提供する。1つの例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル1283は、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理1284は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(Service Level Agreement、SLA)の計画及び履行1285は、SLAに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
ワークロード層1290は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション1291、ソフトウェア開発及びライフサイクル管理1292、仮想教室教育配信1293、データ分析処理1294、トランザクション処理1295、及びデータ匿名化ソフトウェア1296が含まれる。
本発明は、統合のいずれかの可能な技術的詳細レベルにおける、システム、方法、もしくはコンピュータ・プログラム製品又はその組み合わせとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、又は、「C」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施する命令を含む製品を製造するようにすることもできる。コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
本主題は、1つのコンピュータもしくは複数のコンピュータ又はその両方上で実行されるコンピュータ・プログラム製品のコンピュータ実行可能命令の一般的な文脈で上述されたが、当業者であれば、本開示は、他のプログラム・モジュールと組み合わせて実装する又は実装されることも可能であることを認識するであろう。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造などを含むことができる。さらに、当業者であれば、本発明のコンピュータ実施方法は、シングル・プロセッサ又はマルチプロセッサ・コンピュータ・システム、ミニ・コンピューティング・デバイス、メインフレーム・コンピュータ、並びにコンピュータ、手持ち式コンピューティング・デバイス(例えば、PDA、電話)、マイクロプロセッサ・ベースの又はプログラム可能なコンシューマ若しくは産業用電子機器等を含む、他のコンピュータ・システム構成で実施できることを認識するであろう。示される態様は、通信ネットワークを通じてリンクされる遠隔処理デバイスによってタスクが実行される分散型コンピューティング環境で実施することもできる。しかしながら、本開示の全てではないが一部の態様をスタンドアロン・コンピュータ上で実施することができる。分散型コンピューティング環境において、プログラム・モジュールは、ローカル及び遠隔両方のメモリ・ストレージ・デバイス内に配置することができる。
本出願において用いられるとき、「コンポーネント」、「システム」、「プラットフォーム」、「インターフェース」等の用語は、コンピュータに関連するエンティティ、又は1つ又は複数の特定の機能を有する動作マシンに関連するエンティティを指すこと、及び/又は含むことができる。本明細書に開示されるエンティティは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアとすることができる。例えば、コンポーネントは、これらに限定されるものではないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能プログラム、実行のスレッド、プログラム、もしくはコンピュータ又はその組み合わせとすることができる。例証として、サーバ上で実行されているアプリケーション及びサーバの両方が、コンポーネントであり得る。1つ又は複数のコンポーネントは、プロセスもしくは実行又はその両方のスレッド内にあることがあり、コンポーネントは、1つのコンピュータ上に局所化されること、もしくは2つ又はそれより多いコンポーネント間で分散されること又はその両方が可能である。別の例において、それぞれのコンポーネントは、種々のデータ構造がその上に格納された種々のコンピュータ可読媒体から実行することができる。コンポーネントは、1つ又は複数のデータ・パケットを有する信号(例えば、ローカル・システム、分散型システムにおいて、及び/又は信号を介する他のシステムと共にインターネットなどのネットワークにわたって、別のコンポーネントと対話する1つのコンポーネントからのデータ)などに従って、ローカル・プロセスもしくは遠隔プロセス又その両方を介して通信することができる。別の例において、コンポーネントは、電気若しくは電子回路により動作される機械的部品により与えられる特定の機能を有し、プロセッサにより実行されるソフトウェア又はファームウェア・アプリケーションにより動作される装置とすることができる。こうした場合において、プロセッサは、装置の内部にあっても又は外部にあってもよく、ソフトウェア又はファームウェア・アプリケーションの少なくとも一部を実行することができる。更に別の例として、コンポーネントは、機械的部品なしに電子コンポーネントを通じて特別な機能を提供する装置とすることができ、電子コンポーネントは、電子コンポーネントの機能を少なくとも部分的に与えるソフトウェア又はファームウェアを実行するためのプロセッサ又は他の手段を含むことができる。1つの態様において、コンポーネントは、例えば、クラウド・コンピューティング・システム内の仮想マシンを介して電子コンポーネントをエミュレートすることができる。
さらに、用語「又は(or)」は、排他的「又は」ではなく包含的「又は」を意味するよう意図される。つまり、特に断らない限り又は文脈から明らかな場合、「XはA又はBを用いる」は、自然の包含的順列(natural inclusive permutation)のいずれかを意味するように意図される。つまり、XはAを用いる、XはBを用いる、又はXはA及びBの両方を用いる場合、「XはA又はBを用いる」は、上記の例のいずれかにおいて満たされる。さらに、本の明細書及び添付図面において使用される冠詞「1つ(「a」及び「an」)」は一般的に、特に断らない限り又は文脈から明らかな場合、「1つ又は複数」を単数の形態に向けることを意味するように解釈すべきである。本明細書で用いられる場合、用語「例」もしくは「例示的」又はその両方は、例、事例、又は例証としての役割を果たすように用いられる。誤解を避けるために、本明細書に開示される主題は、こうした例に限定されない。さらに、用語「例」もしくは「例示的」又はその両方として本明細書に説明されるいずれの態様又は設計も、他の態様又は設計と比べて好ましい又は有利であるとは限らず、又は当業者には周知の同等の例示的構造及び技術を排除することを意味するものではない。
本明細書で用いられるとき、用語「プロセッサ」は、これらに限定されるものではないが、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行能力を有するシングル・プロセッサ、ハードウェア・マルチスレッド技術を有するマルチコア・プロセッサ、並列プラットフォーム、及び分散型共有メモリを有する並列プラットフォームを含む、実質的にあらゆるコンピューティング処理ユニット又はデバイスを指すことがある。付加的に、プロセッサは、集積回路、特定用途向け集積回路(ASIC)、デジタル・シグナル・プロセッサ(DSP)、フィールド・プログラマブル、ゲート・アレイ(FPGA)、プロ具ラマブル論理コントローラ(PLC)、結合プログラム可能論理回路(complex programmable logic device、CPLD)、ディスクリート・ゲート又はトランジスタ論理、ディスクリート・ハードウェア・コンポーネント、又は本明細書で説明される機能を実施するように設計されたそれらの任意の組み合わせを指すこともある。さらに、プロセッサは、空間使用量を最適化する又はユーザ機器の性能を高めるために、これらに限定されるものではないが、分子及び量子ドット・ベースのトランジスタン、スイッチ及びゲートのようなナノスケール・アーキテクチャを利用することができる。プロセッサはまた、コンピューティング処理ユニットの組み合わせとして実装することもできる。本開示において、「格納する(store)」、「ストレージ」、「データ・ストア」、「データ・ストレージ」、「データベース」、並びに動作及びコンポーネントの機能に関連した実質的に他のいずれかの情報ストレージ・コンポーネントのような用語は、「メモリ・コンポーネント」、「メモリ」内に具体化されたエンティティ、又はメモリを含むコンポーネントを指すために用いられる。本明細書で説明されるメモリもしくはメモリ・コンポーネント又はその両方は、揮発性メモリもしくは不揮発性メモリのいずれかとすることができ、又は揮発性メモリ及び不揮発性メモリの両方を含むことができることを認識されたい。限定ではなく例証として、不揮発性メモリは、読み取り専用メモリ(ROM)、プログラム可能ROM(PROM)、電気的プログラム可能ROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュ・メモリ、又は不揮発性ランダム・アクセス・メモリ(RAM)(例えば、強誘電体RAM(FeRAM))を含むことができる。揮発性メモリは、外部キャッシュ・メモリとして働くことができるRAMを含むことができる。限定ではなく例証として、RAMは、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)、Direct Rambus RAM(DRRAM)、Direct Rambus Dynamic RAM(DRDRAM)、及びRambus Dynamic RAM(RDRAM)のような多くの形で利用可能である。さらに、システム又はコンピュータ実施方法の開示されたメモリ・コンポーネントは、これら及び他の何れかの好適なタイプのメモリを含むが、これらに限定されないことを意図する。
上述したものは、システム及びコンピュータ実施方法の単なる例を含む。もちろん、本開示を説明するためにコンポーネント又はコンピュータ実施方法のあらゆる考えられる組み合わせを説明することはできないが、当業者であれば、本開示の多くのさらなる組み合わせ及び順列が可能であることを認識することができる。さらに、用語「含む(include)」、「有する(have)」、「持っている(possess)」等が詳細な説明、特許請求の範囲、及び添付図面に用いられる範囲で、そうした用語は、用語「備える(comprising)」が特許請求の範囲中で移行語として用いられるときに解釈されるように用語「備える(comprising)」と同様に包括的であることが意図されている。
種々の実施形態の説明が例証のために提示されたが、網羅的であること又は開示される実施形態を制限することを意図するものではない。当業者には、説明される実施形態の範囲及び趣旨からいつ出すすることなく、多くの変更及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理及び実際の用途、又は市場で見出される技術に優る技術の改善を最もよく説明するために、又は、当業者が本明細書で開示される実施形態を理解することができるように、選択された。