(57)【要約】  複数のクラウドサービスのデータ管理のための開示されたコンピュータ実装方法は、可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することを含み得る。可視性アプリケーションからのコマンドは修正され、複数のコンテンツソースに間接的にルーティングされてもよい。本方法は、コマンドに応答して、複数のコンテンツソースにアクセスし、複数のコンテンツソースから、データに関連付けられたメタデータを収集し、集約することを含み得る。本方法はまた、集約したメタデータを解析することを含んでもよい。本方法は、可視性アプリケーションによる提示のために、メタデータ解析の結果を提供することを更に含んでもよい。様々な別の方法、システム、及びコンピュータ可読媒体もまた開示される。
2021516837.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラウドサービスのデータ管理のためのコンピュータ実施方法であって、前記方法の少なくとも一部は、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法は、
可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、前記可視性アプリケーションからのコマンドが修正され、前記複数のコンテンツソースに、間接的にルーティングされる、ことと、
前記コマンドに応じて、前記複数のコンテンツソースにアクセスすることと、
前記複数のコンテンツソースから、前記データに関連付けられたメタデータを収集し、集約することと、
前記集約したメタデータを解析することと、
前記可視性アプリケーションによる提示のために、前記メタデータ解析の結果を提供することと、を含む、方法。
【請求項２】
前記メタデータを収集することが、前記データに関連付けられたユーザのユーザメタデータを収集することを更に含む、請求項１に記載の方法。
【請求項３】
前記メタデータを収集することが、前記データに関連付けられた動作イベントに対応するアクセスメタデータを更に含む、請求項１に記載の方法。
【請求項４】
コマンドを発行するためにユーザを検証することを更に含み、前記コマンドが前記検証されたユーザによって発行される、請求項１に記載の方法。
【請求項５】
前記可視性アプリケーションによる前記結果の前記提示に応じて、前記データを管理するための第２のコマンドを受信することと、
前記複数のコンテンツサービスにアクセスして、前記第２のコマンドを実施することと、を更に含む、請求項１に記載の方法。
【請求項６】
前記第２のコマンドが、前記メタデータ解析に基づいて、ストレージ階層を通じて前記データの部分を移動させるコマンドを含み、前記ストレージ階層が、ストレージデバイスのタイプに基づいて、前記複数のコンテンツソースのストレージデバイスを優先順位付けする、請求項５に記載の方法。
【請求項７】
前記第２のコマンドが、前記メタデータ解析に基づいて前記データの部分を削除するコマンドを含む、請求項５に記載の方法。
【請求項８】
前記複数のコンテンツソースがクラウドサービスを含む、請求項１に記載の方法。
【請求項９】
前記複数のコンテンツソースがプライベートデータサーバを含む、請求項１に記載の方法。
【請求項１０】
複数のクラウドサービスのデータ管理のためのシステムであって、
少なくとも１つの物理プロセッサと、
コンピュータ実行可能命令を含む物理メモリであって、前記命令は、前記物理プロセッサによって実行されると、前記物理プロセッサに、
可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、前記可視性アプリケーションからのコマンドが修正され、前記複数のコンテンツソースに間接的にルーティングされること、
前記コマンドに応じて、前記複数のコンテンツソースにアクセスすること、
前記複数のコンテンツソースから、前記データに関連付けられたメタデータを収集し、集約すること、
前記集約したメタデータを解析すること、及び
前記可視性アプリケーションによる提示のために、前記メタデータ解析の結果を提供することを実行させる、物理メモリと、を備える、システム。
【請求項１１】
前記メタデータを収集することが、前記データに関連付けられたユーザのユーザメタデータを収集することを更に含む、請求項１０に記載のシステム。
【請求項１２】
前記メタデータを収集することが、前記データに関連付けられた動作イベントに対応するアクセスメタデータを更に含む、請求項１０に記載のシステム。
【請求項１３】
前記命令が、コマンドを発行するためにユーザを検証するための命令を更に含み、前記コマンドは、前記検証されたユーザによって発行される、請求項１０に記載のシステム。
【請求項１４】
前記命令が、
前記可視性アプリケーションによる前記結果の前記提示に応じて、前記データを管理するための第２のコマンドを受信すること、及び
前記複数のコンテンツサービスにアクセスして、前記第２のコマンドを実施することのための命令を更に含む、請求項１０に記載のシステム。
【請求項１５】
前記第２のコマンドが、前記メタデータ解析に基づいて、ストレージ階層を通じて前記データの部分を移動させるコマンドを含み、前記ストレージ階層が、ストレージデバイスのタイプに基づいて、前記複数のコンテンツソースのストレージデバイスを優先順位付けする、請求項１４に記載のシステム。
【請求項１６】
前記第２のコマンドが、前記メタデータ解析に基づいて前記データの部分を削除するコマンドを含む、請求項１４に記載のシステム。
【請求項１７】
前記複数のコンテンツソースが、クラウドサービス及びプライベートデータサーバのうちの少なくとも１つを含む、請求項１０に記載のシステム。
【請求項１８】
１つ以上のコンピュータ実行可能命令を備える非一過性コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、前記可視性アプリケーションからのコマンドが修正され、前記複数のコンテンツソースに間接的にルーティングされること、
前記コマンドに応じて、前記複数のコンテンツソースにアクセスすること、
前記複数のコンテンツソースから、前記データに関連付けられたメタデータを収集し、集約すること、
前記集約したメタデータを解析すること、及び
前記可視性アプリケーションによる提示のために、前記メタデータ解析の結果を提供することを実行させる、非一過性コンピュータ可読媒体。
【請求項１９】
前記命令が、
前記可視性アプリケーションによる前記結果の前記提示に応じて、前記データを管理するための第２のコマンドを受信すること、及び
前記複数のコンテンツサービスにアクセスして、前記第２のコマンドを実施することのための命令を更に含む、請求項１８に記載の非一過性コンピュータ可読媒体。
【請求項２０】
前記第２のコマンドが、
前記メタデータ解析に基づいて、ストレージ階層を通じて前記データの部分を移動させるコマンドであって、前記ストレージ階層が、ストレージデバイスのタイプに基づいて前記複数のコンテンツソースのストレージデバイスを優先順位付けする、コマンドと、
前記メタデータ解析に基づいて、前記データの部分を削除するコマンドと、のうちの少なくとも１つを含む、請求項１９に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、その開示が全体においてここに参照することにより組み込まれる、２０１８年４月５日に出願された米国特許仮出願第６２／６５３，５４１号の利益を主張する。
【背景技術】
【０００２】
企業及びエンドユーザは、絶えず増え続ける数のプラットフォーム及び場所にわたって、内部管理されたオンプレミスストレージソリューション、外部管理されたクラウドベースのサービス、又はそれらのうちの１つ以上の混在を含むデータを記憶し、使用することが増えている。残念ながら、データソースは、多くの場合、データを記憶、分類、保護、又は他の方法で管理するための大きく異なる分類又は技術を利用する。データ管理へのこれらの異なるアプローチは、企業又はエンドユーザが、異種データソースにわたって記憶されたデータを一貫して正確に管理することを、特に困難にする場合がある。例えば、データのためにオンプレミスとクラウドベースのデータソースとの混在を利用する企業は、これらのデータソースがそのようなデータを記憶、分類、保護、又は他の方法で管理する異なる方法により、様々な政府規制（欧州連合の一般データ保護規則など）を満たす方法でデータを集中管理することが困難である場合がある。
【０００３】
したがって、本開示は、複数のクラウドサービスのデータ管理のためのシステム及び方法の必要性を特定し、それに対処する。
【発明の概要】
【０００４】
以下でより詳細に説明するように、本開示は、複数のクラウドサービスのデータ管理のための様々なシステム及び方法を記載する。
【０００５】
一例では、複数のクラウドサービスのデータ管理のための方法は、（ｉ）可視性アプリケーション（visibility application）を介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、その可視性アプリケーションからのコマンドが修正され、複数のコンテンツソースに間接的にルーティングされる、ことと、（ｉｉ）コマンドに応答して、複数のコンテンツソースにアクセスすることと、（ｉｉｉ）複数のコンテンツソースから、データに関連付けられたメタデータを収集し、集約することと、（ｉｖ）集約したメタデータを解析することと、（ｖ）可視性アプリケーションによる提示のために、メタデータ解析の結果を提供することと、を含み得る。
【０００６】
いくつかの例では、メタデータを収集することは、データに関連付けられたユーザのユーザメタデータを収集することを更に含んでもよい。いくつかの例では、メタデータを収集することは、データに関連付けられた動作イベントに対応するアクセスメタデータを更に含んでもよい。いくつかの例では、方法は、コマンドを発行するためのユーザを検証することを更に含んでもよい。コマンドは、検証されたユーザによって発行され得る。
【０００７】
いくつかの例では、方法は、（ａ）可視性アプリケーションによる結果の提示に応じて、データを管理するための第２のコマンドを受信することと、（ｂ）複数のコンテンツサービスにアクセスして第２のコマンドを実施することと、を更に含んでもよい。第２のコマンドは、メタデータ解析に基づいてストレージ階層を通じてデータの部分を移動させるコマンドを含んでもよい。ストレージ階層は、ストレージデバイスのタイプに基づいて、複数のコンテンツソースのストレージデバイスを優先順位付けすることができる。第２のコマンドは、メタデータ解析に基づいてデータの部分を削除するコマンドを含んでもよい。
【０００８】
いくつかの例では、複数のコンテンツソースは、クラウドサービスを含み得る。いくつかの例では、複数のコンテンツソースは、プライベートデータサーバを含み得る。
【０００９】
一実施形態では、複数のクラウドサービスのデータ管理のためのシステムは、少なくとも１つの物理プロセッサ及び物理メモリを含んでもよく、物理メモリは、物理プロセッサによって実行されると、物理プロセッサに、（ｉ）可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、その可視性アプリケーションからのコマンドが修正され、複数のコンテンツソースに間接的にルーティングされること、（ｉｉ）コマンドに応答して、複数のコンテンツソースにアクセスすること、（ｉｉｉ）複数のコンテンツソースから、データに関連付けられたメタデータを収集し、集約すること、（ｉｖ）集約したメタデータを解析すること、及び（ｖ）可視性アプリケーションによる提示のために、メタデータ解析の結果を提供することを実行させる、コンピュータ実行可能命令を含む。
【００１０】
いくつかの例では、メタデータを収集することは、データに関連付けられたユーザのユーザメタデータを収集することを更に含んでもよい。いくつかの例では、メタデータを収集することは、データに関連付けられた動作イベントに対応するアクセスメタデータを更に含んでもよい。いくつかの例では、命令は、コマンドを発行するためのユーザを検証するための命令を更に含んでもよい。コマンドは、検証されたユーザによって発行され得る。
【００１１】
いくつかの例では、命令は、（ａ）可視性アプリケーションによる結果の提示に応じて、データを管理するための第２のコマンドを受信すること、及び（ｂ）複数のコンテンツサービスにアクセスして第２のコマンドを実施することのための命令を更に含んでもよい。第２のコマンドは、メタデータ解析に基づいてストレージ階層を通じてデータの部分を移動させるコマンドを含んでもよい。ストレージ階層は、ストレージデバイスのタイプに基づいて、複数のコンテンツソースのストレージデバイスを優先順位付けすることができる。第２のコマンドは、メタデータ解析に基づいてデータの部分を削除するコマンドを含んでもよい。いくつかの例では、複数のコンテンツソースは、クラウドサービス及びプライベートデータサーバのうちの少なくとも１つを含み得る。
【００１２】
いくつかの例では、上記の方法は、非一過性コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、コンピューティングデバイスに（ｉ）可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、その可視性アプリケーションからのコマンドが修正され、複数のコンテンツソースに間接的にルーティングされること、（ｉｉ）コマンドに応答して、複数のコンテンツソースにアクセスすること、（ｉｉｉ）複数のコンテンツソースから、データに関連付けられたメタデータを収集し、集約すること、（ｉｖ）集約したメタデータを解析すること、及び（ｖ）可視性アプリケーションによる提示のために、メタデータ解析の結果を提供することを実行させ得る、１つ以上のコンピュータ実行可能命令を含み得る。
【００１３】
いくつかの例では、命令は、（ａ）可視性アプリケーションによる結果の提示に応じて、データを管理するための第２のコマンドを受信すること、及び（ｂ）複数のコンテンツサービスにアクセスして第２のコマンドを実施することのための命令を更に含んでもよい。いくつかの例では、第２のコマンドは、メタデータ解析に基づいて、ストレージ階層を通じてデータの部分を移動させるコマンドであって、ストレージ階層は、ストレージデバイスのタイプに基づいて複数のコンテンツソースのストレージデバイスを優先順位付けするコマンドと、メタデータ解析に基づいてデータの部分を削除するコマンドとのうちの少なくとも１つを含んでもよい。
【００１４】
本明細書で述べた実施形態のうちのいずれかからの特性は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特性、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
【図面の簡単な説明】
【００１５】
添付の図面は、いくつかの例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の種々の原理を実証及び説明する。
【００１６】
【図１】複数のクラウドサービスのデータ管理のための例示的なシステムのブロック図である。
【図２】複数のクラウドサービスのデータ管理のための追加の例示的なシステムのブロック図である。
【図３】複数のクラウドサービスのデータ管理のための例示的方法のフローチャートである。
【図４】複数のクラウドサービスのデータ管理のための例示的なプラットフォームアーキテクチャのブロック図である。
【図５】複数のクラウドサービスのデータ管理のためのプラットフォームアーキテクチャの例示的なワークフローである。
【図６】本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実施することができる例示的なコンピューティングシステムのブロック図である。
【図７】本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実施することができる例示的なコンピューティングネットワークのブロック図である。
【００１７】
図面を通じて、同一の参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書において説明される例示的な実施形態は、種々の修正及び代替的な形態が可能であるが、具体的な実施形態が、図面において、例として示されており、かつ本明細書において詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図されない。むしろ、本開示は、添付の請求項の範囲内にある全ての修正物、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１８】
本開示は、概して、複数のクラウドサービスのデータ管理のためのシステム及び方法を対象とする。組織ではデータストレージ要求の増加が必要となるため、外部管理されたクラウドベースのサービス及び／又は内部管理されたオンプレミスストレージソリューションを含む様々なデータストレージソリューションに依存する場合がある。予め定義されたデータモデルを伴わないので、かつ／又はストレージソリューション間の様々な不適合性に起因して、非構造化データの量は、極めて管理しにくいほど成長し得る。以下でより詳細に説明するように、マルチクラウドデータ管理のためのプラットフォームは、データを記憶する複数のコンテンツソースにアクセスすることができ、データに関連付けられたメタデータを集約及び解析することができる。プラットフォームは、解析結果を提示し、ユーザがプラットフォームにコマンドを発行するためのユーザインターフェースを提示し得る、可視性アプリケーションのためのアプリケーションプログラミングインターフェース（ＡＰＩ）を提供することができる。プラットフォームは、可視性アプリケーションを介して、非構造化データをより良好に管理するためのツールを提供することができる。例えば、古いデータを削除するか、又はより安価なストレージソリューションに保存することができる。本明細書に記載されるシステム及び方法は、データストレージに必要なコンピューティングリソース及び他のリソースの使用を改善することができる。これにより、データをより良好に制御し、データストレージに関連するコスト及びオーバーヘッドをより良好に管理することが可能になり得る。
【００１９】
加えて、本明細書に記載されるシステム及び方法は、データを解析してデータをより効率的に記憶し、効率的なデータ管理を可能にするインターフェースを提供することによって、コンピューティングデバイスの機能を改善することができる。これらのシステム及び方法はまた、効率的なデータストレージを可能にするプラットフォームを提供することによって、データ管理の分野を改善することができる。
【００２０】
以下では、図１〜図２を参照して、複数のクラウドサービスのデータ管理のための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実施方法についての詳細な説明もまた、図３に関連して提供される。複数のクラウドサービスのデータ管理のための例示的なプラットフォームアーキテクチャの詳細な説明は、図４に関連して提供される。複数のクラウドサービスのデータ管理のための例示的なワークフローの詳細な説明は、図５に関連して提供される。それに加えて、本明細書で説明する実施形態のうちの１つ以上を実施できる例示的なコンピューティングシステム及びネットワークアーキテクチャについての詳細な説明が、図６及び図７と関連してそれぞれ提供される。
【００２１】
図１は、複数のクラウドサービスのデータ管理のための例示的なシステム１００のブロック図である。この図に例解されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。以下でより詳細に説明するように、モジュール１０２は、受信モジュール１０４、アクセスモジュール１０６、収集モジュール１０８、解析モジュール１１０、及び提供モジュール１１２を含んでもよい。別個の要素として例解されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。
【００２２】
特定の実施形態では、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、１つ以上のタスクを実施させてもよい１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、以下でより詳細に説明するように、１つ以上のモジュール１０２は、図２内に例解されたデバイス（例えば、コンピューティングデバイス２０２及び／又はサーバ２０６Ａ〜Ｂ）などの、１つ以上のコンピューティングデバイス上で記憶され、動作するように構成されたモジュールを表現し得る。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【００２３】
図１に示されているように、例示的なシステム１００はまた、メモリ１４０など、１つ以上のメモリデバイスも含み得る。メモリ１４０は、データ及び／又はコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式の揮発性又は不揮発性のストレージデバイス又は媒体を概して表す。一例では、メモリ１４０は、モジュール１０２のうちの１つ以上を記憶、ロード、及び／又は維持し得る。メモリ１４０の例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、これらのうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他の好適なストレージメモリが挙げられる。
【００２４】
図１に示されているように、例示的なシステム１００はまた、物理プロセッサ１３０など、１つ以上の物理プロセッサも含み得る。物理プロセッサ１３０は、概して、コンピュータ可読命令を解釈でき、かつ／又は実行できる任意のタイプ又は形式のハードウェア実施処理ユニットを表す。一例では、物理プロセッサ１３０は、メモリ１４０に記憶されているモジュール１０２のうちの１つ以上にアクセスし得、かつ／又はこれらを修正し得る。追加的に又は代替的に、物理プロセッサ１３０は、モジュール１０２のうちの１つ以上を実行して、複数のクラウドサービスのデータ管理を容易にし得る。物理プロセッサ１３０の例としては、限定することなく、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット（ＣＰＵ）、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、これらのうちの１つ以上の部分、これらのうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他の好適な物理プロセッサが挙げられる。
【００２５】
図１に示されているように、例示的なシステム１００はまた、メタデータ１２０など、１つ以上の追加の要素も含み得る。メタデータ１２０は、一般に、コンテンツソース（例えば、図２のサーバ２０６Ａ〜Ｂ）上にホストされたデータ（例えば、図２のデータ２２８）に関連付けられた任意のタイプ又は形式のメタデータを表す。データは、例えば、ファイル、文書、写真、ビデオ、コンテンツなどであってもよい。メタデータ１２０は、様々な属性及び特性などの、データに関する情報を表し得る。一例では、メタデータ１２０は、コンテンツメタデータ１２２、ユーザメタデータ１２４、及びアクセスメタデータ１２６などの特定のタイプのメタデータを含み得る。コンテンツメタデータ１２２は、ファイルタイプ、ファイルサイズ、ファイルロケーションなどの、データと密接に関連付けられたメタデータを表し得る。ユーザメタデータ１２４は、ユーザ識別、ユーザプロファイル情報（例えば、部署、マネージャ、電子メールアドレスなど）、許可、グループメンバーシップなどのデータにアクセスし得るユーザに関連付けられたメタデータを表すことができる。アクセスメタデータ１２６は、データ上のファイル操作の詳細を含む、データに関連付けられた動作イベントのメタデータを表し得る。アクセスメタデータ１２６の例としては、限定することなく、タイムスタンプ、動作を実行するユーザ、動作のタイプ（例えば、ファイル作成、修正、移動など）、及び他の関連する詳細を挙げることができる。
【００２６】
図１の例示的なシステム１００は、様々な態様で実施され得る。例えば、例示的なシステム１００の全て又は一部分は、図２の例示的なシステム２００の部分を表し得る。図２に示されるように、システム２００は、ネットワーク２０４を介してサーバ２０６Ａ〜Ｂと通信するコンピューティングデバイス２０２を含み得る。一例では、モジュール１０２の機能性の全て又は一部分は、コンピューティングデバイス２０２、サーバ２０６Ａ〜Ｂ、及び／又は任意の他の好適なコンピューティングシステムによって実施され得る。以下でより詳細に説明するように、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２及び／又はサーバ２０６のうちの少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイス２０２及び／又はサーバ２０６Ａ〜Ｂが複数のクラウドサービスを管理できるようにし得る。例えば、以下でより詳細に説明するように、モジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２及び／又はサーバ２０６Ａ〜Ｂに、図２を使用して方法クレームのステップを再作成させることができる。
【００２７】
コンピューティングデバイス２０２は、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形式のコンピューティングデバイスを概して表す。コンピューティングデバイス２０２は、以下で説明するように、マルチクラウドデータ管理のためのプラットフォームをホスティングするバックエンドサーバであり得るプラットフォームサーバであってもよい。コンピューティングデバイス２０２の追加例としては、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス（例えば、スマートウォッチ、スマートグラスなど）、スマートビークル、スマートパッケージング（例えば、アクティブ又はインテリジェントパッケージング）、ゲーム機、いわゆるＩｏＴデバイス（例えば、スマート家電など）、これらのうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【００２８】
サーバ２０６Ａ〜Ｂは、データ２２８などのコンテンツをホスティングすることができる任意のタイプ又は形式のコンピューティングデバイスを概して表す。サーバ２０６Ａ〜Ｂは、クラウドサービス及び／又は他のプライベートデータホスティングサービスをホスティングするクラウドサーバ又はサーバであってもよい。サーバ２０６の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なウェブ、ストレージ、及び／若しくはデータベースサービスを提供するように構成されたバックエンドサーバ、アプリケーションサーバ、ウェブサーバ、ストレージサーバ、及び／又はデータベースサーバが挙げられるが、これらに限定されない。図２において２つのエンティティとして例解されるが、サーバ２０６Ａ〜Ｂは、互いに連動して働き、かつ／又は動作する複数のサーバを含み、かつ／又は表してもよい。
【００２９】
データ２２８は、概して、任意のタイプ又は形式のデータを表す。データ２２８の例としては、ファイル、文書、写真、ビデオ、情報のデジタル表現などが挙げられ得るが、これらに限定されない。データ２２８は、サーバ２０６Ａ〜Ｂなどの複数のサーバにわたって記憶され、そこからアクセスされてもよい。データ２２８は、非構造化データであってもよい。本明細書で使用するとき、用語「非構造化データ」は、一般に、事前定義された方法で整理されなくてもよく、ないしは別の方法で予め定義されたデータモデルを有さないデータを指す。非構造化データ、特に、様々な非協調クラウドサービス上でホストされた非構造化データは、サイズ及び／又は量が拡大縮小するため管理することが困難であり得る。
【００３０】
ネットワーク２０４は、通信又はデータ転送を容易にすることができる任意の媒体又はアーキテクチャを概して表す。一例において、ネットワーク２０４は、コンピューティングデバイス２０２とサーバ２０６との間の通信を容易にし得る。この例では、ネットワーク２０４は、無線及び／又は有線接続を使用して、通信又はデータ転送を容易にし得る。ネットワーク２０４の例としては、限定するものではないが、イントラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、インターネット、電力線通信（ＰＬＣ）、セルラネットワーク（例えば、汎欧州デジタル移動電話方式（ＧＳＭ）ネットワーク）、上記のうちの１つ以上の部分、上記のうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他の好適なネットワークを含む。
【００３１】
図３は、複数のクラウドサービスのデータ管理のための例示的なコンピュータ実施方法３００のフローチャートである。図３に示されている工程は、図１のシステム１００、図２のシステム２００、及び／又はこれらのうちの１つ以上の変形若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び／又はコンピューティングシステムによって実施され得る。一例では、図３に示されている工程のそれぞれは、複数の副工程を含む及び／又はそれらによって表される構造を有するアルゴリズムを表すものであり得、これらの例を以下に詳細に示す。
【００３２】
図３に示すように、工程３０２において、本明細書に記載されるシステムのうちの１つ以上は、可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することができ、可視性アプリケーションからのコマンドが修正され、複数のコンテンツソースに間接的にルーティングされる。例えば、受信モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、データ２２８を管理するためのコマンドを受信することができる。
【００３３】
本明細書で使用するとき、用語「可視性アプリケーション」は、一般に、アプリケーション性能を監視するために使用され得るアプリケーションを指す。可視性アプリケーションの例としては、診断アプリケーション、セキュリティアプリケーション、管理ツールなどが挙げられるが、これらに限定されない。いくつかの例では、可視性アプリケーションは、より一般的に、ユーザインターフェースを提供するために、クライアントフェイシングであってもよく、ユーザがプラットフォームに直接アクセスできないように、下にあるプラットフォーム及び／又はバックエンドサービスにアクセスするアプリケーションを指してもよい。
【００３４】
図４は、可視性アプリケーション４６２、プレゼンテーション層４６０、制御プレーン４７０、解析プレーン４８０、データプレーン４９０、及びコンテンツソース４０６Ａ〜Ｂを含むプラットフォーム環境４００を示す。可視性アプリケーション４６２は、プレゼンテーション層４６０とインターフェースをとる可視性アプリケーションであってもよいが、いくつかの実装形態では、プレゼンテーション層４６０は、可視性アプリケーション４６２を含んでもよいか、又は別の方法で統合してもよい。プラットフォーム４５０は、アーキテクチャがプレゼンテーション層４６０、制御プレーン４７０、解析プレーン４８０、及びデータプレーン４９０によって表され得る様々なマイクロサービスを含み得る、マルチクラウドデータ管理プラットフォームであってもよい。マルチクラウドデータ管理プラットフォームは、例えば、コンピューティングデバイス２０２を用いて実施されてもよい。コンテンツソース４０６Ａ〜Ｂは、様々なクラウドサービスに対応することができ、サーバ２０６Ａ〜Ｂでインプラントされてもよい。
【００３５】
プレゼンテーション層４６０は、可視性アプリケーション４６２がプラットフォーム４５０とインターフェースをとるＡＰＩを提供してもよい。プレゼンテーション層４６０によって、プラットフォーム４５０と相互作用することが可能な様々なアプリケーションを開発することができる。これらのアプリケーションは、コンテンツソース４０６Ａ〜Ｂなどのクラウドサービスに直接アクセスする必要なく、プラットフォーム４５０によって提供されるデータ管理機能を活用することができる。可視性アプリケーション４６２は、ユーザがコマンドを発行し、結果を見ることを可能にするためにユーザにユーザインターフェースを提供することができる。
【００３６】
制御プレーン４７０は、プラットフォーム４５０の様々な層の間で動作を調整するための制御ロジックを提供してもよい。例えば、制御プレーン４７０は、可視性アプリケーション４６２及びプレゼンテーション層４６０を介してユーザからコマンドを受信することができる。制御プレーン４７０は、受信されたコマンドを状況に応じて修正し、受信されたコマンドを実施するために必要に応じて、解析プレーン４８０及び／又はデータプレーン４９０に適切なコマンドを発行することができる。制御プレーン４７０は、実施されたコマンドの結果をプレゼンテーション層４６０に更に送信するか又は送信を容易にし得る。
【００３７】
解析プレーン４８０は、コンテンツソース４０６Ａ〜Ｂに記憶されたデータに対して解析を実施するための解析論理を提供することができる。解析プレーン４８０は、解析を実施するために、１つ以上の機械学習システム及び／又は他の解析ツールを利用してもよい。
【００３８】
データプレーン４９０は、コンテンツソース４０６Ａ〜Ｂにアクセスするためのインターフェースを提供することができる。データプレーン４９０は、クラウドサービス、プライベートデータサーバ、データベースサーバなど、様々なタイプのデータストレージソリューションにアクセスするように構成されてもよい。データプレーン４９０は、プラットフォーム４５０とコンテンツソース４０６Ａ〜Ｂとの間の通信を容易にし得る。
【００３９】
いくつかの実装形態では、プラットフォーム４５０は、単一のサーバ又はコンピューティングデバイス上に配置されてもよい。他の実装形態では、プラットフォーム４５０は、複数のサーバにわたって配置されてもよい。例えば、データプレーン４９０は、クラウドサービス及び／又はプライベートデータサーバ（例えば、サーバ２０６Ａ及び／又はサーバ２０６Ｂ）などのデータ２２８に近接して配置されてもよい。解析プレーン４８０はまた、データ２２８に近接して配置されてもよい。いくつかの実装形態では、解析プレーン４８０及び／又はデータプレーン４９０の複数の反復は、各クラウドサービス及び／又はプライベートデータサーバ上などに配置されてもよい。制御プレーン４７０は、クライアントコンピューティングデバイス又は企業サーバなどのユーザに近接し得る集中化した位置に配置されてもよい。
【００４０】
図３に戻ると、本明細書に記載のシステムは、様々な方法で工程３０２を実施してよい。一例では、コマンドは、データ（例えば、データ２２８）の解析を開始するコマンド、及び／又は解析を続けるコマンドなどの一般的なコマンドであってもよい。一例では、コマンドは、データを再編成するコマンドなどの広範なコマンドであってもよい。一例では、コマンドは、特定のファイルを移動及び／又は削除するコマンドなどの特定のコマンドであってもよい。他の例では、コマンドは、ユーザからの直接コマンドではなく、むしろ、一般に、ユーザが可視性アプリケーション４６２及び／又はプラットフォーム４５０を開始することに応じたコマンドであってもよい。
【００４１】
加えて、検証されたユーザによってコマンドが発行されるように、ユーザは、最初に検証されてもよい。図５を参照すると、図５は、プラットフォーム４５０などのマルチクラウドデータ管理プラットフォームを使用するワークフロー５００を示す。５０２において、ユーザは、可視性アプリケーション４６２などの可視性アプリケーションにログインすることができる。５０４において、ユーザは、プラットフォームにコマンドを発行することができる。
【００４２】
図３に戻ると、工程３０４において、本明細書に記載されるシステムのうちの１つ以上は、コマンドに応じて、複数のコンテンツソースにアクセスすることができる。例えば、アクセスモジュール１０６は、図２のコンピューティングデバイス２０２の一部として、サーバ２０６Ａ〜Ｂにアクセスしてもよい。
【００４３】
本明細書に記載のシステムは、様々な方法で工程３０４を実施してよい。一例では、データプレーン４９０は、コンテンツソース４０６Ａ〜Ｂにアクセスし得る。データプレーン４９０は、プレゼンテーション層４６０を介して可視性アプリケーション４６２から受信したコマンドに応じて、コンテンツソース４０６Ａ〜Ｂにアクセスするために制御プレーン４７０によって制御されてもよい。
【００４４】
図５に示すように、５０６において、制御プレーンは、受信したコマンドに応じてデータプレーンにコマンドを発行することができる。受信したコマンドは、制御プレーン４７０によって調整された１つ以上のサブコマンドを含み得るデータ解析を開始するコマンドであってもよい。例えば、データ解析は、データのメタデータを収集し、集約すること、メタデータを解析すること、及び提示のための解析結果を提供することを必要とし得る。他の例では、受信されたコマンドは、データを作成、修正、移動、及び／又は削除するための特定のコマンドであってもよく、制御プレーン４７０は、状況に応じて、データプレーン４９０に適切なコマンドを送信するように変更することができる。例えば、制御プレーン４７０は、コンテンツソース４０６Ａ及び／又はコンテンツソース４０６Ｂのどちらにアクセスするか、並びにどの動作を実行するかをデータプレーン４９０に指定することができる。
【００４５】
図３を再び参照すると、工程３０６において、本明細書に記載されるシステムのうちの１つ以上は、複数のコンテンツソースから、データに関連付けられたメタデータを収集し、集約することができる。例えば、収集モジュール１０８は、図２のコンピューティングデバイス２０２の一部として、コンテンツメタデータ１２２、ユーザメタデータ１２４、及び／又はデータ２２８に関連付けられたアクセスメタデータ１２６を含み得るメタデータ１２０を収集し、集約することができる。
【００４６】
本明細書に記載のシステムは、様々な方法で工程３０６を実施してよい。一例では、メタデータ１２０は、データ２２８と共に記憶されてもよい。別の例では、メタデータ１２０は、データ２２８の特性を検査及び／又は決定することなどによって、データ２２８から導出され得る。ユーザメタデータ１２４などのメタデータ１２０の部分は、データ２２８とは別個に記憶されてもよく、代わりに、コンピューティングデバイス２０２などのユーザ情報を記憶する別のサーバから入手可能であってもよい。
【００４７】
上述のように、コンテンツメタデータ１２２は、データ２２８に直接関連する属性及び／又は特性を表し得る。ユーザメタデータ１２４は、データ２２８にアクセスすることができるユーザに関する属性及び／又は特性を表し得る。アクセスメタデータ１２６は、データ２２８に関連するアクション及び／又はイベントの履歴を表し得る。コンテンツメタデータ１２２、ユーザメタデータ１２４、及びアクセスメタデータ１２６を収集し、集約することによって、単一のソースからのメタデータよりも、データ２２８に対応するメタデータのより完全なセットを提供することができる。
【００４８】
図５に示すように、５０８において、データプレーンによって発行されたコマンドは、クラウドサービスにおいて実施されてもよい。例えば、データプレーン４９０は、コンテンツソース４０６Ａ及び／又はコンテンツソース４０６Ｂにアクセスして、利用可能なメタデータ（例えば、コンテンツメタデータ１２２及び／又はアクセスメタデータ１２６）を収集することができる。データプレーン４９０はまた、プラットフォーム４５０などから、必要に応じて他のソースからメタデータ（例えば、ユーザメタデータ１２４）を収集してもよい。いくつかの例では、メタデータ１２０は、コンテンツメタデータ１２２、ユーザメタデータ１２４、及び／又はアクセスメタデータ１２６のサブセットを含み得る。例えば、コンテンツメタデータ１２２、ユーザメタデータ１２４、及び／又はアクセスメタデータ１２６のうちの１つ以上は、利用不可能であり得る。
【００４９】
５１０において、制御プレーンは、５０８から応答を収集してもよい。例えば、制御プレーン４７０は、データプレーン４９０を使用してメタデータ１２０を収集し、集約することができる。いくつかの例では、メタデータ１２０を集約することは、メタデータ１２０の以前の集約と組み合わせることを含み得る。
【００５０】
図３に戻ると、工程３０８において、本明細書に記載されるシステムのうちの１つ以上は、集約したメタデータを解析してもよい。例えば、解析モジュール１１０は、図２のコンピューティングデバイス２０２の一部として、コンテンツメタデータ１２２、ユーザメタデータ１２４、及び／又はアクセスメタデータ１２６を含むメタデータ１２０を解析してもよい。
【００５１】
本明細書に記載のシステムは、様々な方法で工程３０８を実施してよい。一例では、図５の５１２において、解析プレーンは、５１０で収集された応答を解析することができる。例えば、制御プレーン４７０は、解析プレーン４８０に命令して、メタデータ１２０を解析することができる。
【００５２】
解析の結果は、データ１２０の様々な特性を明らかにすることができる。例えば、データ１２０の部分は、様々な要因に基づいて優先順位付けされてもよい。頻繁にアクセスされ得るデータは、頻繁にアクセスされなくてもよいか、又はその他の点で古いデータであるデータよりも高い優先度を与えられ得る。マネージャ、管理者、チームリーダーなどのビジネスの上位レベルのメンバーによってアクセスされるデータは、上位レベルのメンバーによってアクセスされないデータよりも高い優先度を与えられ得る。重要、機密、保護などとして標識されたデータは、より高い優先度を与えられ得る。データ完全性も考慮され得る。例えば、破損又は不完全なデータは、より低い優先度を与えられるか、又は除去のためにフラグが立てられてもよい。他の使用特性及びヒューリスティックが更に明らかになり得る。
【００５３】
図３に戻ると、工程３１０において、本明細書に記載されるシステムのうちの１つ以上は、可視性アプリケーションによる提示のために、メタデータ解析の結果を提供することができる。例えば、提供モジュール１１２は、図２のコンピューティングデバイス２０２の一部として、提示のための結果を提供することができる。
【００５４】
本明細書に記載のシステムは、様々な方法で工程３１０を実施してよい。一例では、図５の５１４では、プレゼンテーション層は結果を提示することができる。例えば、プレゼンテーション層４６０は、可視性アプリケーション４６２を介して結果を提示することができる。制御プレーン４７０は、結果を提示するためにプレゼンテーション層４６０に命令することができる。いくつかの例では、制御プレーン４７０は、データ２２８を管理するためのアクションを更に行うことができる。例えば、制御プレーン４７０は、削除及び／又はアーカイブを通じて、古くなったデータをきれいにすることができる。
【００５５】
制御プレーン４７０は、優先度に基づいて、コンテンツソース４０６Ａ及び／又はコンテンツソース４０６Ｂの異なるストレージデバイスにデータ２２８の部分を移動させることができる。コンテンツソース４０６Ａ〜Ｂのストレージデバイスは、ストレージデバイスを優先することができるストレージ階層内で編成されてもよい。ストレージデバイスは、例えば、ストレージデバイスのタイプ、性能、コスト、帯域幅などに基づいて、ストレージ階層内で優先順位付けされてもよい。例えば、フラッシュベースのストレージデバイスは、性能を理由に、ディスクベースのストレージデバイスよりも階層内で高くてもよいが、取得及び／又は維持するためにコストが増加する場合がある。
【００５６】
いくつかの例では、ユーザは、後続のコマンドを送信することができる。例えば、受信モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、可視性アプリケーションによる結果の提示に応じて、データを管理するための第２のコマンドを受信してもよい。アクセスモジュール１０６は、複数のコンテンツサービスにアクセスして、第２のコマンドを実施することができる。図５に示すように、５１６において、ユーザは、５１４での結果の提示に応答することができる。ユーザは、別のコマンドを発行することができ、そのコマンドに基づいて、５０４に戻り、ワークフロー５００の部分を繰り返す。
【００５７】
いくつかの例では、第２のコマンドは、メタデータ解析に基づいて、ストレージ階層を通じてデータの部分を移動させるコマンドを含んでもよい。例えば、高い優先度のデータをストレージ階層の上方に移動させることができ、その一方で、低い優先度のデータは、ストレージ階層の下方に移動されてもよい。
【００５８】
いくつかの例では、第２のコマンドは、メタデータ解析に基づいてデータの部分を削除するコマンドを含んでもよい。例えば、未使用の、非重要とラベル付けされた、不完全な、破損した、ないしは別の方法でマークされたデータは、ストレージリソースを解放するために、削除されてもよい。
【００５９】
例示的方法３００及びワークフロー５００に関連して上述したように、マルチクラウドデータ管理プラットフォームは、バックアップ、コピーデータ管理などの複数のサービスを、同じ技術的フレームワーク内に構築することを可能にし得る。プラットフォームは、企業顧客のワークロード、データ、及び情報管理サービスに関する、単一の制御点及び統一されたユーザ体験を提供することができる。プラットフォームは、顧客のインフラストラクチャ及び情報資産の包括的かつ均一なビュー及び状態を活用することができる。プラットフォームは、構築及びサポートされるようになる新しいビジネスモデルをサポートし得るビジネスフレームワークを更に提供することができる。プラットフォームは、開発、展開、実行時間などの異なるライフサイクルの間の様々なサービスの知識を有する状態マシンを含む制御プレーンを含んでもよい。プラットフォームでは、分散アーキテクチャを有する様々なプレーン（例えば、データ、制御、解析など）が分離していてもよい。プラットフォームは、複数のテナントをサポートすることができ、顧客がハイブリッドクラウドを管理することを可能にし得る。プラットフォームは、複数のアプリケーションが、より高いレベルのビジネスポリシー及び目的を導き出し、実行するのに役立ち得る、共通の資産モデルに寄与し、共有することを可能にし得る。
【００６０】
図６は、本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実施することができる例示的なコンピューティングシステム６１０のブロック図である。例えば、コンピューティングシステム６１０の全て又は一部分は、単独又は他の要素との組合せのいずれかで、本明細書において説明される工程のうちの１つ以上（図３に例示する工程のうちの１つ以上など）を実施してもよく、及び／又は実施するための手段であってもよい。コンピューティングシステム６１０の全て又は一部分はまた、本明細書に記載された及び／又は図示された任意の別の工程、方法、又はプロセスを実施してもよく、及び／又は実施するための手段であってもよい。
【００６１】
コンピューティングシステム６１０は、コンピュータ可読命令を実行することができる任意のシングル又はマルチプロセッサコンピューティングデバイスあるいはシステムを広く表す。コンピューティングシステム６１０の例としては、限定することなく、ワークステーション、ノートブック、クライアント側端末、サーバ、分散型計算システム、携帯用デバイス、又は任意の別のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム６１０は、少なくとも１つのプロセッサ６１４と、システムメモリ６１６と、を含んでもよい。
【００６２】
プロセッサ６１４は、データを処理すること、又は命令を解釈して実行することができる任意のタイプ又は形式の物理処理ユニット（例えば、ハードウェア実装中央処理ユニット）を概して表す。特定の実施形態では、プロセッサ６１４は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ６１４に、本明細書に記載及び／又は図示する例示的な実施形態のうちの１つ以上の機能を実施させてもよい。
【００６３】
システムメモリ６１６は、データ及び／又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式の揮発性又は非揮発性ストレージデバイス若しくは媒体を概して表す。システムメモリ６１６の例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態においてコンピューティングシステム６１０は、揮発性メモリユニット（例えば、システムメモリ６１６など）、及び非揮発性ストレージデバイス（例えば、以下で詳細に説明するような１次ストレージデバイス６３２など）の両方を含んでもよい。一例では、図１からのモジュール１０２のうちの１つ以上は、システムメモリ６１６にロードされてもよい。
【００６４】
いくつかの例では、システムメモリ６１６は、プロセッサ６１４によって実行されるオペレーティングシステム６４０を記憶及び／又はロードすることができる。一例では、オペレーティングシステム６４０は、コンピュータハードウェア及びソフトウェアリソースを管理し、かつ／又はコンピュータプログラム及び／若しくはコンピューティングシステム６１０上のアプリケーションに共通のサービスを提供するソフトウェアを含んでもよく、かつ／又はそれを表してもよい。オペレーティングシステム６４０の例としては、限定するものではないが、ＬＩＮＵＸ、ＪＵＮＯＳ、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）、ＷＩＮＤＯＷＳ  ＭＯＢＩＬＥ（登録商標）、ＭＡＣ  ＯＳ、ＡＰＰＬＥのＩＯＳ、ＵＮＩＸ（登録商標）、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ  ＯＳ、ＧＯＯＧＬＥのＡＮＤＲＯＩＤ（登録商標）、ＳＯＬＡＲＩＳ（登録商標）、これらのうちの１つ以上の変形、及び／又は任意の他の好適なオペレーティングシステムが挙げられる。
【００６５】
特定の実施形態では、例示的なコンピューティングシステム６１０はまた、プロセッサ６１４及びシステムメモリ６１６に加えて、１つ以上の構成要素又は要素を含んでもよい。例えば、図６に示すように、コンピューティングシステム６１０は、メモリコントローラ６１８、入力／出力（Ｉ／Ｏ）コントローラ６２０、及び通信インターフェース６２２を含んでもよく、これらの各々は、通信インフラストラクチャ６１２を介して相互接続されてもよい。通信インフラストラクチャ６１２は、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることが可能な任意のタイプ又は形式のインフラストラクチャを概して表す。通信インフラストラクチャ６１２の例としては、限定することなく、通信バス（業界標準アーキテクチャ（ＩＳＡ）、周辺構成要素相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）、及びネットワークが挙げられる。
【００６６】
メモリコントローラ６１８は、メモリ若しくはデータを取り扱うことが可能な、又はコンピューティングシステム６１０の１つ以上の構成要素間の通信を制御することが可能な任意のタイプ又は形式のデバイスを概して表す。例えば、特定の実施形態においてメモリコントローラ６１８は、通信インフラストラクチャ６１２を介して、プロセッサ６１４、システムメモリ６１６、及びＩ／Ｏコントローラ６２０の間の通信を制御してもよい。
【００６７】
Ｉ／Ｏコントローラ６２０は、コンピューティングデバイスの入出力機能を調整及び／又は制御することが可能な任意のタイプ又は形式のモジュールを概して表す。例えば、特定の実施形態においてＩ／Ｏコントローラ６２０は、プロセッサ６１４、システムメモリ６１６、通信インターフェース６２２、表示アダプタ６２６、入力インターフェース６３０、及びストレージインターフェース６３４などのコンピューティングシステム６１０の１つ以上の要素の間のデータの転送を制御してもよく、又は容易にしてもよい。
【００６８】
図６に示すように、コンピューティングシステム６１０はまた、表示アダプタ６２６を介して、Ｉ／Ｏコントローラ６２０に連結されている、少なくとも１つの表示デバイス６２４を含んでもよい。表示デバイス６２４は、表示アダプタ６２６によって転送された情報を視覚的に表示することが可能な任意のタイプ又は形式のデバイスを概して表す。同様に、表示アダプタ６２６は、表示デバイス６２４上に表示するために、通信インフラストラクチャ６１２から（又は当該技術分野において既知のように、フレームバッファから）、グラフィックス、テキスト、及び他のデータを転送するように構成された任意のタイプ又は形式のデバイスを概して表す。
【００６９】
図６に示すように、例示的なコンピューティングシステム６１０はまた、入力インターフェース６３０を介して、Ｉ／Ｏコントローラ６２０に連結される少なくとも１つの入力デバイス６２８を含んでもよい。入力デバイス６２８は、コンピュータ又はヒトのいずれかによって生成された入力を、例示的なコンピューティングシステム６１０に提供することが可能な任意のタイプ又は形式の入力デバイスを概して表す。入力デバイス６２８の例としては、キーボード、ポインティングデバイス、音声認識デバイス、それらのうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他の入力デバイスが挙げられるが、これらに限定されない。
【００７０】
追加的に又は代替的に、例示的なコンピューティングシステム６１０は、追加のＩ／Ｏデバイスを含んでもよい。例えば、例示的なコンピューティングシステム６１０は、Ｉ／Ｏデバイス６３６を含んでもよい。この例では、Ｉ／Ｏデバイス６３６は、コンピューティングシステム６１０とのヒューマンインタラクションを容易にするユーザインターフェースを含んでもよく、かつ／又はこれを表してもよい。Ｉ／Ｏデバイス６３６の例としては、コンピュータマウス、キーボード、モニタ、プリンタ、モデム、カメラ、スキャナ、マイクロフォン、タッチスクリーンデバイス、それらのうちの１つ以上の変形若しくは組み合わせ、及び／又は任意の他のＩ／Ｏデバイスが挙げられるが、これらに限定されない。
【００７１】
通信インターフェース６２２は、例示的なコンピューティングシステム６１０と、１つ以上の追加のデバイスとの間の通信を容易にすることが可能な任意のタイプ又は形式の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態において通信インターフェース６２２は、コンピューティングシステム６１０と追加のコンピューティングシステムを含むプライベート又は公衆ネットワークとの間の通信を容易にしてもよい。通信インターフェース６２２の例としては、限定することなく、有線ネットワークインターフェース（ネットワークインターフェースカードなど）、無線ネットワークインターフェース（無線ネットワークインターフェースカードなど）、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも１つの実施形態では、通信インターフェース６２２は、インターネットなどのネットワークへの直接的なリンクを介して、遠隔サーバへの直接的な接続を提供してもよい。通信インターフェース６２２はまた、例えば、ローカルエリアネットワーク（イーサネットネットワークなど）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラ電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、かかる接続を間接的に提供してもよい。
【００７２】
特定の実施形態では、通信インターフェース６２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム６１０と、１つ以上の追加のネットワーク又はストレージデバイスとの間の通信を容易にするように構成されたホストアダプタを表してもよい。ホストアダプタの例としては、限定することなく、スモールコンピュータシステムインターフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子技術者協会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、シリアルＡＴＡ（ＳＡＴＡ）、及びエクスターナルＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバチャネルインターフェースアダプタ、イーサネットアダプタなどが挙げられる。通信インターフェース６２２はまた、コンピューティングシステム６１０が分散又は遠隔コンピューティングに関与することを可能にしてもよい。例えば、通信インターフェース６２２は、実行のために、遠隔デバイスから命令を受信するか、又は遠隔デバイスに命令を送信してもよい。
【００７３】
いくつかの例では、システムメモリ６１６は、プロセッサ６１４によって実行されるネットワーク通信プログラム６３８を記憶及び／又はロードすることができる。一例では、ネットワーク通信プログラム６３８は、コンピューティングシステム６１０が別のコンピューティングシステム（図６に図示せず）とネットワーク接続６４２を確立することを可能にし、かつ／又は通信インターフェース６２２を通って他のコンピューティングシステムと通信することを可能にするソフトウェアを含んでもよく、かつ／又はこれを表し得る。この例では、ネットワーク通信プログラム６３８は、ネットワーク接続６４２を介して他のコンピューティングシステムに送信される発信トラフィックの流れを指示することができる。追加的に又は代替的に、ネットワーク通信プログラム６３８は、プロセッサ６１４と関連してネットワーク接続６４２を介して他のコンピューティングシステムから受信される着信トラフィックの処理を指示してもよい。
【００７４】
図６にこのように図示されていないが、ネットワーク通信プログラム６３８は、代替的に、通信インターフェース６２２内に記憶及び／又はロードされてもよい。例えば、ネットワーク通信プログラム６３８は、通信インターフェース６２２に組み込まれたプロセッサ及び／又は特定用途向け集積回路（ＡＳＩＣ）によって実行されるソフトウェア及び／又はファームウェアの少なくとも一部分を含んでもよく、かつ／又は表し得る。
【００７５】
図６に示すように、例示的なコンピューティングシステム６１０はまた、ストレージインターフェース６３４を介して、通信インフラストラクチャ６１２に連結される１次ストレージデバイス６３２及びバックアップストレージデバイス６３３を含んでもよい。ストレージデバイス６３２及び６３３は、データ及び／又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式のストレージデバイス又は媒体を概して表す。例えば、ストレージデバイス６３２及び６３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。ストレージインターフェース６３４は、コンピューティングシステム６１０のストレージデバイス６３２及び６３３と、他の構成要素との間でデータを転送するための任意のタイプ又は形式のインターフェース又はデバイスを概して表す。一例では、図１からのメタデータ１２０は、１次ストレージデバイス６３２内に記憶及び／又はロードされ得る。
【００７６】
特定の実施形態では、ストレージデバイス６３２及び６３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能なストレージユニットから読み取るように、かつ／又はそれに書き込むように構成されてもよい。好適な取り外し可能なストレージユニットの例としては、限定することなく、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。ストレージデバイス６３２及び６３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム６１０にロードされることを可能にするための他の類似の構造又はデバイスを含んでもよい。例えば、ストレージデバイス６３２及び６３３は、ソフトウェア、データ、他のコンピュータ可読情報を読み取る、及び書き込むように構成されてもよい。ストレージデバイス６３２及び６３３は、コンピューティングシステム６１０の部分であってもよく、又は他のインターフェースシステムによってアクセスされる別個のデバイスであってもよい。
【００７７】
多くの他のデバイス又はサブシステムは、コンピューティングシステム６１０に接続されてもよい。逆に、図６に例示される構成要素及びデバイスの全てが、本明細書に記載及び／又は例示される実施形態を実践するために存在する必要があるわけではない。上記で述べたデバイス及びサブシステムはまた、図６に示すものとは異なる様式で相互接続されてもよい。コンピューティングシステム６１０はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を採用してもよい。例えば、本明細書において開示される例示的な実施形態のうちの１つ以上は、コンピュータ可読媒体上に、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化され得る。「コンピュータ可読媒体」という用語は、本明細書において使用される際、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波などの伝送タイプ媒体、並びに磁気ストレージ媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光ストレージ媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びＢＬＵ−ＲＡＹディスク）、電子ストレージ媒体（例えば、ソリッドステートドライブ及びフラッシュ媒体）などの非一時的タイプ媒体、並びに他の分散システムが挙げられる。
【００７８】
コンピュータプログラムを含むコンピュータ可読媒体は、コンピューティングシステム６１０にロードされてもよい。次いで、コンピュータ可読媒体上に記憶されたコンピュータプログラムの全て又は一部分は、システムメモリ６１６並びに／又はストレージデバイス６３２及び６３３の種々の部分に記憶されてもよい。プロセッサ６１４によって実行されるとき、コンピューティングシステム６１０にロードされたコンピュータプログラムは、本明細書において説明及び／又は例示する例示的な実施形態のうちの１つ以上の機能をプロセッサ６１４に実施させてもよく、かつ／又はそれらを実施するための手段であってもよい。追加的に又は代替案として、本明細書において説明及び／又は図示される例示的な実施形態のうちの１つ以上は、ファームウェア及び／又はハードウェアにおいて実装され得る。例えば、コンピューティングシステム６１０は、本明細書において開示される例示的な実施形態のうちの１つ以上を実装するように適合された特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００７９】
図７は、クライアントシステム７１０、７２０、及び７３０、並びにサーバ７４０及び７４５がネットワーク７５０に連結されてもよい例示的なネットワークアーキテクチャ７００のブロック図である。上記で詳述されたように、ネットワークアーキテクチャ７００の全て又は一部分は、単独又は他の要素との組合せのいずれかで、本明細書において開示される工程のうちの１つ以上（図３に例示する工程のうちの１つ以上など）を実施してもよく、かつ／又は実施するための手段であってもよい。ネットワークアーキテクチャ７００の全て又は一部分はまた、本開示において記載された他の工程及び機能を実施するために使用されてもよく、かつ／又は実施するための手段であってもよい。
【００８０】
クライアントシステム７１０、７２０、及び７３０は、図６の例示的なコンピューティングシステム６１０などの任意のタイプ又は形式のコンピューティングデバイス又はシステムを概して表す。同様に、サーバ７４０及び７４５は、種々のデータベースサービスを提供するように、かつ／又は特定のソフトウェアアプリケーションを実行するように構成されたアプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを概して表す。ネットワーク７５０は、例えば、イントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを概して表す。一例では、クライアントシステム７１０、７２０、及び／若しくは７３０、並びに／又はサーバ７４０及び／若しくは７４５は、図１からのシステム１００の全て又は一部分を含んでもよい。
【００８１】
図７に示すように、１つ以上のストレージデバイス７６０（１）〜（Ｎ）は、サーバ７４０に直接取り付けられてもよい。同様に、１つ以上のストレージデバイス７７０（１）〜（Ｎ）は、サーバ７４５に直接取り付けられてもよい。ストレージデバイス７６０（１）〜（Ｎ）及びストレージデバイス７７０（１）〜（Ｎ）は、データ及び／又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式のストレージデバイス又は媒体を概して表す。特定の実施形態では、ストレージデバイス７６０（１）〜（Ｎ）及びストレージデバイス７７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）など種々のプロトコルを使用して、サーバ７４０及び７４５と通信するように構成されたネットワーク接続型ストレージ（ＮＡＳ）デバイスを表してもよい。
【００８２】
サーバ７４０及び７４５はまた、ストレージエリアネットワーク（ＳＡＮ）ファブリック７８０に接続されてもよい。ＳＡＮファブリック７８０は、複数のストレージデバイス間の通信を容易にすることが可能な任意のタイプ又は形式のコンピュータネットワーク又はアーキテクチャを概して表す。ＳＡＮファブリック７８０は、サーバ７４０及び７４５と、複数のストレージデバイス７９０（１）〜（Ｎ）及び／又はインテリジェントストレージアレイ７９５との間の通信を容易にしてもよい。ＳＡＮファブリック７８０はまた、ネットワーク７５０並びにサーバ７４０及び７４５を介して、デバイス７９０（１）〜（Ｎ）及びアレイ７９５がクライアントシステム７１０、７２０、及び７３０にローカルに取り付けられたデバイスとして現れるように、クライアントシステム７１０、７２０、及び７３０とストレージデバイス７９０（１）〜（Ｎ）及び／又はインテリジェントストレージアレイ７９５との間の通信を容易にし得る。ストレージデバイス７６０（１）〜（Ｎ）及びストレージデバイス７７０（１）〜（Ｎ）と同様に、ストレージデバイス７９０（１）〜（Ｎ）及びインテリジェントストレージアレイ７９５は、データ及び／又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式のストレージデバイス又は媒体を概して表す。
【００８３】
特定の実施形態では、図６の例示的なコンピューティングシステム６１０を参照すると、図６の通信インターフェース６２２などの通信インターフェースは、それぞれのクライアントシステム７１０、７２０、及び７３０と、ネットワーク７５０との間の接続性を提供するために使用されてもよい。クライアントシステム７１０、７２０、及び７３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ７４０又は７４５上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム７１０、７２０、及び７３０が、サーバ７４０、サーバ７４５、ストレージデバイス７６０（１）〜（Ｎ）、ストレージデバイス７７０（１）〜（Ｎ）、ストレージデバイス７９０（１）〜（Ｎ）、又はインテリジェントストレージアレイ７９５によってホストされるデータにアクセスすることを可能にし得る。図７は、データを交換するためのネットワーク（インターネットなど）の使用を描写するが、本明細書において説明及び／又は例示する実施形態は、インターネット又はいずれの特定のネットワークベースの環境にも限定されない。
【００８４】
少なくとも１つの実施形態において、本明細書において開示される例示的な実施形態のうちの１つ以上の全て又は一部分は、コンピュータプログラムとしてコード化されてもよく、サーバ７４０、サーバ７４５、ストレージデバイス７６０（１）〜（Ｎ）、ストレージデバイス７７０（１）〜（Ｎ）、ストレージデバイス７９０（１）〜（Ｎ）、インテリジェントストレージアレイ７９５、又はこれらの任意の組み合わせにロードされ、これらによって実行されてもよい。本明細書において開示される実施形態のうちの１つ以上の全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ７４０内に記憶され、サーバ７４５によって実行され、ネットワーク７５０を通じてクライアントシステム７１０、７２０、及び７３０に分散されてもよい。
【００８５】
上記で詳述したように、コンピューティングシステム６１０及び／又はネットワークアーキテクチャ７００の１つ以上の構成要素は、単独又は他の要素との組み合わせのいずれかで、複数のクラウドサービスのデータ管理のための例示的な方法のうちの１つ以上の工程を実施し得るか、かつ／又は実施するための手段であり得る。
【００８６】
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び／又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び／又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア（又はこれらの任意の組み合わせ）構成を使用して、個々に、かつ／又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能性を達成することができるため、事実上、例として見なされるべきである。
【００８７】
いくつかの例では、図１の例示的なシステム１００の全て又は一部分は、クラウドコンピューティング又はネットワークベース環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、種々のサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス（例えば、サービスとしてのソフトウェア、サービスとしてプラットフォーム、サービスとしてのインフラストラクチャなど）は、ウェブブラウザ又は他のリモートインターフェースを通じて、アクセス可能であり得る。本明細書において説明される種々の機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通じて提供され得る。
【００８８】
種々の実施形態において、図１の例示的なシステム１００の全て又は一部分は、クラウドベースのコンピューティング環境内のマルチテナンシーを容易にし得る。換言すると、本明細書において説明されるソフトウェアモジュールは、本明細書において説明される機能のうちの１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成し得る。例えば、本明細書において説明されるソフトウェアモジュールのうちの１つ以上は、２つ以上のクライアント（例えば、顧客）が、サーバ上で実行されているアプリケーションを共有することを可能にするように、サーバをプログラムし得る。このようにプログラムされたサーバは、複数の顧客（即ち、テナント）間でアプリケーション、オペレーティングシステム、処理システム、及び／又はストレージシステムを共有し得る。本明細書において説明されるモジュールのうちの１つ以上はまた、ある顧客が別の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び／又は構成情報を分割し得る。
【００８９】
種々の実施形態によれば、図１の例示的なシステム１００の全て又は一部分は、仮想環境内で実装され得る。例えば、本明細書において説明されるモジュール及び／又はデータは、仮想マシン内に存在し得る、かつ／又はそこで実行し得る。本明細書において使用される際、「仮想マシン」という用語は、概して、仮想マシンマネージャ（例えば、ハイパーバイザ）によって、コンピューティングハードウェアから抽象化される任意のオペレーティングシステム環境を指す。追加的に又は代替案として、本明細書において説明されるモジュール及び／又はデータは、仮想化層内に存在し得る、及び／又はそこで実行し得る。本明細書において使用される際、「仮想化層」という用語は、概して、オペレーティングシステム環境に重なる、及び／又はそれから抽象化される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、仮想化層を、根本的な基本オペレーティングシステムの一部であるかのように提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって、管理され得る。例えば、ソフトウェア仮想化ソリューションは、最初は基本ファイルシステム及び／又はレジストリ内の場所に向けられた呼び出しを、仮想化層内の場所にリダイレクトし得る。
【００９０】
いくつかの例では、図１の例示的なシステム１００の全て又は一部分は、モバイルコンピューティング環境の部分を表し得る。モバイルコンピューティング環境は、モバイル電話、タブレットコンピュータ、電子書籍リーダ、パーソナルデジタルアシスタント、ウェアラブルコンピューティングデバイス（例えば、頭部装着型ディスプレイ、スマートウォッチなどを有するコンピューティングデバイス）などを含む、広範なモバイルコンピューティングデバイスによって実装され得る。一部の例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間に１つのフォアグラウンドアプリケーションのみを提示すること、遠隔管理特性、タッチスクリーン特性、場所及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成への修正を制限する、かつ／又は第３者のソフトウェアが他のアプリケーションの挙動を検査する能力を制限する、制限されたプラットフォーム、アプリケーションのインストールを制限する（例えば、承認されたアプリケーションストアのみから得る）管理などを含む、１つ以上の異なる特性を含み得る。本明細書において説明される種々の機能は、モバイルコンピューティング環境に対して提供され得る、かつ／又はモバイルコンピューティング環境と相互作用し得る。
【００９１】
本明細書に記載及び／又は図示されるコンピューティングデバイス及びシステムは、本明細書に記載されるモジュール内に含まれるものなどのコンピュータ可読命令を実行することができる任意のタイプ又は形式のコンピューティングデバイス又はシステムを広く表す。それらの最も基本的な構成では、これらのコンピューティングデバイス（複数可）はそれぞれ、少なくとも１つのメモリデバイス及び少なくとも１つの物理プロセッサを含み得る。
【００９２】
いくつかの例では、用語「メモリデバイス」は、概して、データ及び／又はコンピュータ可読命令を記憶することが可能な任意のタイプ又は形式の揮発性又は不揮発性のストレージデバイス又は媒体を指す。一例では、メモリデバイスは、本明細書に記載のモジュールのうちの１つ以上を記憶、ロード、及び／又は維持し得る。メモリデバイスの例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なストレージメモリが挙げられる。
【００９３】
いくつかの例では、用語「物理プロセッサ」は、概して、コンピュータ可読命令を解釈でき、かつ／又は実行できる任意のタイプ又は形式のハードウェア実施処理ユニットを指す。一例では、物理プロセッサは、上述のメモリデバイスに記憶された１つ以上のモジュールにアクセスし、かつ／又はそのモジュールを修正することができる。物理プロセッサの例としては、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット（ＣＰＵ）、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、これらのうちの１つ以上の部分、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な物理プロセッサが挙げられるが、これらに限定されない。
【００９４】
本明細書において説明及び／又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び／又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び／又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの１つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
【００９５】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び／又は例解されているが、これらの例示的な実施形態のうちの１つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するソフトウェアモジュールを使用して、実装され得る。これらのソフトウェアモジュールは、コンピュータ可読ストレージ媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書において開示される例示的な実施形態のうちの１つ以上を実施するように、コンピューティングシステムを構成し得る。
【００９６】
別個の要素として示されているが、本明細書に記載及び／又は図示されるモジュールは、単一のモジュール又はアプリケーションの部分を表してもよい。加えて、特定の実施形態では、これらのモジュールのうちの１つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、１つ以上のタスクを実施させてもよい１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、本明細書に記載及び／又は図示されるモジュールのうちの１つ以上は、本明細書に記載及び／又は図示されるコンピューティングデバイス又はシステムのうちの１つ以上で動作するように記憶及び構成されたモジュールを表してもよい。これらのモジュールのうちの１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【００９７】
加えて、本明細書において説明されるモジュールのうちの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、ある形態から別の形態に変換し得る。例えば、本明細書で列挙したモジュールのうちの１つ以上は、変換されるべきメタデータを受信し、メタデータを変換し、変換の結果を出力して解析を提示し、変換の結果を使用して関連データを管理し、変換の結果を記憶してデータ管理機能を実施することができる。追加的に又は代替案として、本明細書において列挙されるモジュールのうちの１つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び／又はそうでなければ、コンピューティングデバイスと相互作用することによって、物理コンピューティングデバイスのプロセッサ、揮発性メモリ、非揮発性メモリ、及び／又は任意の他の部分を１つの形式からもう１つの形式に変換してもよい。
【００９８】
いくつかの実施形態では、用語「コンピュータ可読媒体」は、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波などの伝送タイプ媒体、並びに磁気ストレージ媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光ストレージ媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びＢＬＵ−ＲＡＹディスク）、電子ストレージ媒体（例えば、ソリッドステートドライブ及びフラッシュ媒体）などの非一時的タイプ媒体、並びに他の分散システムが挙げられる。
【００９９】
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び／又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び／又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア（又はこれらの任意の組み合わせ）構成を使用して、個々に、かつ／又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能性を達成することができるため、事実上、例として見なされるべきである。
【０１００】
本明細書において説明及び／又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び／又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び／又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの１つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
【０１０１】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び／又は例解されているが、これらの例示的な実施形態のうちの１つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するモジュールを使用して、実装され得る。これらのモジュールは、コンピュータ可読ストレージ憶媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのモジュールは、本明細書において開示される例示的な実施形態のうちの１つ以上を実施するように、コンピューティングシステムを構成し得る。
【０１０２】
先述の説明は、当業者が、本明細書において開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されている。この例示的な説明は、網羅的であることを意図するものでも、開示されたいずれかの正確な形態に限定されることを意図するものでもない。多くの修正及び改変が、本開示の趣旨及び範囲から逸脱することなく、可能である。本明細書において開示される実施形態は、全ての点において、例解的であり、制限的ではないと見なされるべきである。本開示の範囲を判定する上では、添付の請求項及びそれらの同等物を参照するべきである。
【０１０３】
別途記載されない限り、「〜に接続される（connected to）」及び「〜に連結される（coupled to）」という用語（及びそれらの派生語）は、本明細書及び請求項において使用される際、直接的及び間接的（即ち、他の要素又は構成要素を介した）接続の両方を許容するとして解釈されるものとする。加えて、「ａ」又は「ａｎ」という用語は、本明細書及び請求項において使用される際、「〜のうちの少なくとも１つ（at least one of）」を意味するとして解釈されるものとする。最後に、使用を容易にするために、「含む（including）」及び「有する（having）」という用語（及びそれらの派生語）は、本明細書及び請求項において使用される際、「備える（comprising）」という語と同義的であり、かつ同じ意味を有する。
【図１】
2021516837.tif 000003
【図２】
2021516837.tif 000004
【図３】
2021516837.tif 000005
【図４】
2021516837.tif 000006
【図５】
2021516837.tif 000007
【図６】
2021516837.tif 000008
【図７】
2021516837.tif 000009
【手続補正書】
【提出日】令和2年9月16日(2020.9.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のクラウドサービスのデータ管理のためのコンピュータ実施方法であって、前記方法の少なくとも一部は、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法は、
可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、前記可視性アプリケーションからのコマンドが修正され、前記複数のコンテンツソースに、間接的にルーティングされる、ことと、
前記コマンドに応じて、前記複数のコンテンツソースにアクセスすることと、
前記複数のコンテンツソースから、前記データに関連付けられたメタデータを収集し、集約することと、
前記集約したメタデータを解析することと、
前記可視性アプリケーションによる提示のために、前記メタデータ解析の結果を提供することと、を含む、方法。
【請求項２】
前記メタデータを収集することが、前記データに関連付けられたユーザのユーザメタデータを収集することを更に含む、請求項１に記載の方法。
【請求項３】
前記メタデータを収集することが、前記データに関連付けられた動作イベントに対応するアクセスメタデータを更に含む、請求項１又は２に記載の方法。
【請求項４】
コマンドを発行するためにユーザを検証することを更に含み、前記コマンドが前記検証されたユーザによって発行される、請求項１、２、又は３に記載の方法。
【請求項５】
前記可視性アプリケーションによる前記結果の前記提示に応じて、前記データを管理するための第２のコマンドを受信することと、
前記複数のコンテンツソースにアクセスして、前記第２のコマンドを実施することと、を更に含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第２のコマンドが、前記メタデータ解析に基づいて、ストレージ階層を通じて前記データの部分を移動させるコマンドを含み、前記ストレージ階層が、ストレージデバイスのタイプに基づいて、前記複数のコンテンツソースのストレージデバイスを優先順位付けする、請求項５に記載の方法。
【請求項７】
前記第２のコマンドが、前記メタデータ解析に基づいて前記データの部分を削除するコマンドを含む、請求項５又は６に記載の方法。
【請求項８】
前記複数のコンテンツソースがクラウドサービスを含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記複数のコンテンツソースがプライベートデータサーバを含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
複数のクラウドサービスのデータ管理のためのシステムであって、
少なくとも１つの物理プロセッサと、
コンピュータ実行可能命令を含む物理メモリであって、前記命令は、前記物理プロセッサによって実行されると、前記物理プロセッサに、
可視性アプリケーションを介して、複数のコンテンツソースにホストされたデータを管理するためのコマンドを受信することであって、前記可視性アプリケーションからのコマンドが修正され、前記複数のコンテンツソースに間接的にルーティングされること、
前記コマンドに応じて、前記複数のコンテンツソースにアクセスすること、
前記複数のコンテンツソースから、前記データに関連付けられたメタデータを収集し、集約すること、
前記集約したメタデータを解析すること、及び
前記可視性アプリケーションによる提示のために、前記メタデータ解析の結果を提供することを実行させる、物理メモリと、を備える、システム。
【請求項１１】
前記メタデータを収集することが、前記データに関連付けられたユーザのユーザメタデータを収集することを更に含む、請求項１０に記載のシステム。
【請求項１２】
前記メタデータを収集することが、前記データに関連付けられた動作イベントに対応するアクセスメタデータを更に含む、請求項１０又は１１に記載のシステム。
【請求項１３】
前記命令が、コマンドを発行するためにユーザを検証するための命令を更に含み、前記コマンドは、前記検証されたユーザによって発行される、請求項１０、１１、又は１２に記載のシステム。
【請求項１４】
前記命令が、
前記可視性アプリケーションによる前記結果の前記提示に応じて、前記データを管理するための第２のコマンドを受信すること、及び
前記複数のコンテンツソースにアクセスして、前記第２のコマンドを実施することのための命令を更に含む、請求項１０〜１３のいずれか一項に記載のシステム。
【請求項１５】
前記第２のコマンドが、
前記メタデータ解析に基づいて、ストレージ階層を通じて前記データの部分を移動させるコマンドであって、前記ストレージ階層が、ストレージデバイスのタイプに基づいて前記複数のコンテンツソースのストレージデバイスを優先順位付けする、コマンドと、
前記メタデータ解析に基づいて、前記データの部分を削除するコマンドと、のうちの少なくとも１つを含む、請求項１４に記載のシステム。
【国際調査報告】
2021516837.tif 000010
2021516837.tif 000011
2021516837.tif 000012