(57)【要約】      （修正有）【課題】クラウドストレージアーキテクチャのキャッシュメモリ内のデータ決定方法およびその方法を用いたクラウドストレージシステムを提供する。【解決手段】キャッシュメモリ内のデータ決定方法は、過去の一時間の間にクラウドストレージのキャッシュメモリからトランザクションを記録するステップ、将来特定時間を指定するステップ、基準時間に基づきトランザクションからの各キャッシュデータの時間関連の信頼度を計算するステップ、時間に関連する信頼関係をランク付けするステップ、キャッシュメモリが将来的特定時間よりも以前に一杯になったとき、より低い時間関連の信頼度でキャッシュメモリ内のキャッシュデータを除去するステップを含む。【選択図】図４
2018041455.tif 000002
【特許請求の範囲】
【請求項１】
クラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、
各トランザクションが過去の一時間の間に記録された時間、クラウドストレージシステムのキャッシュメモリからトランザクションを記録するステップ、
将来的特定時間を指定するステップ、
基準時間に基づき、トランザクションから各キャッシュデータの時間関連の信頼度を計算するステップ、
時間関連の信頼度をランク付けするステップ、及び、
キャッシュメモリ内のキャッシュデータが将来的特定時間よりも以前に一杯になったときに、より低い時間関連の信頼度でキャッシュメモリ内のキャッシュデータの決定を行うステップ、を含むことを特徴とする、
クラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項２】
請求項１記載のクラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、前記特定時間は、１時間の特定分間、１日の特定時間、１週間の特定日、１カ月の特定日、１シーズンの特定日、１年の特定日、１ヶ月の特定週、１シーズンの特定週、１年の特定週、または一年の特定月とすることを特徴とするクラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項３】
請求項１記載のクラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、前記トランザクションは、２つの連続するトランザクション記録間の時間間隔で定期的に記録されることを特徴とするクラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項４】
請求項１記載のクラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、前記基準時間は、１時間の特定分間、１日の特定時間、１週間の特定日、１カ月の特定日、１シーズンの特定日、１年の特定日、１ヶ月の特定週、１シーズンの特定週、１年の特定週、または一年の特定月とすることを特徴とするクラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項５】
請求項１記載のクラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、過去の一時間の間に現れた基準時刻の番号である第一数量を計算するステップ、ターゲットキャッシュデータがアクセスされたときの基準時間の数である第二数量を計算するステップ、及び、第二数量を第一数量で割る計算を行うステップ、を含むことを特徴とする、クラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項６】
請求項１記載のクラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、前記データは、オブジェクト、ブロックまたはファイルの形態であることを特徴とするクラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項７】
クラウドストレージ構造のキャッシュメモリ内のデータ決定方法であって、
各トランザクションが過去の一時間の間に記録された時間、クラウドストレージシステムのキャッシュメモリからトランザクションを記録するステップ、
将来的特定時間を指定するステップ、
基準時間に基づき、トランザクションから各キャッシュデータの時間関連の信頼度を計算するステップ、
時間関連の信頼度をランク付けするステップ、および、
少なくとも一種類のその他のアルゴリズム計算により得られたデータをキャッシュメモリに取り込み、キャッシュメモリ内のキャッシュデータが将来的特定時間よりも以前に一杯になったときに使用し、高い時間関連の信頼度のキャッシュ資料、およびその他のキャッシュアルゴリズム計算で得られたデータ間に一固定比率が存在することを特徴とする、
クラウドストレージ構造のキャッシュメモリ内のデータ決定方法。
【請求項８】
請求項７記載のクラウドストレージシステムのキャッシュメモリ内のデータ決定方法であって、前記固定比率は、前記データの占める数または前記データが占めるスペースに基づいて計算されることを特徴とするクラウドストレージシステムのキャッシュメモリ内のデータ決定方法。
【請求項９】
請求項７記載のクラウドストレージシステムのキャッシュメモリ内のデータ決定方法であって、前記キャッシュアルゴリズムは、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＭＲＵ（Ｍｏｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、Ｐｓｅｕｄｏ−ＬＲＵ（ＰＬＲＵ）アルゴリズム、ＲＲ（Ｒａｎｄｏｍ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、ＳＬＲＵ（Ｓｅｇｍｅｎｔｅｄ  ＬＲＵ）アルゴリズム、２−ｗａｙセットアソシアティブアルゴリズム、ＬＦＵ（Ｌｅａｓｔ−Ｆｒｅｑｕｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＬＩＲＳ（Ｌｏｗ  Ｉｎｔｅｒ−ｒｅｆｅｒｅｎｃｅ  Ｒｅｃｅｎｔ  Ｓｅｔ）アルゴリズム、ＡＲＣ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ  Ｃａｃｈｅ）アルゴリズム、ＣＡＲ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、ＭＱ（Ｍｕｌｔｉ  Ｑｕｅｕｅ）アルゴリズム、またはステップＤは、データ関連アルゴリズムターゲットデータの結果として使用することを特徴とするクラウドストレージシステムのキャッシュメモリ内のデータ決定方法。
【請求項１０】
クラウドストレージシステムであって、
データアクセスを処理するためのホスト、
前記ホストに接続され、高速アクセスのためにキャッシュデータを一時的にストレージするキャッシュメモリ、
前記キャッシュメモリに構成またはインストールされ、過去のある期間中にキャッシュメモリからトランザクションを記録するためにホストに接続されたトランザクションレコーダがあり、各トランザクションは、記録の時間、または記録の時間および過去の一時間にアクセスされたキャッシュデータを含み、ホストから将来的特定時間を受信し、各キャッシュデータの時間関連の信頼度を計算し、キャッシュメモリが将来的特定時間よりも以前に一杯になったときに、より低い時間関連の信頼度でキャッシュメモリ内のキャッシュデータを除去すること、及び、
前記ホストに接続され、アクセスのためのデータを分散して格納するための複数個の補助メモリを備えたことを特徴とする、
クラウドストレージシステム。
【請求項１１】
請求項１０記載のクラウドストレージシステムであって、前記固定比率は、前記データの占める数または前記データが占めるスペースに基づいて計算されることを特徴とするクラウドストレージシステム。
【請求項１２】
請求項１０記載のクラウドストレージシステムであって、前記特定時間は、１時間の特定分間、１日の特定時間、１週間の特定日、１カ月の特定日、１シーズンの特定日、１年の特定日、１ヶ月の特定週、１シーズンの特定週、１年の特定週、または一年の特定月とすることを特徴とするクラウドストレージシステム。
【請求項１３】
請求項１０記載のクラウドストレージシステムであって、前記トランザクションは、連続する２つのトランザクション記録間の時間間隔で定期的に記録されることを特徴とするクラウドストレージシステム。
【請求項１４】
請求項１０記載のクラウドストレージシステムであって、前記基準時間は、１時間の特定分間内、１日の特定時間内、または１年の特定日内とすることを特徴とするクラウドストレージシステム。
【請求項１５】
請求項１０記載のクラウドストレージシステムであって、過去の一時間の間に現れた基準時刻の番号である第一数量を計算するステップ、ターゲットキャッシュデータがアクセスされたときの基準時間の数である第二数量を計算するステップ、かつ、第二数量を第一数量で割る計算を行うステップ、を含むことを特徴とするクラウドストレージシステム。
【請求項１６】
クラウドストレージシステムであって、
データアクセスを処理するためのホスト、
前記ホストに接続され、高速アクセスのためにキャッシュデータを一時的にストレージするキャッシュメモリ、
前記キャッシュメモリに構成またはインストールされ、過去のある期間中にキャッシュメモリからトランザクションを記録するためにホストに接続されたトランザクションレコーダであり、各トランザクションは、記録の時間、または記録の時間および過去の一時間にアクセスされたキャッシュデータを含み、ホストから将来的特定時間を受信し、各キャッシュデータの時間関連の信頼度を計算し、少なくとも一種類のその他のアルゴリズム計算により得られたデータをキャッシュメモリに取り込み、キャッシュメモリ内のキャッシュデータが将来的特定時間よりも以前に一杯になったときに使用し、高い時間関連の信頼度のキャッシュ資料、およびその他のキャッシュアルゴリズム計算で得られたデータ間に一固定比率が存在し、かつ、
前記ホストに接続され、アクセスのためのデータを分散して格納するための複数個の補助メモリを備えたことを特徴とする、
クラウドストレージシステム。
【請求項１７】
請求項１６記載のクラウドストレージシステムであって、前記キャッシュアルゴリズムは、ＬＲＵアルゴリズム、ＭＲＵアルゴリズム、ＰＬＲＵアルゴリズム、ＲＲアルゴリズム、ＳＬＲＵアルゴリズム、２−ｗａｙセットアソシアティブアルゴリズム、ＬＦＵアルゴリズム、ＬＩＲＳアルゴリズム、ＡＲＣアルゴリズム、ＣＡＲアルゴリズム、ＭＱアルゴリズム、または、トランザクションで生産されたデータをターゲットデータと関連アルゴリズムとして使用することを特徴とするクラウドストレージシステム。
【請求項１８】
請求項１６記載のクラウドストレージシステムであって、前記データは、オブジェクト、ブロック、またはファイルの形態であることを特徴とするクラウドストレージシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
一般に、クラウドサービスシステムにおいて、クラウドサービスシステムからの要求に応じ、できるだけ早くクライアントへサービス提供する。このサービス提供は、クライアント数が多くない場合、目標は容易に達成できるが、クライアント数が増加した場合は、クラウドサービスシステムのハードウェアアーキテクチャおよびネットワークのフロー制限により、必然的に応答時間に時間がかかるのが普通である。
一方、クラウドサービスが他のクラウドサービスと商業的に競合している場合、限られたリソースで如何なる制限があっても、クラウドサービスシステムは、最短時間のうちにクライアントの要求に対応する必要がある。このような多くのクラウドシステム開発者が直面する一般的な問題を克服するための解決方法の開発が期待されていた。
【０００２】
従来の作業環境においては、図１に示すように、多数のクライアントコンピュータ１がインターネット３を介し、サーバ４に接続している。サーバ４は、クライアントの要求を処理する主要装置であり、複雑な計算処理、または、記憶データのアクセスを実行する。後者においては、記憶データはキャッシュ５、または補助メモリ６に格納される。キャッシュ５、または補助メモリ６の数量は１つだけに制限されない。つまり、クラウドサービスで必要な数量に制限されない。サーバ４、キャッシュ５、および補助メモリ６は、クラウドサービスシステムのアーキテクチャを形成する。キャッシュ５は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、補助メモリ６は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や書き込み可能なＤＶＤ、または磁気テープを指すこともある。
キャッシュ５と補助メモリ６の物理的な差異は、電源オフ後のデータ記憶能力である。キャッシュ５においては、データは必要に応じ一時的に格納されるが、電源をオフにするとデータは消去する。しかしながら、補助メモリ６は、電源のオン、オフに関係なく、非常に長い時間データを記憶できる。キャッシュ５は、高速データアクセスの利点があるが、揮発性（非持久力）、高コスト、およびストレージスペースが小さいことに欠点がある。
【０００３】
上述の説明のように、大部分の要求に対してホットデータ（比較的多いアクセス）が高速にアクセスできるようにし、また許容範囲の低速でクールデータ（比較的少ないアクセス）にアクセスできるようにするためには、キャッシュ５に格納する適切なデータを決定することが重要であり、かつクラウドサービスの性能を向上が図れることは明らかである。
一般に、クライアントコンピュータ１からのすべての要求に対する応答時間は許容範囲内に収まる。近年では、キャッシュ（キャッシュ５に記憶される）データを決定する多くの従来のアルゴリズムがあり、例えば、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＭＲＵ（Ｍｏｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、Ｐｓｅｕｄｏ−ＬＲＵ（ＰＬＲＵ）アルゴリズム、ＲＲ（Ｒａｎｄｏｍ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、ＳＬＲＵ（Ｓｅｇｍｅｎｔｅｄ  ＬＲＵ）アルゴリズム、２−ｗａｙセットアソシアティブアルゴリズム、ＬＦＵ（Ｌｅａｓｔ−Ｆｒｅｑｕｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＡＲＣ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ  Ｃａｃｈｅ）アルゴリズム、ＬＩＲＳ（Ｌｏｗ  Ｉｎｔｅｒ−ｒｅｆｅｒｅｎｃｅ  Ｒｅｃｅｎｔ  Ｓｅｔ）アルゴリズムなどがある。
これらのアルゴリズムは、分析データの期限と頻度の特性によって実行され、また、その結果は他のデータとは関係を有さない（データ関連はない）。
また、この他に特許ＣＮ１０１７７７０８１ＡおよびＤＯＩ：１０．１１０９／ＳＫＧ．２００５．１３６のようないくつかの先行技術があり、異なるタイプのキャッシュアルゴリズムが開示されている。それらは「データ関連アルゴリズム」に分類され、本来のキャッシュデータ（上述する従来のキャッシュアルゴリズムの結果）をターゲットデータとし、「データ関連」データを獲得し、キャッシュする。つまり、新しいキャッシュデータが、ある程度、本来のキャッシュデータに関連付けられていることを意味する（新しいキャッシュデータは本来のキャッシュデータとともに表示される可能性が高くなる）。以上のことからも、上述のアルゴリズムは、いくつかのパターンのワークロードで有効であることがわかる。
しかし、それらは絶対時間セグメントではなく、相対時間セグメントのデータを計算するため、アルゴリズムにより選出された第一時間（例えば、最初の８時間）セグメントは、第二時間（例えば、最初の８時間後の８時間）セグメントにキャッシュされると現象が生じる可能性がある。これは非常に理解しやすく、例えば、毎朝午前８時５５分から午前９時５分に電源を起動し、水曜日午後２時に会議を開催し、２週間ごとに給料計算を行い、毎月の最終日に在庫点検を行うなど、ほとんどすべてのデータアクセスが時間的、または頻度に関連する。したがって、キャッシュデータ自体は重要かつ独立した要因と考えられている。しかし、未だにこの解決方法の提案がされていない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本段落では、本発明のいくつかの特徴を抽出してコンパイルし、他の特徴については、後の段落で開示する。添付の特許請求の範囲の精神および範囲に含まれる様々な変更および同様の構成を網羅することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の目的は、クラウドストレージシステムのキャッシュメモリ内のデータの決定方法、および当該方法を使用するクラウドストレージシステムの提供を目的とし、過去の一時間にアクセスされた時間関連データを使用し、どのデータをキャッシュするべきかを分析する方法である。当該方法は、ステップＡにおいては、それぞれのトランザクションが過去の一時間に記録された時間、または記録された時間およびキャッシュされたデータからアクセスされた過去の一時間の間にクラウドストレージシステムのキャッシュメモリからトランザクションを記録するステップ、ステップＢにおいては、将来的特定時間の割り当てステップ、ステップＣにおいては、基準時間に基づき、トランザクションからキャッシュされたそれぞれのデータの時間関連の信頼度を計算するステップ、ステップＤにおいては、時間関連の信頼度のランク付けステップ、およびステップＥにおいては、キャッシュメモリ内のキャッシュされたデータを、将来的特定時間よりも以前に一杯になったときに、より低い時間に関連する信頼でキャッシュメモリ内のキャッシュされたデータを除去するステップを含む。ステップＥは、ステップＥ’への置き換えができ、ステップＥ’は、将来的特定時間のよりも前にキャッシュメモリを一杯にするために、キャッチメモリ内の少なくとも１つの他のキャッシュアルゴリズムから計算された、時間関連の信頼度が高いキャッシュデータと、他のキャッシュアルゴリズムから計算されたデータ間の固定比である。
【０００６】
本発明によれば、当該固定比は、データの数、またはデータが占めるスペースに基づき計算することができる。当該特定時間は、１時間の特定時刻、１日の特定時間、１週間の特定曜日、１カ月の特定週間、１シーズンの特定周期、または１年の特定月であってもある。トランザクションは、連続する２つのトランザクション記録間の時間間隔で定期的に記録することができる。当該基準時間は、１時間の特定時刻、１日の特定時間、または１年の特定日であっても良い。
【０００７】
当該時間関連の信頼度は、以下のステップによる計算で取得され、Ｃ１は、過去の一時間の間に現れた基準時間の番号である第一数量を計算するステップと、  Ｃ２は、ターゲットキャッシュデータがアクセスされるときの基準時間の数であり、第二数量を計算するステップと、Ｃ３は、第二数量を第一数量で割る計算である。
【０００８】
好ましくは、当該キャッシュアルゴリズムは、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＭＲＵ（Ｍｏｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＰＬＲＵ（Ｐｓｅｕｄｏ−ＬＲＵ）アルゴリズム、ＲＲ（Ｒａｎｄｏｍ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、ＳＬＲＵ（Ｓｅｇｍｅｎｔｅｄ  ＬＲＵ）、ＬＩＲＳアルゴリズム、ＡＲＣアルゴリズム、ＣＡＲ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズムアルゴリズム、Ｍｕｌｔｉ  Ｑｕｅｕｅ（ＭＱ）アルゴリズム、またはステップＤは、データ関連アルゴリズムターゲットデータの結果として使用する。当該データは、オブジェクト、ブロック、またはファイルの形式であってもよい。
【０００９】
本発明はまた、クラウドストレージシステムも開示する。クラウドストレージシステムは、ホストはデータアクセスの処理に使用され、キャッシュメモリは、当該ホストに接続され、高速アクセスで一時的な格納に使用され、トランザクションレコーダは、当該キャッシュメモリに構成、またはインストールされ、キャッシュメモリからトランザクションを記録するためにホストに接続されたトランザクションレコーダであって、各トランザクションは記録時間、または記録時間や当該時間のキャッシュデータを含み、また、ホストから指定される将来的特定時間を受信し、基準時間に基づき、当該時間関連の信頼度ランクをランク付けし、高い時間関連の信頼度のキャッシュデータを当該キャッシュメモリ内に提供し、当該キャッシュメモリが将来的特定時間より以前に一杯になった場合には、より低い時間関連の信頼度で除去するステップと、補助メモリは、当該ホストに接続され、アクセスデータを分散格納するステップを含む。
【００１０】
当該クラウドストレージシステムは、ホストはデータアクセスの処理に使用され、キャッシュメモリは、当該ホストに接続され、高速アクセスで一時的な格納に使用され、トランザクションレコーダは、当該キャッシュメモリに構成、またはインストールされ、キャッシュメモリからトランザクションを記録するためにホストに接続されたトランザクションレコーダであって、各トランザクションは記録時間、または記録時間とかこの当該時間のキャッシュデータを含み、また、ホストから指定される将来的特定時間を受信し、基準時間に基づき、当該時間関連の信頼度ランクをランク付けし、高い時間関連の信頼度のキャッシュデータを当該キャッシュメモリ内に提供し、当該キャッシュメモリが将来的特定時間より以前に一杯になった場合には、より低い時間関連の信頼度で除去するステップと、補助メモリは、当該ホストに接続され、アクセスデータを分散格納するステップをも含む。当該固定比率は、データ数、またはデータが占めるスペースに基づき計算することができる。
【００１１】
本発明によれば、当該将来的特定時間は、１時間の特定時刻、１日の特定時間、１週間の特定曜日、１カ月の特定週間、１シーズンの特定周期、または１年の特定月であってもある。トランザクションは、連続する２つのトランザクション記録間の時間間隔で定期的に記録することができる。当該基準時間は、１時間の特定時刻、１日の特定時間、または１年の特定日であっても良い。
【００１２】
当該時間関連の信頼度は、以下のステップによる計算で取得され、Ｃ１は、過去の一時間の間に現れた基準時間の番号である第一数量を計算するステップと、Ｃ２は、ターゲットキャッシュデータがアクセスされるときの基準時間の数であり、第二数量を計算するステップと、Ｃ３は、第二数量を第一数量で割る計算である。
【００１３】
好ましくは、当該キャッシュアルゴリズムは、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＭＲＵ（Ｍｏｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＰＬＲＵ（Ｐｓｅｕｄｏ−ＬＲＵ）アルゴリズム、ＲＲ（Ｒａｎｄｏｍ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、ＳＬＲＵ（Ｓｅｇｍｅｎｔｅｄ  ＬＲＵ）、ＬＩＲＳアルゴリズム、ＡＲＣアルゴリズム、ＣＡＲ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズムアルゴリズム、Ｍｕｌｔｉ  Ｑｕｅｕｅ（ＭＱ）アルゴリズム、またはステップＤは、データ関連アルゴリズムターゲットデータの結果として使用する。当該データは、オブジェクト、ブロック、またはファイルの形式であってもよい。
【００１４】
キャッシュデータは時間に関連する。したがって、次の関連時間が来る時、これらのデータは最もアクセスされる可能性が高い。当該関連時間以前に、これらのデータをキャッシュメモリに格納し、クラウドストレージシステムの性能を向上させることができる。これは、従来のキャッシュアルゴリズムでは成し得難い。
【図面の簡単な説明】
【００１５】
【図１】従来のデータアクセスアーキテクチャの構造を示すイメージ図
【図２】本発明によってクラウドストレージシステムを示すイメージ図
【図３】トランザクションの記録表
【図４】本発明によって提供する方法のフローチャート
【図５】キャッシュされたすべてのデータについて計算された時間関連の信頼度のデータ表
【図６】キャッシュされたすべてのデータについて計算された時間関連の信頼度のデータ表
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１７】
図２は、本発明の実施形態に関わるアーキテクチャの理想的な構造を示すイメージ図である。クラウドストレージシステム１０は、ホスト１０１、キャッシュメモリ１０２、トランザクションレコーダ１０３、および複数の補助メモリ１０４を含む。
クラウドストレージシステム１０は、クラウドサービスのためのデータストレージをサポートし、図２に示すように、サーバ１００にインストールすることができる。サーバ１００は、パーソナルコンピュータ３０１、タブレット３０２、スマートフォン３０３等のクライアント設備、またはインターネット２００を介し、他の遠隔装置からの要求を受信するためのハードウェアである。当該要求に対する操作後は、サーバ１００は、対応する応答をクライアント装置に逆送信する。それぞれの要素の詳細な説明は、以下に示す。
【００１８】
ホスト１０１のジョブ制御機能は、主にクライアント装置からの要求に対するデータアクセスを処理することである。実際には、ホスト１０１は、サーバ１００のコントローラである場合もある。他の実施形態においては、サーバ１００のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が当該コントローラと同機能を有する場合は、ホスト１０１はサーバ１００自身でもある場合もある。ホスト１００の定義は、その形態によるのではなく、機能により決定される。また、ホスト１０１は、他の機能を有することもでき、例えば、キャッシングのためにホットデータをキャッシュメモリ１０２に取得するここともできるが、これは本発明の範囲には含まれない。
【００１９】
キャッシュメモリ１０２は、ホスト１０１に接続され、一時的に高速アクセスによるキャッシュデータを格納することができる。実際には、キャッシュメモリ１０２は、高速データアクセスを提供する任意のハードウェアとすることもできる。例えば、キャッシュメモリ１０２は、ＳＲＡＭであってもよい。キャッシュメモリ１０２は、大型クラウドストレージシステムのための独立モジュールでもよく、いくつかのアーキテクチャは、ホスト１０１（ＣＰＵ）に埋め込むことができる。他のクラウドストレージシステムのキャッシュと同様に、どのデータをキャッシュメモリ１０２にキャッシュすべきかを決定するためのキャッシュアルゴリズムがある。
本発明は、特定の目的、またはタイミングで既存のキャッシュアルゴリズムと並列的共同作業を行うメカニズムを提供する。実際には、キャッシュ機構を支配し、本来のキャッシュアルゴリズムによって決定されたキャッシュデータを置き換えもできる。
【００２０】
トランザクションレコーダ１０３は、クラウドストレージシステム１０の重要パーツであり、本実施形態は、ハードウェアモジュールであり、キャッシュメモリ１０２に組み込まれている。他の実施形態では、トランザクションレコーダ１０３は、キャッシュメモリ１０２のコントローラ、またはホスト１０１にインストールされるソフトウェアであってもよい。
本実施形態は、トランザクションレコーダ１０３は、ホスト１０１に接続され、本発明の特徴であるいくつかの機能を有する。即ち、過去の一時間の間にキャッシュメモリ１０２からトランザクションを記録し、それぞれのトランザクションは記録時間を含み、または記録時間およびキャッシュデータは、将来的特定時間をホスト１０１から受信し、基準時間に基づき、トランザクションからのそれぞれのキャッシュデータの時間関連の信頼度を計算し、時間関連の信頼度のランク付けを行い、キャッシュデータを提供するキャッシュメモリ１０２が将来的特定時間よりも前に一杯になった場合に、より低い時間関連の信頼度でキャッシュメモリ１０２内のキャッシュデータを除去する（またはキャッシュメモリ１０２の他のキャッシュアルゴリズムから計算されたより高い時間関連の信頼度とデータをキャッシュデータに提供し、将来的特定時間の前にキャッシュメモリ１０２を一杯にする）。
これらの機能は、後に本発明の方法で説明する。本発明で使用される「時間関連の信頼度」は、関連ルールにおける信頼値の定義と同様であることを強調するための用語である。当該時間関連の信頼度は、当該データは特定時間、または履歴データから得られたデータアクセスの確率の計算から得られる。
【００２１】
補助メモリ１０４は、ホスト１０１にも接続されており、クライアントの要求からアクセスするためのデータを分散格納することができる。補助メモリ１０４は、キャッシュメモリ１０２とは異なり、Ｉ／Ｏ速度が遅く、アクセス要求に応じてアクセス速度が遅くなる。補助メモリ１０４で頻繁にアクセスされるデータは、キャッシングのために複製され、キャッシュメモリ１０２に格納される。実際には、補助メモリ１０４は、ＳＳＤ、ＨＤＤ、書き込み可能ＤＶＤ、または磁気テープであってもよい。
補助メモリ１０４の配置は、クラウドストレージシステム１０、または実行中のワークロードに基づき決定する。本発明における例では、補助メモリ１０４は３つある。実際には、クラウドストレージシステムは、補助メモリの数は数百から数千個、またはそれ以上でもよい。
【００２２】
さらに説明をする前に、本発明で使用される定義をいくつか説明する。図３は、トランザクションの記録表であり、キャッシュメモリ１０２のデータが過去にどのようにアクセスされたかを監視するために使用される。当該表には、ＴＩＤ（トランザクションＩＤ、０００１から００２４）と、キャッシュデータの列（Ｄ０１からＤ１８）、基準時間（Ｈ００からＨ０８）、および記録時間がある。Ｈ００は、録画時刻が００：００から０１：００の間、Ｈ０１は、録画時刻が０１：００から０２：００の間であり、以下は同様に類推する。
ＴＩＤとキャッシュデータ欄の「１」とは、対応するキャッシュデータが記録の「現在」時刻および記録の「最終」時刻の前にアクセスされたことを意味する。ＴＩＤおよび基準時間欄の「１」は、トランザクションの異なるセグメントにおける記録時間の量子化を意味する。トランザクションは、過去の一時間にアクセスされたキャッシュデータの記録である。本発明における例では、過去８時間の記録（トランザクション）が分析に使用される。より分かり易く説明すると、それぞれのトランザクションは識別のための対応ＴＩＤを有する。トランザクションレコーダ１０３は、連続する２つのトランザクション記録間の時間間隔で、定期的に当該トランザクションを記録する。
本発明における例では、それぞれのトランザクションは、前回のトランザクションが記録されてからの２０分間において記録され、当該時間間隔は２０分である。実際には、記録の時間は正確な予定時間である必要はない。例えば、記録時間は００：３０：１８、００：５０：１７など正確には１５秒ではないが、一つの範囲である。これは、大きなデータがアクセスされているか、トランザクションレコーダ１０３がリモートリンクのキャッシュメモリ１０２からのフィードバックを待っているからである。より積極的な手段では、当該時間間隔をランダムにすることができ、これも本発明の範囲に含まれる。
【００２３】
実際には、トランザクションの数が多く、千個、またはそれ以上ある可能性があり、例えば、１０分間を時間間隔として３ヶ月の記録をすると、２４個のトランザクションが説明例としてのみ使用されることに注意する必要がある。
トランザクションレコーダ１０３は、有するトランザクションが多いほど、将来的特定時間におけるデータの要求がより正確に予測される。もちろん、キャッシュメモリ１０２にキャッシュされたすべてのデータが一定期間アクセスされるわけではない。図３に示すように、トランザクション００１５は、アクセスデータの記録がなく、記録時間は０４：５０：０５である。
【００２４】
キャッシュメモリ１０２のデータが、本発明方法のクラウドストレージシステム１０で決定する方法を開示する前に、まずキャッシュデータをみると、１８個のキャッシュデータを有するが、キャッシュメモリ１０２の容量に基づけば、キャッシュデータの数は１８個より多くなる。当該１８個のキャッシュデータは、０７：５０：０５に本発明の方法、または他のキャッシュアルゴリズムを使用して取得したデータである。
データがあまりにも頻繁にアクセスされると、トランザクションレコーダ１０３は、補助メモリ１０４の１つから新しいデータをキャッシュメモリ１０２に追加することができ、分析のキャッシュデータも同様に変化する。０３：５０：０５以前にキャッシュされた他のデータが存在する可能性もあるが、要求が無い、または”アクセスされる予定”があるため、削除される。
【００２５】
図３では、キャッシュデータの特徴を知ることができる。キャッシュデータＤ０１は、最初の３時間および最後の１時間に頻繁にアクセスされたデータである。キャッシュデータＤ０２は、２０分ごとの間に平均アクセスされたデータである。キャッシュデータＤ０３は、２０分ごとに２回の間に平均アクセスされたデータである。キャッシュデータＤ０４は、００：１０：０５から００：３０：０５、０２：５０：０５から０３：１０：０５、および０５：３０：０５から０５：５０：０５の間に平均アクセスされたデータである。キャッシュデータＤ０５は、００：３０：０５から００：５０：０５および０６：１０：０５から０６：３０：０５の間に平均アクセスされたデータである。キャッシュデータＤ０６は、０５：３０：０５〜０５：５０：０５にのみ平均アクセスされたデータである。キャッシュデータＤ０７は、００：３０：０５から０１：１０：０５，０３：１０：０５から０３：５０：０５、および０６：１０：０５から０６：５０：０５に平均アクセスされたデータである。キャッシュデータＤ０８は、０７：１０：０５〜０７：３０：０５にのみ平均アクセスされたデータであり、また０７：１０：０５以降に予測需要で追加された最新のデータである場合もある。キャッシュデータＤ０９は、０４：３０：０５〜０４：５０：０５を除くほとんどの時間セグメントで、最も頻繁にアクセスされたデータである。キャッシュデータＤ１０はランダムにアクセスされたデータである。キャッシュデータＤ１１は、アクセスの記録はない。キャッシュデータＤ１２は、２０分ごとの４０分間に平均アクセスされたデータである。キャッシュデータＤ１３はランダムにアクセスされたデータである。キャッシュデータＤ１４は００：５０：０５から０４：３０：０５までの間に集中的にアクセスされたデータである。キャッシュデータＤ１５は、０４：３０：０５から０４：５０：０５を除き、０２：５０：０５から０６：５０：０５までの間に集中的にアクセスされたデータである。キャッシュされたデータＤ１６は、キャッシュデータＤ０１と同様の要求がある。キャッシュデータＤ１７とＤ１８のいずれもが平均アクセスされたが、キャッシュデータＤ１７は０３：５０：０５と０４：３０：０５の間に多くの要求を有し、キャッシュデータＤ１８は、０１：５０：０５と０３：１０：０５の間に多くの要求を有する。
【００２６】
本発明の主な目的は、過去の情報に基づき将来的特定時間のデータ要求を予測し、将来的特定時間の時刻以前に、対応するデータをキャッシュメモリ１０２に提供することである。クラウドストレージシステム１０のキャッシュメモリ１０２のデータの決定方法は、いくつかのプロセスを有する。
図４は、本発明によって提供される方法のフローチャートである。上述の説明のように、当該方法はトランザクションレコーダ１０３によって実行される。まず、クラウドストレージシステム１０の過去の一時間記録をキャッシュメモリ１０２からトランザクションに記録する（Ｓ０１）。それぞれのトランザクションは、記録時間（トランザクション００１５）、または過去の当該時間（本発明における例では８時間）に記録され、キャッシュデータにアクセスされた時間のみを含む。次に、将来的特定時間を割り当てる（Ｓ０２）。キャッシュメモリ１０２は、将来的特定時間をホスト１０１から受信する。
本発明によれば、将来的特定時間は、将来的な任意時刻、または時間であってもよい。例えば、１時間（毎時間）の特定時刻、１日（毎日）の特定時間、一週間（毎週）の特定曜日、１ヶ月（毎月）の特定日、１シーズン（毎シーズン）の特定日である。本発明における例では、トランザクションを使用し、他の日の００：００：００（Ｈ００）よりも以前にキャッシュデータを決定する。
【００２７】
第３ステップは、基準時間（Ｓ０３）に基づき、トランザクションからのそれぞれのキャッシュデータの時間関連の信頼度を計算する。基準時間は、「１時間の特定時間」（Ｈ００、１日の最初の１時間に２０分ごと）である。他の例では、基準時間は、記録の数および時間間隔に応じ、「１日の特定時間」、または「１年の特定日」であってもよい。特定例では、基準時間は、「メインタイムユニットのすべてのサブタイムユニット」とすることができる。例えば、１日の２４時間である。
時間関連の信頼度は、以下のステップによって計算で取得される。ステップＡは、第一数量を計算し、当該第一数量は、過去の一時間で出現する基準時間のステップ、ステップＢは、第二数量を計算し、当該第二数量は、目標キャッシュデータがアクセスされるときの基準時間のステップ、およびステップＣは、第二数量を第一数量で割る計算のステップを含む。本発明における例で、計算により得られた時間関連の信頼度を図５に示す。当該将来的特定時間が午前８時の最初の第１分間である場合は、基準時間は過去８時間の間のすべての２０分であり、その結果を図６に示す。図５と図６に示すように、異なる標準に基づき、他のキャッシュデータと比較すると、それぞれのキャッシュデータは、異なる計算で得られた時間関連の信頼度を有する。
【００２８】
次に、時間関連の信頼度をランク付けする（Ｓ０４）。本実施形態の例では、それぞれ図５および図６にも結果が示されている。最後に、より高い時間関連の信頼度のキャッシュデータをキャッシュメモリ１０２に提供し、当該キャッャッシュメモリ１０２が将来的特定時間よりも以前に一杯になったときに、より低い時間関連の信頼度でキャッシュメモリのキャッシュデータを除去する（Ｓ０５）。
図６を例に説明する。他の日の００：００以前、おそらくは１２：５９：５９に、Ｄ１１を除くすべてのデータが、新しいキャッシュデータとしてキャッチメモリ１０２に格納され、００：００以降のアクセス要求に提供される。Ｄ１１の除去理由は、キャッチメモリ１０２のスペースが１８個のデータストレージに十分ではなく、Ｄ１１が他のデータよりも時間関連の信頼度が低いことである。１８個のキャッシュファイルが分析に使用される理由は、低いヒット率、またはその他の理由、および新しいデータ（Ｄ０８）が追加され、クラウドストレージシステム１０によって除去されたキャッシュデータが、１つ、またはそれ以上あるためである。使用されるすべてのキャッシュデータ数は１８個である。
キャッチメモリ１０２の新しいキャッシュデータは、０８：００以降に要求される可能性が最も高いデータである。それらは時間関連の信頼度に基づき計算される。上記のデータ、またはキャッシュデータは、オブジェクト、ブロック、またはファイルの形式であっても良い。
【００２９】
別の実施形態では、最後のステップ（Ｓ０５）は異なる場合がある。つまりトランザクションレコーダ１０３が一つ前の実施形態とは異なる機能を有することを意味する。
変更されたステップにおいて、キャッシュメモリ１０２は、より高い時間関連の信頼度のキャッシュ資料と、少なくとも一種類のその他のキャッシュアルゴリズムの計算から得られたデータをキャッシュメモリ１０２に提供し、当該将来的特定時間以前にキャッシュメモリ１０２を一杯にする。時間関連の信頼度が高いキャッシュデータと、その他のキャッシュアルゴリズムの計算から得られたデータ間には固定比率があり、当該固定比率は、データ数、またはデータが占めるスペースに基づき計算される。
再び図６に戻り説明する。キャッシュメモリ１０２が２０個のデータをキャッシュする場合は、本発明は、キャッシュデータに対する比率が６０％であり、他のキャッシュアルゴリズムの計算で得られた残りのデータは４０％を占める場合は、即ち本発明方法で得られる資料はＤ０１、Ｄ０２、Ｄ０３、Ｄ０７、Ｄ０９、Ｄ１０、Ｄ１２、Ｄ１３、Ｄ１４、Ｄ１５、Ｄ１６、およびＤ１８の１２個のデータがあり、残りのデータは前記キャッシュアルゴリズムより提供される。
同一のキャッシュデータが２つの共同提供である場合は、即ち、本発明、またはその他のキャッシュアルゴリズムから計算された優先順位の低いデータを使用することができるが、本発明はこれに限定されるものではない。もちろん、ほとんどの場合、キャッチメモリ１０２は、その容量に基づきデータをキャッシュするように設計され、データ数ではない。上記の例から、キャッチメモリ１０２の容量の６０％は本発明によって決定されたデータで満たし、残りの４０％は少なくとも１つの既存のキャッシュアルゴリズムによって決定され、提供されるべきである。前記キャッシュアルゴリズムは、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＭＲＵ（Ｍｏｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、ＰＬＲＵ（Ｐｓｅｕｄｏ−ＬＲＵ）アルゴリズム、ＲＲ（Ｒａｎｄｏｍ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、ＳＬＲＵ（Ｓｅｇｍｅｎｔｅｄ  ＬＲＵ）（ＬＩＲＳ）アルゴリズム、ＡＲＣ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ  Ｃａｃｈｅ）アルゴリズム、ＣＡＲ（Ａｄａｐｔｉｖｅ  Ｒｅｐｌａｃｅｍｅｎｔ）アルゴリズム、Ｍｕｌｔｉ  Ｑｕｅｕｅ（ＭＱ）アルゴリズム、または本発明の背景において定義されたデータ関連アルゴリズムである。
データ関連アルゴリズムが応用される場合は、ターゲットデータは本発明からの結果でなければならないことに注意すべきである。つまり、ステップＳ０４から得られた上位のキャッシュデータをデータ関連アルゴリズムに再入力し、データ関連アルゴリズムの結果を得ることを意味する。クラウドストレージシステム１０では、トランザクションレコーダ１０３がターゲットデータを生産し、データ関連アルゴリズムに使用する。データ関連アルゴリズムは、トランザクション記録装置１０３を利用して実行することもできる。
【００３０】
以上、本発明は好適な実施形態について図示され説明されたが、本技術で通常の知識を有する者であれば、特許請求の範囲で規定された本発明の範疇から逸脱しない範囲内で多様な変更と変形がなされ得ることが理解できるはずである。
【符号の説明】
【００３１】
１      クライアントコンピュータ
３      インターネット
４      サーバ
５      キャッシュ
６      補助メモリ
１０    クラウドストレージシステム
１００  サーバ
１０１  ホスト
１０２  キャッシュメモリ
１０３  トランザクションレコーダ
１０４  補助メモリ
２００  インターネット
３０１  ノートパソコン
３０２  タブレット
３０３  スマートフォン
【図１】
2018041455.tif 000003
【図２】
2018041455.tif 000004
【図３】
2018041455.tif 000005
【図４】
2018041455.tif 000006
【図５】
2018041455.tif 000007
【図６】
2018041455.tif 000008