(57)【特許請求の範囲】
【請求項１】
データ・ログを格納するために複数のパーティションへとデータベースを区分するステップであって、前記複数のパーティションは、複数のエンティティの間で割り当てられ、前記複数のエンティティのうちの各エンティティは、前記複数のパーティションのうちの少なくとも１つのパーティションを割り当てられるステップと、
前記複数のエンティティのうちのあるエンティティに関連する消去パラメータを識別するステップであって、前記あるエンティティは、アプリケーションまたはユーザを少なくとも含み、前記消去パラメータは、前記あるエンティティの各データ・ログに割り当てられる重要度の情報を少なくとも含み、前記重要度の情報は第１のスコアおよび前記第１のスコアを下回る第２のスコアを備え、前記消去パラメータは、前記データベースに格納された前記あるエンティティのデータ・ログの中から、消去されるべきデータ・ログを選択する基準を示し、しきい値を上回る場合には、データ・ログには前記第１のスコアが割り当てられ、しきい値を下回る場合には、データ・ログには前記第２のスコアが割り当てられるステップと、
前記消去パラメータに基づいて選択された前記データ・ログを消去するステップと
を含み、
前記区分するステップは、前記複数のエンティティのそれぞれに関連する区分パラメータに基づいており、
前記区分パラメータは、前記複数のエンティティのそれぞれに割り当てられたパーティションのサイズを規定する、１つまたは複数のプロセッサが実行する、データ・ログ管理のための方法。
【請求項２】
前記複数のエンティティのうちの各エンティティに関連する断片化パラメータを識別するステップであって、前記断片化パラメータは、データ・ログの断片化基準を各エンティティごとに異なるサイズで規定する、ステップと、
前記複数のエンティティのうちのエンティティのそれぞれによって生成されたデータ・ログを、前記識別された断片化パラメータに基づいて前記異なるサイズに断片化するステップと
を含む請求項１に記載の方法。
【請求項３】
前記各エンティティごとに前記異なるサイズで断片化されたデータ・ログの前記サイズは、前記エンティティに割り当てられたデータベースの格納サイズ、および前記エンティティによって生成されたデータ・ログの数に基づいている請求項２に記載の方法。
【請求項４】
前記消去パラメータは、消去する頻度および時間をさらに含み、それに基づいて前記格納されたデータ・ログが消去される請求項１に記載の方法。
【請求項５】
前記データ・ログの消去は、事前規定された時間および前記パーティションに格納されたデータ・ログのしきい値数にさらに基づき、前記事前規定された時間およびデータ・ログのしきい値は、瞬間に格納されたデータ・ログを示している請求項１に記載の方法。
【請求項６】
前記複数のエンティティのうちの各エンティティに関連する上書き要素を識別するステップであって、前記上書き要素は、あるパーティションから他のパーティションへのデータ・ログの上書き基準を規定する、ステップと、
前記上書き要素に基づいて、前記エンティティのデータ・ログを他のエンティティの未使用のパーティションに格納するステップと
をさらに含む請求項１に記載の方法。
【請求項７】
各エンティティに関連する上書き要素は、使用可能な記憶空間、前記データ・ログの重要度、およびエンティティのパーティションの共有能力の少なくとも１つを含む請求項６に記載の方法。
【請求項８】
前記複数のエンティティの記憶空間の変化する要件に基づいて、前記複数のエンティティの間で前記記憶空間を動的に区分するステップをさらに含む請求項１に記載の方法。
【請求項９】
プロセッサ（１１２）と、
データ・ログを格納するために複数のパーティションへとデータベースを区分するように構成された区分モジュール（１２２）とを含み、
前記複数のパーティションは、複数のエンティティの間で割り当てられ、前記複数のエンティティのうちの各エンティティは、前記複数のパーティションのうちの少なくとも１つのパーティションを割り当てられ、
前記区分することが前記複数のエンティティのそれぞれに関連する区分パラメータに基づいており、
前記区分パラメータは、前記複数のエンティティのそれぞれに割り当てられたパーティションのサイズを規定し、さらに、
前記プロセッサ（１１２）に結合された消去モジュール（１２６）と
を含み、前記消去モジュールは、
前記複数のエンティティのうちのあるエンティティに関連する消去パラメータを識別し、前記あるエンティティは、アプリケーションまたはユーザを少なくとも含み、前記消去パラメータは、前記あるエンティティの各データ・ログに割り当てられる重要度の情報を少なくとも含み、前記重要度の情報は第１のスコアおよび前記第１のスコアを下回る第２のスコアを備え、前記消去パラメータは、前記データベースに格納された前記あるエンティティのデータ・ログの中から、消去されるべきデータ・ログを選択する基準を示し、しきい値を上回る場合には、データ・ログには前記第１のスコアが割り当てられ、しきい値を下回る場合には、データ・ログには前記第２のスコアが割り当てられ、
前記消去パラメータに基づいて選択された前記データ・ログを消去する
ように構成された、
データ・ログ管理のためのシステム（１０２）。
【請求項１０】
前記複数のエンティティのうちの各エンティティに関連する断片化パラメータを識別し、前記断片化パラメータは、データ・ログの断片化基準を各エンティティごとに異なるサイズで規定し、
前記複数のエンティティのうちの前記エンティティのそれぞれによって生成されたデータ・ログを、前記識別された断片化パラメータに基づいて前記異なるサイズに断片化する
ように構成された断片化モジュール（１２４）をさらに含む請求項９に記載のシステム（１０２）。
【請求項１１】
前記複数のエンティティのうちの各エンティティに関連する上書き要素を識別し、前記上書き要素は、あるパーティションから他のパーティションへのデータ・ログの上書き基準を規定し、
前記上書き要素に基づいて、前記エンティティのデータ・ログを未使用の他のエンティティのパーティションに格納する
ように構成された上書きモジュール（１２８）をさらに含む請求項９に記載のシステム（１０２）。
【請求項１２】
前記区分モジュール（１２２）は、前記複数のエンティティの記憶空間の変化する要件に基づいて、前記複数のエンティティの間で前記記憶空間を動的に区分するようにさらに構成される請求項９に記載のシステム（１０２）。
【請求項１３】
データ・ログを格納するために複数のパーティションへとデータベースを区分するステップであって、前記複数のパーティションは、複数のエンティティの間で割り当てられ、前記複数のエンティティのうちの各エンティティは、前記複数のパーティションのうちの少なくとも１つのパーティションを割り当てられるステップと、
前記複数のエンティティのうちのあるエンティティに関連する消去パラメータを識別するステップであって、前記あるエンティティは、アプリケーションまたはユーザを少なくとも含み、前記消去パラメータは、前記あるエンティティの各データ・ログに割り当てられる重要度の情報を少なくとも含み、前記重要度の情報は第１のスコアおよび前記第１のスコアを下回る第２のスコアを備え、前記消去パラメータは、前記データベースに格納された前記あるエンティティのデータ・ログの中から、消去されるべきデータ・ログを選択する基準を示し、しきい値を上回る場合には、データ・ログには前記第１のスコアが割り当てられ、しきい値を下回る場合には、データ・ログには前記第２のスコアが割り当てられるステップと、
前記消去パラメータに基づいて選択された前記データ・ログを消去するステップと
を含み、
前記区分するステップは、前記複数のエンティティのそれぞれに関連する区分パラメータに基づいており、
前記区分パラメータは、前記複数のエンティティのそれぞれに割り当てられたパーティションのサイズを規定する方法を実行するためのコンピュータ可読プログラム・コードを含む非一時的なコンピュータ可読媒体。
【請求項１４】
前記複数のエンティティのうちの各エンティティに関連する断片化パラメータを識別するステップであって、前記断片化パラメータは、データ・ログの断片化基準を各エンティティごとに異なるサイズで規定する、ステップと、
前記複数のエンティティのうちのエンティティのそれぞれによって生成された前記データ・ログを、前記識別された断片化パラメータに基づいて前記異なるサイズに断片化するステップと
をさらに含む請求項１３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の主題は、コンピューティング・システムに関し、限定はしないが、具体的には、コンピューティング・システムにおけるデータ・ログの格納に関する。
【背景技術】
【０００２】
アプリケーションの実行または実施の間に、多数のイベントが発生する場合がある。たとえば、アプリケーションは、複数のステップを何度も実行することがある。アプリケーションは、複数回反復してループを実行することがある。アプリケーションは、多数の接続を行い閉じることがある。複数のスレッドを開始し完了することがある。イベントが他のイベントをトリガすることがあり、それがさらに他のイベントをトリガすることがある。同様に、実行を目的として、システムの複数のエンティティまたはハードウェア・コンポーネントは、相互に通信し、データを交換することがある。そのようなデータは、正確に伝達することができるか、または交換の間に廃棄されるかもしくは破損する場合がある。したがって、データの交換またはアプリケーションの実行の間に、成功、失敗、または未完了の複数のイベントがリアルタイムに発生する。
【０００３】
イベントがたくさんあり、リアルタイムに発生する状況では、イベントの正確性、トラブルシューティング、および適時の完了を目的として、そのようなイベントの状態を監視することは、必ずしも物理的に可能だとは限らない。さらに、以前に完了した任意のイベントを参照するために、結果と共にイベントの事実を収集するためにイベントの発生の記憶を単に信用するのは、厄介で困難な仕事である。さらに、特定の状況では、所与の環境で発生したイベントを再現するのは難しい。したがって、一般的に、異なるときに発生する、異なるイベントに関係する詳細は、データ・ログとして報告および格納される。そのようなデータ・ログは、任意の所定のプロセスの間に発生したか、または発生しているイベントの履歴を含む。
【０００４】
アプリケーションおよびプロセスの実行に多くのイベントが含まれている現代のシナリオでは、すべてのイベントの物理的な追跡を維持することは可能ではなく、さらに、そのようなイベントのデータ・ログを物理的に維持することは、また、実現可能ではない。よって、イベントに関連するデータ・ログは、一般的に、将来的な目的のために電子的に記録されてメモリ・コンポーネントに格納される。ログに記録されたイベントを調査することからユーザが利益を得ることができるトラブルシューティング目的など、データ・ログは、様々な目的に使用することができる。同様に、ユーザは、イベント実行の間に発生したイベントのいずれかに関する情報を調査することから利益を受ける場合があり、問題を診断するか、または実行の結果に関係する質問に答える際に手助けになる場合がある。さらに、日常的なデータ・ログ分析は、セキュリティ・インシデント、ポリシー違反、不正な行為、および運用上の問題を識別するのに有益である。また、データ・ログは、監査、フォレンジック分析（Ｆｏｒｅｎｓｉｃ  Ａｎａｌｙｓｉｓ）、内部調査のサポート、ベースラインの確立、ならびに運用上の傾向および長期的な問題を突きとめるときに有益である。
【発明の概要】
【課題を解決するための手段】
【０００５】
この概要は、本発明の主題の実装形態により、マルチクライアント・アーキテクチャにおいてデータ・ログの管理に関係する概念を導入するために提供するものである。この概要は、請求する主題の必須の機能を識別することを意図するものではなく、また、請求する主題の範囲を決定または制限する際に使用することを意図するものでもない。
【０００６】
一実装形態では、データ・ログ管理のための方法について記述する。方法は、複数のエンティティの各エンティティに関連する消去パラメータを識別するステップを含み、消去パラメータは、エンティティに対応するパーティションに格納されたデータ・ログを消去するメカニズムを示し、消去パラメータは、記憶空間を放棄するためにデータ・ログを消去する基準として、少なくとも臨界ポイントを含む。さらに、方法は、消去パラメータに基づいてエンティティのパーティションに格納されたデータ・ログを消去するステップを含む。
【０００７】
他の実装形態では、方法は、複数のエンティティのうちの各エンティティに関連する断片化パラメータを識別するステップであって、断片化パラメータは、データ・ログの断片化基準を異なるサイズへと規定するステップと、複数のエンティティのうちのエンティティのそれぞれによって生成されたデータ・ログを、識別された断片化パラメータに基づいて異なるサイズに断片化するステップであって、断片化により、記憶空間の最適化された利用が可能になるステップとをさらに含む。
【０００８】
さらに、方法は、また、複数のエンティティのうちの各エンティティに関連する上書き要素を識別するステップであって、上書き要素は、あるパーティションから他のパーティションへのデータ・ログの上書き基準を規定するステップと、上書き要素に基づいて、エンティティのデータ・ログを未使用の他のエンティティのパーティションに上書きするステップとを含む。
【０００９】
一実装形態では、マルチクライアント・アーキテクチャにおけるデータ・ログ管理のためのシステムについて記述する。システムは、複数のエンティティの各エンティティに関連する消去パラメータを識別するように構成された、プロセッサに結合された消去モジュールを含み、消去パラメータは、エンティティに対応するパーティションに格納されたデータ・ログを消去するメカニズムを示し、消去パラメータは、データ・ログに関連する少なくとも臨界ポイントを含む。消去モジュールは、消去パラメータに基づいて、エンティティのパーティションに格納されたデータ・ログを消去するようにさらに構成され、消去により、記憶空間は放棄される。
【００１０】
他の実装形態では、方法を実行するためのコンピュータ可読プログラム・コードを含む非一時的なコンピュータ可読媒体について記述する。方法は、複数のエンティティの各エンティティに関連する消去パラメータを識別するステップであって、消去パラメータは、エンティティに対応するパーティションに格納されたデータ・ログを消去するメカニズムを示し、消去パラメータは、記憶空間を放棄するためにデータ・ログを消去する基準として、少なくとも臨界ポイントを含むステップを含む。さらに、方法は、消去パラメータに基づいてエンティティのパーティションに格納されたデータ・ログを消去するステップを含む。
【００１１】
添付の図に関して詳細に記述する。図において、参照番号の左端の桁は、参照番号が最初に現れる図を示している。同様の機能およびコンポーネントを示すために、全図を通じて同じ番号を使用する。本発明の主題の実施形態によるシステムおよび／または方法の一部の実施形態について、例示を目的として、添付の図に関して、ここに記述する。
【図面の簡単な説明】
【００１２】
【図１】本発明の主題の実施形態による、データ・ログ管理システム（ＤＬＭＳ）を実装する、例示的なネットワーク環境を示す図である。
【図２】本発明の主題の実施形態による、データ・ログ管理を実装する方法を示す図である。
【００１３】
本文書では、「例示的」という言葉は、本明細書において、「例、実例、または具体例として機能する」ことを意味するために使用する。本明細書に「例示的」と記述した本発明の主題の実施形態または実装形態は、必ずしも他の実施形態より好ましかったり、または有利であったりするものと解釈するべきではない。
【００１４】
本明細書に記載のいずれかのブロック図は、本発明の主題の原理を具体化する実例となるシステムについての概念的な視点を表していることは当業者には理解されるべきである。同様に、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかに関わりなく、任意のフローチャート、流れ図、状態遷移図、擬似コードなどは、コンピュータ可読媒体において実質的に表され、したがって、コンピュータまたはプロセッサによって実行できる様々なプロセスを表していることを理解されるであろう。
【発明を実施するための形態】
【００１５】
データ・ログの効率的な格納を可能にするために、マルチクライアント・アーキテクチャにおけるデータ・ログ管理のためのシステムおよび方法について記述する。方法は、様々なネットワークを通じて通信する様々なコンピューティング・デバイスに実装することができる。本明細書の記述は、通信ネットワークのシステムに関するものであるが、方法およびシステムは、少数の変化はあるが、当業者によって理解されるように、データ・ログを格納できる他のシステムに実装することができる。
【００１６】
データ・ログは、一般的に、異なるときに発生している、異なるイベントに関係する詳細を維持するために、システムのメモリ・コンポーネントに格納される。そのようなデータ・ログは、発生したイベントの履歴を含む。組織では、データ・ログは、ウイルス対策ソフトウェア、ファイアウォール、ならびに侵入検出および防止システムなどのセキュリティ・ソフトウェア、サーバ、ワークステーション、およびネットワーク装置のオペレーティング・システム、ならびにアプリケーションを含む多数のソースおよび複数のイベントによって生成することができる。ソースのそれぞれのデータ・ログは、将来的な使用のために格納および維持されるため、組織によって管理されるデータ・ログの数、量、および種類は非常に多い。
【００１７】
異なるイベントに対して異なるソースによって生成されたデータ・ログは、送信、分析、および処理するために格納されるか、または破棄するために処理される。データ・ログを格納するサーバの記憶空間は制限されているため、データ・ログは、また、新しいデータ・ログの格納のためにメモリを更新するために定期的に破棄される。たとえば、組織は、異なるアプリケーションの毎日の動作および様々なプロセスの処理から生成されたログを格納するために、そのサーバで１００ＧＢの空間を利用することができる。実例では、組織の様々なすべてのイベントが、ほぼ２ＧＢのデータ・ログを毎日生成する場合、利用された空間が９９ＧＢなど、サーバには、２ＧＢ未満のデータ記憶空間しか残されない可能性がある。そのような状況では、次の日に生成されるすべてのデータ・ログを効果的に格納するために、サーバは、使用可能な空き空間がここで２ＧＢを超えるように、以前に格納されたデータ・ログまたは不必要なデータ・ログの一部を破棄しなければならない場合がある。
【００１８】
非常に大量の生成されたデータ・ログを管理し、以前に格納されたデータ・ログまたは不必要なデータ・ログを破棄することによって記憶空間を放棄するために、データ・ログを処理するサーバは、現在、ログ管理技術として知られているデータ・ログ管理の技術を利用している。
【００１９】
従来から利用されているデータ・ログ管理技術は、折に触れて異なるビジネス・プロセスの変化する要件に基づいて、データ・ログの格納、処理、送信、および消去を管理する。特に、データ・ログを消去し記憶空間を放棄するために、ログ管理技術では、格納の日付に基づいてデータ・ログを削除する、つまり、新しいデータ・ログを格納するための記憶空間を作るために、より以前に格納されたデータ・ログは最初に削除される。そのような消去技術は、より早く格納されたデータは、後に格納されたデータより前に解放される、先入れ先出し方式（ＦＩＦＯ）の技術に類似している。そのような消去技術により、記憶空間の放棄が可能になるが、消去する前にデータ・ログに関連する臨界の重要性を考慮していない。これは、多くの場合、記憶空間にまだ格納されている可能性がある一部の不可欠でないデータ・ログよりも、将来的な使用に役立つ可能性がある不可欠なデータ・ログの破壊につながる場合がある。
【００２０】
さらに、すでに記述したように、異なるアプリケーションおよびソースが、１つの記憶空間に格納されるデータ・ログを生成する場合がある。複数のソースからのデータ・ログを格納する間、１つの特定のアプリケーションのデータ・ログは、別のアプリケーションのデータ・ログより不可欠な場合がある。しかし、異なるソースおよび様々なアプリケーションからのログを管理している間、ＦＩＦＯ手法では、同じ方法ですべてのアプリケーションを比較検討し、そのため特定のアプリケーションのデータ・ログに対して特定の優先度、またはアプリケーションに対して特定の記憶容量を提供することが認められない。
【００２１】
本発明の主題の一実装形態により、重要かつ不可欠なデータ・ログの格納に優先順位を付けるためのデータ・ログ管理の方法について、本明細書に記述する。上記の方法は、一方では、異なるアプリケーションからのデータ・ログの効率的な格納を可能にし、他方では、新しいデータ・ログのために空き記憶空間を作るために効率的な消去メカニズムを提供する。本発明の主題の記述した実装形態によると、データ・ログは、ウイルス対策ソフトウェア、ファイアウォール、ならびに侵入検出および防止システムを含むセキュリティ・ソフトウェア、サーバ、ワークステーション、およびネットワーク装置のオペレーティング・システムなど異なるアプリケーションから受信することができる。さらに、データ・ログは、通話ログ、セキュリティ・ログ、ネットワーキング・ログ、および通信ログに関係する場合がある。通信ログに関して記述しているが、記述した技術は、少数の変化はあるが、当業者によって理解されるように、他の型のデータ・ログにも実装することができる。
【００２２】
さらに、データ・ログは、メール・サーバ、中央ディレクトリ・サーバ、データベース・サーバ、ファイル・サーバ、プリント・サーバ、ウェブ・サーバ、アプリケーション・サーバ、ノート型コンピュータ、タブレット、ネットワーク・アクセス・アダプタなど、異なる機能を扱う／利用する異なるサーバおよびユーザを通じて受信することができる。
【００２３】
本発明の主題の一実装形態では、データ・ログの記憶空間は、複数のパーティションに割り当てられ、各パーティションは、アプリケーションまたは個々のユーザのいずれかを含むエンティティのデータ・ログの格納のためだけに使われる。各エンティティは、また、データ・ログの格納の目的のために集められたアプリケーションまたはユーザの組み合わせによって形成することができる。前述の実装形態では、ユーザまたはアプリケーションなど、１つの特定のエンティティに利用されるときに、各パーティションには、その特定のエンティティのデータ・ログの格納に使用できる、事前規定された記憶空間が提供される。たとえば、本発明の主題の前述の実装形態によると、３つのアプリケーションが組織の１つの共通のサーバにそれらのデータ・ログを格納する場合、このサーバの記憶空間は、３つのパーティションに区分することができる。異なるパーティションへと記憶空間を分割することで、様々なエンティティに基づく記憶空間の管理が可能になるため、各パーティションにおいて、異なるデータ・ログ管理技術を個々に実装することができる。
【００２４】
本発明の主題の一実装形態では、全体的な記憶空間を不均等に区分することができること、異なるアプリケーションが、データ・ログに対して異なる量の記憶空間を利用できることなどのように、記憶空間の区分化は、異なるアプリケーションの要件に基づくことができる。たとえば、３つのアプリケーションの間で、それらの特定の要件に基づいて、全体的な記憶空間の３０％は、第１のアプリケーションに提供することができ、空間の６０％は、第２のアプリケーションに提供することができ、最後に残りの１０％は、第３のアプリケーションに割り当てることができる。各アプリケーションに特有の特定の要件は、決定された要件に基づいて記憶空間を区分するように構成できるデータ・ログ管理システムによって決定することができる。
【００２５】
さらに、使用可能な記憶空間のパーティションに基づいて、記述したシナリオの３つのアプリケーションなど、各エンティティに対するデータ・ログ管理技術は異なる場合があり、各アプリケーションの要件に基づく場合がある。言い換えると、各パーティションのデータ・ログの優先度および重要性に基づいて、消去技術、異なるパーティションに対する格納技術など、データ・ログ管理は、ビジネス要件に合わせるために変えることができる。たとえば、３つの異なるデータ・パーティションに格納される３つの異なるアプリケーションのデータ・ログについての上記の状況では、他のときと比較して１日の特定のときに、１つのアプリケーションが不可欠なデータを格納するものであってもよい。そのような状況では、この特定のアプリケーションのデータ・ログを格納するデータ・パーティションは、必要な特定のときに十分な記憶空間を使用可能であるように技術を用いて実装することができる。そのような状況では、他の２つのアプリケーションに対するデータ・ログ管理の技術は、第１のアプリケーションとは異なる場合があることを理解されるであろう。
【００２６】
同様に、上記のように、それらの特定の要件に基づいて、データ・ログの消去は、異なるアプリケーション毎に異なる場合がある。本発明の一実装形態では、パーティションのそれぞれに格納されたデータ・ログは、各アプリケーションのパーティションに最大限のデータ・ログを格納する確率を高めるために、それら自身、より小さなサイズに断片化することができる。たとえば、アプリケーションがサイズ７０ＭＢのデータ・ログを生成し、アプリケーションに割り当てられるパーティションで使用可能な全空間が５５０ＭＢであるシナリオでは、データ・ログの格納によって満たすことができる最大の空間は４９０ＭＢであり、６０ＭＢの残り空間は常に未使用であろう。よって、より小さなサイズのデータ・ログへとデータ・ログを断片化する、そのようなシナリオでは、パーティションを効率的に利用することができる。この例では、７０ＭＢのデータ・ログを６０ＭＢおよび１０ＭＢへと断片化できるため、サイズ６０ＭＢのデータ・ログの断片をパーティションの記憶域の未使用部分に収容することができる。断片化により、記憶域の完全な利用が可能になる。さらに、データ・ログの断片化により、また、効率的な処理が可能になり、それによって、より大きなデータ・ログの処理によるパフォーマンスへのどのような影響も回避することができる。
【００２７】
さらに、前述の実装形態では、データ・ログは、特定のアプリケーションの要件に基づいて断片化できるため、異なるアプリケーションに対して異なる形で実装することができる。すなわち、１つのアプリケーションについて、空間の効率的な利用のために、データ・ログ毎に１０ＭＢのサイズへと断片化を行うべきであると決定することができる。しかし、他のアプリケーションについて、効率的な記憶空間の利用のために、断片化は８ＭＢへと制限することができる。さらに、異なるパーティションで断片化を実装できることを記述してきたが、データ・ログの断片化は、また、記憶空間が異なるエンティティの中で区分されず、様々なアプリケーションおよびユーザのデータ・ログがまとめて格納されているという状況で実行できることを当業者は理解されるであろう。
【００２８】
他の実装形態では、異なるアプリケーションに対するデータ・ログ管理は、データ・ログ消去の異なる技術を利用して変えることができる。たとえば、上記のシナリオでは、特定の期間に第１のアプリケーションに対するデータ・ログの格納のために記憶空間が利用可能であることを保証するために、データ・ログを消去する方法は、特定のデータ・パーティションについて修正できるため、他の期間の通常の消去と比較して、特定の期間の前にデータ・ログの消去が発生する。言い換えると、消去するときまたは記憶空間に対して消去が発生するときは、データ・ログ格納の要件に合わせて修正することができる。
【００２９】
したがって、記憶空間の区分化および異なるエンティティへの区分された空間の割り当てに基づいて、それらの個々の特定の要件に基づいて異なるエンティティについて、異なるデータ・ログ管理技術を実装することができる。各エンティティの特定の要件は、データ・ログ管理技術を実装するためにユーザが規定できることを理解されるであろう。
【００３０】
同様に、本発明の主題の他の実装形態では、他のアプリケーションに割り当てられたデータ・パーティションの未使用の記憶空間は、また、割り当てられた記憶空間が枯渇した状況において不可欠なデータ・ログの格納の目的のために、任意の特定のアプリケーションによって利用することができる。たとえば、前述した３つのアプリケーションの中で、不可欠なデータ・ログが第２のアプリケーションによって保存され、第２のアプリケーションへの割り当てられた記憶空間が枯渇している場合、他の２つのアプリケーションに割り当てられた未使用の記憶空間は、第１のアプリケーションによるそのような不可欠なデータ・ログを格納するために利用することができる。
【００３１】
本発明の主題の一実装形態によると、他のアプリケーションおよびエンティティに割り当てられたパーティションへのデータ・ログの格納は、各パーティションに関連する上書き要素に基づいている。上書き要素は、使用可能な記憶空間、データ・ログの臨界、およびパーティションの共有能力などのパラメータを含むことができ、これに基づいて、異なるエンティティの中で各エンティティのパーティションを共有することができる。異なるシナリオにおけるそのようなパラメータの実装および使用について、添付した図の特定の実施形態に関してより詳細に記述している。
【００３２】
本発明の主題の他の実装形態によると、記憶空間の区分化は、また、使用可能な記憶空間に基づいて動的に修正できるため、区分された記憶空間の割り当てられたサイズは、折に触れてエンティティの修正された要件に基づいて変更される。たとえば、利用可能な空間の合計が３０ＧＢであり、アプリケーションの間の記憶空間の区分化は、３０％、２０％、および５０％という基準に基づく状況である。しかし、第３のアプリケーションの要件が５０％の基準を超えて上昇し、最初の２つのアプリケーションで記憶空間を使用可能である状況では、第３のアプリケーションに、より多くの記憶空間を提供するために、区分化は、２０％、１０％、および７０％へと動的に修正することができる。一実装形態では、データ・ログ管理システムは、利用可能な空間を再評価するように構成することができ、要件に基づいて再分配を動的に実行することができる。
【００３３】
記憶空間の動的な割り当てに基づいて、効果的なデータ・ログ管理のために、異なるエンティティの変化する要件を考慮することができる。本発明の主題の他の実装形態では、パーティションの消去メカニズムは、パーティションに関連するエンティティの選択に基づいている。すなわち、それらの割り当てられたパーティションにデータ・ログを格納するエンティティについて、異なる要素に基づいて、エンティティの要件に従って消去メカニズムをカスタマイズすることができる。一実装形態では、エンティティは、データ・ログが格納されている期間に基づいてデータを消去することができる。
【００３４】
データ・ログは、異なるときに、および異なる目的のために格納されることを当業者は理解されるであろう。動作中のシステムの状態をログに記録するために、特定のデータ・ログは、事前に決定された期間毎の後に格納される。他のデータ・ログは、監視されているアプリケーションまたはシステムのいずれかの機能において任意の特定のエラーがあるときに生成されるエラー・ログである。一般的に、エラー・データ・ログは、異常なイベントまたは特定のプロセスの障害のためにエラーが突然発生したために、短いバースト期間内に生成される。そのようなエラー・データ・ログは、エラーのトラブルシューティングのため、およびより詳細なエラーの理解のために、後に重要である。よって、エラー・データ・ログは、通常のデータ・ログより極めて重要であることも理解されるであろう。
【００３５】
本発明の主題の実装形態によると、短いバースト期間、または瞬間、または最大のデータ・ログが格納される期間に格納されたデータ・ログは維持されて、より長い期間消去されない一方、他のデータ・ログは、より早く消去されるため、それによって記憶空間が放棄される。短いバーストの間に格納されず、通常のデータ・ログの可能性があるデータ・ログは、エラー・データ・ログなどの不可欠なデータをより少なく破棄して消去することができる。消去する時間および消去する頻度は、効率的かつ適切なデータ・ログ管理のためにエンティティの選択に従って変動させることができることをさらに理解されるであろう。
【００３６】
本発明の主題のさらに他の実装形態では、データ・ログは、各データ・ログに関連する臨界ポイントに基づいて消去される。たとえば、エラー・データ・ログなど、非常に重要で不可欠なデータ・ログは、最も高い臨界ポイントに関連させることができ、通常のデータ・ログなど、あまり重要でないデータ・ログは、最も低い臨界ポイントに関連させることができる。各データ・ログの臨界ポイントに基づいて、前述の実装形態によると、データ・ログの消去を行うことができる。たとえば、各エンティティは、データ・ログに関連する臨界ポイントに基づいて、最初に消去されるデータ・ログを規定することができる。あるエンティティは、他のデータ・ログの消去と比較して、最初に最も低い臨界ポイントを持つデータ・ログを消去するように規定することができる。同様に、他のエンティティは、最初に最も高い臨界ポイントを持つデータ・ログの消去を選択することができる。
【００３７】
したがって、異なるデータ・ログに関連する臨界ポイントに基づいて、消去メカニズムは、記憶空間を放棄するために選択および適用することができる。これにより、異なるエンティティが、異なるときに異なる優先度を持つ異なる型のデータ・ログの消去を規定することを可能にすることができる。
【００３８】
記述は、本発明の主題の原理を示すにすぎないことを注意されたい。本明細書に明示的に記述していないが、本発明の主題の原理を具体化し、その趣旨および範囲に含まれる様々な配置を当業者であれば考案できることを理解されるであろう。さらに、本明細書に列挙したすべての例は、原則として、読者が本発明の原理、およびその技術を推進する発明者（ら）によって提供された概念を理解するのを支援するために、教育のみを目的とすることを明確に意図するものであり、そのような具体的に列挙された例および条件に限定しないものとして解釈するべきである。さらに、本明細書において、本発明の原理、態様、および実施形態を列挙するすべての記述、およびその具体例は、その等価物を包含することを意図するものである。
【００３９】
実質的な分散リストを提供するシステムおよび方法を実装する方法について、図１および図２に関して詳細に説明する。任意の数の異なるコンピューティング・システム、送信環境、および／または構成において、実質的な分散リストを提供するための記述されたシステムおよび方法の態様を実装することができるが、実施形態は、以下の例示的なシステムの状況において記述されている。
【００４０】
本明細書で使用する、の間に（ｄｕｒｉｎｇ）、間（ｗｈｉｌｅ）、およびとき（ｗｈｅｎ）という言葉は、開始動作のときに動作が即座に起こることを意味する正確な用語でなく、伝播遅延など、最初の動作と、最初の動作によって開始される反応との間に、小さいが妥当な遅延があってもよいことを当業者は理解されるであろう。さらに、「接続された（ｃｏｎｎｅｃｔｅｄ）」および「結合された（ｃｏｕｐｌｅｄ）」という言葉は、記述の明瞭さのために全体を通して使用するものであり、直接接続または間接接続のいずれかを含むことができる。
【００４１】
図１は、本発明の主題の実施形態により、データ・ログを実装するために、データ・ログ管理システム（ＤＬＭＳ）１０２を実装する、ネットワーク環境１００を示している。説明のために、以下、ＤＬＭＳをシステム１０２と呼ぶ。本明細書に記述したシステム１０２は、ルータ、ブリッジ、サーバ、コンピューティング・デバイス、記憶装置などを含む、様々なネットワーク・デバイスを含む任意のネットワーク環境に実装することができる。一実装形態では、システム１０２は、ネットワーク１０６を通じて、１つまたは複数のクライアント・デバイス１０４−１、１０４−２、１０４−３・・・１０４−Ｎに接続され、以下、個々におよびまとめてクライアント・デバイス１０４と呼ぶ。異なるユーザおよび個々の組織によって必要とされるように、クライアント・デバイス１０４は、複数の機能を実行するために実行している場合がある複数のアプリケーションを含むことができる。さらに、クライアント・デバイス１０４は、また、クライアント・デバイス１０４が、コントローラ、モデム・ボード、および無線ボードなど、無線基地局装置の内部コンポーネントである３Ｇネットワークなど、任意のネットワーク要素の内部コンポーネントの場合がある。
【００４２】
システム１０２は様々なサーバおよび通信デバイスとして実装することができる。上記の方法を実装できるサーバおよびコンピューティング・システムは、限定しないが、メール・サーバ、中央ディレクトリ・サーバ、データベース・サーバ、ファイル・サーバ、プリント・サーバ、ウェブ・サーバ、アプリケーション・サーバなどを含む。システム１０２は、また、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、ワークステーション、メインフレーム・コンピュータ、サーバなど、コンピューティング・デバイスとして実装することができる。本明細書に記述したシステム１０２は、また、ルータ、ブリッジ、サーバ、コンピューティング・デバイス、記憶装置などを含む様々なネットワーク・デバイスを含む任意のネットワーク環境に実装することができる。
【００４３】
クライアント・デバイス１０４は、限定しないが、デスクトップ型コンピュータ、携帯端末、ラップトップ型コンピュータまたは他の携帯用コンピュータ、タブレット・コンピュータ、モバイル電話、ＰＤＡ、スマートフォン、セキュリティ機器、監視装置などとして実装することができる。さらに、クライアント・デバイス１０４は、異なる通信デバイスおよびコンピューティング・システムに接続を提供するためにデータを交換できるデバイスを含むことができる。そのようなデバイスは、限定しないが、データ・カード、モバイル・アダプタ、ワイヤレス（ＷｉＦｉ（商標））アダプタ、ルータ、無線モデム、ワイヤレス通信デバイス、コードレス電話機、ワイヤレス・ローカル・ループ（ＷＬＬ）ステーションなどを含むことができる。クライアント・デバイス１０４は、固定型または移動型の場合があるため、それらは、また、移動局、端末、アクセス端末、加入者ユニット、ステーションなどであると理解することができる。
【００４４】
ネットワーク１０６は、無線もしくは有線のネットワーク、またはそれらの組み合わせの場合がある。ネットワーク１０６は、互いに相互連結され単一の大規模なネットワーク（たとえばインターネットまたはイントラネット）として機能する個別のネットワークの集合でもよい。そのような個別のネットワークの例として、限定しないが、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ：Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）ネットワーク、ユニバーサル・モバイル・テレコミュニケーション・システム（ＵＭＴＳ：Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ）ネットワーク、パーソナル通信サービス（ＰＣＳ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｅｒｖｉｃｅ）ネットワーク、時分割多元接続（ＴＤＭＡ：Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワーク、符号分割多元接続（ＣＤＭＡ：Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワーク、次世代ネットワーク（ＮＧＮ：Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）、公衆交換電話網（ＰＳＴＮ：Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ）、およびサービス総合デジタル網（ＩＳＤＮ：Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）が含まれる。技術により、ネットワーク１０６は、ゲートウェイ、ルータなど様々なネットワーク・エンティティを含むが、そのような詳細は、理解を容易にするために省略した。
【００４５】
一実施形態では、システム１０２は、異なる地理的な領域からのクライアント・デバイス１０４から受信したデータ・ログを格納する、データベース１０８に関連する。データベース１０８はシステム１０２の外部に図示しているが、データベース１０８は、システム１０２の内部の場合もあることを理解されるであろう。さらに、データベース１０８は、たとえば単一のレポジトリ、分散されたレポジトリ、または分散されたレポジトリの集合として実装することができる。
【００４６】
一実装形態では、システム１０２は、プロセッサ１１２を含む。プロセッサ１１２は、１つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央制御装置、ステート・マシン、論理回路、および／または動作命令に基づいて信号を操作する任意のデバイスとして実装することができる。他の機能の中で、プロセッサは、メモリに格納されたコンピュータ可読命令を取り込み実行するように構成される。
【００４７】
「プロセッサ」と書かれた任意の機能ブロックを含む、図に示す様々な要素の機能は、専用ハードウェア、および適切なソフトウェアと連携してソフトウェアを実行する機能を持つハードウェアの利用を通じて提供することができる。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、またはその一部を共有できる、複数の個々のプロセッサによって提供することができる。さらに、「プロセッサ」という用語の明示的な使用は、ソフトウェアを実行できるハードウェアを排他的に指すものと解釈するべきではなく、デジタル・シグナル・プロセッサ（ＤＳＰ：Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）ハードウェア、ネットワーク・プロセッサ、特定用途向けＩＣ（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ソフトウェアを格納するための読み取り専用メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダム・アクセス・メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、および不揮発性記憶装置を限定することなく、暗黙的に含むことができる。従来型および／またはカスタムの他のハードウェアも含むことができる。
【００４８】
また、システム１０２はインターフェース１１４を含む。インターフェース１１４は、システム１０２がネットワーク１０６のエンティティと、または相互に対話することを可能にする、様々なソフトウェアおよびハードウェアのインターフェースを含むことができる。インターフェース１１４は、たとえばＬＡＮ、ケーブルなどの配線網およびたとえばＷＬＡＮ、セル方式、衛星に基づくネットワークなどのワイヤレス・ネットワークを含む、多種多様なネットワークおよびプロトコルのタイプで複数の通信を促進することができる。
【００４９】
本発明の主題の他の実施形態では、システム１０２は、また、メモリ１１６を含むことができる。メモリ１１６は、プロセッサ１１２に結合することができる。メモリ１１６は、たとえば、静的ランダム・アクセス・メモリ（ＳＲＡＭ：Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性メモリ、および／または読み取り専用メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、消去可能なプログラマブルＲＯＭ、フラッシュ・メモリ、ハード・ディスク、光ディスク、および磁気テープなどの不揮発性メモリなどを含む当技術分野で既知の任意のコンピュータ可読媒体を含むことができる。
【００５０】
さらに、システム１０２は、モジュール１１８およびデータ１２０を含むことができる。モジュール１１８およびデータ１２０は、プロセッサ１１２に結合することができる。モジュール１１８は、中でも、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは特定のタスクを実行するか、または特定の抽象データ型を実装する。モジュール１１８は、また、信号プロセッサ、ステート・マシン、論理回路、および／または動作命令に基づいて信号を操作する他のデバイスもしくはコンポーネントとして実装することができる。
【００５１】
さらに、モジュール１１８は、ハードウェア、処理ユニットによって実行される命令、またはそれらの組み合わせによって実装することができる。処理ユニットは、コンピュータ、プロセッサ、ステート・マシン、論理アレイ、または命令を処理できる他の適切なデバイスを含むことができる。処理ユニットは、必要なタスクを汎用プロセッサに実行させる命令を実行する汎用プロセッサでもよく、または、処理ユニットは必要な機能を実行するためだけに使うことができる。
【００５２】
本発明の主題の他の態様では、モジュール１１８は、プロセッサ／処理ユニットによって実行された場合、記述された機能のいずれかを実行する機械可読の命令（ソフトウェア）の場合がある。機械可読の命令は、電子メモリ・デバイス、ハード・ディスク、光ディスク、または他の機械可読の記憶媒体もしくは非一時的媒体に格納することができる。一実装形態では、機械可読の命令は、また、ネットワーク接続を介して記憶媒体にダウンロードすることができる。
【００５３】
一実装形態では、モジュール１１８は、区分モジュール１２２、断片化モジュール１２４、消去モジュール１２６、上書きモジュール１２８、および他のモジュール１３０を含む。他のモジュール１３０は、システム１０２によって実行されるアプリケーションまたは機能を補足するプログラムまたは符号化された命令を含むことができる。前述の実装形態では、データ１２０は、エンティティ・データ１３２、データ・ログ・データ１３４、臨界データ１３６、および他のデータ１３８を含む。他のデータ１３８は、中でも、モジュール１１８の１つまたは複数のモジュールの実行の結果として処理、受信、または生成されるデータを格納するためのレポジトリとして機能することができる。データ１２０は、システム１０２の内部に示されているが、データ１２０は、システム１０２に結合できる外部レポジトリ（図示せず）に存在できることを理解することができる。システム１０２は、データ１２０から情報を取得するために、インターフェース１１４を通じて外部レポジトリと通信することができる。
【００５４】
すでに述べたように、システム１０２は、データ・ログの効率的な格納およびそれらの消去メカニズムを実現するために、異なるエンティティのデータ・ログを管理するように構成される。データ・ログは、折に触れて様々な異なる理由のためにクライアント・デバイス１０４によって提供することができる。特定のデータ・ログは、異なるクライアント・デバイスおよびアプリケーションの状態を格納するために、事前に決定された期間毎の後に格納される場合がある。しかし、他のデータ・ログは、クライアント・デバイスの障害、または任意のアプリケーションにおける予期しないエラーなど、危機的な状態に格納することができる。そのようなデータ・ログは、また、エラーの考えられる理由など、エラーが発生したときの異なる基準、エラーが発生したときのデバイスの状態、およびエラーが発生したときを示すタイムスタンプを格納するエラー・データ・ログを含むことができる。本発明の主題の一実装形態では、クライアント・デバイス１０４によって提供されるすべてのデータ・ログは、システム１０２によってデータベース１０８に格納される。
【００５５】
データ・ログの効率的な格納のために、本発明の主題の一実装形態では、システム１０２の区分モジュール１２２は、異なるエンティティの中でデータベース１０８の記憶空間を区分するように構成される。各エンティティは、単一のクライアント・デバイス１０４か、または複数のクライアント・デバイス１０４の組み合わせの場合がある。さらに、各エンティティは、１つのアプリケーションを含むことができるか、またはアプリケーションの群を含むことができる。前述の実装形態では、区分モジュール１２２は、異なるエンティティの記憶空間要件を規定できる特定の区分パラメータに基づいてデータベース１０８を区分することができる。すなわち、各エンティティによって必要とされる記憶空間の量は、エンティティのそれぞれに関連する区分パラメータによって規定することができる。一実装形態では、エンティティのそれぞれの要件は、各エンティティに関連する臨界、エンティティによって生成されたデータ・ログのサイズ、およびデータ・ログがエンティティによって生成される頻度の１つまたは複数に基づくことができる。したがって、これらの基準に基づいて、各エンティティの区分パラメータを決定し、エンティティに関連させることができる。
【００５６】
一実装形態では、区分モジュール１２２は、エンティティのそれぞれに関連する区分パラメータに基づいて、複数のパーティションへとデータベース１０８を区分することができる。エンティティに関連する区分パラメータは、各エンティティに対する記憶空間を決定するために、区分モジュール１２２によって受信することができる。すなわち、区分モジュール１２２は、エンティティのそれぞれに関連する区分パラメータに基づいて、データベース１０８において各エンティティへと個別の記憶空間を割り当てることができる。たとえば、区分モジュール１２２は、５つの異なるエンティティへとデータベース１０８の記憶空間を区分することができる。各エンティティは、それに関連する関連する区分パラメータを持つことができる。エンティティのそれぞれについて関連する区分パラメータに基づいて、区分モジュール１２２は、データベース１０８を区分できるため、第１のエンティティは、使用可能な記憶空間の２０％の割り当て分を割り当てられ、第２のエンティティは、使用可能な記憶空間の５０％の割り当て分を割り当てられ、残りのエンティティは、それぞれ１０％の割り当て分を割り当てられる。
【００５７】
データベース１０８の全体的な記憶空間は、データ・ログを格納する目的のために、システム１０２によって利用できず、それゆえ、データ・ログ格納の目的のために利用された記憶空間のみを異なるエンティティの中で区分モジュール１２２によって区分できることを理解されるであろう。
【００５８】
異なるエンティティに対して異なるパーティションへとデータベース１０８の記憶空間を区分化することで、エンティティの特定の要件に基づいて、システム１０２が、データ・ログ管理の異なる技術を異なるパーティションに適用することを可能にすることができる。
【００５９】
本発明の主題の一実装形態では、システム１０２の断片化モジュール１２４は、割り当てられたパーティションでの効率的な格納のために、より小さなサイズのデータ・ログへとエンティティによって生成されたデータ・ログを断片化するように構成される。データ・ログの断片化は、データベース１０８に格納されたすべてのデータ・ログに対して行うことができるか、または個々のエンティティの特定の要件に基づく場合がある。前述の実装形態では、データ・ログの断片化は、各エンティティに割り当てられた記憶空間のサイズ、および各エンティティによって生成されたデータ・ログのサイズに基づく場合がある。たとえば、断片化モジュール１２４は、生成されたデータ・ログが、事前に決定したサイズより大きなサイズである５つのうち３つのエンティティのデータ・ログを断片化することを決定することができる。
【００６０】
さらに、また、エンティティは、それらによって生成されたデータ・ログを断片化するために、断片化モジュール１２４への入力を規定および提供できることがある。そのようなシナリオでは、断片化モジュール１２４は、断片化に関係する任意の入力を提供したエンティティのデータ・ログを区分することができる。一実装形態では、エンティティは、断片化パラメータの形で断片化モジュール１２４に入力を提供することができる。断片化パラメータは、データ・ログが断片化されるサイズ、それを超えると断片化が発生するデータ・ログの任意のしきい値サイズなどを含むことができ、それに基づいて、データ・ログの断片化を断片化モジュール１２４によって実行することができる。
【００６１】
一実装形態では、断片化モジュール１２４は、エンティティに割り当てられたパーティション・サイズ、およびエンティティによって生成されたデータ・ログの数に基づいて、データ・ログを断片化するように構成される。前述の実装形態では、断片化モジュール１２４は、パーティション・サイズの割合およびデータ・ログの数に基づいて、断片化されたデータ・ログのサイズを決定することができる。言い換えると、断片化されたデータ・ログのサイズは、以下のように表すことができる。
【数１】
0006441803.tif 000002
【００６２】
上に規定した関係（１）に基づいて、断片化モジュール１２４は、データ・ログを効率的に格納し、格納パーティション空間をより良好に利用するために、異なるエンティティのデータ・ログを異なるサイズに断片化できることを理解されるであろう。
【００６３】
データベース１０８に格納されたデータ・ログは、新しいデータ・ログの格納のために記憶空間を放棄するために、規則的な間隔で消去されることを理解されるであろう。しかし、重要なデータ・ログの消去は、他の重要でないデータ・ログを犠牲にして行うべきでない。よって、重要なデータ・ログの消去前に、それほど重要でないデータ・ログを消去するための効率的な消去メカニズムが、システム１０２によって利用される。
【００６４】
本発明の主題の他の実装形態では、消去モジュール１２６は、データベース１０８の記憶空間に格納されたデータ・ログを効率的に消去するように構成される。消去モジュール１２６は、各パーティションのエンティティに基づいて、異なる方法で異なるパーティションのデータ・ログを消去するように構成される、一実装形態では、パーティションでのデータ・ログの消去は、エンティティの要件に基づく場合がある。たとえば、あるエンティティは、毎日、特定の所定時刻に機密に関わるデータ・ログを格納することができる。たとえば、午前１１：００から正午１２：００の間に、すべての支店のデータ・ログを格納するバンキング・アプリケーションなどである。毎日、このときに格納されるデータ・ログは、組織にとって重要であり、データ・ログが失われないように、このエンティティに割り当てられたパーティションに記憶空間を必要とする場合がある。そのようなシナリオでは、消去モジュール１２６は、使用可能な記憶空間を保証するために、毎日午前１１：００前に、このエンティティに割り当てられたパーティションに格納されたより古いデータ・ログを消去することを決定することができる。午前１１：００以外に、異なるときに、他のパーティションに対するデータ・ログを消去できることを理解されるであろう。
【００６５】
他のほとんどのエンティティは、アプリケーションおよびクライアント・デバイス１０４の状態を格納するために、事前規定された期間毎の後に、データ・ログを格納することができない。しかし、アプリケーションにエラーおよび障害がある状況では、突然の瞬間にデータ・ログがエンティティによって格納される場合がある。言い換えると、多くのデータ・ログは、そのような予期されないエラーまたは障害の間に、短い時間内に生成および格納することができる。したがって、異なるエンティティについて、事前規定された時間およびデータ・ログのしきい値を規定することができ、それに基づいて、データ・ログが突然の瞬間に格納されたかどうかを決定することができる。たとえば、エンティティについて、事前規定された時間が５分であり、データ・ログのしきい値が５０である場合、５０を超えるデータ・ログが５分の範囲内に格納される状況では、データ・ログは、突然の瞬間に格納されるデータ・ログとしてマークすることができる。さらに、そのようなデータ・ログは、また、さらなる分析および障害の検出のために重要である場合があるため、一実装形態では、消去モジュール１２６は、突然の瞬間に短い時間内に格納されたデータ・ログの前に、通常の間隔に格納されたデータ・ログを消去することを決定することができる。
【００６６】
他の実装形態では、消去モジュール１２６は、異なるエンティティのデータ・ログに関連する臨界ポイントに基づいてデータ・ログを消去することができる。すでに記述したように、異なるデータ・ログは、それらに関連する重要度に基づいて異なる臨界を持つことができる。すなわち、異なるデータ・ログは、そのようなデータ・ログを格納するエンティティに関して、変えられた相対的な重要度を持つ情報を格納することができる。したがって、異なるデータ・ログに関連する臨界ポイントは、異なる場合がある。消去モジュール１２６は、関連に基づいて臨界ポイントをデータ・ログに関連させることができ、たとえば、事前に決定された期間毎の後に生成および格納された通常のデータ・ログなど、より重要度が低いデータ・ログは、低い臨界ポイントに関連させることができる。同様に、エラー・データ・ログなど高い重要性に関連するデータ・ログは、高い臨界ポイントに関連させることができる。前述の実装形態では、消去モジュール１２６は、エンティティのパーティションにおいて記憶空間を放棄するために、高い臨界ポイントのデータ・ログの前に、低い臨界ポイントを持つデータ・ログを消去することを決定することができる。
【００６７】
一実装形態では、消去モジュール１２６は、また、消去パラメータにより規定できるエンティティの要件に基づいて、エンティティに割り当てられたパーティションからデータ・ログを消去することができる。各エンティティは、データ・ログを消去する時間、データ・ログを消去する頻度、最初に消去するデータ・ログの臨界ポイント、および格納されたデータ・ログを消去するべき、または消去するべきでない時間を規定するために消去パラメータを規定することができる。したがって、異なるエンティティの要件に基づいて、データ・ログ消去メカニズムは、様々なパーティションで、システム１０２によって独立して実装することができる。
【００６８】
本発明の主題の一実装形態によると、システム１０２の上書きモジュール１２８は、データベース１０８の記憶空間を管理するように構成されるため、それぞれのパーティションに各エンティティによって格納されたデータ・ログは、また、割り当てられたパーティションで記憶空間が枯渇している間に、他のパーティションに格納することができる。前述の実装形態では、上書きモジュール１２８は、その記憶空間がほぼ枯渇している任意のエンティティのデータ・ログを格納するために、他のエンティティのパーティションで未使用の記憶空間を決定することができる。たとえば、データベース１０８は、１０のエンティティの中の区分モジュール１２２によって区分することができ、使用可能な記憶空間の１０％だけが、８番目のエンティティに割り当てられる。さらに、８番目のエンティティは、ときには、非常に短い時間に大量のデータ・ログを格納する。そのようなシナリオでは、８番目のエンティティの１０％の記憶空間が、大量のデータ・ログを格納するイベントの間に枯渇した場合、上書きモジュール１２８は、そのようなデータ・ログを格納するために、３番目のエンティティの未使用の記憶空間を利用することができる。
【００６９】
他の実装形態では、上書きモジュール１２８は、各パーティションに関連する上書き要素に基づいて、他のエンティティの格納パーティションに１つのエンティティのデータ・ログを格納することができる。上書き要素に基づいて、エンティティは、どのような型のデータ・ログに対して、他のエンティティの記憶空間のパーティションへの上書きが、上書きモジュール１２８によって実行できるかを規定することができる。言い換えると、エンティティは、他のエンティティのパーティションに格納するために、自身によって生成された特定の型のデータ・ログについてのみデータを格納するように規定することができる。たとえば、１０個のエンティティを用いる上記のシナリオでは、８番目のエンティティは、エラー・データ・ログのみを他のエンティティのパーティションに格納することができ、他のデータ・ログは、記憶空間が枯渇した状況で拒否されることを規定することができる。同様に、他のエンティティは、高い臨界ポイントを持つデータ・ログのみを他のエンティティのパーティションへ格納することが上書きモジュール１２８によって実行できることを規定することができる。前述の実装形態では、各エンティティは、また、他のエンティティのデータ・ログを格納する目的のために、上書きモジュール１２８によって利用されるそれらのパーティションの最大サイズを独自に規定することができる。
【００７０】
一実装形態では、上書き要素に基づいて、一部のエンティティは、また、使用可能な記憶空間にかかわらず、他のエンティティからのデータ・ログの格納のために、それらのパーティションを共有しないように規定することができる。したがって、エンティティは、また、上書き要素を使って、データ・ログの上書きに関して、データ・ログの管理を規定できることを理解されるであろう。一実装形態では、上書き要素は、異なるエンティティの要件を規定するために、使用可能な記憶空間、データ・ログの臨界、およびパーティションの共有能力などのパラメータを含むことができる。異なるエンティティは、それらの要件およびニーズに合わせるために、異なる方法で異なるパラメータを規定できることを理解されるであろう。
【００７１】
本発明の主題のさらに他の実装形態では、システム１０２の区分モジュール１２２は、すでに区分されているデータベース１０８の区分化を動的に修正するように構成される。そのような動的な区分化は、データ・ログの数および生成されたデータ・ログのサイズに依存する場合があるエンティティの変化する要件に基づく場合がある。たとえば、データベース１０８の利用可能な空間の合計は３０ＧＢであり、区分モジュール１２２は、それぞれ３０％、２０％、および５０％の割り当て分に３つのアプリケーションの間でデータベース１０８を区分した状況では、任意の１つのエンティティ、たとえばエンティティ３の要件は、アプリケーションの格納障害およびエラー・データ・ログの格納のために急に増加する場合がある。そのような状況では、区分モジュール１２２は、第３のエンティティに、より多くの記憶空間を提供するために、エンティティの割り当て分をそれぞれ２０％、１０％、および７０％へと動的に修正することができる。
【００７２】
図２は、本発明の主題の実施形態による、マルチクライアント・アーキテクチャにおけるデータ・ログ管理のための方法２００を示している。方法２００が記述されている順は、制限するものとして解釈されることを意図するものではなく、任意の数の上記方法のブロックを、方法２００または任意の代替方法を実装するために任意の順に組み合わせることができる。さらに、個々のブロックは、本明細書に記述した主題の趣旨および範囲から逸脱することなく、方法から削除することができる。さらに、方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせに実装することができる。
【００７３】
方法について、コンピュータ実行可能命令の一般的な文脈で記述することができる。一般的に、コンピュータ実行可能命令は、特定の機能を実行するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、機能などを含むことができるか、または特定の抽象データ型を実装することができる。方法は、また、通信ネットワークを通じてリンクされたリモート処理デバイスによって機能が実行される、分散されたコンピューティング環境に実施することができる。分散されたコンピューティング環境では、コンピュータ実行可能命令は、メモリ記憶デバイスを含むローカルおよびリモートのコンピュータ記憶媒体の両方に位置することができる。
【００７４】
当業者は、プログラムされたコンピュータによって方法のステップを実行できることを容易に認識するであろう。本明細書において、一部の実施形態は、また、機械またはコンピュータで読み取り可能であり、装置で実行可能またはコンピュータで実行可能なプログラム命令をエンコードする、たとえば、デジタル・データ記憶媒体など、プログラム記憶装置を包含することを意図するものであり、前述の命令は、記述した方法のステップの一部またはすべてを実行する。プログラム記憶装置は、たとえば、デジタル・メモリ、磁気ディスクや磁気テープなどの磁気記憶媒体、ハード・ドライブ、または光学的に読み取り可能なデジタル・データ記憶媒体などでもよい。実施形態は、また、例示的な方法の前述のステップを実行するように構成された通信ネットワークおよび通信デバイスの両方を対象にすることを意図するものである。
【００７５】
図２を参照すると、ブロック２０２で、データ・ログのための記憶空間は、複数のエンティティの間で割り当てるために複数のパーティションへと区分され、複数のエンティティの中の各エンティティは、少なくとも１つのパーティションを割り当てられる。一実装形態では、システム１０２などデータ・ログ管理システムは、記憶空間を区分するために利用することができる。前述の実装形態では、システム１０２の区分モジュール１２２は、データ・ログの格納に利用可能な記憶空間を複数のパーティションに区分することができる。他の実装形態では、記憶空間の分配は、複数のエンティティの要件に基づく場合がある。
【００７６】
ブロック２０４で、各エンティティに関連する消去パラメータは、複数のエンティティの中から特定され、消去パラメータは、記憶空間を放棄するためにデータ・ログを消去する基準として、消去の頻度を少なくとも含む。消去パラメータは、基準を規定することができ、それに基づいてパーティションでデータ・ログの消去が発生する場合がある。たとえば、あるエンティティは、消去する頻度を１日に３回に規定できる一方、他のエンティティは、頻度を１日１回に規定することができる。同様に、消去パラメータは、また、エンティティによって規定できるデータ・ログを消去する時間、エンティティに関連する最初に消去されるデータ・ログの臨界ポイント、および格納されたデータ・ログを消去するべき、または消去するべきでない時間を含むことができる。
【００７７】
ブロック２０６で、複数のエンティティのパーティションに格納されたデータ・ログは、複数のエンティティのうちの各エンティティに関連する消去パラメータに基づいて消去される。一実装形態では、消去されるデータ・ログは、断片化されたデータ・ログ、および記憶空間のパーティションに格納された断片化されていないデータ・ログを含むことができる。データ・ログの消去は、エンティティの個々の要件に基づく場合がある。たとえば、複数のエンティティのうちのあるエンティティは、消去またはエラー・データ・ログの前に、通常のデータ・ログの消去を必要とする場合がある。同様に、他のエンティティは、１２時間に１回である他のエンティティのデータ・ログの通常の消去と比較して、１２時間に２回、データ・ログを消去することを必要とする場合がある。
【００７８】
主題は、特定の実施形態に関して記述したものであるが、この記述は、限定的な意味で解釈されことを意図するものではない。開示した実施形態の様々な修正だけでなく、主題の代替的な実施形態は、主題の記述を参照すると当業者には明白になるであろう。したがって、そのような修正は、規定したような本発明の主題の要旨または範囲から逸脱することなく実施できるものと考えられる。
【図１】
0006441803.tif 000003
【図２】
0006441803.tif 000004