(57)【要約】  データの断片化を低減するための本開示のコンピュータ実施方法は、（１）初期データセットを更新する更新データを識別することと、（２）データベースマネージャを使用して、更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて更新データを分類することと、（３）更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶することと、（４）更新データを記憶した後に、更新データが記憶されている物理的位置に対する更新データの論理的位置のマッピングを示すエクステントマップを更新することと、を含み得る。様々な別の方法、システム、及びコンピュータ可読媒体もまた開示される。
2020517013.tif 000002
【特許請求の範囲】
【請求項１】
データの断片化を低減するためのコンピュータ実施方法であって、前記方法の少なくとも一部は、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法は、
初期データセットを更新する更新データを識別することと、
データベースマネージャを使用して、前記更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて、前記更新データを分類することと、
前記更新データの前記分類に基づいた物理的順序で物理記憶デバイスに前記更新データを記憶することと、
前記更新データを記憶することの後に、前記更新データが記憶されている物理的位置に対する前記更新データの論理的位置のマッピングを示すエクステントマップを更新することと、を含む、コンピュータ実施方法。
【請求項２】
前記更新データはログデータ又はバックアップデータであり、前記更新データを、以前のログデータ又は以前のバックアップデータの順序を維持する追加形式で記憶することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記更新データの前記論理的位置と前記対応する物理記憶デバイス位置との１対１のマッピングを作成することを更に含む、請求項２に記載のコンピュータ実施方法。
【請求項４】
前記更新データは、初期取り込みデータ、増分マージデータ、又はホットスポットデータであり、前記更新データを、前記論理的位置と前記物理的位置との間で類似の順序を維持する順次形式で記憶することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項５】
前記物理記憶デバイスに前記物理データを記憶することにより、前記物理記憶デバイス位置にある以前のデータを前記更新データで置換する、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記更新データはプロビジョニングデータであり、以前のプロビジョニングデータを前記更新データで置換すること、及び新しいデータコンテナ内のミラーファイルに前記更新データを記憶することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項７】
前記物理的位置は、（１）予定される前記更新データの読み出し頻度、（２）前記更新データが後に削除される可能性、又はその両方に基づいている、請求項１に記載のコンピュータ実施方法。
【請求項８】
前記物理的順序により、前記更新データの順次アクセスを可能にする、請求項１に記載のコンピュータ実施方法。
【請求項９】
前記エクステントマップを用いて前記更新データへのアクセスを可能にすることを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記更新データがある分類に含まれるものとして識別することに応答して、少なくとも１つのセキュリティ行動を実施することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項１１】
データの断片化を低減するためのシステムであって、前記システムは、
初期データセットを更新する更新データを識別する、メモリに記憶された識別モジュールと、
前記更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて前記更新データを分類する、メモリに記憶された分類モジュールと、
前記更新データの前記分類に基づいた物理的順序で物理記憶デバイスに前記更新データを記憶する、メモリに記憶された記憶モジュールと、
前記更新データを記憶した後に、前記更新データが記憶されている物理的位置に対する、前記更新データの論理的位置のマッピングを示すエクステントマップを更新する、メモリに記憶された更新モジュールと、
前記識別モジュール、前記分類モジュール、前記記憶モジュール、及び前記更新モジュールを実行する、少なくとも１つの物理プロセッサと、を備える、システム。
【請求項１２】
前記物理的位置は、（１）予定される前記更新データの読み出し頻度、（２）前記更新データが後に削除される可能性、又はその両方に基づいている、請求項１１に記載のシステム。
【請求項１３】
前記物理的順序により、前記更新データの順次アクセスを可能にする、請求項１１に記載のシステム。
【請求項１４】
前記エクステントマップを使用した前記更新データへのアクセスを可能にする、メモリに記憶されたアクセスモジュールを更に備える、請求項１１に記載のシステム。
【請求項１５】
前記更新データがある分類に含まれるものとして識別することに応答して、少なくとも１つのセキュリティ行動を実施する、メモリに記憶されたセキュリティモジュールを更に備える、請求項１１に記載のシステム。
【請求項１６】
１つ以上のコンピュータ実行可能命令を備える非一過性コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
初期データセットを更新する更新データを識別させ、
前記更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて、前記更新データを分類させ、
前記更新データの前記分類に基づいた物理的順序で物理記憶デバイスに前記更新データを記憶させ、
前記更新データを記憶させた後に、前記更新データが記憶されている物理的位置に対する前記更新データの論理的位置のマッピングを示すエクステントマップを更新させる、非一過性コンピュータ可読媒体。
【請求項１７】
前記物理的位置は、（１）予定される前記更新データの読み出し頻度、（２）前記更新データが後に削除される可能性、又はその両方に基づいている、請求項１６に記載の非一過性コンピュータ可読媒体。
【請求項１８】
前記物理的順序により、前記更新データの順次アクセスを可能にする、請求項１６に記載の非一過性コンピュータ可読媒体。
【請求項１９】
前記コンピュータ実行可能命令は、前記コンピューティングデバイスに、前記エクステントマップを使用した前記更新データへのアクセスを可能にさせるコンピュータ実行可能命令を含む、請求項１６に記載の非一過性コンピュータ可読媒体。
【請求項２０】
前記コンピュータ実行可能命令は、前記コンピューティングデバイスに、前記更新データがある分類に含まれるものとして識別することに応答して、少なくとも１つのセキュリティ行動を実施させるコンピュータ実行可能命令を含む、請求項１６に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
従来のデータ記憶システムが、最初に記憶したデータの後に更新データを記憶する場合、システムは、データコンテナの末尾に更新データを追加し得る。異なるファイルに関して異なるデータを数回更新した後、データの物理記憶は非常に断片化され得る（データファイルの一部が、ハードディスクドライブなどデータ記憶デバイスに非連続的に記憶されている状態）。
【０００２】
断片化状態で記憶されたファイルの取得には、断片化されたデータをまとめて完全なファイルするために、追加の時間及びリソースを必要とする場合がある。場合によっては、遅延は、回転プラッタ磁気ハードディスクドライブなどハードディスクドライブの読み取り／書き込み機構を再編成して、ファイル断片を読み取ることに起因する。したがって、ファイルが断片化されると、磁気ハードディスクドライブのシーク時間が増加し得る。断片ファイルの再アセンブリには、追加のコンピューティングリソースを使用して、ハードディスクドライブの読み取り／書き込み機構をデータ破片の適切な物理的位置に向けることも伴い得る。データ断片を適切な順序で配置して断片ファイルを再構築するためには、追加のコンピューティングリソースも必要とされ得る。
【０００３】
したがって、本開示は、データの断片化を低減するためのシステム及び方法に対する必要性を識別し、対処する。
【発明の概要】
【０００４】
以下でより詳細に説明するように、本開示は、データの断片化を低減するための様々なシステム及び方法を記載する。一実施形態では、かかるタスクを実施する方法は、（１）初期データセットを更新する更新データを識別することと、（２）データベースマネージャを使用して、更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて更新データを分類することと、（３）更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶することと、（４）更新データを記憶した後に、更新データが記憶されている物理的位置に対する更新データの論理的位置のマッピングを示すエクステントマップを更新することと、を含み得る。
【０００５】
他の実施例では、更新データは、ログデータ又はバックアップデータであってよく、本方法は、更新データを、以前のログデータ又は以前のバックアップデータの順序を維持する追加形式で記憶することを更に含み得る。いくつかの実施例では、本方法は、更新データの論理的位置と対応する物理記憶デバイス位置との１対１のマッピングを作成することを含み得る。いくつかの実施例では、更新データは、初期取り込みデータ、増分マージデータ、又はホットスポットデータであってよく、本方法は、論理的位置と物理的位置との間で類似の順序を維持する順次形式で更新データを記憶することを含み得る。一実施形態では、物理記憶デバイスに物理データを記憶することにより、物理記憶デバイス位置にある以前のデータを更新データで置換し得る。別の実施形態では、更新データは、プロビジョニングデータであってよく、本方法は、以前のプロビジョニングデータを更新データで置換すること、及び新しいデータコンテナ内のミラーファイルに更新データを記憶することを含む形式で更新データを記憶することを含み得る。いくつかの実施例では、物理的位置は、（１）予定される更新データの読み出し頻度、（２）更新データが後に削除される可能性、又はその両方に基づいてよい。追加的に又は代替的に、他の実施例では、物理的順序により、更新データの順次アクセスを可能にし得る。他の実施例では、本方法は、エクステントマップを使用した更新データへのアクセスを可能にすることを含み得る。いくつかの実施例では、本方法は、更新データがある分類に含まれるものとして識別することに応答して、少なくとも１つのセキュリティ行動を実施することを含み得る。
【０００６】
一実施例では、データの断片化を低減するためのシステムは、初期データセットを更新する更新データを識別する、メモリに記憶された識別モジュールなどメモリに記憶された、いくつかのモジュールを含み得る。本システムはまた、更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて更新データを分類する、メモリに記憶された分類モジュールを含み得る。本システムはまた、更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶する、メモリに記憶された記憶モジュールを含み得る。更に、本システムは、更新データを記憶した後に、更新データが記憶されている物理的位置に対する、更新データの論理的位置のマッピングを示すエクステントマップを更新する、メモリに記憶された更新モジュールを含み得る。本システムはまた、識別モジュール、分類モジュール、記憶モジュール、及び更新モジュールを実行する、少なくとも１つの物理プロセッサを含み得る。
【０００７】
いくつかの例では、上記の方法は、非一過性コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、コンピューティングデバイスに、（１）初期データセットを更新する更新データを識別させ、（２）更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて、更新データを分類させ、（３）更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶させ、（４）更新データを記憶させた後に、更新データが記憶されている物理的位置に対する更新データの論理的位置のマッピングを示すエクステントマップを更新させ得る、１つ以上のコンピュータ実行可能命令を含み得る。
【０００８】
上記で述べた実施形態のうちのいずれかからの特性は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特性、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
【図面の簡単な説明】
【０００９】
添付の図面は、いくつかの例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明とともに、これらの図面は、本開示の種々の原理を実証及び説明する。
【図１】データの断片化を低減するための例示的なシステムのブロック図である。
【図２】データの断片化を低減するための更なる例示的なシステムのブロック図である。
【図３】データの断片化を低減するための例示的な方法のフローチャートである。
【図４】更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶する実施例である。
【００１０】
図面を通じて、同一の参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書において説明される例示的な実施形態は、種々の修正及び代替的な形態が可能であるが、具体的な実施形態が、図面において、例として示されており、かつ本明細書において詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図されない。むしろ、本開示は、添付の請求項の範囲内にある全ての修正物、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１１】
本開示は、概して、データの断片化を低減するためのシステム及び方法を対象とする。以下でより詳細に説明するように、本開示のシステム及び方法は、更新データを分類し、それぞれの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶し得る。このように分類し、記憶することにより、データの記憶方法を記憶されたデータのその後の使用と整合させ得る。この整合は、予想されるその後の回収頻度、予想されるその後の削除可能性、予想されるその後の更新量、及び／又は予想されるその後の取得量などの要因に基づき得る。したがって、本明細書に記載のシステム及び方法は、更新データが物理記憶デバイスリソースに及ぼす影響の見込みに基づいて更新データを分類し、記憶し得る。そうすることによって、本明細書に記載のシステム及び方法は、物理記憶デバイスリソースの可能性を有利に改善し、シーク時間を短縮し、かつ／又はハードディスクドライブの読み出し／書き込み機構での摩耗を低減し得る。加えて、これらのシステム及び方法は、電力、時間、処理関連費用、又はこれらの組み合わせを節約し得る。
【００１２】
以下では、図１〜図２を参照して、データの断片化を低減するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法についての詳細な説明もまた、図３に関連して提供される。加えて、更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶することの詳細な説明はまた、図４に関連して提供する。
【００１３】
図１は、データの断片化を低減するための例示的なシステム１００のブロック図である。この図に例解されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。以下でより詳細に説明するように、モジュール１０２は、識別モジュール１０４と、分類モジュール１０６（例えば、データベースマネージャ）と、記憶モジュール１０８と、更新モジュール１１０と、アクセスモジュール１１２と、セキュリティモジュール１１４と、を含んでよい。別個の要素として例解されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。例示的なシステム１００は、概して、コンピュータ実行可能命令を読み出すこと、データを記憶すること、データ記憶を管理すること、データベースを管理することなど、又はそれらの組み合わせ実行できる、任意の種類又は形式のコンピューティングデバイスを表し得る。いくつかの実施例では、例示的なシステム１００は、システムサーバ、プロトコルサーバ、ネットワークファイルシステムサーバなどを表し得る。例示的なシステム１００の追加例としては、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、個人情報機器（ＰＤＡ）、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス（例えば、スマートウォッチ、スマートグラスなど）、スマートビークル、ＩｏＴデバイス（例えば、スマート家電など）、ゲーム機、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【００１４】
特定の実施形態では、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、１つ以上のタスクを実施させてもよい１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、以下でより詳細に説明するように、１つ以上のモジュール１０２は、図２に例示したデバイスなど１つ以上のコンピューティングデバイス（例えば、コンピューティングデバイス２０２）上で記憶され、動作するように構成されているモジュールを表し得る。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【００１５】
図１に示されているように、例示的なシステム１００はまた、メモリ１４０など、１つ以上のメモリデバイスも含み得る。メモリ１４０は、概して、データ及び／又はコンピュータ可読命令を記憶できる、任意の種類又は形式の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一例では、メモリ１４０は、モジュール１０２のうちの１つ以上を記憶、ロード、及び／又は維持し得る。メモリ１４０の例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なストレージメモリが挙げられる。
【００１６】
図１に示されているように、例示的なシステム１００はまた、物理プロセッサ１３０など、１つ以上の物理プロセッサも含み得る。物理プロセッサ１３０は、概して、コンピュータ可読命令を解釈でき、かつ／又は実行できる任意の種類又は形式のハードウェア実施処理ユニットを表す。一例では、物理プロセッサ１３０は、メモリ１４０に記憶されているモジュール１０２のうちの１つ以上にアクセスし得、かつ／又はこれらを修正し得る。追加的に又は代替的に、物理プロセッサ１３０は、１つ以上のモジュール１０２を実行して、データの断片化を低減し得る。物理プロセッサ１３０の例としては、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット（ＣＰＵ）、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、これらのうちの１つ以上の部分、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な物理プロセッサが挙げられるが、これらに限定されない。
【００１７】
図１に示すように、例示的なシステム１００はまた、磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びＢＬＵ−ＲＡＹ（登録商標）ディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュ媒体）、ハードディスクなどが挙げられるが、これらに限定されない、非一過性書き込み可能媒体など１つ以上の物理記憶デバイス１２０を含んでよい。実施例では、物理記憶デバイスコントローラ１２５は、概して、物理記憶デバイス１２０によるデータ記憶の態様を制御し得る、任意の種類又は形態の物理電子デバイスを表す。
【００１８】
図１の例示的なシステム１００は、様々な態様で実装され得る。例えば、例示的なシステム１００の全て又は一部分は、図２の例示的なシステム２００の部分を表し得る。図２は、物理記憶デバイスによるデータ記憶がネットワークを介してリモートコンピューティングデバイスによってリモート管理される実施例を示す。図２に示されるように、システム２００は、ネットワーク２０４を介してサーバ２０６と通信するコンピューティングデバイス２０２を含み得る。一例では、モジュール１０２の機能性の全て又は一部分は、コンピューティングデバイス２０２、サーバ２０６、及び／又は任意の他の好適なコンピューティングシステムによって実施され得る。以下でより詳細に説明するように、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２及び／又はサーバ２０６のうちの少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイス２０２及び／又はサーバ２０６がデータの断片化を低減できるようにし得る。
【００１９】
コンピューティングデバイス２０２は、概して、コンピュータ実行可能命令を読み出すこと、データを記憶すること、データ記憶を管理すること、データベースを管理することなど、又はそれらの組み合わせを実行できる、任意の種類又は形式のコンピューティングデバイスを表す。いくつかの実施例では、コンピューティングデバイス２０２は、システムサーバ、プロトコルサーバ、ネットワークファイルシステムサーバなどを表し得る。コンピューティングデバイス２０２の追加例としては、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、個人情報機器（ＰＤＡ）、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス（例えば、スマートウォッチ、スマートグラスなど）、スマートビークル、ＩｏＴデバイス（例えば、スマート家電など）、ゲーム機、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【００２０】
サーバ２０６は、概して、コンピュータ実行可能命令を読み出すこと、データを記憶すること、データ記憶を管理すること、データベースを管理することなど、又はそれらの組み合わせ実行できる、任意の種類又は形式のコンピューティングデバイスを表す。いくつかの実施例では、サーバ２０６は、システムサーバ、プロトコルサーバ、ネットワークファイルシステムサーバなどを表し得る。サーバ２０６の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ／又は様々なストレージ、データベース、及び／若しくはウェブサービスを提供するように構成された、ストレージサーバ、データベースサーバ、アプリケーションサーバ、及び／又はウェブサーバが挙げられるが、これらに限定されない。図２において単一体として例解されるが、サーバ２０６は、互いに連動して働き、かつ／又は動作する複数のサーバを含み、かつ／又は表してもよい。
【００２１】
ネットワーク２０４は、通信又はデータ転送を容易にすることができる任意の媒体又はアーキテクチャを概して表す。一実施例において、ネットワーク２０４は、コンピューティングデバイス２０２とサーバ２０６との間の通信を容易にし得る。この例では、ネットワーク２０４は、無線及び／又は有線接続を使用して、通信又はデータ転送を容易にし得る。ネットワーク２０４の例としては、限定するものではないが、イントラネット、ワイドエリアネットワーク（Wide Area Network、ＷＡＮ）、ローカルエリアネットワーク（Local Area Network、ＬＡＮ）、パーソナルエリアネットワーク（Personal Area Network、ＰＡＮ）、インターネット、電力線通信（Power Line Communication、ＰＬＣ）、セルラネットワーク（例えば、汎欧州デジタル移動電話方式（Global System for Mobile Communications、ＧＳＭ（登録商標））ネットワーク）、１つ以上の上記の部分、上記のうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なネットワークを含む。
【００２２】
多くの他のデバイス又はサブシステムは、図１のコンピューティングシステム１００及び／又は図２のコンピューティングシステム２００に接続され得る。逆に、図１及び図２に示す構成要素及びデバイスの全てが、本明細書において説明及び／又は例示される実施形態を実践するために存在する必要があるわけではない。上記で述べたデバイス及びサブシステムはまた、図２に示すものとは異なる様式で相互接続されてもよい。コンピューティングシステム１００及び２００はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を採用してもよい。例えば、本明細書において開示される例示的な実施形態のうちの１つ以上は、コンピュータ可読媒体上に、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、及び／又はコンピュータ制御論理とも称される）としてコード化され得る。
【００２３】
「コンピュータ可読媒体」という用語は、本明細書において使用される際、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波などの伝送タイプ媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びＢＬＵ−ＲＡＹ（登録商標）ディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュ媒体）などの非一時的タイプ媒体、並びに他の分散システムが挙げられる。
【００２４】
図３は、データの断片化を低減するための例示的なコンピュータ実施方法３００のフローチャートである。図３に示す工程は、図１のシステム１００、図２のシステム２００など、及び／又はこれらのうちの１つ以上の変形若しくは組み合わせなど任意の好適なコンピュータ実行可能コード及び／又はコンピューティングシステムによって実施され得る。一例では、図３に示されている工程のそれぞれは、複数の副工程を含む及び／又はそれらによって表される構造を有するアルゴリズムを表すものであり得、これらの例を以下に詳細に示す。
【００２５】
図３に示すように、工程３０２において、図１のシステム１００の識別モジュール１０４又は図２のコンピューティングデバイス２０２など本明細書に記載のシステムのうちの１つ以上は、初期データセットを更新する更新データを識別し得る。本明細書に記載のシステムは、様々な方法で工程３０２を実施してよい。例えば、図１の物理的プロセッサ１３０などプロセッサは、受信したデータを分析し、受信したデータを更新データとして識別し得る。実施例では、データは、フラグ、ヘッダデータなど、又は関連データが更新データであることを示すこれらの組み合わせを含んでよい。
【００２６】
本明細書で使用するとき、用語「初期データセット」は、概して、その後更新されていない任意のデータを指す。実施例では、初期データセットは、図１の物理記憶デバイス１２０など物理記憶デバイスに記憶され得る。
【００２７】
本明細書で使用するとき、用語「更新データ」は、概して、初期データセットを更新する任意のデータを指す。実施例では、更新データは、図１の物理記憶デバイス１２０など物理記憶デバイスに以前に記憶された初期データセットを更新し得る。
【００２８】
図３に示すように、工程３０４において、図１のシステム１００の分類モジュール１０６又は図２のコンピューティングデバイス２０２など、本明細書に記載のシステムのうちの１つ以上は、更新データセットを分類し得る。例えば、分類は、更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて分類されてよい。実施例では、一部の更新データは、ほとんど読み取られる予定はないが、他の更新データは頻繁に読み取られる予定である。更に、一部の更新データは、ほとんど更新される予定はないが、他の更新データは頻繁に更新される予定である。また、本明細書で使用するとき、用語「デジタル記憶デバイスリソース」は、概して、物理記憶デバイスの容量、可用性、電力消費、アクセシビリティなど、又はこれらの組み合わせの任意の態様を指す。
【００２９】
更新データのいくつかの非限定的な例示の分類としては、ログデータ、バックアップデータ、初期取り込みデータ、増分マージデータ、ホットスポットデータ、及びプロビジョニングデータ（試験データ及び／又は開発データなど）を挙げることができる。ログデータ又はバックアップデータは、初期の書き込み後にほとんど変更されず、ビジネス動作の完了時に除去される可能性が最も高い。初期取り込みデータ、増分マージデータ、又はホットスポットデータは、頻繁な読み出し（例えば、複数のアプリケーション及び／又はユーザによって）、頻繁な更新が見込まれる、長期にわたって保持される、又はそれらの組み合わせのデータであってよい。試験データ及び／又は開発データなどプロビジョニングデータは、共有不要のデータであってよく、頻繁には読み出されず、ビジネス動作の完了時に保持されないなどのデータ、又はこれらの組み合わせであってよい。
【００３０】
本明細書に記載のシステムは、様々な方法で工程３０４を実施してよい。例えば、図１の物理プロセッサ１３０などプロセッサは、更新データを分析し、更新データを分類し得る。実施例では、分類はデータベースマネージャによって実施されてよい。更に、更新データは、フラグ、ヘッダデータなど、又は関連付けられた分類を示すこれらの組み合わせを含んでよい。追加的に又は代替的に、分類プロセスは、更新データのソースを分析して更新データの分類を決定してよい。
【００３１】
図３に示すように、工程３０６において、図１のシステム１００の記憶モジュール１０８又は図２のコンピューティングデバイス２０２など本明細書に記載のシステムのうちの１つ以上は、更新データの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶してよい。物理的位置は、（１）予定される更新データの読み出し頻度、（２）更新データが後に削除される可能性、又はその両方に基づいてよい。実施例では、図１の物理記憶デバイスコントローラ１２５は、物理記憶デバイス１２０に更新データを記憶する工程３０６を実施し得る。
【００３２】
記憶モジュール１０８は、様々な方法で工程３０６を実施してよい。記憶モジュール１０８は分類に基づいて更新データを記憶し、ログデータ又はバックアップデータを、以前のログデータ又は以前のバックアップデータの順序を維持する追加形式で記憶することを含み得る。実施例では、記憶モジュール１０８は、更新データの論理的位置と対応する物理記憶デバイス位置との１対１のマッピングを実施することを含み得る。記憶モジュール１０８は、論理的位置と物理的位置との間で類似の順序を維持する順次形式で、初期取り込みデータ、増分マージデータ、又はホットスポットデータを記憶し得る。物理記憶デバイスに物理データを記憶することにより、物理記憶デバイス位置にある以前のデータを更新データで置換し得る。記憶モジュール１０８は、以前のプロビジョニングデータを更新データで置換すること、及び新しいデータコンテナ内のミラーファイルに更新データを記憶することを含む形式でプロビジョニングデータを記憶し得る。
【００３３】
図３に示すように、工程３０８において、図１のシステム１００の更新モジュール１１０又は図２のコンピューティングデバイス２０２など、本明細書に記載のシステムのうちの１つ以上は、更新データが記憶されている物理的位置に対する更新データの論理的位置のマッピングを示すエクステントマップを更新し得る。本明細書で使用するとき、用語「エクステントマップ」は、概して、データが記憶されているそれぞれの物理的位置に対するデータの論理的位置の任意のリレーショナルマッピングを指す。読み取りプロセス中、エクステントマップは、更新データへのアクセスを可能にする。
【００３４】
実施例では、更新は、工程３０６において更新データの記憶後に実施されてよい。本明細書に記載のシステムは、様々な方法で工程３０４を実施してよい。例えば、図１の物理プロセッサは、メモリ１４０及び／又は物理記憶デバイス１２０に記憶されたエクステントマップを更新してよい。ここで図４を参照する。
【００３５】
図４は、更新データの分類に基づいて物理記憶デバイスに更新データを記憶するための異なる物理的順序の例を示す。図４を参照すると、初期データセットは、Ｆ１〜Ｆ３として指定された３つの記憶ファイルを含み得る。ファイルＦ１は、取り込みによるデータ（Ｄ１〜Ｄ４）を有する。ファイルＦ２はログファイルである。ファイルＦ３は、取り込みによって当初作成され、プロビジョニング後に更新され得る。初期エクステントマップは、（ファイル番号：エクステント番号｛論理的位置、｛コンテナＩＤ、物理的位置｝｝という形式であってよい。したがって、ファイルＦ１〜Ｆ３の初期エクステントマップは、以下のとおりであり得る。
Ｆ１：エクステント１｛Ｄ１，｛６４，ＦＰ＿Ｓ１｝｝
エクステント２｛Ｄ２，｛６４，ＦＰ＿Ｓ２｝｝
エクステント３｛Ｄ３，｛６４，ＦＰ＿Ｓ３｝｝
エクステント４｛Ｄ４，｛６４，ＦＰ＿Ｓ４｝｝
Ｆ２：エクステント１｛Ｄ５，６５｝
エクステント２｛Ｄ６，６５｝
エクステント３｛Ｄ７，６５｝
Ｆ３：エクステント１｛Ｄ８，｛１０２４，ＦＰ＿Ｓ８｝
エクステント２｛Ｄ９，｛１０２４，ＦＰ＿Ｓ９｝｝
エクステント３｛Ｄ１０，｛１０２４，ＦＰ＿Ｓ１０｝｝
エクステント４｛Ｄ１１，｛１０２４，ＦＰ＿Ｓ１１｝｝
【００３６】
初期エクステントマップは、それぞれのデータコンテナＩＤを記録することを除いて、Ｄ５〜Ｄ７のマップを含まなくてよい（６４、６５、１０２４は、データコンテナＩＤの例である）。初期エクステントマップはまた、初期エクステントマップ４０２として図４に示されている。
【００３７】
図４の実施例を続けると、ファイルＦ１は初期取り込みデータとして分類されてよい。したがって、論理的位置Ｄ１〜Ｄ４については、論理的位置及び物理的位置の順序は、少なくとも非常に類似していてもよく、又は完全な順序であってよい。更に、物理記憶デバイスに物理データを記憶することにより、物理記憶デバイス位置（Ｓ２、Ｓ３）にある以前のデータを同一コンテナ（データコンテナＩＤ番号６４）内の更新データ（Ｓ１３、Ｓ１４）で置換し得る。したがって、更新データは、論理的位置と物理的位置との間で類似の順序を維持する順次形式で記憶され得る。更に、更新データの書き込みは、更新データが追加され得るために高速であり得、データの読み取りはまた、論理的順序及び物理的順序が少なくとも非常に類似しているために高速であり得る。このようにして、増分マージデータ又はホットスポットデータが記憶され得る。
【００３８】
ファイルＦ２は、ログファイルデータとして分類されてよい。したがって、論理的位置Ｄ５〜Ｄ７及びＤ１２〜Ｄ１３に関して、Ｆ２内の更新データは、初期順序を維持するデータコンテナ６５に追加されてよい。一実施例では、更新データの論理的位置の１対１のマッピングは、対応する物理記憶デバイス位置と作成され得る。この物理的順序により、更新データの順次アクセスを可能にし得る。したがって、ログファイルの読み出し／書き込み性能は、データが順次であり得るために従来のソリューションよりも良好であり得る。更に、この物理的順序で記憶される場合、ログファイルの読み取りでは、エクステントマップ又はコンテナレコードのインデックスマップの検索は不要であり得る。バックアップデータはまた、このように記憶され得る。
【００３９】
ファイルＦ３は、プロビジョニングデータとして分類されてよい。したがって、論理的位置Ｄ８〜Ｄ１１については、更新データはデータコンテナ６３に記憶され得、このデータコンテナは、データコンテナ１０２４のシャドウコンテナとして機能する特殊なデータコンテナであってよい。換言すれば、更新データは、以前のプロビジョニングデータを更新データで置換すること、及び新しいデータコンテナ内のミラーファイルに更新データを記憶することを含む形式で記憶されてよい。データコンテナ内のオフセットは、論理ファイル内のオフセットと同一であってよい。したがって、以前の物理的位置には、繰り返した更新によるガベージデータが存在してよい。また、データ局所性は、データアクセス範囲がファイルサイズの最大２倍であり得るため、良好であり得る。
【００４０】
更新データ記憶後の更新されたエクステントマップは、以下のとおりであり得る。
Ｆ１：エクステント１｛Ｄ１，｛６４，ＦＰ＿Ｓ１｝｝
エクステント２｛Ｄ２，｛６４，ＦＰ＿Ｓ１４｝｝
エクステント３｛Ｄ３，｛６４，ＦＰ＿Ｓ１５｝｝
エクステント４｛Ｄ４，｛６４，ＦＰ＿Ｓ４｝｝
Ｆ２：エクステント１｛Ｄ５，６５｝
エクステント２｛Ｄ６，６５｝
エクステント３｛Ｄ７，６５｝
エクステント４｛Ｄ１２，６５｝
エクステント５｛Ｄ１３，６５｝
Ｆ３：エクステント１｛Ｄ８，６３｝
エクステント２｛Ｄ９，｛１０２４，ＦＰ＿Ｓ９｝｝
エクステント３｛Ｄ１０，｛１０２４，ＦＰ＿Ｓ１０｝｝
エクステント４｛Ｄ１１，６３｝
【００４１】
更新されたエクステントマップはまた、更新されたエクステントマップ４０４として図４に示され得る。
【００４２】
上述のように、本開示のシステム及び方法は、データの断片化を低減し得る。本開示のシステム及び方法は、更新データを分類し、それぞれの分類に基づいた物理的順序で物理記憶デバイスに更新データを記憶し得る。このように分類し、記憶することにより、更新データが物理記憶デバイスリソースに及ぼす影響の見込みに基づいてデータ記憶の方法を整合させ得る。本明細書に記載のシステム及び方法は、シーク時間を短縮し得、ハードディスクドライブの読み取り／書き込み機構での摩耗を低減し得、電力を節約し得、時間を節約し得、無駄なストレージ容量を低減し得、かつ／又は処理関連費用を節約し得、それにより、物理記憶デバイスリソースの可能性を有利に改善する。
【００４３】
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び／又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び／又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア（又はこれらの任意の組み合わせ）構成を使用して、個々に、かつ／又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能性を達成することができるため、事実上、例として見なされるべきである。
【００４４】
いくつかの例では、図１の例示的なシステム１００の全て又は一部分は、クラウドコンピューティング又はネットワークベース環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、種々のサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス（例えば、サービスとしてのソフトウェア、サービスとしてプラットフォーム、サービスとしてのインフラストラクチャなど）は、ウェブブラウザ又は他の遠隔インターフェースを通じて、アクセス可能であり得る。本明細書において説明される種々の機能は、遠隔デスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通じて提供され得る。
【００４５】
種々の実施形態において、図１の例示的なシステム１００の全て又は一部分は、クラウドベースのコンピューティング環境内のマルチテナンシーを容易にし得る。換言すると、本明細書において説明されるモジュールは、本明細書において説明される機能のうちの１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成し得る。例えば、本明細書において説明されるモジュールのうちの１つ以上は、２つ以上のクライアント（例えば、顧客）が、サーバ上で実行されているアプリケーションを共有することを可能にするように、サーバをプログラムし得る。このようにプログラムされたサーバは、複数の顧客（即ち、テナント）間でアプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有し得る。本明細書において説明されるモジュールのうちの１つ以上はまた、ある顧客が別の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び／又は構成情報を分割し得る。
【００４６】
種々の実施形態によれば、図１の例示的なシステム１００の全て又は一部分は、仮想環境内で実装され得る。例えば、本明細書において説明されるモジュール及び／又はデータは、仮想マシン内に存在し得る、かつ／又はそこで実行し得る。本明細書において使用される際、「仮想マシン」という用語は、概して、仮想マシンマネージャ（例えば、ハイパーバイザ）によって、コンピューティングハードウェアから抽象化される任意のオペレーティングシステム環境を指す。
【００４７】
いくつかの例では、図１の例示的なシステム１００の全て又は一部分は、モバイルコンピューティング環境の部分を表し得る。モバイルコンピューティング環境は、モバイル電話、タブレットコンピュータ、電子書籍リーダ、パーソナルデジタルアシスタント、ウェアラブルコンピューティングデバイス（例えば、頭部装着型ディスプレイ、スマートウォッチなどを有するコンピューティングデバイス）、これらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なモバイルコンピューティングデバイスを含む、広範なモバイルコンピューティングデバイスによって実装され得る。一部の例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間に１つのフォアグラウンドアプリケーションのみを提示すること、遠隔管理特性、タッチスクリーン特性、場所及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成への修正を制限する、かつ／又は第３者のソフトウェアが他のアプリケーションの挙動を検査する能力を制限する、制限されたプラットフォーム、アプリケーションのインストールを制限する（例えば、承認されたアプリケーションストアのみから得る）管理などを含む、１つ以上の異なる特性を含み得る。本明細書において説明される種々の機能は、モバイルコンピューティング環境に対して提供され得る、かつ／又はモバイルコンピューティング環境と相互作用し得る。
【００４８】
本明細書において説明及び／又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び／又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び／又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの１つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
【００４９】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び／又は例解されているが、これらの例示的な実施形態のうちの１つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するモジュールを使用して、実装され得る。これらのモジュールは、コンピュータ可読記憶媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのモジュールは、本明細書において開示される例示的な実施形態のうちの１つ以上を実施するように、コンピューティングシステムを構成し得る。
【００５０】
先述の説明は、当業者が、本明細書において開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されている。この例示的な説明は、網羅的であることを意図するものでも、開示されたいずれかの正確な形態に限定されることを意図するものでもない。多くの修正及び改変が、本開示の趣旨及び範囲から逸脱することなく、可能である。本明細書において開示される実施形態は、全ての点において、例解的であり、制限的ではないと見なされるべきである。本開示の範囲を判定する上では、添付の請求項及びそれらの同等物を参照するべきである。
【００５１】
別途記載されない限り、「〜に接続される（connected to）」及び「〜に連結される（coupled to）」という用語（及びそれらの派生語）は、本明細書及び請求項において使用される際、直接的及び間接的（即ち、他の要素又は構成要素を介した）接続の両方を許容するとして解釈されるものとする。加えて、「ａ」又は「ａｎ」という用語は、本明細書及び請求項において使用される際、「〜のうちの少なくとも１つ（at least one of）」を意味するとして解釈されるものとする。最後に、使用を容易にするために、「含む（including）」及び「有する（having）」という用語（及びそれらの派生語）は、本明細書及び請求項において使用される際、「備える（comprising）」という語と同義的であり、かつ同じ意味を有する。
【図１】
2020517013.tif 000003
【図２】
2020517013.tif 000004
【図３】
2020517013.tif 000005
【図４】
2020517013.tif 000006
【手続補正書】
【提出日】令和1年10月10日(2019.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データの断片化を低減するためのコンピュータ実施方法であって、前記方法の少なくとも一部は、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法は、
初期データセットを更新する更新データを識別することと、
データベースマネージャを使用して、前記更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて、前記更新データを分類することと、
前記更新データの前記分類に基づいた物理的順序で物理記憶デバイスに前記更新データを記憶することと、
前記更新データを記憶することの後に、前記更新データが記憶されている物理的位置に対する前記更新データの論理的位置のマッピングを示すエクステントマップを更新することと、を含む、コンピュータ実施方法。
【請求項２】
前記更新データはログデータ又はバックアップデータであり、前記更新データを、以前のログデータ又は以前のバックアップデータの順序を維持する追加形式で記憶することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記更新データの前記論理的位置と前記対応する物理記憶デバイス位置との１対１のマッピングを作成することを更に含む、請求項２に記載のコンピュータ実施方法。
【請求項４】
前記更新データは、初期取り込みデータ、増分マージデータ、又はホットスポットデータであり、前記更新データを、前記論理的位置と前記物理的位置との間で類似の順序を維持する順次形式で記憶することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項５】
前記物理記憶デバイスに前記物理データを記憶することにより、前記物理記憶デバイス位置にある以前のデータを前記更新データで置換する、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記更新データはプロビジョニングデータであり、以前のプロビジョニングデータを前記更新データで置換すること、及び新しいデータコンテナ内のミラーファイルに前記更新データを記憶することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項７】
前記物理的位置は、（１）予定される前記更新データの読み出し頻度、（２）前記更新データが後に削除される可能性、又はその両方に基づいている、請求項１に記載のコンピュータ実施方法。
【請求項８】
前記物理的順序により、前記更新データの順次アクセスを可能にする、請求項１に記載のコンピュータ実施方法。
【請求項９】
前記エクステントマップを用いて前記更新データへのアクセスを可能にすることを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記更新データがある分類に含まれるものとして識別することに応答して、少なくとも１つのセキュリティ行動を実施することを更に含む、請求項１に記載のコンピュータ実施方法。
【請求項１１】
データの断片化を低減するためのシステムであって、前記システムは、
初期データセットを更新する更新データを識別する、メモリに記憶された識別するための手段と、
前記更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて前記更新データを分類する、メモリに記憶された分類するための手段と、
前記更新データの前記分類に基づいた物理的順序で物理記憶デバイスに前記更新データを記憶する、メモリに記憶された記憶するための手段と、
記更新データを記憶した後に、前記更新データが記憶されている物理的位置に対する、前記更新データの論理的位置のマッピングを示すエクステントマップを更新する、メモリに記憶された更新するための手段と、
前記識別するための手段、前記分類するための手段、前記記憶するための手段、及び前記更新するための手段を実行する、少なくとも１つの物理プロセッサと、を備える、システム。
【請求項１２】
前記物理的位置は、（１）予定される前記更新データの読み出し頻度、（２）前記更新データが後に削除される可能性、又はその両方に基づいている、請求項１１に記載のシステム。
【請求項１３】
前記物理的順序により、前記更新データの順次アクセスを可能にする、請求項１１に記載のシステム。
【請求項１４】
前記エクステントマップを使用した前記更新データへのアクセスを可能にする、メモリに記憶されたアクセスするための手段を更に備える、請求項１１に記載のシステム。
【請求項１５】
１つ以上のコンピュータ実行可能命令を備える非一過性コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
初期データセットを更新する更新データを識別させ、
前記更新データがデジタル記憶デバイスリソースに及ぼす影響の見込みに基づいて、前記更新データを分類させ、
前記更新データの前記分類に基づいた物理的順序で物理記憶デバイスに前記更新データを記憶させ、
前記更新データを記憶させた後に、前記更新データが記憶されている物理的位置に対する前記更新データの論理的位置のマッピングを示すエクステントマップを更新させる、非一過性コンピュータ可読媒体。
【国際調査報告】
2020517013.tif 000007
2020517013.tif 000008