(57)【特許請求の範囲】
【請求項１】
データアクセス方法であって、
第1のキャッシュサーバにより、第1のアクセス要求を第2のキャッシュサーバに送信するステップであって、前記第1のアクセス要求が、第1のデータを要求するために使用され、前記第1のアクセス要求が、第1のエッジサーバからのものである、ステップと、
前記第1のキャッシュサーバにより、前記第2のキャッシュサーバによって返される前記第1のデータのコピーおよび第1のアクセス頻度を受信するステップであって、前記第1のアクセス頻度が、前記第2のキャッシュサーバによって記録されている、前記第1のエッジサーバが前記第1のデータにアクセスした頻度である、ステップと、
前記第1のキャッシュサーバにより、前記第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定するステップであって、前記第2のアクセス頻度が、前記第1のキャッシュサーバによって記録されている、前記第1のエッジサーバが第2のデータにアクセスした頻度であり、前記第2のデータが、前記第1のキャッシュサーバにローカルにキャッシュされている、ステップと、
前記第2のアクセス頻度が存在する場合に、前記第1のキャッシュサーバにより、前記第1のデータの前記コピーをキャッシュするステップと
を含む方法。
【請求項２】
前記第1のキャッシュサーバにより、前記第1のデータと前記第2のデータのキャッシュ位置をスワップするように前記第2のキャッシュサーバに要求するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記第1のキャッシュサーバにより、前記第1のデータと前記第2のデータのキャッシュ位置をスワップするように前記第2のキャッシュサーバに要求する前記ステップが、
前記第1のキャッシュサーバにより、前記第2のキャッシュサーバにスワップシグナリングを送信するステップであって、前記スワップシグナリングが、前記第2のデータのコピー、および前記第2のアクセス頻度を示す情報を運び、これにより、前記第2のキャッシュサーバが、前記第1のエッジサーバのためにキャッシュされている前記第1のデータを削除し、前記第2のデータをキャッシュする、ステップと、
前記第1のキャッシュサーバにより、前記第1のデータをキャッシュし、前記第1のエッジサーバのためにローカルにキャッシュされている前記第2のデータを削除するステップと
を含む、請求項2に記載の方法。
【請求項４】
前記第1のキャッシュサーバが、キャッシュキューを記憶し、前記キャッシュキューが、ローカルにキャッシュされている各データのアクセス頻度を記憶し、前記キャッシュキュー内の前記データの前記アクセス頻度が、昇順または降順に配置され、
前記第1のキャッシュサーバにより、前記第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定する前記ステップが、
前記第1のキャッシュサーバにより、前記キャッシュキュー内の最も低いアクセス頻度が前記第1のアクセス頻度よりも低いかどうかを判定するステップと、
前記キャッシュキュー内の前記最も低いアクセス頻度が前記第1のアクセス頻度よりも高い場合、前記第1のキャッシュサーバにより、前記第2のアクセス頻度が存在しないと判定するステップ、または
前記キャッシュキュー内の前記最も低いアクセス頻度が前記第1のアクセス頻度よりも低い場合、前記第1のキャッシュサーバにより、前記第2のアクセス頻度が存在すると判定するステップと
を含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
データアクセス方法であって、
第2のキャッシュサーバにより、第1のキャッシュサーバによって送信される第1のアクセス要求を受信するステップであって、前記第1のアクセス要求が、第1のデータを要求するために使用され、前記第1のアクセス要求が、第1のエッジサーバからのものである、ステップと、
前記第1のデータがローカルにキャッシュされていると判定したときに、前記第2のキャッシュサーバにより、前記第1のデータのコピーおよび第1のアクセス頻度を前記第1のキャッシュサーバに返すステップであって、前記第1のアクセス頻度が、前記第2のキャッシュサーバによって記録されている、前記第1のエッジサーバが前記第1のデータにアクセスした頻度である、ステップと
を含む方法。
【請求項６】
前記第2のキャッシュサーバにより、前記第1のキャッシュサーバによって送信されるスワップシグナリングを受信するステップであって、前記スワップシグナリングが、第2のデータのコピー、および第2のアクセス頻度を示す情報を運び、前記スワップシグナリングは、前記第1のキャッシュサーバが前記第2のアクセス頻度がローカルに存在すると判定したときに前記第2のキャッシュサーバに送信され、前記第2のアクセス頻度が、前記第1のアクセス頻度よりも低く、前記第2のアクセス頻度が、前記第1のキャッシュサーバによって記録されている、前記第1のエッジサーバが前記第2のデータにアクセスした頻度であり、前記第2のデータが、前記第1のキャッシュサーバにローカルにキャッシュされている、ステップと、
前記第2のキャッシュサーバにより、前記スワップシグナリングに基づいて、前記第1のエッジサーバのためにローカルにキャッシュされている前記第1のデータを削除し、前記第2のデータをローカルにキャッシュするステップと
をさらに含む、請求項5に記載の方法。
【請求項７】
前記第2のキャッシュサーバにより、前記スワップシグナリングに基づいて、前記第1のエッジサーバのためにローカルにキャッシュされている前記第1のデータを削除する前記ステップの前に、
前記第2のキャッシュサーバにより、第3のキャッシュサーバによって送信される第2のアクセス要求を受信するステップであって、前記第2のアクセス要求が、前記第1のデータを要求するために使用され、前記第2のアクセス要求が、第2のエッジサーバからのものである、ステップと、
前記第2のキャッシュサーバにより、前記第1のデータの前記コピーおよび第3のアクセス頻度を前記第3のキャッシュサーバに返すステップであって、前記第3のアクセス頻度が、前記第2のキャッシュサーバによって記録されている、前記第2のエッジサーバが前記第1のデータにアクセスした頻度である、ステップと
をさらに含む、請求項5または6に記載の方法。
【請求項８】
前記第2のキャッシュサーバにより、前記第1のデータのコピーおよび第1のアクセス頻度を前記第1のキャッシュサーバに返す前記ステップの前に、
前記第1のアクセス頻度を取得するために、前記第2のキャッシュサーバにより、前記第1のエッジサーバが前記第1のデータにアクセスした記録されている履歴頻度を更新するステップであって、前記第1のアクセス頻度が、前記第1のエッジサーバが前記第1のデータにアクセスした頻度であり、前記第1のアクセス要求をカウントした頻度である、ステップをさらに含む、請求項5から7のいずれか一項に記載の方法。
【請求項９】
データアクセス装置であって、
第1のアクセス要求を第2のキャッシュサーバに送信するように構成された送信ユニットであって、前記第1のアクセス要求が、第1のデータを要求するために使用され、前記第1のアクセス要求が、第1のエッジサーバからのものである、送信ユニットと、
前記第2のキャッシュサーバによって返される前記第1のデータのコピーおよび第1のアクセス頻度を受信するように構成された受信ユニットであって、前記第1のアクセス頻度が、前記第2のキャッシュサーバによって記録されている、前記第1のエッジサーバが前記第1のデータにアクセスした頻度である、受信ユニットと、
前記第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定するように構成された処理ユニットであって、前記第2のアクセス頻度が、前記装置によって記録されている、前記第1のエッジサーバが第2のデータにアクセスした頻度であり、前記第2のデータが、前記装置にローカルにキャッシュされている、処理ユニットと
を備え、
前記処理ユニットが、前記第2のアクセス頻度が存在すると判定した場合に、前記第1のデータの前記コピーをキャッシュするようにさらに構成されている、装置。
【請求項１０】
前記処理ユニットが、前記第1のデータと前記第2のデータのキャッシュ位置をスワップするように前記第2のキャッシュサーバに要求するようにさらに構成されている、請求項9に記載の装置。
【請求項１１】
前記送信ユニットが、前記第2のキャッシュサーバにスワップシグナリングを送信し、前記スワップシグナリングが、前記第2のデータのコピー、および前記第2のアクセス頻度を示す情報を運び、これにより、前記第2のキャッシュサーバが、前記第1のエッジサーバのためにキャッシュされている前記第1のデータを削除し、前記第2のデータをキャッシュする、ようにさらに構成されており、
前記処理ユニットが、前記第1のデータをキャッシュし、前記第1のエッジサーバのためにキャッシュされている前記第2のデータを削除するようにさらに構成されている、請求項10に記載の装置。
【請求項１２】
前記装置が、キャッシュキューを記憶し、前記キャッシュキューが、ローカルにキャッシュされている各データのアクセス頻度を記憶し、前記キャッシュキュー内の前記データの前記アクセス頻度が、昇順または降順に配置され、
前記処理ユニットが、
前記キャッシュキュー内の最も低いアクセス頻度が前記第1のアクセス頻度よりも低いかどうかを判定し、
前記キャッシュキュー内の前記最も低いアクセス頻度が前記第1のアクセス頻度よりも高い場合、前記装置の前記処理ユニットによって前記第2のアクセス頻度が存在しないと判定するか、または
前記キャッシュキュー内の前記最も低いアクセス頻度が前記第1のアクセス頻度よりも低い場合、前記処理ユニットによって前記第2のアクセス頻度が存在すると判定する
ようにさらに構成されている、請求項9から11のいずれか一項に記載の装置。
【請求項１３】
データアクセス装置であって、
第1のキャッシュサーバによって送信される第1のアクセス要求を受信するように構成された受信ユニットであって、前記第1のアクセス要求が、第1のデータを要求するために使用され、前記第1のアクセス要求が、第1のエッジサーバからのものである、受信ユニットと、
前記第1のデータがローカルにキャッシュされていると処理ユニットが判定したときに、前記第1のデータのコピーおよび第1のアクセス頻度を前記第1のキャッシュサーバに返すように構成された送信ユニットであって、前記第1のアクセス頻度が、前記装置によって記録されている、前記第1のエッジサーバが前記第1のデータにアクセスした頻度である、送信ユニットと
を備える装置。
【請求項１４】
前記受信ユニットが、前記第1のキャッシュサーバによって送信されるスワップシグナリングを受信し、前記スワップシグナリングが、第2のデータのコピー、および第2のアクセス頻度を示す情報を運び、前記スワップシグナリングは、前記第1のキャッシュサーバが前記第2のアクセス頻度がローカルに存在すると判定したときに前記装置に送信され、前記第2のアクセス頻度が、前記第1のアクセス頻度よりも低く、前記第2のアクセス頻度が、前記第1のキャッシュサーバによって記録されている、前記第1のエッジサーバが前記第2のデータにアクセスした頻度であり、前記第2のデータが、前記第1のキャッシュサーバにローカルにキャッシュされている、ようにさらに構成されており、
前記処理ユニットが、前記スワップシグナリングに基づいて、前記第1のエッジサーバのためにローカルにキャッシュされている前記第1のデータを削除し、前記第2のデータをローカルにキャッシュするようにさらに構成されている、請求項13に記載の装置。
【請求項１５】
前記受信ユニットが、第3のキャッシュサーバによって送信される第2のアクセス要求を受信し、前記第2のアクセス要求が、前記第1のデータを要求するために使用され、前記第2のアクセス要求が、第2のエッジサーバからのものである、ようにさらに構成されており、
前記送信ユニットが、前記第1のデータの前記コピーおよび第3のアクセス頻度を前記第3のキャッシュサーバに返し、前記第3のアクセス頻度が、前記装置によって記録されている、前記第2のエッジサーバが前記第1のデータにアクセスした頻度である、ようにさらに構成されている、請求項13または14に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2017年6月2日に中国特許庁に提出された、「データアクセス方法および装置」と題された中国特許出願第201710409582.2号の優先権を主張し、その全体が参照によりここに組み込まれる。
【０００２】
本出願は、データキャッシングの分野に関し、より具体的には、データアクセス方法および装置に関する。
【背景技術】
【０００３】
コンテンツ配信ネットワークは、データサーバおよび地理的に分散されたキャッシュサーバを含み、データサーバおよびキャッシュサーバは、階層構造に編成される。データサーバは、最上層に配置され、キャッシュサーバは、データサーバの下の層に分散される。データサーバは、データを記憶し、キャッシュサーバは、データサーバに記憶されたデータのキャッシュサービスを提供する。ユーザがデータを要求すると、最初に、地理的に隣接するキャッシュサーバ（エッジキャッシュサーバと称される）に対してアクセス要求が開始される。エッジキャッシュサーバは、ユーザによって要求されたデータがローカルにキャッシュされているかどうかを確認する。ユーザによって要求されたデータがキャッシュされている場合、エッジキャッシュサーバは、ユーザにデータを直接返す。ユーザによって要求されたデータがキャッシュされていない場合、エッジキャッシュサーバは、ユーザによって要求されたデータがキャッシュされているキャッシュサーバが見つかるまで、アクセス要求を上位層のキャッシュサーバにリダイレクトする。その後、データは、元の要求経路に沿ってユーザに返される。
【０００４】
元の要求経路に沿ってデータを返すプロセスでは、要求経路上の層にあるキャッシュサーバが、返されたデータをキャッシュするかどうかを個別に決定する。このようにして、データが異なるキャッシュサーバにキャッシュされ得るため、ネットワークリソースのオーバヘッドが増加し、記憶リソースの浪費が生じる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本出願は、記憶リソースの浪費を低減するためにデータアクセス方法および装置を提供する。
【０００６】
第1の態様によれば、本出願は、データアクセス方法を提供する。本方法は、第1のキャッシュサーバにより、第1のアクセス要求を第2のキャッシュサーバに送信するステップであって、第1のアクセス要求が、第1のデータを要求するために使用され、第1のアクセス要求が、第1のエッジサーバからのものである、ステップと、第1のキャッシュサーバにより、第2のキャッシュサーバによって返される第1のデータのコピーおよび第1のアクセス頻度を受信するステップであって、第1のアクセス頻度が、第2のキャッシュサーバによって記録されている、第1のエッジサーバが第1のデータにアクセスした頻度である、ステップと、第1のキャッシュサーバにより、第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定するステップであって、第2のアクセス頻度が、第1のキャッシュサーバによって記録されている、第1のエッジサーバが第2のデータにアクセスした頻度であり、第2のデータが、第1のキャッシュサーバにローカルにキャッシュされている、ステップと、第2のアクセス頻度が存在する場合に、第1のキャッシュサーバにより、第1のデータのコピーをキャッシュするステップとを含む。
【０００７】
可能な実施態様では、本方法は、第1のキャッシュサーバにより、第1のデータと第2のデータのキャッシュ位置をスワップするように第2のキャッシュサーバに要求するステップをさらに含む。
【０００８】
可能な実施態様では、第1のキャッシュサーバにより、第1のデータと第2のデータのキャッシュ位置をスワップするように第2のキャッシュサーバに要求するステップは、第1のキャッシュサーバにより、第2のキャッシュサーバにスワップシグナリングを送信するステップであって、スワップシグナリングが、第2のデータのコピー、および第2のアクセス頻度を示す情報を運び、これにより、第2のキャッシュサーバが、第1のエッジサーバのためにキャッシュされている第1のデータを削除し、第2のデータをキャッシュする、ステップと、第1のキャッシュサーバにより、第1のデータをキャッシュし、第1のエッジサーバのためにローカルにキャッシュされている第2のデータを削除するステップとを含む。
【０００９】
可能な実施態様では、本方法は、第1のキャッシュサーバにより、第1のアクセス頻度を記録するステップをさらに含む。
【００１０】
可能な実施態様では、第1のキャッシュサーバが、キャッシュキューを記憶し、キャッシュキューが、ローカルにキャッシュされている各データのアクセス頻度を記憶し、キャッシュキュー内のデータのアクセス頻度が、昇順または降順に配置され、第1のキャッシュサーバにより、第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定するステップが、第1のキャッシュサーバにより、キャッシュキュー内の最も低いアクセス頻度が第1のアクセス頻度よりも低いかどうかを判定するステップと、キャッシュキュー内の最も低いアクセス頻度が第1のアクセス頻度よりも高い場合、第1のキャッシュサーバにより、第2のアクセス頻度が存在しないと判定するステップ、またはキャッシュキュー内の最も低いアクセス頻度が第1のアクセス頻度よりも低い場合、第1のキャッシュサーバにより、第2のアクセス頻度が存在すると判定するステップとを含む。
【００１１】
可能な実施態様では、第1のアクセス要求は、第1のアクセス要求が第1のエッジサーバからのものであることを示すために、第1のエッジサーバの識別情報を運ぶ。
【００１２】
第2の態様によれば、本出願は、データアクセス方法を提供する。本方法は、第2のキャッシュサーバにより、第1のキャッシュサーバによって送信される第1のアクセス要求を受信するステップであって、第1のアクセス要求が、第1のデータを要求するために使用され、第1のアクセス要求が、第1のエッジサーバからのものである、ステップと、第1のデータがローカルにキャッシュされていると判定したときに、第2のキャッシュサーバにより、第1のデータのコピーおよび第1のアクセス頻度を第1のキャッシュサーバに返すステップであって、第1のアクセス頻度が、第2のキャッシュサーバによって記録されている、第1のエッジサーバが第1のデータにアクセスした頻度である、ステップとを含む。
【００１３】
可能な実施態様では、本方法は、第2のキャッシュサーバにより、第1のキャッシュサーバによって送信されるスワップシグナリングを受信するステップであって、スワップシグナリングが、第2のデータのコピー、および第2のアクセス頻度を示す情報を運び、スワップシグナリングは、第1のキャッシュサーバが第2のアクセス頻度がローカルに存在すると判定したときに第2のキャッシュサーバに送信され、第2のアクセス頻度が、第1のアクセス頻度よりも低く、第2のアクセス頻度が、第1のキャッシュサーバによって記録されている、第1のエッジサーバが第2のデータにアクセスした頻度であり、第2のデータが、第1のキャッシュサーバにローカルにキャッシュされている、ステップと、第2のキャッシュサーバにより、スワップシグナリングに基づいて、第1のエッジサーバのためにローカルにキャッシュされている第1のデータを削除し、第2のデータをローカルにキャッシュするステップとをさらに含む。
【００１４】
ここでは、第1のエッジサーバのためにローカルにキャッシュされている第1のデータを第2のキャッシュサーバによって削除することは論理的な削除であることに留意されたい。第2のキャッシュサーバの下の層にある別のエッジサーバのために、第1のデータが、第2のキャッシュサーバにキャッシュされる必要がない場合、第2のキャッシュサーバは、第1のエッジサーバのための第1のデータを論理的にだけでなく物理的にも削除する。第2のキャッシュサーバの下の層にあるエッジサーバ（例えば、エッジサーバ＃A）のために、第1のデータが、第2のキャッシュサーバにキャッシュされる必要がある場合、第1のエッジサーバのための第1のデータを削除することは、ここでは、単なる論理的な削除である。物理的には、第1のデータのコピーは引き続き第2のキャッシュサーバに記憶される。この場合、第1のデータのコピーは、第1のエッジサーバのためではなく、エッジサーバ＃Aのためにキャッシュされる。
【００１５】
可能な実施態様では、本方法は、第2のキャッシュサーバにより、第2のアクセス頻度を記録するステップをさらに含む。
【００１６】
可能な実施態様では、第1のアクセス要求は、第1のアクセス要求が第1のエッジサーバからのものであることを示すために、第1のエッジサーバの識別情報を運ぶ。
【００１７】
可能な実施態様では、第2のキャッシュサーバにより、スワップシグナリングに基づいて、第1のエッジサーバのためにローカルにキャッシュされている第1のデータを削除するステップの前に、本方法は、第2のキャッシュサーバにより、第3のキャッシュサーバによって送信される第2のアクセス要求を受信するステップであって、第2のアクセス要求が、第1のデータを要求するために使用され、第2のアクセス要求が、第2のエッジサーバからのものである、ステップと、第2のキャッシュサーバにより、第1のデータのコピーおよび第3のアクセス頻度を第3のキャッシュサーバに返すステップであって、第3のアクセス頻度が、第2のキャッシュサーバによって記録されている、第2のキャッシュエッジサーバが第1のデータにアクセスした頻度である、ステップとをさらに含む。
【００１８】
ここでの第3のキャッシュサーバは、第2のキャッシュサーバの下位層サーバであり、第1のキャッシュサーバが配置されている層と同じまたは異なる層に配置され得る。
【００１９】
第2のアクセス要求は、第2のアクセス要求が第2のエッジサーバからのものであることを示すために、第2のエッジサーバの識別情報を運ぶ。
【００２０】
可能な実施態様では、第2のキャッシュサーバにより、第1のデータのコピーおよび第1のアクセス頻度を第1のキャッシュサーバに返すステップの前に、本方法は、第1のアクセス頻度を取得するために、第2のキャッシュサーバにより、第1のエッジサーバが第1のデータにアクセスした記録されている履歴頻度を更新するステップであって、第1のアクセス頻度が、第1のエッジサーバが第1のデータにアクセスした頻度であり、第1のアクセス要求をカウントした頻度である、ステップをさらに含む。
【００２１】
ここでの履歴アクセス頻度は、第2のキャッシュサーバが第1のエッジサーバからの第1のアクセス要求を受信する前の、第2のキャッシュサーバによって記録されている、第1のエッジサーバが第1のデータにアクセスした回数である。
【００２２】
第3の態様によれば、本出願は、第1の態様または第1の態様の任意の可能な実施態様による方法を実行するように構成されるデータアクセス装置を提供する。具体的には、本装置は、第1の態様または第1の態様の任意の可能な実施態様による方法を実行するユニットを含む。
【００２３】
第4の態様によれば、本出願は、第2の態様または第2の態様の任意の可能な実施態様による方法を実行するように構成されるデータアクセス装置を提供する。具体的には、本装置は、第2の態様または第2の態様の任意の可能な実施態様による方法を実行するユニットを含む。
【００２４】
第5の態様によれば、本出願は、サーバを提供する。サーバは、1つ以上のプロセッサと、1つ以上のメモリと、1つ以上のトランシーバ（各トランシーバは送信機および受信機を含む）とを含む。送信機は、アンテナを介して信号を送信し、または受信機は、アンテナを介して信号を受信する。メモリは、コンピュータプログラム命令（またはコード）を記憶するように構成される。プロセッサは、メモリに記憶されている命令を実行するように構成され、命令が実行されると、プロセッサは、第1の態様または第1の態様の任意の可能な実施態様による方法を実行する。
【００２５】
第6の態様によれば、本出願は、サーバを提供する。サーバは、1つ以上のプロセッサと、1つ以上のメモリと、1つ以上のトランシーバ（各トランシーバは送信機および受信機を含む）とを含む。送信機は、アンテナを介して信号を送信し、または受信機は、アンテナを介して信号を受信する。メモリは、コンピュータプログラム命令（またはコード）を記憶するように構成される。プロセッサは、メモリに記憶されている命令を実行するように構成され、命令が実行されると、プロセッサは、第2の態様または第2の態様の任意の可能な実施態様による方法を実行する。
【００２６】
第7の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令がコンピュータ上で実行されると、コンピュータは、第1の態様または第1の態様の任意の可能な実施態様による方法を実行する。
【００２７】
第8の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令がコンピュータ上で実行されると、コンピュータは、第2の態様または第2の態様の任意の可能な実施態様による方法を実行する。
【００２８】
第9の態様によれば、本出願は、コンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータプログラムコードを含み、コンピュータプログラムコードがコンピュータ上で実行されると、コンピュータは、第1の態様または第1の態様の任意の可能な実施態様による方法を実行する。
【００２９】
第10の態様によれば、本出願は、コンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータプログラムコードを含み、コンピュータプログラムコードがコンピュータ上で実行されると、コンピュータは、第2の態様または第2の態様の任意の可能な実施態様による方法を実行する。
【００３０】
第11の態様によれば、本出願は、メモリおよびプロセッサを含むチップ（またはチップシステム）をさらに提供する。メモリは、コンピュータプログラムを記憶するように構成され、プロセッサは、チップが組み込まれたネットワークデバイスが第1の態様または第1の態様の任意の可能な実施態様による方法を実行するように、メモリからコンピュータプログラムを呼び出してコンピュータプログラムを実行するように構成される。
【００３１】
第12の態様によれば、本出願は、メモリおよびプロセッサを含むチップ（またはチップシステム）をさらに提供する。メモリは、コンピュータプログラムを記憶するように構成され、プロセッサは、チップが組み込まれたネットワークデバイスが第2の態様または第2の態様の任意の可能な実施態様による方法を実行するように、メモリからコンピュータプログラムを呼び出してコンピュータプログラムを実行するように構成される。
【００３２】
本出願の実施形態で提供されるデータアクセス方法は、データが複数の層のキャッシュサーバに繰り返しキャッシュされる場合に生じる、中間層キャッシュサーバの記憶リソースの浪費を低減し得る。
【図面の簡単な説明】
【００３３】
【図１】コンテンツ配信ネットワークの概略アーキテクチャ図である。
【図２】コンテンツ配信ネットワークにおけるデータアクセスプロセスのフローチャートである。
【図３】本出願の一実施形態によるデータキャッシュアーキテクチャの概略図である。
【図４】本出願の一実施形態によるデータアクセス方法200の概略相互作用図である。
【図５】キャッシュキュー内のデータアクセス頻度の位置を調整するプロセスの概略図である。
【図６】データのキャッシュ位置を調整するケースの例を示す。
【図７】本出願の一実施形態によるデータアクセス方法の例を示す。
【図８】本出願の一実施形態によるデータアクセス方法の別の例を示す。
【図９】本出願の一実施形態によるデータアクセス装置500の概略ブロック図である。
【図１０】本出願の一実施形態によるデータアクセス装置600の概略ブロック図である。
【図１１】本出願の一実施形態によるサーバ700の概略構成図である。
【図１２】本出願の一実施形態によるサーバ800の概略構成図である。
【図１３】プロセッサおよびメモリを含む構成の概略図である。
【図１４】プロセッサおよびメモリを含む別の構成の概略図である。
【発明を実施するための形態】
【００３４】
以下では、添付の図面を参照して本出願の技術的解決策について説明する。
【００３５】
最初に、本出願の実施形態における概念が簡単に説明される。
【００３６】
コンテンツ配信ネットワークは、コンテンツ配信の重要なコンポーネントである。コンテンツ配信ネットワークは、データサーバおよび地理的に分散されたキャッシュサーバを主に含む。データサーバは、すべてのデータを記憶し、キャッシュサーバは、データサーバに記憶されたデータのキャッシュサービスを提供する。
【００３７】
端末デバイスに直接接続されるキャッシュサーバは、エッジサーバとも称される。ユーザがデータを要求すると、最初に、エッジサーバに対してデータアクセス要求が開始される。データアクセス要求を受信した後、エッジサーバは、ユーザによって要求されたデータがエッジサーバにキャッシュされているかどうかを確認する。ユーザによって要求されたデータがキャッシュされている場合、エッジサーバは、ユーザにデータを直接返す。ユーザによって要求されたデータがキャッシュされていない場合、エッジサーバは、中間層キャッシュサーバから、ユーザによって要求されたデータを要求する。
【００３８】
コンテンツ配信ネットワークは、一般に階層構造に編成される。図1は、コンテンツ配信ネットワークの概略アーキテクチャ図である。データサーバは、階層構造の最上層に配置され、エッジサーバは、階層構造の最下層に配置され、中間層キャッシュサーバ（以下では中間層サーバと称される）は、データサーバとエッジサーバとの間に配置されている。
【００３９】
以下では、図2を参照して従来技術のコンテンツ配信ネットワークにおけるデータアクセスプロセスについて説明する。図2は、コンテンツ配信ネットワークにおけるデータアクセスプロセスのフローチャートである。
【００４０】
101．エッジサーバが、ユーザのアクセス要求を受信する。
【００４１】
アクセス要求はコンテンツAを要求するために使用されると仮定される。
【００４２】
102．エッジサーバは、コンテンツがヒットしたかどうかを判定する。
【００４３】
エッジサーバは、コンテンツAがローカルにキャッシュされているかどうかを判定する。コンテンツAがキャッシュされている場合、すなわち、コンテンツAがヒットした場合、ステップ103が実行される。コンテンツAがキャッシュされていない場合、すなわち、コンテンツAがヒットしなかった場合、ステップ104が実行される。
【００４４】
103．元の要求経路に沿ってコンテンツを返す。
【００４５】
ここでは、コンテンツAがエッジサーバにキャッシュされている場合、コンテンツAがユーザに直接返される。
【００４６】
104．エッジサーバは、アクセス要求を上位層サーバにリダイレクトする。
【００４７】
コンテンツAがエッジサーバにキャッシュされていない場合、アクセス要求は、エッジサーバの上位層サーバ（中間層サーバ）にリダイレクトされる。その後、ステップ102が実行される。
【００４８】
具体的には、中間層サーバは、コンテンツAがヒットしたかどうかを判定する。コンテンツAがヒットした場合、コンテンツAのコピーが、エッジサーバに返され、エッジサーバは、コンテンツAのコピーをユーザに返す。
【００４９】
ここでの要求経路は、エッジサーバからエッジサーバの上位層サーバへのものである。したがって、元の要求経路に沿ってコンテンツを返すことは、エッジサーバの上位層サーバからエッジサーバにコンテンツを返すことである。
【００５０】
コンテンツAがエッジサーバの上位層サーバにキャッシュされていない場合、アクセス要求は、さらに上位層の中間層サーバにリダイレクトされ、さらに上位層の中間層サーバは、コンテンツAがヒットしたかどうかを判定する等々。
【００５１】
105．要求経路上の各キャッシュサーバが、ヒットしたコンテンツをキャッシュするかどうかを個別に決定する。
【００５２】
言い換えれば、要求経路上の各中間層サーバおよび各エッジサーバは、コンテンツAをキャッシュするかどうかを個別に決定する。
【００５３】
要求経路上のキャッシュサーバ（中間層サーバおよびエッジサーバを含む）が、コンテンツAをキャッシュするかどうかを個別に決定するため、コンテンツAが複数の異なるキャッシュサーバにキャッシュされる可能性が非常に高い。このため、キャッシュサーバのキャッシュ効率は比較的低く、キャッシュリソースの浪費が生じる。
【００５４】
これを考慮して、本出願は、キャッシュリソースの浪費を低減するのに役立つデータアクセス方法を提供する。
【００５５】
以下では、図3から図6を参照して本出願によるデータアクセス方法について詳細に説明する。
【００５６】
本出願のこの実施形態で提供されるデータアクセス方法は、従来技術のものとは異なるデータキャッシュアーキテクチャに基づいて提供される。したがって、本出願のこの実施形態で提供されるデータキャッシュアーキテクチャが最初に説明される必要がある。
【００５７】
図3は、本出願の一実施形態によるデータキャッシュアーキテクチャの概略図である。図3に示されているように、コンテンツ配信ネットワークは、データサーバ、中間層キャッシュサーバ、およびエッジサーバを含む。すべてのデータは、データサーバに記憶されている。キャッシュサーバ（中間層キャッシュサーバおよびエッジサーバを含む）は、データサーバ内のデータのキャッシュサービスを提供する。キャッシュサーバは、階層構造に編成され、各上位層キャッシュサーバは、上位層キャッシュサーバの各下位層キャッシュサーバに排他的キャッシュスペースを提供する。サーバは、無線、光ファイバ、またはケーブルなどを介して互いに直接接続され得る。
【００５８】
特定のエッジサーバの観点から見ると、中間層キャッシュサーバによってエッジサーバに提供される排他的キャッシュスペースおよびエッジサーバの物理キャッシュスペースは一緒に、連続したキャッシュキューを形成する。キャッシュキューの先頭はユーザの近くにあり、キャッシュキューの末尾はデータサーバの近くにある、または末尾はユーザから遠くにある。
【００５９】
各エッジサーバの、排他的キャッシュスペースを含むキャッシュキューは論理的な概念であることが理解され得る。実際、キャッシュキューに含まれるキャッシュスペースは、中間層キャッシュサーバに分散される。
【００６０】
ここでの排他的キャッシュスペースは論理的に排他的である。言い換えれば、上位層キャッシュサーバによって上位層キャッシュサーバの下位層エッジサーバに提供される排他的キャッシュスペースは、上位層キャッシュサーバの複数の下位層エッジサーバによって物理的に共有され得る。
【００６１】
このようにして、エッジサーバの論理キャッシュキューは集中的に管理され得る。論理的に、エッジサーバのキャッシュキューに記憶されるデータに関して、エッジサーバは、データの1つのコピーのみを有する。この場合、同じデータが複数の異なるキャッシュサーバにキャッシュされることが防止され得、その結果、記憶リソースおよびネットワークリソースの浪費が低減される。
【００６２】
図3に示されているように、キャッシュサーバは、層L1からLHに分散される。エッジサーバは、層L1に配置され、中間層キャッシュサーバは、層L2からLHにある。エッジサーバ＃1の場合、層L1からLHのキャッシュサーバによってエッジサーバ＃1に提供されるキャッシュスペースが、連続したキャッシュキューを形成する。キューの先頭はユーザの近くにあり、キューの末尾はユーザから遠くにある。図3において、キューの先頭は、C1によって表されているキャッシュスペースであり、キューの末尾は、CHによって表されているキャッシュスペースである。
【００６３】
このようなキャッシュアーキテクチャに基づいて、本出願は、データアクセス方法をさらに提供する。以下では、本出願で提供されるデータアクセス方法について説明する。
【００６４】
図4は、本出願の一実施形態によるデータアクセス方法200の概略相互作用図である。図4に示されているように、方法200は、第1のキャッシュサーバおよび第2のキャッシュサーバによって実行される。
【００６５】
210．第1のキャッシュサーバは、第1のアクセス要求を第2のキャッシュサーバに送信し、第2のキャッシュサーバは、第1のアクセス要求を受信する。
【００６６】
第1のアクセス要求は、第1のデータを要求するために使用され、第1のアクセス要求は、第1のエッジサーバからのものである。
【００６７】
本出願のこの実施形態で説明されているデータはまた、コンテンツ配信ネットワークでは「コンテンツ」と称され得る。
【００６８】
本出願のこの実施形態で説明されている第1のキャッシュサーバおよび第2のキャッシュサーバは、2つの隣接する層のキャッシュサーバであり、第1のキャッシュサーバは下位層サーバであり、第2のキャッシュサーバは上位層サーバである。
【００６９】
ここでは、第1のアクセス要求は、第1のエッジサーバからのものである。したがって、第1のアクセス要求は、第1のエッジサーバから第1のキャッシュサーバにリダイレクトされると考えられ得る具体的には、第1のアクセス要求は、第1のデータを要求するために使用されるが、第1のデータは、第1のエッジサーバにも、第1のキャッシュサーバの下位層サーバにもキャッシュされていない。したがって、第1のアクセス要求は、第1のキャッシュサーバにリダイレクトされる。例えば、第1のキャッシュサーバは、第1のエッジサーバの上位層サーバであり得るし、またはさらに上位層の中間層サーバであり得る。
【００７０】
第2のキャッシュサーバは、第1のキャッシュサーバに直接接続される中間層サーバである。
【００７１】
ここでは、第1のキャッシュサーバおよび第2のキャッシュサーバは、図3の層Liおよび層Li＋1にある、互いに接続される2つのキャッシュサーバに対応し得、iは、1以上の整数である。例えば、図3においてAによって表されているキャッシュサーバおよびBによって表されているキャッシュサーバが、それぞれ第2のキャッシュサーバおよび第1のキャッシュサーバの例である。
【００７２】
任意選択で、第1のアクセス要求は、第1のエッジサーバの識別情報を運ぶ。
【００７３】
この場合、第1のアクセス要求を受信する第2のキャッシュサーバは、第1のアクセス要求が第1のエッジサーバからのものであることを知り得る。第1のアクセス要求は、第1のキャッシュサーバにリダイレクトされ、したがって、第1のキャッシュサーバは、第1のエッジサーバの識別情報に基づいて、第1のアクセス要求が第1のエッジサーバからのものであることを知り得る。
【００７４】
220．第1のデータが第2のキャッシュサーバにキャッシュされている場合、第2のキャッシュサーバは、第1のデータのコピーおよび第1のアクセス頻度を第1のキャッシュサーバに送信し、第1のキャッシュサーバは、第1のデータのコピーおよび第1のアクセス頻度を受信する。
【００７５】
第1のアクセス頻度は、第2のキャッシュサーバによって記録されている、第1のエッジサーバが第1のデータにアクセスした頻度である。
【００７６】
第2のキャッシュサーバは、第1のアクセス要求に基づいて、第1のデータがローカルにキャッシュされているかどうかを判定する。
【００７７】
第1のデータがローカルにキャッシュされている場合、第2のキャッシュサーバは、キャッシュされている第1のデータ（すなわち、第1のデータのコピー）を第1のキャッシュサーバに返す。
【００７８】
本出願のこの実施形態では、エッジサーバおよび各キャッシュサーバは、キャッシュされているデータのアクセス頻度を記録する。例えば、データA、データB、データC、およびデータDがキャッシュサーバにキャッシュされている場合、キャッシュサーバは、データA、データB、データC、およびデータDのアクセス頻度も記録している。各データの頻度は、ユーザがデータにアクセスした履歴回数を表すために使用される。言い換えれば、データのアクセス頻度は、データの「人気」を反映し得る。より高いアクセス頻度を有するデータは、より多い履歴アクセス回数を有する。
【００７９】
したがって、本出願のこの実施形態では、第1のデータが第2のキャッシュサーバにキャッシュされている場合、第2のキャッシュサーバは、第1のデータのアクセス頻度を記録している。
【００８０】
ここでは、第2のキャッシュサーバが第1のアクセス要求を受信した後、第1のアクセス頻度が第1のキャッシュサーバに返されることに留意されたい。したがって、第1のアクセス頻度は、第1のエッジサーバが第1のデータにアクセスした頻度であり、第1のアクセス要求をカウントした頻度である。あるいは、第1のデータを要求するためのアクセス要求を受信した後、第2のキャッシュサーバは、最初に、第1のアクセス頻度を取得するために、第1のエッジサーバが第1のデータにアクセスしたローカルに記録されている履歴回数に1を加えることによって第1のデータのアクセス頻度を更新し、その後、第1のエッジサーバが第1のデータにアクセスした更新された頻度（すなわち、第1のアクセス頻度）を第1のキャッシュサーバに返すことが考えられ得る。
【００８１】
本出願のこの実施形態では、ここでの第1のアクセス頻度は、第1のエッジサーバが第1のデータにアクセスした頻度であることに留意されたい。言い換えれば、中間層キャッシュサーバがローカルにキャッシュされているコンテンツのアクセス頻度を記録するとき、アクセス頻度は、エッジキャッシュサーバに対して記録される。
【００８２】
例えば、データAは、中間層キャッシュサーバにローカルにキャッシュされている。エッジサーバ＃1がデータAを要求し、アクセス要求が中間層キャッシュサーバにリダイレクトされた場合、中間層キャッシュサーバは、アクセス頻度＃1を返す。アクセス頻度＃1は、中間層キャッシュサーバによって記録されている、エッジサーバ＃1がデータAにアクセスした履歴回数である。エッジサーバ＃2がデータAを要求し、アクセス要求が中間層キャッシュサーバにリダイレクトされた場合、中間層キャッシュサーバは、アクセス頻度＃2を返す。アクセス頻度＃2は、中間層サーバによって記録されている、エッジサーバ＃2がデータAにアクセスした履歴回数である。言い換えれば、中間層キャッシュサーバによって記録されているアクセス頻度は、エッジサーバに対するものである。
【００８３】
230．第1のキャッシュサーバは、第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定する。
【００８４】
第2のアクセス頻度は、第1のキャッシュサーバによって記録されている、第1のエッジサーバが第2のデータにアクセスした頻度である。第2のデータは、第1のキャッシュサーバにローカルにキャッシュされている。
【００８５】
ステップ220で、第1のキャッシュサーバは、第2のキャッシュサーバによって返された第1のデータのコピーおよび第1のアクセス頻度を受信する。ステップ230で、第1のキャッシュサーバは、ローカルにキャッシュされているデータのアクセス頻度の中に第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定する。
【００８６】
第2のアクセス頻度は、第1のエッジサーバが第1のキャッシュサーバにキャッシュされている第2のデータにアクセスした頻度である。例えば、データE、データF、およびデータGが、第1のキャッシュサーバにキャッシュされており、第1のエッジサーバがデータE、データF、およびデータGにアクセスした頻度は、それぞれf1、f2、およびf3である。第1のキャッシュサーバは、f1、f2、およびf3の中に第1のアクセス頻度よりも低い頻度があるかどうかを判定する。2つのケースが発生し得ることが理解され得る。
【００８７】
ケース1
【００８８】
第1のアクセス頻度よりも低い第2のアクセス頻度が存在しない。
【００８９】
前述の例では、f1、f2、およびf3のすべてが、第1のアクセス頻度よりも高い。
【００９０】
この場合、第1のキャッシュサーバは、第1のデータのコピーを下位層のキャッシュサーバに返し、これにより、第1のデータのコピーは、中間層キャッシュサーバによって転送された後、第1のエッジサーバに到着し、最終的に第1のエッジサーバによってユーザに返される。第1のデータに対する現在のアクセス手順は終了する。
【００９１】
任意選択で、第1のキャッシュサーバは、キャッシュキューを記憶し、キャッシュキューは、第1のキャッシュサーバにローカルにキャッシュされている各データのアクセス頻度を記憶し、キャッシュキュー内のデータのアクセス頻度は、昇順または降順に配置され、
第1のキャッシュサーバが、第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定することは、
第1のキャッシュサーバによって、キャッシュキュー内の最も低いアクセス頻度が第1のアクセス頻度よりも低いかどうかを判定すること、および
キャッシュキュー内の最も低いアクセス頻度が第1のアクセス頻度よりも高い場合、第1のキャッシュサーバによって第2のアクセス頻度が存在しないと判定すること、または
キャッシュキュー内の最も低いアクセス頻度が第1のアクセス頻度よりも低い場合、第1のキャッシュサーバによって第2のアクセス頻度が存在すると判定することを含む。
【００９２】
この実施形態では、各キャッシュサーバ（エッジサーバおよび中間層キャッシュサーバを含む）は、キャッシュキューを記憶する。キャッシュキューは、キャッシュサーバにキャッシュされている各データのアクセス頻度を含み、キャッシュキュー内の要素は、アクセス頻度の昇順または降順に配置される。例えば、キャッシュキューにおいて、データのアクセス頻度は、降順に配置され得、最も高いアクセス頻度はキューの先頭にあり、最も低いアクセス頻度はキューの末尾にある。あるいは、キャッシュキューにおいて、データのアクセス頻度は、昇順に配置され得、最も低いアクセス頻度はキューの先頭にあり、最も高いアクセス頻度はキューの末尾にある。
【００９３】
中間層キャッシュサーバでキャッシュキューを維持することは、ステップ230のパフォーマンス効率を改善し得る。
【００９４】
前述の例が、引き続き説明のために使用される。f1、f2、およびf3が降順に配置され、キャッシュキュー（f1，f2，f3）が取得されると仮定すると、f3が、最も低いアクセス頻度である。第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定するとき、第1のキャッシュサーバは、キャッシュキューの末尾の要素f3と第1のアクセス頻度とを直接比較する。f3が第1のアクセス頻度よりも高い場合、キャッシュキューの中に第1のアクセス頻度よりも低い第2のアクセス頻度は存在しない。
【００９５】
逆に、f3が第1のアクセス頻度よりも低い場合、キャッシュキューの中に第1のアクセス頻度よりも低い第2のアクセス頻度が存在する。この場合、第1のキャッシュサーバは、キャッシュキューの最後から2番目の位置のアクセス頻度（例えば、前述の例のf2）と第1のアクセス頻度とを比較し得る。f2が第1のアクセス頻度よりも高い場合、キャッシュキュー内のf3のみが、第1のアクセス頻度よりも低く、f3が、本出願のこの実施形態で説明されている第2のアクセス頻度として使用され、f3に対応するデータGが、第2のデータとして決定される。
【００９６】
f2が第1のアクセス頻度よりも低い場合、第1のキャッシュサーバは、キャッシュキューの最後から3番目の位置のアクセス頻度（例えば、前述の例のf1）と第1のアクセス頻度とをさらに比較する。f1が第1のアクセス頻度よりも高い場合、キャッシュキュー内のf2およびf3の両方が、第1のアクセス頻度よりも低く、第1のキャッシュサーバは、アクセス頻度の中で最大のアクセス頻度（例えば、前述の例のf2）を第2のアクセス頻度として使用し、f2に対応するデータFが、第2のデータである。
【００９７】
キャッシュキューがより多くの要素を含む場合、第2のアクセス頻度が存在するかどうかを判定し、第2のデータを決定するプロセスは同様である。ここでは詳細は再度説明されない。
【００９８】
各キャッシュサーバがキャッシュキューを記憶する解決策に基づいて、第1のキャッシュサーバが第2のアクセス頻度が存在しないと判定した場合、第1のデータのコピーを第2のキャッシュサーバに返した後、第1のキャッシュサーバは、第1のデータのアクセス頻度を更新する。第1のキャッシュサーバが第1のアクセス要求を受信する前に、第1のエッジサーバが第1のデータにアクセスした頻度mが、第1のキャッシュサーバで維持されていると仮定される。第1のエッジサーバから第1のアクセス要求を受信した後、第1のキャッシュサーバは、第1のエッジサーバが第1のデータにアクセスした維持されている頻度に1を加え、すなわち、維持されている頻度をm＋1に更新し、キャッシュキューにおける第1のデータの位置を調整する。
【００９９】
加えて、第1のキャッシュサーバによって第2のキャッシュサーバに返される前述の第1のアクセス頻度は、更新されたアクセス頻度である。言い換えれば、第1のアクセス頻度は、第1のアクセス要求をカウントしたアクセス回数である。
【０１００】
以下では、図5を参照して、アクセス頻度を更新し、キャッシュキュー内のデータアクセス頻度の位置を調整するプロセスを例を挙げて説明する。
【０１０１】
図5は、キャッシュキュー内のデータアクセス頻度の位置を調整するプロセスの概略図である。
【０１０２】
（1）キャッシュサーバ＃Aは、下位層キャッシュサーバによって送信された、データFを要求するために使用されるアクセス要求を受信する。
【０１０３】
ここでは、キャッシュサーバ＃Aがアクセス要求を受信する下位層キャッシュサーバは、図5には示されていない。
【０１０４】
（2）キャッシュサーバ＃Aは、データFがローカルにキャッシュされていないと判定し、アクセス要求を上位層のキャッシュサーバ＃Bにリダイレクトする。
【０１０５】
（3）データFがキャッシュサーバ＃Bにキャッシュされている場合、データFのコピーが、キャッシュサーバ＃Aに返される。
【０１０６】
データFを要求するためのアクセス要求が受信される前、データFの履歴アクセス回数は3である。キャッシュサーバ＃Bで維持されているキャッシュキューは（D，E，F）であり、データFのアクセス回数は最も少ないものである。データFのアクセス回数が更新された後、データFのアクセス回数は、データEおよびデータDのアクセス回数よりも多い4になる。したがって、キャッシュサーバ＃Bは、キャッシュキュー内のデータFとデータDの、キャッシュキューにおける位置をスワップする。更新されたキャッシュキューは（F，D，E）である。言い換えれば、キャッシュキュー内の要素は常に、アクセス頻度の降順に配置される。
【０１０７】
さらに、キャッシュサーバ＃Bは、データFの更新されたアクセス頻度をキャッシュサーバ＃Aに返す。
【０１０８】
（4）キャッシュサーバ＃Aは、データFのコピーを下位層キャッシュサーバに返す。
【０１０９】
ケース2
【０１１０】
第1のアクセス頻度よりも低い第2のアクセス頻度が存在する。
【０１１１】
この場合、ステップ240が実行される。
【０１１２】
240．第2のアクセス頻度が存在する場合、第1のキャッシュサーバは、第1のデータのコピーをキャッシュする。
【０１１３】
本出願で提供される技術的解決策では、第1のキャッシュサーバが、第2のキャッシュサーバによって返された第1のデータのコピーおよび第1のアクセス頻度を受信した後、第1のアクセス頻度よりも低い第2のアクセス頻度がローカルに存在する場合、それは、第1のエッジサーバにとって第1のデータがより「人気」があることを示す。したがって、第1のキャッシュサーバは、第1のデータのコピーをキャッシュし得、これにより、第1のデータを要求するためのアクセス要求が次にエッジサーバから受信されたとき、第1のデータのコピーが、エッジサーバに直接返され、さらにユーザに返され得、アクセス要求を上位層キャッシュサーバにリダイレクトする必要がない。これにより、ユーザのデータ要求への応答時間が短縮され、キャッシュ効率が改善される。
【０１１４】
さらに、複数の層のキャッシュサーバがデータのコピーをキャッシュするかどうかを個別に決定する前述の従来技術の技術的解決策と比較して、本出願のこの実施形態では、上位層キャッシュサーバおよび下位層キャッシュサーバは、データのアクセス頻度を交換し、その後、データをキャッシュするかどうかを決定するが、これは、複数の層のキャッシュサーバがデータをキャッシュするかどうかを個別に決定する従来技術の問題、例えば、ネットワーク記憶リソースの浪費、中間層キャッシュサーバの比較的低いキャッシュ効率、およびユーザのデータ要求への比較的長い応答時間を解決するのに役立つ。
【０１１５】
任意選択で、本方法は、第1のキャッシュサーバによって、第1のデータと第2のデータのキャッシュ位置をスワップするように第2のキャッシュサーバに要求するステップをさらに含む。
【０１１６】
第1のデータのコピーが第2のキャッシュサーバに既にキャッシュされていることが理解され得る。第1のキャッシュサーバもが第1のデータのコピーをキャッシュする場合、ネットワークリソースのオーバヘッドが増加する。問題を回避するために、本出願の実施形態では、複数の層のサーバにキャッシュされるデータのコピーはできるだけ少なくなければならない。したがって、第1のキャッシュサーバおよび第2のキャッシュサーバの両方に第1のデータのコピーをキャッシュする必要はなく、第1のデータのコピーは、下位層の第1のキャッシュサーバのみに記憶される必要があり、一方、アクセス頻度が第1のデータのアクセス頻度よりも低い第2のデータのコピーは、第1のキャッシュサーバから上位層の第2のキャッシュサーバに移動される。言い換えれば、第1のデータと第2のデータのキャッシュ位置がスワップされる。このようにして、ネットワークリソースの浪費が回避され得る。
【０１１７】
以下では、第1のキャッシュサーバおよび第2のキャッシュサーバが第1のデータと第2のデータのキャッシュ位置をどのようにスワップするかについて詳細に説明する。
【０１１８】
前述の例が、引き続き説明のために使用される。例えば、頻度f3が、第1のアクセス頻度よりも低い。
【０１１９】
この場合、ケース1とは異なり、第1のキャッシュサーバは、第1のデータのコピーを下位層のキャッシュサーバに返すだけではなく、第1のデータと第2のデータのキャッシュ位置をスワップするように第2のキャッシュサーバに要求し、またはキャッシュサーバ内の第1のデータのコピーと第2のデータのコピーの位置が後でスワップされる。
【０１２０】
以下では、第1のデータと第2のデータのキャッシュ位置をスワップするプロセスについて説明する。
【０１２１】
第1のキャッシュサーバが、第1のデータと第2のデータのキャッシュ位置をスワップするように第2のキャッシュサーバに要求することは、
第1のキャッシュサーバによって第2のキャッシュサーバにスワップシグナリングを送信することであって、スワップシグナリングが、第2のデータのコピー、および第2のアクセス頻度を示す情報を運び、これにより、第2のキャッシュサーバが、第1のエッジサーバのためにキャッシュされている第1のデータを削除し、第2のデータをキャッシュする、ことと、
第1のキャッシュサーバによって第1のデータをキャッシュし、第1のエッジサーバのためにローカルにキャッシュされている第2のデータを削除することとを含む。
【０１２２】
言い換えれば、第1のキャッシュサーバは、最初にスワップシグナリングを第2のキャッシュサーバに送信し、スワップシグナリングは、第1のデータと第2のデータのキャッシュ位置をスワップするように要求するために使用される。スワップシグナリングは、第2のデータのコピー、および第2のアクセス頻度を示す情報を運ぶ。
【０１２３】
スワップシグナリングを受信すると、第2のキャッシュサーバは、第2のデータのコピーを取得し、第2のアクセス頻度を知ることが理解され得る。第2のキャッシュサーバは、スワップシグナリングに基づいて、第1のエッジサーバのためにキャッシュされている第1のデータを削除し、受信された第2のデータのコピーをキャッシュする。
【０１２４】
第1のキャッシュサーバは、第1のエッジサーバのためにキャッシュされている第2のデータを削除し、受信された第1のデータのコピーをキャッシュする。
【０１２５】
このようにして、第1のキャッシュサーバに当初キャッシュされていた第2のデータのコピーは、第2のキャッシュサーバにキャッシュされ、一方、第2のキャッシュサーバに当初キャッシュされていた第1のデータのコピーは、第1のキャッシュサーバにキャッシュされる。したがって、第1のキャッシュサーバおよび第2のキャッシュサーバは、第1のデータと第2のデータのキャッシュ位置をスワップする。
【０１２６】
下位層のサーバにより高いアクセス頻度を有するデータをキャッシュすることにより、ユーザのデータ要求への応答時間が短縮され得ることが理解され得る。
【０１２７】
次に、図5が例として使用される。キャッシュサーバ＃Bは、データFの更新されたアクセス頻度（すなわち、4）をキャッシュサーバ＃Aに返す。データFのアクセス頻度は、キャッシュサーバ＃AにローカルにキャッシュされているデータCのアクセス頻度よりも高く、キャッシュサーバ＃Aおよびキャッシュサーバ＃Bは、データCとデータFのキャッシュ位置をスワップする。キャッシュサーバ＃Bは、データFを削除し、データCのコピーをキャッシュする。キャッシュサーバ＃Aは、データCを削除し、データFのコピーをキャッシュする。
【０１２８】
データFを要求するためのアクセス要求がエッジサーバ＃Cからのものであると仮定すると、エッジサーバ＃Cのキャッシュキューは、（A，B，C，D，E，F，H，I，J）から（A，B，F，C，D，E，H，I，J）に変更される。
【０１２９】
ここでは、キャッシュサーバに記憶されるキャッシュキューとエッジサーバに記憶されたるキャッシュキューが区別される必要があることに留意されたい。図3を参照して上で説明されたように、論理キャッシュキューである、エッジサーバのキャッシュキューは、各中間層サーバによってエッジサーバのために割り当てられた物理キャッシュスペースと、エッジサーバの物理キャッシュスペースとを含む。図5に示されているキャッシュサーバ＃Bに記憶されているキャッシュキューは、キャッシュサーバ＃Bで維持される物理キャッシュキューである。
【０１３０】
第1のキャッシュサーバは、第2のキャッシュサーバの下位層サーバであり、第1のエッジサーバが第1のデータにアクセスした頻度は、第1のエッジサーバが第2のデータにアクセスした頻度よりも高いことが理解され得る。したがって、第2のキャッシュサーバから第1のキャッシュサーバに第1のデータのコピーをスワップすることは、ユーザにより近い位置でより高いアクセス頻度を有するデータをキャッシュすることである。このようにして、第1のデータに関するアクセス効率が改善され得、レイテンシが短縮され得る。言い換えれば、データがエッジサーバにとって「人気」になると、データは、エッジサーバのキャッシュキュー内で繰り上げられ、下位層キャッシュサーバに物理的により近くなり、これにより、データはユーザにより近くなる。
【０１３１】
任意選択で、第1のデータと第2のデータのキャッシュ位置はスワップされ、これに対応して、第1のアクセス頻度と第2のアクセス頻度の記録位置がスワップされる。言い換えれば、データをキャッシュするキャッシュサーバが、データのアクセス頻度を記録する。
【０１３２】
本出願のこの実施形態では、エッジサーバに関して、ユーザにより近い位置でより高いアクセス頻度を有するデータをキャッシュするプロセスで以下のケースが発生し得る。
【０１３３】
図6は、データのキャッシュ位置を調整するケースの例を示す。
【０１３４】
例えば、上位層キャッシュサーバにキャッシュされているデータAは、エッジサーバ＃1にとって比較的「人気」であり、データAは、下位層のサーバにキャッシュされる必要がある。データAは、エッジサーバ＃2にとっては比較的「不人気」であり、データAは、さらに上位層のサーバにキャッシュされる必要がある。したがって、下位層キャッシュサーバ＃1は、データAをキャッシュする。加えて、上位層キャッシュサーバは、上位層キャッシュサーバにキャッシュされているデータAがエッジサーバ＃2のためのものであることを示すために、キャッシュされているデータAとエッジサーバ＃2の識別情報とを関連付ける。このようにして、エッジサーバ＃1に関して、エッジサーバ＃1のキャッシュキューには依然としてデータAの1つのコピーのみがあると考えられる。同様に、エッジサーバ＃2に関して、エッジサーバ＃2のキャッシュキューには依然としてデータAの1つのコピーのみがある。
【０１３５】
任意選択で、第2のキャッシュサーバが、スワップシグナリングに基づいて、第1のエッジサーバのためにローカルにキャッシュされている第1のデータを削除する前に、本方法は、
第3のキャッシュサーバによって送信される第2のアクセス要求を第2のキャッシュサーバによって受信するステップであって、第2のアクセス要求が、第1のデータを要求するために使用され、第2のアクセス要求が、第2のエッジサーバからのものである、ステップと、
第2のキャッシュサーバによって、第1のデータのコピーおよび第3のアクセス頻度を第3のキャッシュサーバに返すステップであって、第3のアクセス頻度が、第2のキャッシュサーバによって記録されている、第2のキャッシュエッジサーバが第1のデータにアクセスした頻度である、ステップとをさらに含む。
【０１３６】
言い換えれば、第1のデータを要求するために使用される、第1のエッジサーバからの第1のアクセス要求に対して、第2のキャッシュサーバは、第1のアクセス頻度を返し、第1のデータを要求するために使用される、第2のエッジサーバからの第2のアクセス要求に対して、第2のキャッシュサーバは、第3のアクセス頻度を返す。
【０１３７】
同様に、第2のアクセス要求は、第2のアクセス要求が第2のエッジサーバからのものであることを示すために、第2のエッジサーバの識別情報を運び得る。
【０１３８】
以下では、図7および図8を参照して、本出願の実施形態によるデータアクセス方法を例を挙げて説明する。
【０１３９】
図7は、本出願の一実施形態によるデータアクセス方法の例を示す。
【０１４０】
最初に、下位層サーバにキャッシュされているデータは、アクセス頻度がそれぞれ7、6、および5であるデータA、データB、およびデータCを含み、上位層サーバにキャッシュされているデータは、アクセス頻度がそれぞれ5、3、および3であるデータD、データE、およびデータFを含むと仮定される。
【０１４１】
301．下位層サーバは、データFを要求するためのアクセス要求を受信する。
【０１４２】
302．データFが下位層サーバでヒットしなかった場合、アクセス要求を上位層サーバにリダイレクトする。
【０１４３】
303．データFが上位層サーバでヒットした場合、データFのアクセス頻度を更新する。
【０１４４】
具体的には、データFのアクセス頻度が3から4に更新される。
【０１４５】
304．上位層サーバは、データFのコピーおよびデータFの更新されたアクセス頻度を下位層サーバに返す。
【０１４６】
305．下位層サーバは、データFのコピーをさらに下位層のサーバに返す。
【０１４７】
あるいは、データFの更新されたアクセス頻度がさらに返されてもよい。
【０１４８】
306．下位層サーバは、データFの更新されたアクセス頻度がキャッシュキューの末尾にある要素のアクセス頻度よりも低いと判定し、データFのキャッシュ位置は調整される必要がないと判定する。
【０１４９】
前述の説明から、下位層サーバのキューの末尾にある要素のアクセス頻度が最も低いことが知られ得る。したがって、データFのアクセス頻度は、ここでは、キューの末尾にある要素のアクセス頻度と直接比較される。ここでは、キューの末尾にある要素は、アクセス頻度が5であるデータCである。
【０１５０】
この時点までで、アクセス手順は終了する。
【０１５１】
上位層サーバがスワップシグナリングを受信しない場合、データのキャッシュ位置はデフォルトでスワップされる必要はない。あるいは、ステップ307が実行されてもよい。
【０１５２】
307．下位層サーバは、上位層サーバにスワップシグナリングを送信する。
【０１５３】
スワップシグナリングは、スワップ動作が実行される必要がないことを上位層サーバに通知するために、falseを示す。
【０１５４】
図8は、本出願の一実施形態によるデータアクセス方法の別の例を示す。
【０１５５】
図8は、図7と同じ仮定を有する。
【０１５６】
401から405は、前述のステップ301から305と同様であり、ここでは詳細は再度説明されない。唯一の違いは、今回はデータDを要求するためにアクセス要求が使用されることである。
【０１５７】
406．下位層サーバは、データDの更新されたアクセス頻度（すなわち、6）がキューの末尾にある要素であるデータCのアクセス頻度（すなわち、5）よりも高く、したがって、データDとデータCのキャッシュ位置がスワップされる必要があると判定する。
【０１５８】
407．下位層サーバは、上位層サーバにスワップシグナリングを送信する。
【０１５９】
スワップシグナリングは、スワップ動作が実行される必要があることを上位層サーバに通知するために、trueを示す。
【０１６０】
408．下位層サーバは、データCのコピーおよびデータCのアクセス頻度を上位層サーバに送信する。
【０１６１】
あるいは、ステップ408は実行されなくてもよい。ステップ407のスワップシグナリングは、シグナリングオーバヘッドを低減するために、データCのコピー、およびデータCのアクセス頻度を示す情報を運ぶ。
【０１６２】
409．データCのコピーおよびデータCのアクセス頻度を受信した後、上位層サーバは、データDを削除し、データCのコピーをキャッシュする。
【０１６３】
410．下位層サーバは、データCを削除し、ステップ404で受信されたデータDのコピーをキャッシュする。
【０１６４】
さらに、下位層サーバは、データDの更新されたアクセス頻度を記憶し、上位層サーバは、データCのアクセス頻度を記憶する。
【０１６５】
この時点までで、アクセス手順は終了する。
【０１６６】
本出願の実施形態で提供されるデータアクセス方法は、データが複数の層のキャッシュサーバに繰り返しキャッシュされるときに中間層キャッシュサーバの記憶リソースが浪費されるという問題を回避し得る。さらに、データのキャッシュ位置の更新は、パフォーマンスのボトルネックを回避するために、分散方式で実施される。
【０１６７】
実験は、従来の解決策（例えば、最長時間未使用（Least Recently Used、LRU）アルゴリズム）と比較して、本出願で提供されるデータアクセス方法は、4層キャッシュを使用し、各層のキャッシュサーバは、10個のコンテンツをキャッシュし得ることを示している。データサーバは、100個のコンテンツを記憶し、合計で10000個のアクセス要求が生成され、この要求は、Zipf（Zipf）分布に従う。ユーザからヒットしたキャッシュサーバへのホップ数は15.7％減少する。キャッシュヒット率は、84.2％から88.7％に増加し、特に、「人気」のデータ（またはコンテンツ）のヒット率は効果的に改善される。加えて、データサーバの負荷が28.7％減少し、その結果、データサーバのスケーラビリティが効果的に改善される。
【０１６８】
本出願の実施形態によるデータアクセス方法では、ユーザのデータアクセス状態に基づいて、比較的高いアクセス頻度を有するデータおよび比較的低いアクセス頻度を有するデータのキャッシュ位置が、上位層キャッシュサーバと下位層キャッシュサーバとの相互作用を通じて継続的に調整され、これにより、比較的高いアクセス頻度を有するデータのキャッシュ位置は、下位層のキャッシュサーバに移動される。これは、ユーザのデータ要求への応答時間を短縮し、Cache（キャッシュ）ヒット率を増加させ得るだけでなく、記憶リソースの浪費を低減し得、ネットワークリソースが低減され得、データサーバの負荷を低減し、キャッシュ効率を改善する。
【０１６９】
以上、図3から図8を参照して、本出願の実施形態によるデータアクセス方法について詳細に説明した。以下では、図9および図12を参照して、本出願の実施形態によるデータアクセス装置およびサーバについて説明する。
【０１７０】
図9は、本出願の一実施形態によるデータアクセス装置500の概略ブロック図である。装置500は、前述の方法の実施形態における第1のキャッシュサーバに対応し得る。図9に示されているように、装置500は、
第1のアクセス要求を第2のキャッシュサーバに送信するように構成される送信ユニット510であって、第1のアクセス要求が、第1のデータを要求するために使用され、第1のアクセス要求が、第1のエッジサーバからのものである、送信ユニット510と、
第2のキャッシュサーバによって返される第1のデータのコピーおよび第1のアクセス頻度を受信するように構成される受信ユニット520であって、第1のアクセス頻度が、第2のキャッシュサーバによって記録されている、第1のエッジサーバが第1のデータにアクセスした頻度である、受信ユニット520と、
第1のアクセス頻度よりも低い第2のアクセス頻度が存在するかどうかを判定するように構成される処理ユニット530であって、第2のアクセス頻度が、第1のキャッシュサーバによって記録されている、第1のエッジサーバが第2のデータにアクセスした頻度であり、第2のデータが、第1のキャッシュサーバにローカルにキャッシュされている、処理ユニット530とを含み、
処理ユニット530は、第2のアクセス頻度が存在する場合に、第1のデータのコピーをキャッシュするようにさらに構成される。
【０１７１】
本出願のこの実施形態における装置500のユニットおよび前述の他の動作または機能は、本出願で提供されるデータアクセス方法の実施形態における第1のキャッシュサーバによって実行される対応する手順を実施するために使用される。簡潔にするために、ここでは詳細は再度説明されない。
【０１７２】
装置500は、方法の実施形態における第1のキャッシュサーバに対応し得、対応するモジュールまたはユニットは、対応するステップを実行する。例えば、送信ユニット（送信機）は、方法の実施形態における送信ステップを実行し、受信ユニット（受信機）は、方法の実施形態における受信ステップを実行し、処理ユニット（プロセッサ）は、送信および受信とは異なる他のステップを実行し得る。ユニットの具体的な機能については、対応する方法の実施形態を参照されたい。送受信機能を共同で実施するために、送信ユニットおよび受信ユニットは、トランシーバユニットを形成し得、送信機および受信機は、トランシーバを形成し得る。1つ以上のプロセッサがあってもよい。
【０１７３】
任意選択で、装置500は、前述の方法の実施形態における第1のキャッシュサーバまたは第1のキャッシュサーバに組み込まれたチップであってもよい。
【０１７４】
図10は、本出願の一実施形態によるデータアクセス装置600の概略ブロック図である。装置600は、前述の方法の実施形態における第2のキャッシュサーバに対応し得る。図10に示されているように、装置600は、
第1のキャッシュサーバによって送信される第1のアクセス要求を受信するように構成される受信ユニット610であって、第1のアクセス要求が、第1のデータを要求するために使用され、第1のアクセス要求が、第1のエッジサーバからのものである、受信ユニット610と、
第1のデータがローカルにキャッシュされているかどうか判定するように構成される処理ユニット620と、
第1のデータがローカルにキャッシュされていると判定されたときに第1のデータのコピーおよび第1のアクセス頻度を第1のキャッシュサーバに返すように構成される送信ユニット630であって、第1のアクセス頻度が、第2のキャッシュサーバによって記録されている、第1のエッジサーバが第1のデータにアクセスした頻度である、送信ユニット630とを含む。
【０１７５】
本出願のこの実施形態における装置600のユニットおよび前述の他の動作または機能は、本出願で提供されるデータアクセス方法の実施形態における第2のキャッシュサーバによって実行される対応する手順を実施するために使用される。簡潔にするために、ここでは詳細は再度説明されない。
【０１７６】
装置600は、方法の実施形態における第2のキャッシュサーバに対応し得、対応するモジュールまたはユニットは、対応するステップを実行する。例えば、送信ユニット（送信機）は、方法の実施形態における送信ステップを実行し、受信ユニット（受信機）は、方法の実施形態における受信ステップを実行し、処理ユニット（プロセッサ）は、送信および受信とは異なる他のステップを実行し得る。ユニットの具体的な機能については、対応する方法の実施形態を参照されたい。送受信機能を共同で実施するために、送信ユニットおよび受信ユニットは、トランシーバユニットを形成し得、送信機および受信機は、トランシーバを形成し得る。1つ以上のプロセッサがあってもよい。
【０１７７】
任意選択で、装置600は、前述の方法の実施形態における第2のキャッシュサーバまたは第2のキャッシュサーバに組み込まれたチップであってもよい。
【０１７８】
図11は、本出願の一実施形態によるサーバ700の概略構成図である。図11に示されているように、サーバ700は、1つ以上のプロセッサ701と、1つ以上のメモリ702と、1つ以上のトランシーバ（各トランシーバは送信機703および受信機704を含む）とを含む。送信機703は、アンテナを介して信号を送信し、または受信機704は、アンテナを介して信号を受信する。メモリ702は、コンピュータプログラム命令（またはコード）を記憶する。プロセッサ701は、本出願で提供されるデータアクセス方法の実施形態における第1のキャッシュサーバによって実行される対応する手順および／または動作を実施するために、メモリ702に記憶されたコンピュータプログラム命令を実行する。簡潔にするために、ここでは詳細は再度説明されない。
【０１７９】
図9に示されている装置500は、図11に示されているサーバ700によって実施され得ることに留意されたい。例えば、図9に示されている送信ユニット510は、図11に示されている送信機703によって実施され得、受信ユニット520は、受信機704によって実施され得、処理ユニット530は、プロセッサ701によって実施され得る。
【０１８０】
図12は、本出願の一実施形態によるサーバ800の概略構成図である。図12に示されているように、サーバ800は、1つ以上のプロセッサ801と、1つ以上のメモリ802と、1つ以上のトランシーバ（各トランシーバは送信機803および受信機804を含む）とを含む。送信機803は、アンテナを介して信号を送信し、または受信機804は、アンテナを介して信号を受信する。メモリ802は、コンピュータプログラム命令（またはコード）を記憶する。プロセッサ801は、本出願で提供されるデータアクセス方法の実施形態における第2のキャッシュサーバによって実行される対応する手順および／または動作を実施するために、メモリ802に記憶されたコンピュータプログラム命令を実行する。簡潔にするために、ここでは詳細は再度説明されない。
【０１８１】
同様に、図10に示されている装置600は、図12に示されているサーバ800によって実施され得る。例えば、図10に示されている受信ユニット610は、図12に示されている受信機804によって実施され得、処理ユニット620は、プロセッサ801によって実施され得、送信ユニット630は、送信機803によって実施され得る。
【０１８２】
加えて、本出願は、コンピュータ可読記憶媒体であって、コンピュータ可読記憶媒体が、コンピュータ命令を記憶し、コンピュータ命令がコンピュータ上で実行されると、コンピュータが、本出願の実施形態によるデータアクセス方法の、第1のキャッシュサーバによって実行される対応する動作および／または手順を実行する、コンピュータ可読記憶媒体を提供する。
【０１８３】
加えて、本出願は、コンピュータ可読記憶媒体であって、コンピュータ可読記憶媒体が、コンピュータ命令を記憶し、コンピュータ命令がコンピュータ上で実行されると、コンピュータが、本出願の実施形態によるデータアクセス方法の、第2のキャッシュサーバによって実行される対応する動作および／または手順を実行する、コンピュータ可読記憶媒体を提供する。
【０１８４】
本出願は、コンピュータプログラム製品であって、コンピュータプログラム製品が、コンピュータプログラムコードを含み、コンピュータプログラムコードがコンピュータ上で実行されると、コンピュータが、本出願の実施形態によるデータアクセス方法の、第1のキャッシュサーバによって実行される対応する動作および／または手順を実行する、コンピュータプログラム製品をさらに提供する。
【０１８５】
本出願は、コンピュータプログラム製品であって、コンピュータプログラム製品が、コンピュータプログラムコードを含み、コンピュータプログラムコードがコンピュータ上で実行されると、コンピュータが、本出願の実施形態によるデータアクセス方法の、第2のキャッシュサーバによって実行される対応する動作および／または手順を実行する、コンピュータプログラム製品をさらに提供する。
【０１８６】
本出願は、メモリおよびプロセッサを含むチップ（またはチップシステム）をさらに提供する。メモリは、コンピュータプログラムを記憶するように構成され、プロセッサは、チップが組み込まれたネットワークデバイスが本出願の実施形態によるデータアクセス方法における第1のキャッシュサーバによって実行される対応する動作および／または手順を実行するように、メモリからコンピュータプログラムを呼び出してコンピュータプログラムを実行するように構成される。
【０１８７】
本出願は、メモリおよびプロセッサを含むチップ（またはチップシステム）をさらに提供する。メモリは、コンピュータプログラムを記憶するように構成され、プロセッサは、チップが組み込まれたネットワークデバイスが本出願の実施形態によるデータアクセス方法における第2のキャッシュサーバによって実行される対応する動作および／または手順を実行するように、メモリからコンピュータプログラムを呼び出してコンピュータプログラムを実行するように構成される。
【０１８８】
ここでのネットワークデバイスは、例えば、キャッシュサーバであり得る。
【０１８９】
前述の実施形態では、プロセッサは、中央処理装置（Central Processing Unit、CPU）、マイクロプロセッサ、特定用途向け集積回路（Application-Specific Integrated Circuit、ASIC）、または本出願の解決策のプログラム実行を制御するように構成された1つ以上の集積回路などであり得る。例えば、プロセッサは、デジタル信号プロセッサデバイス、マイクロプロセッサデバイス、アナログデジタル変換器、およびデジタルアナログ変換器などを含み得る。プロセッサは、各デバイスの機能に基づいて、モバイルデバイスの制御および信号処理の機能をデバイスに割り当て得る。加えて、プロセッサは、1つ以上のソフトウェアプログラムを動作させる機能を含み得、ソフトウェアプログラムは、メモリに記憶され得る。
【０１９０】
プロセッサの機能は、ハードウェアによって実施され得るし、または対応するソフトウェアを実行するハードウェアによって実施され得る。ハードウェアまたはソフトウェアは、前述の機能に対応する1つ以上のモジュールを含む。
【０１９１】
メモリは、読み出し専用メモリ（Read-Only Memory、ROM）もしくは静的情報および命令を記憶することができる別のタイプの静的記憶デバイス、またはランダムアクセスメモリ（Random Access Memory、RAM）もしくは情報および命令を記憶することができる別のタイプの動的記憶デバイスであってもよく、または電気的消去可能プログラマブル読み出し専用メモリ（Electrically Erasable Programmable Read-Only Memory、EEPROM）、コンパクトディスク読み出し専用メモリ（Compact Disc Read-Only Memory、CD-ROM）もしくは別のコンパクトディスク記憶装置、光ディスク記憶装置（コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、またはブルーレイディスクなどを含む）、磁気ディスク記憶媒体もしくは別の磁気記憶デバイス、または命令もしくはデータ構造の形式の予期されるプログラムコードを保持もしくは記憶し得る、コンピュータによってアクセスされ得る任意の他の媒体であってもよいが、これらに限定されない。
【０１９２】
任意選択で、図11および図12に示されているプロセッサおよびメモリは、物理的に独立したユニットである。図13は、プロセッサおよびメモリを含む構成の概略図である。あるいは、メモリは、プロセッサと一体化されてもよい。図14は、プロセッサおよびメモリを含む別の構成の概略図である。
【０１９３】
当業者は、本明細書に開示されている実施形態で説明された例との組み合わせにおいて、ユニットおよびアルゴリズムステップが電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアとの組み合わせによって実施され得ることを認識し得る。機能がハードウェアとソフトウェアのどちらによって実行されるかは、技術的解決策の特定の用途および設計制約に依存する。当業者は、特定の用途ごとに、説明された機能を実施するために異なる方法を使用し得るが、その実施は本出願の範囲を超えると考えられるべきではない。
【０１９４】
簡便かつ簡単な説明のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照し得、ここでは詳細は再度説明されないことが、当業者によって明確に理解され得る。
【０１９５】
本出願で提供される実施形態では、開示されたシステム、装置、および方法が他の方法で実施され得ることを理解されたい。例えば、説明されている装置の実施形態は単なる例である。例えば、ユニットの分割は、単なる論理的な機能の分割であり、実際の実施では他の分割であってもよい。例えば、複数のユニットまたはコンポーネントが、別のシステムに組み合わされてもよいし、もしくは一体化されてもよく、または一部の特徴が無視されてもよいし、もしくは実行されなくてもよい。加えて、提示されたまたは述べられた相互結合または直接的な結合もしくは通信接続は、いくつかのインタフェースを使用して実施されてもよい。装置またはユニット間の間接的な結合または通信接続は、電子的な、機械的な、または他の形態で実施されてもよい。
【０１９６】
別々の部分として説明されているユニットは、物理的に別々であってもなくてもよく、ユニットとして提示されている部分は、物理的なユニットであってもなくてもよく、1つの位置に配置されても、複数のネットワークユニットに分散されてもよい。ユニットの一部または全部は、実施形態の解決策の目的を達成するために実際の要件に基づいて選択されてもよい。
【０１９７】
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに一体化されてもよいし、またはこれらのユニットのそれぞれは、物理的に単独で存在してもよいし、または2つ以上のユニットが、1つのユニットに一体化される。
【０１９８】
機能が、ソフトウェア機能ユニットの形態で実施され、独立した製品として販売または使用される場合、機能は、コンピュータ可読記憶媒体に記憶されてもよい。このような理解に基づいて、本質的に本出願の技術的解決策、または従来技術に寄与する部分、または技術的解決策の一部は、ソフトウェア製品の形態で実施されてもよい。コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス（パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであってもよい）に、本出願の実施形態で説明された方法のステップの全部または一部を実行するように命令するための複数の命令を含む。前述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み出し専用メモリ（Read Only Memory、ROM）、ランダムアクセスメモリ（Random Access Memory、RAM）、磁気ディスク、または光ディスクなどの、プログラムコードを記憶し得る任意の媒体を含む。
【０１９９】
前述の説明は、単なる本出願の特定の実施態様であり、本出願の保護範囲を限定することを意図していない。本出願で開示された技術的範囲内で当業者によって容易に考え出されるいかなる変形または置換も、本出願の保護範囲内に入るものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【符号の説明】
【０２００】
200  データアクセス方法
500  データアクセス装置
510  送信ユニット
520  受信ユニット
530  処理ユニット
600  データアクセス装置
610  受信ユニット
620  処理ユニット
630  送信ユニット
700  サーバ
701  プロセッサ
702  メモリ
703  送信機
704  受信機
800  サーバ
801  プロセッサ
802  メモリ
803  送信機
804  受信機
【図１】
0006866509.tif 000002
【図２】
0006866509.tif 000003
【図３】
0006866509.tif 000004
【図４】
0006866509.tif 000005
【図５】
0006866509.tif 000006
【図６】
0006866509.tif 000007
【図７】
0006866509.tif 000008
【図８】
0006866509.tif 000009
【図９】
0006866509.tif 000010
【図１０】
0006866509.tif 000011
【図１１】
0006866509.tif 000012
【図１２】
0006866509.tif 000013
【図１３】
0006866509.tif 000014
【図１４】
0006866509.tif 000015