IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7649439データアナリティクスにおけるデータアクセスポリシの自動調整
<>
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図1
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図2
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図3
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図4
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図5
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図6
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図7
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図8
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図9
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図10
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図11
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図12
  • 特許-データアナリティクスにおけるデータアクセスポリシの自動調整 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-12
(45)【発行日】2025-03-21
(54)【発明の名称】データアナリティクスにおけるデータアクセスポリシの自動調整
(51)【国際特許分類】
   G06N 3/0455 20230101AFI20250313BHJP
   G06N 3/088 20230101ALI20250313BHJP
   G06F 21/62 20130101ALI20250313BHJP
【FI】
G06N3/0455
G06N3/088
G06F21/62
【請求項の数】 20
(21)【出願番号】P 2023530328
(86)(22)【出願日】2021-10-14
(65)【公表番号】
(43)【公表日】2023-12-01
(86)【国際出願番号】 CN2021123849
(87)【国際公開番号】W WO2022111112
(87)【国際公開日】2022-06-02
【審査請求日】2024-03-19
(31)【優先権主張番号】17/103,118
(32)【優先日】2020-11-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ボーマン,アーロン ケー.
(72)【発明者】
【氏名】クワトラ,シカール
(72)【発明者】
【氏名】エカンバラム,ビジェイ
(72)【発明者】
【氏名】マルバニヤ,スミットクマル ナロタンバイ
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2008-181290(JP,A)
【文献】特開2020-140580(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 3/08
G06N 20/00
G06F 21/24
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
コンピュータに実装された方法であって、
オートエンコーダネットワークを第1のモデルパラメータから生成すること;
前記オートエンコーダネットワークについての再構成誤差を測定すること、ここで、前記再構成誤差は、前記オートエンコーダネットワークへの入力と前記オートエンコーダネットワークからの対応する出力との間の差を含み、前記オートエンコーダネットワークへの前記入力は、データの初期セットの一部を含む;
前記再構成誤差と、前記オートエンコーダネットワークの複雑さレベルに対応する信頼度スコアとを、前記オートエンコーダネットワークの難易度スコアのレベルへと集約すること;及び、
難易度スコアの前記レベルと、データの前記初期セットに対応する初期データアクセスポリシレベルとから、前記初期データアクセスポリシレベルに対応する導出されたデータアクセスポリシレベルを生成すること、ここで、前記導出されたデータアクセスポリシレベルは、データの前記初期セットに変換を適用することによって生成された変換済みデータセットへのアクセスを実施する、
を含む、前記方法。
【請求項2】
データの前記初期セットのうちの訓練サブセットを使用して、前記オートエンコーダネットワークを訓練すること
を更に含む、請求項1に記載の、コンピュータに実装された方法。
【請求項3】
前記訓練することが、前記オートエンコーダネットワークの再構成誤差を最小化するように実行される、請求項2に記載の、コンピュータに実装された方法。
【請求項4】
前記訓練することが、前記オートエンコーダネットワークのエンコーダ部の出力と、前記変換を前記訓練サブセットに適用することによって生成された変換済みデータセットとの間の差を最小化するように実行される、請求項2に記載の、コンピュータに実装された方法。
【請求項5】
前記複雑さレベルを前記オートエンコーダネットワークについて測定すること
を更に含む、請求項1に記載の、コンピュータに実装された方法。
【請求項6】
モデルパラメータの1組を前記難易度スコアのレベルから生成すること、ここで、前記モデルパラメータの1組のうちの第2のモデルパラメータは、前記第1のモデルパラメータからのバリエーションを含む;
オートエンコーダネットワークの1組を前記モデルパラメータの1組から生成すること;
オートエンコーダネットワークの前記1組における各オートエンコーダネットワークのモデル固有の再構成誤差を測定すること、ここで、前記モデル固有の再構成誤差は、オートエンコーダネットワークの前記1組における1つのオートエンコーダネットワークへの入力とオートエンコーダネットワークの前記1組における前記オートエンコーダネットワークからの対応する出力との差を含み、オートエンコーダネットワークの前記1組における前記オートエンコーダネットワークへの前記入力はデータの前記初期セットの前記一部を含む;及び、
各オートエンコーダネットワークの前記モデル固有の再構成誤差と、信頼度スコアの1組とを、オートエンコーダネットワークの前記1組のうちの難易度スコアのレベルへと集約すること、ここで、各信頼度スコアはオートエンコーダネットワークの前記1組における1つのオートエンコーダネットワークの複雑さレベルに対応する、
を更に含む、請求項1に記載の、コンピュータに実装された方法。
【請求項7】
前記モデルパラメータが、前記オートエンコーダネットワークのエンコーダ部における隠れ層の数と、前記オートエンコーダネットワークのデコーダ部における隠れ層の数とを含む、請求項1に記載の、コンピュータに実装された方法。
【請求項8】
前記モデルパラメータが、前記オートエンコーダネットワークのエンコーダ部の出力における次元の数を含む、請求項1に記載の、コンピュータに実装された方法。
【請求項9】
データアクセスポリシを自動的に調整する為のコンピュータプログラムであって、該コンピュータプログラムが、1以上のコンピュータ可読記憶媒体に集合的に記憶された複数のプログラム命令を備えており、前記複数のプログラム命令が、
オートエンコーダネットワークを第1のモデルパラメータから生成する為のプログラム命令;
前記オートエンコーダネットワークについての再構成誤差を測定する為のプログラム命令、ここで、前記再構成誤差は、前記オートエンコーダネットワークへの入力と前記オートエンコーダネットワークからの対応する出力との間の差を含み、前記オートエンコーダネットワークへの前記入力は、データの初期セットの一部を含む;
前記再構成誤差と、前記オートエンコーダネットワークの複雑さレベルに対応する信頼度スコアとを、前記オートエンコーダネットワークの難易度スコアのレベルへと集約する為のプログラム命令;及び、
難易度スコアの前記レベルと、データの前記初期セットに対応する初期データアクセスポリシレベルとから、前記初期データアクセスポリシレベルに対応する導出されたデータアクセスポリシレベルを生成する為のプログラム命令、ここで、前記導出されたデータアクセスポリシレベルは、データの前記初期セットに変換を適用することによって生成された変換済みデータセットへのアクセスを実施する、
を含み、該複数のプログラム命令が1以上のプロセッサによって実行される
前記コンピュータプログラム。
【請求項10】
前記複数のプログラム命令が、
データの前記初期セットのうちの訓練サブセットを使用して、前記オートエンコーダネットワークを訓練する為のプログラム命令
を更に含む、請求項9に記載のコンピュータプログラム。
【請求項11】
前記訓練することが、前記オートエンコーダネットワークの再構成誤差を最小化するように実行される、請求項10に記載のコンピュータプログラム。
【請求項12】
前記訓練することが、前記オートエンコーダネットワークのエンコーダ部の出力と、前記変換を前記訓練サブセットに適用することによって生成された変換済みデータセットとの間の差を最小化するように実行される、請求項10に記載のコンピュータプログラム。
【請求項13】
前記複数のプログラム命令が、
前記複雑さレベルを前記オートエンコーダネットワークについて測定する為のプログラム命令
を更に含む、請求項9に記載のコンピュータプログラム。
【請求項14】
前記複数のプログラム命令が、
モデルパラメータの1組を前記難易度スコアのレベルから生成する為のプログラム命令、ここで、前記モデルパラメータの1組のうちの第2のモデルパラメータは、前記第1のモデルパラメータからのバリエーションを含む;
オートエンコーダネットワークの1組を前記モデルパラメータの1組から生成する為のプログラム命令;
オートエンコーダネットワークの前記1組における各オートエンコーダネットワークのモデル固有の再構成誤差を測定する為のプログラム命令、ここで、前記モデル固有の再構成誤差は、オートエンコーダネットワークの前記1組における1つのオートエンコーダネットワークへの入力とオートエンコーダネットワークの前記1組における前記オートエンコーダネットワークからの対応する出力との差を含み、オートエンコーダネットワークの前記1組における前記オートエンコーダネットワークへの前記入力はデータの前記初期セットの前記一部を含む;及び、
各オートエンコーダネットワークの前記モデル固有の再構成誤差と、信頼度スコアの1組とを、オートエンコーダネットワークの前記1組のうちの難易度スコアのレベルへと集約する為のプログラム命令、ここで、各信頼度スコアはオートエンコーダネットワークの前記1組における1つのオートエンコーダネットワークの複雑さレベルに対応する、
を更に含む、請求項9に記載のコンピュータプログラム。
【請求項15】
前記モデルパラメータが、前記オートエンコーダネットワークのエンコーダ部における隠れ層の数と、前記オートエンコーダネットワークのデコーダ部における隠れ層の数とを含む、請求項9に記載のコンピュータプログラム。
【請求項16】
前記モデルパラメータが、前記オートエンコーダネットワークのエンコーダ部の出力における次元の数を含む、請求項9に記載のコンピュータプログラム。
【請求項17】
前記記憶された複数のプログラム命令が、ローカルデータ処理システムの1以上の記憶媒体のうちの少なくとも1つ内に記憶され、前記記憶された複数のプログラム命令が、リモートデータ処理システムからネットワークを介して転送される、請求項9に記載のコンピュータプログラム。
【請求項18】
前記記憶された複数のプログラム命令が、サーバデータ処理システムの1以上の記憶媒体のうちの少なくとも1つ内に記憶され、前記記憶された複数のプログラム命令が、リモートデータ処理システムに関連付けられたコンピュータ可読記憶装置において使用する為にリモートデータ処理システムにネットワークを介してダウンロードされる、請求項9に記載のコンピュータプログラム。
【請求項19】
前記コンピュータプログラムが、クラウド環境におけるサービスとして提供される、請求項9に記載のコンピュータプログラム。
【請求項20】
コンピュータシステムであって、該コンピュータシステムは、1以上のプロセッサ、1以上のコンピュータ可読メモリ、及び1以上のコンピュータ可読記憶デバイス、並びに前記1以上のコンピュータ可読メモリのうちの少なくとも1つを介して前記1以上のプロセッサのうちの少なくとも1つによって実行する為の、前記1以上のコンピュータ可読記憶デバイスのうちの少なくとも1つのコンピュータ可読記憶デバイス上に記憶された複数のプログラム命令を備えており、前記記憶された複数のプログラム命令が、
オートエンコーダネットワークを第1のモデルパラメータから生成する為のプログラム命令;
前記オートエンコーダネットワークについての再構成誤差を測定する為のプログラム命令、ここで、前記再構成誤差は、前記オートエンコーダネットワークへの入力と前記オートエンコーダネットワークからの対応する出力との間の差を含み、前記オートエンコーダネットワークへの前記入力は、データの初期セットの一部を含む;
前記再構成誤差と、前記オートエンコーダネットワークの複雑さレベルに対応する信頼度スコアとを、前記オートエンコーダネットワークの難易度スコアのレベルへと集約する為のプログラム命令;及び、
難易度スコアの前記レベルと、データの前記初期セットに対応する初期データアクセスポリシレベルとから、前記初期データアクセスポリシレベルに対応する導出されたデータアクセスポリシレベルを生成する為のプログラム命令、ここで、前記導出されたデータアクセスポリシレベルは、データの前記初期セットに変換を適用することによって生成された変換済みデータセットへのアクセスを実施する、
を含む、前記コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に、データアクセスポリシを調整する為の、方法、システム及びコンピュータプログラム製品に関する。より特には、本発明は、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の、方法、システム及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
データアナリティクスパイプライン(data analytics pipeline)、すなわちデータ解析パイプライン、において、入力データが受信され、そして処理され、結果が出力される。幾つかの実装は、複数の処理工程、すなわちレイヤ、を含み、或る工程の出力が、パイプラインにおいて又は一連の配列において次の工程の入力として使用される。各処理段階は変換と呼ばれるが、データそのものは変更される必要がない。幾つかの実装において、例えば時系列データを処理する場合に、該入力データは連続的なストリームであり、該出力データは入力ストリームを処理した結果である。他の実装において、該入力データは連続的なストリームでなくデータの離散的なバッチであり、及び該出力データはまた、データの離散的なバッチである。
【0003】
データアナリティクスにおいて、カラム(属性又はデータ属性とも呼ばれる)は、特定のタイプのデータ値の1組である。行は、各カラムのインスタンスのデータを保持する。従って、行と列の交点は、各属性の特定のデータ値を保持する。例えば、従業員データの1組は、氏名、給与、誕生月、住所及び電話とラベル付けされた列でありうる。データの各行は、特定の1人の従業員の為のデータ、例えば、ジェーン・スミスの氏名、給与データ、(チームビルディングイベントにおける企画において使用する為の)誕生月、住所及び携帯電話番号、を保持しうる。データが2次元の行と列の形式で実際には格納されていない場合でも、データ属性はまた、列として呼ばれる。
【0004】
データアクセスポリシはまた、どのエンティティが特定のデータにアクセスすることができるかを制御する。或るデータアクセスポリシの実装において、データカラム又は属性は各々、最も保護されていない(例えば、1)から最も保護されている(例えば、5)までのスケールでデータアクセスレベルを割り当てられる。データアクセスするエンティティ(data accessing entities)はまた、保護する為の能力と保護されたデータを知る必要性との組み合わせに依存して、同じ尺度でデータアクセスレベルを割り当てられる。属性のデータアクセスレベルと同じか又はそれよりも高いデータアクセスレベルを持つデータアクセスするエンティティのみが、そのデータへのアクセスを許可される。例えば、管理アシスタントに割り当てられたデータアクセスシステムには、データアクセスレベル1が割り当てられ、従業員の誕生月データ等、同様にデータアクセスレベル1が割り当てられたデータへのアクセスは許可されるが、より高いデータアクセスレベルが割り当てられたデータへのアクセスは許可されない。しかしながら、給与処理システムには、データアクセスレベル4が割り当てられていてもよく、データアクセスレベル1~4が割り当てられたデータ、例えば従業員の給与データ(データアクセスレベル4を有する)を包含する上記のデータ、へのアクセスが許可されてもよい。
【発明の概要】
【課題を解決するための手段】
【0005】
例示的な実施態様は、方法、システム及びコンピュータプログラム製品を提供する。1つの実施態様は、オートエンコーダネットワークを第1のモデルパラメータから生成する方法を含む。1つの実施態様は、該オートエンコーダネットワークについての再構成誤差を測定し、ここで、該再構成誤差は、該オートエンコーダネットワークへの入力と該オートエンコーダネットワークからの対応する出力との間の差を含み、該オートエンコーダネットワークへの該入力は、データの初期セットの一部を含む。1つの実施態様は、該再構成誤差と、該オートエンコーダネットワークの複雑さレベルに対応する信頼度スコアとを、該オートエンコーダネットワークの難易度スコアのレベルへと集約する。1つの実施態様は、難易度スコアの該レベルと、データの該初期セットに対応する初期データアクセスポリシレベルとから、該初期データアクセスポリシレベルに対応する導出されたデータアクセスポリシレベルを生成し、ここで、該導出されたデータアクセスポリシレベルは、データの該初期セットに変換を適用することによって生成された変換済みデータセットへのアクセスを実施する。
【0006】
実施態様は、1以上のコンピュータ使用可能なプログラム製品を含む。該コンピュータ使用可能なプログラム製品は、1以上のコンピュータ可読記憶デバイス、及び該1以上のコンピュータ可読記憶デバイスのうちの少なくとも1つのコンピュータ可読記憶デバイス上に記憶された複数のプログラム命令を備えている。
【0007】
実施態様は、コンピュータシステムを含む。該コンピュータシステムは、1以上のプロセッサ、1以上のコンピュータ可読メモリ、及び1以上のコンピュータ可読記憶デバイス、並びに該1以上のコンピュータ可読メモリのうちの少なくとも1つを介して該1以上のプロセッサのうちの少なくとも1つによって実行する為の、該1以上のコンピュータ可読記憶デバイスのうちの少なくとも1つのコンピュータ可読記憶デバイス上に記憶された複数のプログラム命令を備えている。
【0008】
本発明の特徴と考えられている或る新規な特徴は、添付の特許請求の範囲に記載されている。しかしながら、本発明それ自体、並びにその好ましい使用態様、その更なる目的及び利点は、添付の図面と併せて読まれた場合に、例示的な実施態様の以下の詳細な説明を参照することによって最もよく理解されるであろう。
【図面の簡単な説明】
【0009】
図1図1は、例示的な実施態様が実装されうるデータ処理システムのネットワークのブロック図を図示する。
図2図2は、例示的な実施態様が実装されうるデータ処理システムのブロック図を図示する。
図3図3は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の例示的な構成のブロック図を図示する。
図4図4は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の例示的な構成のブロック図を図示する。
図5図5は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する例を図示する。
図6図6は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。
図7図7は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。
図8図8は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。
図9図9は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。
図10図10は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。
図11図11は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の例示的なプロセスのフローチャート図を図示する。
図12図12は、本発明の1つの実施態様に従う、クラウドコンピューティング環境を図示する。
図13図13は、本発明の1つの実施態様に従う抽象化モデル層を図示する。
【発明を実施するための形態】
【0010】
例示的な実施態様は、アナリティクス操作への入力データがデータアクセスポリシによって保護されている場合、該アナリティクス操作の出力(導出されたデータとも呼ばれる)がまた、同様に適切な保護が必要であると考えられることを認識する。該導出されたデータが十分に保護されていない場合、権限のないエンティティが該導出されたデータにアクセスし、そして分析して、オリジナルの入力データを復元する可能性がある。しかしながら、既に公開されているデータ、又は公開されていてもリスクを有しないデータを保護することは不要であり、データ処理操作を複雑化させる。従って、例示的な実施態様は、導出されたデータについてのデータアクセスポリシを決定する必要性があることを認識する。
【0011】
例示的な実施態様はまた、現在、人間の専門家が導出されたデータについてのデータアクセスポリシを実施すること、例えば、特定のデータアクセスポリシレベルを手動で設定することを包含する上記のデータアクセスポリシを実施すること、を認識する。該設定することは、導出されたデータが十分に匿名化されていると人が信じるかどうかに関係なく、単純なカテゴリ規則(例えば、全ての健康に関連するデータ又は全ての給与関連データは、少なくとも特定のデータアクセスポリシレベルを有していなければならない)と専門家の直感の組み合わせとに基づく。しかしながら、専門家の判断は時間とともに変化する可能性があり、そして、異なる専門家はしばしば一貫性のない結果を出すこともある。また、アナリティクス操作は1対1ではなく多対多であることが多く、操作がアナリティクスパイプラインに追加されるにつれて、時間の経過とともに複雑になっていく。その結果、データアクセスポリシ解析が複雑になりすぎて人間が正確に行えなくなり、過保護又は過少な保護を結果として生じる。加えて、専門家の判断は、オリジナルデータを回復する為に導出されたデータの特定の組を解析することの特定の難易度を殆ど考慮しない。結果的に、例示的な実施態様は、オリジナルデータのデータアクセスポリシレベルと、オリジナルデータを導出されたデータから回復する難易度とに基づいて、導出されたデータのデータアクセスポリシレベルを自動的に決定する必要性があることを認識する。
【0012】
例示的な実施態様は、現在利用可能なツール又はソリューションが、これらの必要性に対処していない、又はこれらの必要性に対する適切な解決策を提供していないことを認識する。本発明を説明する為に使用される例示的な実施態様は一般的に、データアナリティクスにおけるデータアクセスポリシを自動的に調整することに関連する上述された問題及び他の問題に対処し、且つ解決する。
【0013】
実施態様は、ソフトウェアアプリケーションとして実装されることができる。実施態様を実装するアプリケーションは、既存のデータアナリティクスシステムの修正として、既存のデータアナリティクスシステムと連携して動作する別のアプリケーションとして、スタンドアロンアプリケーションとして、又はそれらの幾つかの組み合わせとして構成されることができる。
【0014】
特に、幾つかの例示的な実施態様は、オリジナルデータを導出されたデータから回復することに関連付けられた難易度スコアのレベルを測定し、そして、難易度スコアと、データの初期セットに対応する初期データアクセスポリシレベルとから、導出されたデータアクセスポリシレベルを生成する方法を提供する。
【0015】
1つの実施態様は、オリジナルデータのカラム又は属性から導出されたデータのカラム又は属性への変換の逆変換を決定することによって、導出されたデータからオリジナルデータを回復することに関連付けられた難易度スコアのレベルを測定する。特に、該実施態様は、逆変換、すなわち導出されたデータからオリジナルデータへの変換、にモデルを適合させる為に、オリジナルデータの1組と該オリジナルデータから導出されたデータの1組とを使用する。1つの実施態様は、所定の一連の回帰工程を実行することによって、該モデルを適合させる。該回帰工程の終了時に、該実施態様は、逆変換のエラーメトリック(error metric)を決定する。エラーメトリックの1つの非限定的な例は、該オリジナルデータのモデルの予測と実際のオリジナルデータとの間の差である。1つの実施態様は、該エラーメトリックを難易度スコアのレベルに変換する。難易度スコアのレベルは、該導出されたデータから該オリジナルデータを復元する難易度を表す。所定の範囲内で難易度スコアの最も低いレベルは、オリジナルデータと等しい導出されたデータ又は該導出されたデータから復元することが簡単であるオリジナルデータを表す。難易度スコアのレベルが高いほど、それに応じて回復操作がより困難であることを表し、これは、十分に正確なモデルを生成する為に必要な処理時間又は生成されたモデルの複雑さが原因である。1つの実施態様は、該エラーメトリックをゼロ~1に正規化することによって難易度スコアのレベルに変換し、ここで、ゼロは難易度スコアの最低レベルを表し、及び1は難易度スコアの最高レベルを表す。該エラーメトリックを難易度スコアのレベルに変換する他の技術、及び他の難易度スコアの範囲がまた、例示的な実施態様の範囲内で可能であり且つ企図されている。
【0016】
しかしながら、該導出されたデータを該オリジナルデータに戻す変換の難易度を決定することによって、該導出されたデータから該オリジナルデータを回復することに関連付けられた難易度スコアのレベルを測定することは、該オリジナルデータと該導出されたデータとが1対1の関係にある場合にのみ可能である。結果的に、別の実施態様は、別の方法を用いて難易度スコアのレベルを測定する。
【0017】
オートエンコーダネットワークは、エンコーダ部とデコーダ部とを備えているロッシーデータ圧縮アルゴリズム(lossy data compression algorithm)である。該エンコーダ部は、入力データの単位(例えば、1つの行と列の交点)をエンコードされた形式に変換し、及び該デコーダ部は、エンコードされた形式を再構成されたデータに変換する。該再構成されたデータと該オリジナルの入力データとの差は、再構成損失又は再構成誤差と呼ばれる。1以上のモデルパラメータが、オートエンコーダネットワークの特定の構成を定義する。例えば、該エンコーダ部及び該デコーダ部の両方が、1つ以上の層を有する完全連結ニューラルネットワークとして実装される場合、モデルパラメータの幾つかの非限定的な例は、該エンコーダ部及び該デコーダ部の各々における隠れ層の数及びサイズ、該データのエンコードされた形式の次元の数、特別に構成されたオートエンコーダネットワークを学習する為に使用される学習エポック(training epochs)の数、特別に構成されたオートエンコーダネットワークを訓練する為に使用される損失関数、特別に構成されたオートエンコーダネットワークが訓練すべき速度、ドロップアウト率(層内の所定のノードを学習する蓋然性)、及び訓練中に使用される任意の学習率オプティマイザー(learning rate optimizer)である。損失関数は、ニューラルネットワークの実際の出力とニューラルネットワークの所望の出力との差を測定し、従って、ニューラルネットワークを訓練することにより損失関数を最小限にしようとする。
【0018】
1つの実施態様は、オートエンコーダネットワークを1以上のモデルパラメータから生成する。1つの実施態様において、1以上のモデルパラメータは、デフォルト値に設定されるか、アナリティクス操作によって処理されるべきデータのナレッジに基づいて人間の専門家によって設定されるか、自動的に生成されるか、若しくは現在知られている別の技術を使用して設定されるか、又はこれらの技術の組み合わせを使用して設定される。
【0019】
1つの実施態様は、1以上のモデルパラメータに従って、該生成されたオートエンコーダネットワークを訓練する。1つの実施態様は、訓練データとして、オリジナルデータの1組と、該オリジナルデータから導出されたデータの1組とを使用する。1つの実施態様は、訓練中の損失関数として、オリジナルデータの訓練セットを処理する際のオートエンコーダネットワークの再構成誤差を使用する。別の実施態様は、訓練中の損失関数として、オリジナルの訓練データのエンコードされた形式(該オートエンコーダネットワークのエンコーダ部の出力)と対応する導出された訓練データとの間の差を使用する。別の実施態様は、両方の損失関数を最小化するように該オートエンコーダネットワークを訓練する。
【0020】
1つの実施態様は、特定された数の訓練エポックの為に、該生成されたオートエンコーダネットワークを一旦訓練すると、該オートエンコーダネットワークの再構成誤差及び複雑さレベルを測定する。ネットワークの複雑さレベルを測定する為に、1つの実施態様は、モデルの複雑さに関連するモデルパラメータを共通の複雑さレベルに組み合わせる。1つの実施態様は、該エンコーダ部及び該デコーダ部の各々における隠れ層の数及びサイズと、該データの該エンコードされた形式の該次元の数とを複雑さレベルに加える。別の実施態様はまた、特別に構成されたオートエンコーダネットワークを訓練する際に使用された訓練エポックの数を該複雑さレベルの測定に含める。
【0021】
より複雑なオートエンコーダネットワークは、それほど複雑でないオートエンコーダネットワークよりも再構成誤差が小さいはずである為に、同じデータを処理する場合に、1つの実施態様は、該複雑さレベルを、生成されたオートエンコーダネットワークの再構成誤差に対応する信頼度スコアとして用いる。
【0022】
別の実施態様は、1以上のモデルパラメータを変化させることによって、オートエンコーダネットワークの1組を生成する。例えば、1つの実施態様は、3つのオートエンコーダネットワークを生成してもよく、各オートエンコーダネットワークは、異なる数の隠れ層、データの異なる次元の数のエンコードされた形式、又はそれらの両方を有する。1つの実施態様は、各ネットワークのモデルパラメータに従って、オートエンコーダネットワークの生成された組を訓練し、そして、本明細書に記載された様式で各オートエンコーダネットワークの再構成誤差及び複雑さレベルを測定する。複数のオートエンコーダネットワークを分析することにより、追加の解析時間の犠牲によって、アナリティクス操作から出力された導出されたデータを使用して初期データを回復することの難易度のレベルをより正確に判定することができる場合が多い。
【0023】
1つの実施態様は、1以上のオートエンコーダネットワークの再構成誤差及び対応する複雑さレベルを難易度スコアのレベルに集約する。1つの実施態様は、1以上のオートエンコーダネットワークの再構成誤差を平均化することによって、難易度スコアのレベルを計算する。別の実施態様は、1以上のオートエンコーダネットワークの再構成誤差を平均化することによって難易度スコアのレベルを計算し、ここで、各オートエンコーダネットワークは複雑さレベルの閾値を上回るか又は下回る複雑さレベルを有する。別の実施態様は、難易度スコアのレベルとして、最も低い再構成誤差を有する該オートエンコーダネットワークの該再構成誤差を使用する。別の実施態様は、難易度スコアのレベルとして、最も低い再構成誤差を有する該オートエンコーダネットワークの該再構成誤差を使用し、ここで、該オートエンコーダネットワークはまた、複雑さレベルの閾値を上回るか又は下回る複雑さレベルを有する。難易度スコアの該レベルは、アナリティクス操作から出力された導出されたデータを使用して初期データを回復することに伴う難易度のレベルを表す。
【0024】
1つの実施態様は、モデルパラメータの初期セットから生成されたオートエンコーダネットワークの難易度スコアのレベルを決定し、1以上のモデルパラメータをそれらの初期設定から変化させ、そして、オートエンコーダネットワークの対応する1組を生成する。1つの実施態様は、各ネットワークのモデルパラメータに従って、オートエンコーダネットワークの該生成された組を訓練し、各ネットワークの再構成誤差及び複雑さレベルを測定し、そして、該オートエンコーダネットワークの再構成誤差及び対応する複雑さレベルを新しい難易度スコアのレベルに、本明細書において記載された様式で集計する。ベースラインとして難易度スコアの初期レベルを決定し、そして、そのベースラインに基づいて追加のネットワークを生成し、そして解析することは、追加のネットワークの生成を、難易度の全体的なレベルを評価する際に最も有用であると予測されるものに限定するのに役立つ。
【0025】
1つの実施態様は、難易度スコアのレベルと該初期データのデータアクセスポリシレベルとを使用して、該導出されたデータのデータアクセスポリシレベルを決定する。例えば、難易度スコアの該レベルが低い場合(例えば、0~5のスケールにおいて1)、初期データを導出されたデータから回復することは全く困難でないことを示し、該導出されたデータの該データアクセスポリシレベルは該初期データの該データアクセスポリシレベルと等しくあるべきである。一方、難易度スコアの該レベルが高い場合(例えば、0~5のスケールにおいて4.5)、初期データを導出されたデータから回復することが非常に難しいことを示し、該導出されたデータの該データアクセスポリシレベルを該初期データの該データアクセスポリシレベルに対して下げる、すなわち緩和することができる。
【0026】
本明細書において記載されたデータアナリティクスにおけるデータアクセスポリシを自動的に調整する様式は、データアナリティクスに関連する技術分野において現在利用可能な方法では利用できない。本明細書において記載された実施態様の方法は、デバイス又はデータ処理システム上で実行するように実装される場合に、オートエンコーダネットワークをモデルパラメータから生成すること、該オートエンコーダネットワークの再構成誤差を測定すること、再構成誤差と信頼度スコアとを、オートエンコーダネットワークの難易度スコアのレベルへと集約すること、及び、難易度スコアの該レベルと、データの該初期セットに対応する初期データアクセスポリシレベルとから、導出されたデータアクセスポリシレベルを生成することにおけるデバイス又はデータ処理システムの機能の実質的な進歩を含む。
【0027】
例示的な実施態様は、ある種のコンテンツ、伝送、遅延、イベント、クライマックスイベント、非クライマックスイベント、期間、予測、閾値、検証、応答、順位、調整、センサ、測定、デバイス、データ処理システム、環境、コンポーネント、及びアプリケーションに関して一例としてのみ記載されている。これら及び他の類似のアーティファクトの任意の具体的な表現は、本発明を限定することを意図していない。これら及び他の類似のアーティファクトの任意の好適な表現は、例示的な実施態様の範囲内で選択されることができる。
【0028】
その上、例示的な実施態様は、任意のタイプのデータ、データソース、又はデータネットワーク上のデータソースへのアクセスに関して実施されうる。任意のタイプのデータストレージデバイスは、本発明の範囲内で、データ処理システムでローカルに又はデータネットワークを介して、本発明の実施態様に該データを提供しうる。1つの実施態様がモバイルデバイスを使用して説明される場合、モバイルデバイスと共に使用する為に適した任意のタイプのデータストレージデバイスは、例示的な実施態様の範囲内で、モバイルデバイスでローカルに又はデータネットワーク上のいずれかで、そのような実施態様に該データを提供しうる。
【0029】
例示的な実施態様は、特定のコード、設計、アーキテクチャ、プロトコル、レイアウト、回路図、及びツールを使用して例としてのみ説明され、例示的な実施態様を限定するものではない。その上、例示的な実施態様は、説明の明確化の為に、特定のソフトウェア、ツール、及びデータ処理環境を使用して例としてのみ説明される場合がある。例示的な実施態様は、他の同等な又は同様の目的の構造、システム、アプリケーション、又はアーキテクチャと組み合わせて使用されうる。例えば、他の同等なモバイルデバイス、構造、システム、アプリケーション、又はその為のアーキテクチャは、本発明の範囲内で、本発明のそのような実施態様と組み合わせて使用されうる。例示的な実施態様は、ハードウェア、ソフトウェア、又はそれらの組み合わせにおいて実施されうる。
【0030】
本開示における例は、説明の明確化の為にのみ使用され、例示的な実施態様に限定されない。追加のデータ、操作、アクション、タスク、アクティビティ、及び操作は、本開示から考えられ、同じものが例示的な実施態様の範囲内で企図される。
【0031】
本明細書に列挙された任意の利点は、例示に過ぎず、例示的な実施態様に限定されることを意図していない。追加の又は異なる利点が、特定の例示的な実施態様によって実現されうる。その上、特定の例示的な実施態様は、上記に列挙された利点の一部を有してもよく、全てを有してもよく、又はいずれも有していなくてもよい。
【0032】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙される教示の実装はクラウドコンピューティング環境に限定されないことが予め理解されるべきである。むしろ、本発明の実施態様は、現在知られている又は後に開発される任意の他の種類のコンピューティング環境と組み合わされて実装されることができる。
【0033】
クラウドコンピューティングは、最小限の管理労力又はサービスのプロバイダとの相互作用で迅速にプロビジョニングされ且つ解放されることができる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理(processing)、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にする為のサービス提供のモデルである。このクラウドモデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つのデプロイメントモデル(deployment model)を含みうる。
【0034】
特徴は下記の通りである。
【0035】
オンデマンドセルフサービス(On-demand self-service):クラウドコンシューマ(cloud consumer)は、サービスのプロバイダとのヒューマンインターラクション(human interaction)を必要とせずに、自動的に必要に応じて、コンピューティング機能、例えばサーバ時間及びネットワークストレージ、を一方的にプロビジョニングすることができる。
【0036】
ブロードネットワークアクセス:機能は、ネットワークを介して利用可能であり、及び異種のシン(thin)クライアント・プラットフォーム又はシック(thick)クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
【0037】
リソースのプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供する為にプールされ、及び様々な物理リソースと仮想リソースが需要に従って動的に割り当てられ及び再割り当てされる。コンシューマは一般的に、提供されたリソースの正確な場所についての制御又は知識を有していないが、より高いレベルの抽象化での場所(例えば、国、州又はデータセンター)を特定できうるという点で、場所に依存しないといえる。
【0038】
迅速な順応性:機能は、迅速且つ弾力的にプロビジョニングされ、場合によっては自動的に、迅速にスケールアウトされ、迅速にリリースされて迅速にスケールインされうる。コンシューマにとって、プロビジョニングに利用可能な機能はしばしば、無制限であり及びいつでも任意の量で購入されることができる。
【0039】
測定されたサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御し及び最適化する。リソース使用は監視され、制御され、及び報告されることができ、利用されるサービスのプロバイダ及びコンシューマの両方についての透明性を提供することができる。
【0040】
サービスモデルは下記の通りである。
【0041】
サービスとしてのソフトウェア(SaaS:Software as a Service):クラウドインフラストラクチャにおいて実行しているプロバイダのアプリケーションを使用する為に、コンシューマに提供される機能である。該アプリケーションは、シン・クライアント・インタフェース、例えばウェブブラウザ(例えば、ウェブベースの電子メール)、を通じて、様々なクライアント・装置からアクセス可能である。該コンシューマは、制限されたユーザ固有のアプリケーション構成設定の在りうる例外として、基礎をなすクラウドインフラストラクチャ、例えば、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は個々のアプリケーション機能さえも包含する基礎をなすクラウドインフラストラクチャ、を管理又は制御しない。
【0042】
サービスとしてのプラットフォーム(PaaS:Platform as a Service):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウドインフラストラクチャ上にデプロイする為に、該コンシューマに提供される機能である。該コンシューマは、基礎をなすクラウドインフラストラクチャ、例えば、ネットワーク、サーバ、オペレーティングシステム、又はストレージを包含する基礎をなすクラウドインフラストラクチャ、を管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
【0043】
サービスとしてのインフラストラクチャ(IaaS:Infrastructure as a Service):コンシューマが、オペレーティングシステム及びアプリケーションを含むことができる任意のソフトウェアをデプロイ及び実行することができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングする為に、該コンシューマに提供される機能である。該コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、デプロイされたアプリケーションに対する制御、並びに、場合によっては、ネットワーク・コンポーネント(例えば、ホストのファイアウォール)を選択することの制限された制御を有する。
【0044】
デプロイメントモデル(Deployment Models)は下記の通りである。
【0045】
プライベートクラウド:クラウドインフラストラクチャは、ある組織の為のみに運営される。該クラウドインフラストラクチャは、該組織又は第三者によって管理され得、及びオンプレミス(on-premises)又はオフプレミス(off-premises)に存在しうる。
【0046】
コミュニティクラウド:クラウドインフラストラクチャは、幾つかの組織によって共有され、及び共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシ、及びコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。該クラウドインフラストラクチャは、該組織又は第三者によって管理され得、及びオンプレミス又はオフプレミスに存在しうる。
【0047】
パブリッククラウド:クラウドインフラストラクチャは、一般公衆又は大規模な業界グループに対して利用可能であり、及びクラウドサービスを販売する組織によって所有される。
【0048】
ハイブリッドクラウド:クラウドインフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散の為のクラウド・バースティング)によって一緒にされる2以上のクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
【0049】
クラウドコンピューティング環境は、無国籍性(statelessness)、低結合性、モジュール性、及びセマンティック相互運用性(semantic interoperability)に焦点を有する指向されたサービスである。クラウドコンピューティングの中核(heart)は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0050】
図を参照して、特に図1及び図2を参照して、これらの図は、例示的な実施態様が実装されうるデータ処理環境の例示的な図である。図1及び図2は、例示に過ぎず、異なる実施態様が実装されうる環境に関して、いかなる限定も主張又は暗示することが意図されていない。特定の実施態様は、以下の説明に基づいて、描かれた環境において多くの修正を加えうる。
【0051】
図1は、例示的な実施態様が実装されうるデータ処理システムのネットワークのブロック図を図示する。データ処理環境100は、例示的な実施態様が実装されうるコンピュータのネットワークである。データ処理環境100は、ネットワーク102を備えている。ネットワーク102は、データ処理環境100内で一緒に接続された様々なデバイスとコンピュータとの間の通信リンクを提供する為に使用される媒体である。ネットワーク102は、接続、例えば、ワイヤ、無線通信リンク、又は光ファイバケーブル、を包含しうる。
【0052】
クライアント又はサーバは、ネットワーク102に接続された或るデータ処理システムの例示的な役割に過ぎず、これらのデータ処理システムの他の構成又は役割を除外することが意図されていない。サーバ104及びサーバ106は、ストレージユニット108とともにネットワーク102に接続する。ソフトウェアアプリケーションは、データ処理環境100内の任意のコンピュータ上で実行することができる。クライアント110、112、及び114はまた、ネットワーク102に接続される。データ処理システム、例えば、サーバ104若しくは106、又はクライアント110、112若しくは114、はデータを含み、及びそれらの上で実行されるソフトウェアアプリケーション又はソフトウェアツールを有しうる。
【0053】
単なる一例であり、及びそのようなアーキテクチャへの何らの限定を意味すること無しに、図1は、実施態様の例示的な実装において使用可能な或るコンポーネントを図示する。例えば、サーバ104及び106、並びにクライアント110、112及び114は、サーバ及びクライアントとして一例としてのみ図示されており、クライアント-サーバアーキテクチャへの限定を意味するものでない。別の例として、1つの実施態様は、図示されているように、複数のデータ処理システム及びデータネットワークに分散されることができるが、一方、別の実施態様は、例示的な実施態様の範囲内で単一のデータ処理システム上で実装されることができる。データ処理システム104、106、110、112及び114はまた、1つの実施態様を実装する為に適したクラスタ、パーティション及び他の構成における例示的なノードを表す。
【0054】
デバイス132は、本明細書において記載されているデバイスの一例である。例えば、デバイス132は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、据え置き型又はポータブル型のクライアント110、ウェアラブルコンピューティングデバイス、又は任意の他の適切なデバイスの形態を取ることができる。図1における別のデータ処理システムにおいて実行されるものとして記載された任意のソフトウェアアプリケーションは、同様の様式でデバイス132において実行するように構成されることができる。図1における別のデータ処理システムにおいて記憶又は生成される任意のデータ又は情報は、類似の様式でデバイス132において記憶又は生成されるように構成されることができる。
【0055】
アプリケーション105は、本明細書において記載された実施態様を実装する。アプリケーション105は、サーバ104及び106、クライアント110、112及び114、並びにデバイス132のいずれかにおいて実行される。加えて、アナリティクスパイプラインは、サーバ104及び106、クライアント110、112及び114、並びにデバイス132のいずれかにおいて実行されることができ、アプリケーション105と同じデバイスにおいて実行される必要はない。
【0056】
サーバ104及び106、ストレージユニット108、並びにクライアント110、112及び114、並びにデバイス132は、有線接続、無線通信プロトコル、又は他の適切なデータ接続を使用して、ネットワーク102に接続しうる。クライアント110、112及び114は、例えば、パーソナルコンピュータ又はネットワークコンピュータでありうる。
【0057】
図示された例において、サーバ104は、データ、例えば、ブートファイル、オペレーティングシステムイメージ、及びアプリケーション、を、クライアント110、112及び114に提供しうる。クライアント110、112及び114は、この例において、サーバ104に対するクライアントでありうる。クライアント110、112、114又はそれらの幾つかの組み合わせは、それら自身のデータ、ブートファイル、オペレーティングシステムイメージ、及びアプリケーションを含みうる。データ処理環境100は、図示されていない追加のサーバ、クライアント及び他のデバイスを備えていてもよい。
【0058】
図示された例において、データ処理環境100は、インターネットでありうる。ネットワーク102は、伝送制御プロトコル/インターネットプロトコル(TCP/IP:Transmission Control Protocol/Internet Protocol)及び他のプロトコルを使用して互いに通信するところのネットワーク及びゲートウェイの集合を表しうる。インターネットの中心には、データ及びメッセージを経路付けるところのルーティングする主要なノード又はホストコンピュータ、例えば、何千もの商業、政府、教育、及び他のコンピュータシステムを包含する上記の主要なノード又はホストコンピュータ、のデータ通信リンクのバックボーンがある。もちろん、データ処理環境100がまた、多数の異なるタイプのネットワーク、例えば、イントラネット、ローカルエリアネットワーク(LAN:local area network)、又はワイドエリアネットワーク(WAN:wide area network)等、として実装されうる。図1は、一例として意図されており、異なる例示的な実施態様に対するアーキテクチャ上の制限として意図されたものではない。
【0059】
他の用途の中でも、データ処理環境100は、例示的な実施態様が実装されうるところのクライアント-サーバ環境を実装する為に使用されうる。クライアント-サーバ環境は、クライアントデータ処理システムとサーバデータ処理システムとの間の相互作用を用いることによってアプリケーションが機能するように、ソフトウェアアプリケーション及びデータがネットワークを介して分散されることを可能にする。データ処理環境100はまた、ネットワークに分散された相互運用可能なソフトウェアコンポーネントが一貫したビジネスアプリケーション(coherent business applications)として一緒にパッケージ化されうるところのサービス指向アーキテクチャを使用しうる。データ処理環境100は、クラウドの形態をとってもよく、サービスのプロバイダとの最小限の管理努力又は相互作用で迅速にプロビジョニング及びリリースされることができるところの構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有されたプールへの便利でオンデマンドのネットワークアクセスを可能にする為のサービス提供のクラウドコンピューティングモデルを使用しうる。
【0060】
図2を参照すると、該図は、例示的な実施態様が実装されうるところのデータ処理システムのブロック図を図示する。データ処理システム200は、図1におけるコンピュータ、例えば、サーバ104及び106、又はクライアント110、112及び114、又は例示的な実施態様の為のプロセスを実装するコンピュータ使用可能なプログラムコード又は命令が配置されうる別の種類のデバイスの一例である。
【0061】
データ処理システム200はまた、例示的な実施態様の処理を実装するコンピュータ使用可能なプログラムコード又は命令が配置されうるところのデータ処理システム又はそれらの構成の代表、例えば図1におけるデータ処理システム132、である。データ処理システム200は、一例としてのみコンピュータとして記載されているがそれに限定されるものでない。他のデバイス、例えば図1におけるデバイス132、の形態における実装は、本明細書において記載されたデータ処理システム200の動作及び機能の一般的な説明から逸脱すること無しに、例えば、タッチインタフェースを追加することによってデータ処理システム200を変更してもよく、更にはデータ処理システム200から或る図示された構成要素を排除してもよい。
【0062】
図示された例において、データ処理システム200は、ハブアーキテクチャ、例えば、ノースブリッジ及びメモリコントローラハブ(NB/MCH:North Bridge and memory controller hub)202及びサウスブリッジ及び入力/出力(I/O)コントローラハブ(SB/ICH:South Bridge and input/output controller hub)204を包含する上記のハブアーキテクチャ、を用いる。処理ユニット206、メインメモリ208、及びグラフィックスプロセッサ210は、ノースブリッジ及びメモリコントローラハブ(NB/MCH)202に接続される。処理ユニット206は、1以上のプロセッサを備えていてもよく、1以上の異種プロセッサシステムを使用して実装されてもよい。処理ユニット206は、マルチコアプロセッサであってもよい。グラフィックスプロセッサ210は、或る実装において、アクセラレーテッドグラフィックスポート(AGP:accelerated graphics port)を介してNB/MCH 202に接続されてもよい。
【0063】
図示された例において、ローカルエリアネットワーク(LAN)アダプタ212は、サウスブリッジ及びI/Oコントローラハブ(SB/ICH)204に接続されている。オーディオアダプタ216、キーボード及びマウスアダプタ220、モデム222、読み取り専用メモリ(ROM)224、ユニバーサルシリアルバス(USB:universal serial bus)及び他のポート232、及びPCI/PCIeデバイス234は、バス238を通じてサウスブリッジ及びI/Oコントローラハブ204に接続されている。ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)226及びCD-ROM 230は、バス240を通じてサウスブリッジ及びI/Oコントローラハブ204に接続されている。PCI/PCIeデバイス234は例えば、イーサネットアダプタ、アドインカード、及びノートブックコンピュータの為のPCカードを備えていてもよい。PCIはカードバスコントローラを使用し、一方、PCIeは使用しない。ROM 224は例えば、フラッシュバイナリ入出力システム(BIOS:binary input/output system)であってもよい。ハードディスクドライブ226及びCD-ROM 230は例えば、インテグレ-ティッドドライブエレクトロニクス(IDE:integrated drive electronics)、シリアルアドバンスドテクノロジーアタッチメント(SATA:serial advanced technology attachment)インタフェース、又はその派生物、例えば、外部SATA(eSATA:external-SATA)及びマイクロSATA(mSATA)、を使用してもよい。スーパーI/O(SIO:super I/O)デバイス236は、バス238を通じてサウスブリッジ及びI/Oコントローラハブ(SB/ICH)204に接続されていてもよい。
【0064】
メモリ、例えば、メインメモリ208、ROM 224、又はフラッシュメモリ(図示せず)、は、コンピュータ使用可能な記憶デバイスの幾つかの例である。ハードディスクドライブ又はソリッドステートドライブ226、CD-ROM 230、及び他の同様に使用可能なデバイスは、コンピュータ使用可能な記憶デバイス、例えば、コンピュータ使用可能な記憶媒体を包含する上記のコンピュータ使用可能な記憶デバイス、の幾つかの例である。
【0065】
オペレーティングシステムは、処理ユニット206上で動作する。オペレーティングシステムは、図2におけるデータ処理システム200内の様々なコンポーネントを調整し且つ制御を提供する。該オペレーティングシステムは、任意のタイプのコンピューティングプラットフォーム、例えば、サーバシステム、パーソナルコンピュータ、及びモバイルデバイスを包含するがこれらに限定されない上記の任意のタイプのコンピューティングプラットフォーム、の為の市販のオペレーティングシステムでありうる。オブジェクト指向又は他のタイプのプログラミングシステムは、オペレーティングシステムと連動して動作してもよく、データ処理システム200上で実行されるプログラム又はアプリケーションからオペレーティングシステムへの呼び出しを提供してもよい。
【0066】
オペレーティングシステム、オブジェクト指向プログラミングシステム、及びアプリケーション又はプログラム、例えば図1におけるアプリケーション105、の為の命令は、例えばハードディスクドライブ226上のコード226Aの形態で、記憶デバイス上に配置されており、そして、処理ユニット206による実行の為に1以上のメモリ、例えばメインメモリ208、のうちの少なくとも1つ内にロードされうる。例示的な実施態様のプロセスは、コンピュータに実装された命令を使用して処理ユニット206によって実行されてもよく、コンピュータに実装された命令は、メモリ、例えば、メインメモリ208、読み取り専用メモリ224、内に、又は1以上の周辺デバイス内に配置されていてもよい。
【0067】
その上、1つの事例において、コード226Aは、リモートシステム201Bからネットワーク201Aを介してダウンロードされ得、ここで、同様のコード201Cがストレージデバイス201D上に格納される。別の事例において、コード226Aは、リモートシステム201Bにネットワーク201Aを介してダウンロードされ得、ここで、ダウンロードされたコード201Cがストレージデバイス201D上に格納される。
【0068】
図1図2のハードウェアは、実装に依存して異なりうる。他の内部ハードウェア又は周辺デバイス、例えば、フラッシュメモリ、同等の不揮発性メモリ、又は光ディスクドライブ、が、図1図2に描かれたハードウェアに加えて、又はそれらの代わりに使用されうる。加えて、例示的な実施態様のプロセスは、マルチプロセッサのデータ処理システムに適用されうる。
【0069】
幾つかの例示的な例において、データ処理システム200は、パーソナルデジタルアシスタント(PDA)であってもよく、それは一般的に、オペレーティングシステムファイル若しくはユーザによって生成されたデータ又はそれらの組み合わせを格納する為の不揮発性メモリを提供する為のフラッシュメモリで構成される。バスシステムは、1以上のバス、例えば、システムバス、I/Oバス、PCIバス、を備えていてもよい。もちろん、該バスシステムは、任意のタイプのファブリック又はアーキテクチャに接続された異なる複数のコンポーネント又は複数のデバイスの間のデータの転送を提供するところの該通信ファブリック又はアーキテクチャを使用して実装されうる。
【0070】
通信ユニットは、データの送受信に使用される1以上のデバイス、例えば、モデム又はネットワークアダプタ、を備えていてもよい。メモリは、例えば、メインメモリ208、又はキャッシュ、例えば、ノースブリッジ及びメモリコントローラハブ202に見られるキャッシュ、であってもよい。処理装置は、1以上のプロセッサ又はCPUを備えていてもよい。
【0071】
図1図2において図示された例及び上述された例は、アーキテクチャ上の制限を意味するものでない。例えば、データ処理システム200はまた、モバイル又はウェアラブルデバイスの形態をとることに加えて、タブレットコンピュータ、ラップトップコンピュータ、又は電話デバイスであってもよい。
【0072】
コンピュータ又はデータ処理システムが仮想マシン、仮想デバイス、又は仮想コンポーネントとして記述されている場合に、仮想マシン、仮想デバイス、又は仮想コンポーネントは、データ処理システム200において図示された一部又は全てのコンポーネントの仮想化されたマニフェストを使用してデータ処理システム200の様式で動作する。例えば、仮想マシン、仮想デバイス、又は仮想コンポーネントにおいて、処理ユニット206は、ホストデータ処理システムで利用可能なハードウェア処理ユニット206の全て又は幾つかの仮想化されたインスタンスとして明示され、メインメモリ208は、ホストデータ処理システムにおいて利用可能なメインメモリ208の全て又は幾つかの仮想化されたインスタンスとして明示され、及びディスク226は、ホストデータ処理システムにおいて利用可能であってもよいディスク226の全て又は幾つかの仮想化されたインスタンスとして明示される。そのような事例におけるホストデータ処理システムは、データ処理システム200によって表される。
【0073】
図3を参照すると、該図は、例示的な実施態様に従う、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の例示的な構成のブロック図を図示する。アプリケーション300は、図1におけるアプリケーション105の一例であり、及び図1におけるサーバ104及び106、クライアント110、112及び114、並びにデバイス132のいずれかにおいて実行される。
【0074】
モデルパラメータ生成モジュール310は、1以上のオートエンコーダネットワークを1以上のモデルパラメータから生成する。モジュール310の実装において、1以上のモデルパラメータは、デフォルト値に設定されるか、アナリティクス操作によって処理されるべきデータのナレッジに基づいて人間の専門家によって設定されるか、自動的に生成されるか、若しくは現在知られている別の技術を使用して設定されるか、又はこれらの技術の組み合わせを使用して設定される。
【0075】
モデル訓練モジュール320は、1以上のモデルパラメータに従って、該生成されたオートエンコーダネットワークを訓練する。モジュール320は、訓練データとして、オリジナルデータの1組と、該オリジナルデータから導出されたデータの1組とを使用する。モジュール320の1つの実装は、訓練中の損失関数として、オリジナルデータの訓練セットを処理する場合の該オートエンコーダネットワークの再構成誤差を使用する。モジュール320の別の実装は、訓練中の損失関数として、オリジナルの訓練データのエンコードされた形式(該オートエンコーダネットワークのエンコーダ部の出力)と対応する導出された訓練データとの間の差を使用する。モジュール320の別の実装は、両方の損失関数を最小化するように該オートエンコーダネットワークを訓練する。
【0076】
モジュール320が特定された数の訓練エポックの為に該生成されたオートエンコーダネットワークを訓練すると、モデル評価モジュール330は、該オートエンコーダネットワークの再構成誤差及び複雑さレベルを測定する。ネットワークの複雑さレベルを測定する為に、モジュール330は、モデルの複雑さに関係するモデルパラメータを共通の複雑さレベルへと結合する。エンコーダ部及びデコーダ部の各々における隠れ層の数とデータのエンコードされた形式の次元の数の両方が複雑さの尺度である為に、モジュール330の1つの実装は、エンコーダ部及びデコーダ部の各々における該隠れ層の数と該データのエンコードされた形式の次元の数とを共通の尺度に正規化し、そして、2つの正規化された値を一緒に乗じることによってネットワークの複雑さレベルを測定する。モジュール330の別の実装はまた、複雑さレベルの測定において特別に構成されたオートエンコーダネットワークを訓練する際に使用される訓練エポックの数を含む。
【0077】
モジュール330は、生成されたオートエンコーダネットワークの該再構成誤差に対応する信頼度スコアとして、該複雑さレベルを使用する。
【0078】
アクセスポリシ生成モジュール340は、1以上のオートエンコーダネットワークの再構成誤差及び対応する複雑さレベルを難易度スコアのレベルへと集約する。難易度スコアの該レベルは、アナリティクス操作から出力された導出されたデータを使用して初期データを回復する際に関与する難易度のレベルを表す。
【0079】
アプリケーション300の1つの実装において、モジュール330は、モデルパラメータの初期セットから生成されたオートエンコーダネットワークの為に難易度スコアのレベルを決定し、及びモジュール310は、1以上のモデルパラメータをそれらの初期設定から変化させ、そして、オートエンコーダネットワークの対応する1組を生成する。モジュール320は、各ネットワークのモデルパラメータに従って、オートエンコーダネットワークの該生成された1組を訓練する。モジュール330は、各ネットワークの再構成誤差及び複雑さレベルを測定し、及びモジュール340は、本明細書に記載された様式で、該オートエンコーダネットワークの再構成誤差及び対応する複雑さレベルを、難易度スコアの新しいレベルへと集約する。
【0080】
アクセスポリシ生成モジュール340は、難易度スコアの該レベルと該初期データのデータアクセスポリシレベルとを使用して、該導出されたデータのデータアクセスポリシレベルを決定する。例えば、難易度スコアの該レベルが低い場合(例えば、0~5のスケールにおいて1)、初期データを導出されたデータから回復することは全く困難でないことを示し、該導出されたデータの該データアクセスポリシレベルは該初期データの該データアクセスポリシレベルと等しくあるべきである。一方、難易度スコアの該レベルが高い場合(例えば、0~5のスケールにおいて4.5)、初期データを導出されたデータから回復することが非常に難しいことを示し、該導出されたデータの該データアクセスポリシレベルを該初期データの該データアクセスポリシレベルに対して下げる、すなわち緩和することができる。
【0081】
図4を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の例示的な構成のブロック図を図示する。特に、図4は、図3におけるモデル評価モジュール330をより詳細に図示する。
【0082】
再構成誤差モジュール410は、オートエンコーダネットワークの再構成誤差を測定する。複雑さ評価モジュール420は、モデルの複雑さに関連するモデルパラメータを共通の複雑さレベルへと組み合わせることによって、オートエンコーダネットワークの複雑さレベルを測定する。エンコーダ部及びデコーダ部の各々における隠れ層の数と該データのエンコードされた形式の次元の数との両方が複雑さの尺度である故に、モジュール420の1つの実装は、エンコーダ部及びデコーダ部の各々における該隠れ層の数と該データのエンコードされた形式の次元の数とを共通の尺度に正規化し、そして、2つの正規化された値を一緒に乗じることによってネットワークの複雑さレベルを測定する。モジュール420の別の実装はまた、複雑さレベルの測定において特別に構成されたオートエンコーダネットワークを訓練する際に使用される訓練エポックの数を含む。
【0083】
図5を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する例を図示する。本例は、図3におけるアプリケーション300を使用して実行されることができる。
【0084】
図示されているように、入力データ510は、入力データアクセスポリシ520の対象である。入力データアクセスポリシ520はデータアクセスポリシレベルの1組を含み、各データアクセスポリシレベルが入力データ510の特定の属性又はカラムに適用される。例えば、特定の個人の給与データは、給与データが高いレベルの保護を必要とする故に、(1~5のスケールにおいて)4のデータアクセスポリシレベルを有し、一方、特定の個人の誕生月は、追加データ無しに、誕生月が比較的に低いレベルの保護を必要とする故に、(1~5のスケールにおいて)1のデータアクセスポリシレベルを有する。
【0085】
入力データ510は、データ変換530によって処理され、導出されたデータ540を結果として生じる。アプリケーション300は、導出されたデータアクセスポリシ550におけるポリシレベルの為の値を決定する。
【0086】
図6を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。モデルパラメータ生成モジュール310は、図3におけるモデルパラメータ生成モジュール310と同じである。入力データ510は、図5における入力データ510と同じである。
【0087】
入力データ510は、給与データを保持する入力データカラム(input data column)602を備えている。アプリケーション300は、入力データカラム602中のデータから導出されたデータについて、導出されたデータアクセスポリシの値を決定する。
【0088】
モデルパラメータ生成モジュール310は、1以上のモデルパラメータを変化させることによって、オートエンコーダネットワークの1組を生成する。特に、モデル610は隠れ層を有しない。モデル620は、エンコーダ部及びデコーダ部の各々において1つの隠れ層を有し、及び50の次元を有するエンコードされたデータを生成する。モデル630は、エンコーダ部及びデコーダ部の各々において1つの隠れ層を有し、及び100の次元を有するエンコードされたデータを生成する。モデル610、620及び630の描写は、各モデルを象徴的に図示したものであり、各モデルを正確に表現することを意図していない。
【0089】
図7を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。モデル訓練モジュール320は、図3におけるモデル訓練モジュール320と同じである。モデル610、620及び630は、図6におけるモデル610、620及び630と同じである。
【0090】
図示されているように、モデル訓練モジュール320は、1以上のモデルパラメータに従ってモデル610を訓練し、訓練済みモデル710を生成する。モデル訓練モジュール320は、1以上のモデルパラメータに従ってモデル620を訓練し、訓練済みモデル720を生成する。モデル訓練モジュール320は、1以上のモデルパラメータに従ってモデル630を訓練し、訓練済みモデル730を生成する。
【0091】
図8を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。導出されたデータ540は、図5における導出されたデータ540と同じである。入力データカラム602及びモデル610は、図6における入力データカラム602及びモデル610と同じである。
【0092】
図8は、モデル610の訓練をより詳細に図示する。訓練中に使用される1つの損失関数は、入力データカラム602を処理して再構成されたデータカラム802を生成する場合のモデル610の再構成誤差である再構成損失810である。訓練中に使用される別の損失関数は、オートエンコーダネットワークのエンコーダ部の出力である潜在ベクトル830と導出されたデータ540における導出された特徴820との差である損失関数840である。
【0093】
図9を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。モデル評価モジュール330は、図3におけるモデル評価モジュール330と同じである。訓練済みモデル710、720及び730は、図7における訓練済みモデル710、720及び730と同じである。
【0094】
モデル評価モジュール330は、訓練済みモデル710、720及び730の各々の再構成誤差及び複雑さレベルを測定する。特に、モジュール330は、訓練済みモデル710の再構成誤差910及び複雑さ912を測定する。モジュール330は、訓練済みモデル720の再構成誤差920及び複雑さ922を測定する。モジュール330は、訓練済みモデル730の再構成誤差930及び複雑さ932を測定する。
【0095】
図10を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する継続的な例を図示する。アクセスポリシ生成モジュール340は、図3におけるアクセスポリシ生成モジュール340と同じである。再構成誤差910、920及び930並びに複雑さ912、922及び932は、図9における再構成誤差910、920及び930並びに複雑さ912、922及び932と同じである。
【0096】
アクセスポリシ生成モジュール340は、再構成誤差910、920及び930と複雑さ912、922及び932を、集約された再構成誤差1010と信頼度スコア1012へと集約し、難易度スコアのレベル1020を決定し、そして、スコア1020と初期データのデータアクセスポリシレベルを使用して、導出されたデータ540のアクセスポリシレベル1030を決定する。
【0097】
図11を参照すると、該図は、例示的な実施態様に従って、データアナリティクスにおけるデータアクセスポリシを自動的に調整する為の例示的なプロセスのフローチャート図を図示する。プロセス1100は、図3におけるアプリケーション300に実装されることができる。
【0098】
ブロック1102において、該アプリケーションは、オートエンコーダネットワークをモデルパラメータから生成する。ブロック1104において、該アプリケーションは、該オートエンコーダネットワークについての再構成誤差及び複雑さレベルを測定する。ブロック1106において、該アプリケーションは、該再構成誤差と、該複雑さレベルに対応する信頼度スコアとを、該オートエンコーダネットワークの難易度スコアのレベルへと集約する。ブロック1108において、該アプリケーションは、モデルパラメータと、対応するオートエンコーダネットワークとの1組を難易度スコアの該レベルから生成し、ここで、各々は、該オートエンコーダネットワークを記述するモデルパラメータからのバリエーションを含む。ブロック1110において、該アプリケーションは、オートエンコーダネットワークの該1組の各々についてモデル固有の再構成誤差及び対応する複雑さレベルを測定する。ブロック1112において、該アプリケーションは、該再構成誤差と、該複雑さレベルに対応する信頼度スコアとを、オートエンコーダネットワークの該1組の難易度スコアのレベルへと集約する。ブロック1114において、該アプリケーションは、難易度スコアの該レベルと、データの初期セットに対応する初期データアクセスレベルとから、データの該初期セットに変換を適用することによって生成される変換済みデータセットへのアクセスを実施する導出されたデータアクセスレベルを生成する。次に、該アプリケーションは終了する。
【0099】
ここで図12を参照すると、例示的なクラウドコンピューティング環境50が図示されている。図示されているように、クラウドコンピューティング環境50は、クラウドコンシューマ、例えば、パーソナルデジタルアシスタント(PDA:personal digital assistant)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C若しくは自動車コンピュータシステム54N等又はそれらの組み合わせ、によって用いられるローカルコンピューティングデバイスが通信しうる1以上のクラウドコンピューティングノード10を備えている。クラウドコンピューティングノード10は、互いに通信しうる。それらは、1以上のネットワーク、例えば、本明細書において記載されている、プライベートクラウド、コミュニティクラウド、パブリッククラウド、若しくはハイブリッドクラウド、又はそれらの組み合わせ、において物理的又は仮想的にグループ化されていてもよい(図示せず)。これにより、クラウドコンピューティング環境50は、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム若しくはソフトウェア又はそれらの組み合わせを提供することができる。図示されているコンピューティングデバイス54A~54Nの種類は、例示のみを意図されていること、並びにクラウドコンピューティングノード10及びクラウドコンピューティング環境50は、任意の種類のネットワーク若しくはネットワークアドレス可能接続又はそれらの組み合わせを介して(例えば、ウェブブラウザを使用して)任意の種類のコンピュータ化されたデバイスと通信することが理解される。
【0100】
ここで図13を参照すると、クラウドコンピューティング環境50(図12)によって提供される機能的抽象化層の1組が図示されている。コンポーネント、層及び機能は、単に例示であることが意図されていること、並びに本発明の実施態様はそれらに限定されないことが理解されるべきである。図示されている通り、下記の複数の層及び対応する複数の機能が提供される。
【0101】
ハードウェア及びソフトウェア層60は、ハードウェアコンポーネント及びソフトウェアコンポーネントを包含する。ハードウェアコンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバ62;サーバ63;ブレード・サーバ64;記憶デバイス65;並びに、ネットワーク及びネットワーキングコンポーネント66を包含する。幾つかの実施態様において、ソフトウェアコンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68を包含する。
【0102】
仮想化層70は、抽象化層を提供し、この抽象化層から、仮想エンティティの下記の例が提供されうる:すなわち、仮想サーバ71;仮想ストレージ72;仮想ネットワーク73;例えば仮想プライベートネットワークを包含する該仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;並びに、仮想クライアント75。
【0103】
1つの例において、管理層80は、以下で説明される複数の機能を提供しうる。リソース・プロビジョニング81は、クラウドコンピューティング環境内でタスクを実行する為に利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、リソースがクラウドコンピューティング環境内で利用される場合のコスト追跡と、これらのリソースの消費についての課金又は請求とを提供する。1つの例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを包含しうる。セキュリティは、クラウドコンシューマ及びタスクに対する識別検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者の為に、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(SLA:Service Level Agreement)の計画及び履行85は、将来の要件がSLAに従って予測されるクラウド・コンピューティング・リソースの為の事前配置及びその調達を提供する。
【0104】
ワークロード層90は、該クラウドコンピューティング環境が利用されうる複数の機能の例を提供する。この層から提供されうる複数のワークロード及び複数の機能の例は、マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育の提供93;データアナリティクス処理94;トランザクション処理95;並びに、累積的な脆弱性リスク評価(cumulative vulnerability risk assessment)に基づくアプリケーション選択96を包含する。
【0105】
従って、データアナリティクス及び他の関連する特徴、機能又は操作におけるデータアクセスポリシを自動的に調整する為の、コンピュータに実装された方法、システム又は装置、及びコンピュータプログラム製品が、例示の実施態様において提供される。1つの実施態様又はその一部がデバイスの種類に関して記載されている場合、コンピュータに実装された方法、システム若しくは装置、コンピュータプログラム製品、又はそれらの一部は、その種類のデバイスの適切且つ同等の表現と共に使用する為に適合又は構成される。
【0106】
1つの実施態様がアプリケーションにおいて実装されているとして記載されている場合、例示的な実施態様の範囲内で、サービスとしてのソフトウェア(SaaS)モデルにおけるアプリケーションの配布が企図される。SaaSモデルにおいて、1つの実施態様を実装したアプリケーションの機能は、クラウドインフラストラクチャにおいてアプリケーションを実行することによって、ユーザに提供される。該ユーザは、シンクライアントインタフェース、例えばウェブブラウザ(例えば、ウェブベースの電子メール)、又は他の軽量クライアントアプリケーションを通じて、様々なクライアントデバイスを使用して該アプリケーションにアクセスすることができる。該ユーザは、ネットワーク、サーバ、オペレーティングシステム、又はクラウドインフラストラクチャのストレージを含む基礎となるクラウドインフラストラクチャを管理又は制御しない。場合によっては、該ユーザはSaaSアプリケーションの機能を管理又は制御しないことさえありうる。その他の場合、該アプリケーションの該SaaS実装は、限られたユーザ固有のアプリケーション構成設定の在りうる例外を許可しうる。
【0107】
本発明は、統合の在りうる任意の技術的詳細レベルでの、システム、方法若しくはコンピュータプログラム製品又はそれらの組み合わせでありうる。該コンピュータプログラム製品は、プロセッサに本発明の観点を実行させる為のコンピュータ可読プログラム命令を有する1以上のコンピュータ可読記憶媒体を包含しうる。
【0108】
該コンピュータ可読記憶媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルのコンピュータディスケット(登録商標)、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブル・コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的にエンコードされたデバイス、例えば、パンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、コンピュータ可読記憶媒体は、一時的な信号それ自体、例えば、電波又は他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
【0109】
本明細書において記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個々のコンピューティングデバイス/処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくはワイヤレスネットワーク又はそれらの組み合わせ、を介して外部コンピュータ又は外部記憶デバイスにダウンロードされることができる。該ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ又はこれらの組み合わせで構成されうる。各コンピューティングデバイス/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そして、該コンピュータ可読プログラム命令を、個々のコンピューティングデバイス/処理デバイス内にコンピュータ可読記憶媒体中に記憶する為に伝送する。
【0110】
本発明の動作を実行する為のコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の為の構成データ、又は、1以上のプログラミング言語、例えばオブジェクト指向プログラミング言語、例えば、Smalltalk、C++等、慣用的な手続き型プログラミング言語(例えば、「C」プログラミング言語又は同様のプログラミング言語)、の任意の組み合わせで書かれているソースコード又はオブジェクトコードのいずれか、でありうる。該コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に且つリモート・コンピュータ上で部分的に、又はリモート・コンピュータ若しくはサーバ上で全体的に、実行されうる。後者のシナリオにおいて、該リモート・コンピュータは、任意の種類のネットワーク、例えば、ローカルエリアネットワーク(LAN:local area network)若しくはワイドエリアネットワーク(WAN:wide area network)、を介してユーザのコンピュータに接続されうるか、又は該接続は(例えば、インターネットサービスプロバイダを使用したインターネットを通じて)外部コンピュータに対して行われうる。幾つかの実施態様において、電子回路、例えば、プログラム可能な論理回路、フィールドプログラム可能なゲートアレイ(FPGA:field-programmable gate arrays)又はプログラム可能なロジックアレイ(PLA:programmable logic arrays)、は、本発明の観点を実行する為に、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行しうる。
【0111】
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータプログラム製品若しくはコンピュータプログラムのフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。
【0112】
これらのコンピュータ可読プログラム命令は、該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令が該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定された機能/動作を実装する為の手段を作成するように、コンピュータのプロセッサ又は他のプログラム可能なデータ処理装置に提供されて、マシンを作り出しうる。記憶された命令を有するコンピュータ可読記憶媒体が該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定される機能/動作の観点を実装する命令を含む製造品を含むように、これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置若しくは他のデバイス又はこれらの組み合わせに特定の様式で機能することを指示することができるコンピュータ可読記憶媒体中に記憶されうる。
【0113】
該コンピュータ可読プログラム命令はまた、コンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上で実行される命令が、該フローチャート図若しくはブロック図若しくはそれらの組み合わせの1以上のブロックにおいて特定される機能/動作を実装するように、上記のコンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の操作工程を実行させて、コンピュータに実装されたプロセスを生成しうる。
【0114】
図面中のフローチャート図及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータプログラム製品若しくはコンピュータプログラムの在りうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート図又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つの工程として達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装することができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることに留意されたい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13