JP2023501084A - クラウドストレージにおけるアクセスパターン駆動型データ配置 - Google Patents

クラウドストレージにおけるアクセスパターン駆動型データ配置 Download PDF

Info

Publication number
JP2023501084A
JP2023501084A JP2022522700A JP2022522700A JP2023501084A JP 2023501084 A JP2023501084 A JP 2023501084A JP 2022522700 A JP2022522700 A JP 2022522700A JP 2022522700 A JP2022522700 A JP 2022522700A JP 2023501084 A JP2023501084 A JP 2023501084A
Authority
JP
Japan
Prior art keywords
data
uploaded
uploaded data
metadata
processors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022522700A
Other languages
English (en)
Other versions
JP7454661B2 (ja
Inventor
ヂャン,ワンユエン
ヂャン,ビビアン
ゴード,ピラモド
ユン,サンホ
シ,シュドン
ヤオ,カイフォン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023501084A publication Critical patent/JP2023501084A/ja
Application granted granted Critical
Publication of JP7454661B2 publication Critical patent/JP7454661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

複数の地理的領域(110、120、130、140)にわたって分散された複数のデータセンタ(110a、110b、120a、120b、130a、130b、140a、140b)を有する分散ネットワーク(100)にデータを記憶するためのシステムおよび方法。本方法は、分散ネットワークの第1のデータセンタにアップロードされた、メタデータを含む、データを受信すること(310)と、分散ネットワークの複数のデータセンタに以前に記憶された、以前のデータに関するアクセス情報を受信すること(320)と、メタデータおよびアクセス情報に基づいて、アップロードされたデータがアクセスされる複数の地理的領域のうちの1つ以上を予測すること(330)と、アップロードされたデータを、第1のデータセンタから、1つ以上の予測された地理的領域の各々に位置する1つ以上の第2のデータセンタに転送するように命令する(340)こととを含んでもよい。

Description

関連出願の相互参照
本出願は2020年11月4日に提出された米国特許出願第16/673,128号の継続であり、その開示は参照により本明細書に組み込まれる。
背景
グローバルクラウドストレージサービスは、大量のデータがクラウドに記憶されると、世界中の任意の場所からのその大量のデータに対するアクセス可能性を提供する。例えば、欧州においてアップロードされた画像は、米国においてダウンロードのために直ちにアクセス可能であり得る。
グローバルクラウドストレージサービスは、しばしば、大量のアップロードされたデータを管理するために、様々な地理的領域に分割される。したがって、データにアクセスするためのユーザ要求は、典型的には、ユーザ、特にユーザの地理的領域に最も近いサーバにルーティングされる。サーバは、次いで、要求されたデータのロケーションを検索し、次いで、異なる地理的領域内にあり得る、そのデータが記憶されているサーバに、そのデータに対する要求を転送する。
要求されたデータが要求側ユーザから遠く離れて記憶される場合、要求されたデータをフェッチすることは、高いレイテンシを被り得、これは、要求側ユーザの、要求されたデータの体験を損ない得る。長距離フェッチはまた、特に、ユーザの地理的領域とデータの地理的領域との間にネットワーク帯域幅の不足がある場合、例えば、2つの領域間に充分な光ファイバケーブルが配備されない場合、サービスベンダにとって貴重な帯域幅を費やす。
グローバルクラウドストレージサービスは、通常、アップロードされたデータを、当該データがアップロードされた領域に記憶する。これは、アップロードされたデータが主に同じ地理的領域においてダウンロードされる場合に効果的であり得る。しかしながら、多くの場合、アップロードされたデータは、主に他の地理的領域からアクセスされ、これは、高いネットワーク帯域幅コストをもたらし得る。
概要
本開示の一態様は、複数の地理的領域にわたって分散された複数のデータセンタを有する分散ネットワークにデータを記憶するための方法を対象とする。本方法は、1つ以上のプロセッサが、分散ネットワークの第1のデータセンタにアップロードされたデータを受信することを含んでもよく、アップロードされたデータはメタデータを含み、本方法はさらに、1つ以上のプロセッサが、アップロードされたデータがアクセスされる前に、以前にアップロードされたデータについてアクセス情報を受信することと、アップロードされたデータがアクセスされる前に、1つ以上のプロセッサが、メタデータおよびアクセス情報に基づいて、アップロードされたデータがアクセスされる複数の地理的領域のうちの1つ以上を予測することと、1つ以上のプロセッサが、アップロードされたデータを、第1のデータセンタから、予測された地理的領域のうちの1つ以上に位置する1つ以上の第2のデータセンタに転送するように命令することとを含んでもよい。
いくつかの例では、アクセス情報は、以前にアップロードされたデータのメタデータでトレーニングされた予測モデルから導出されてもよい。
いくつかの例では、予測モデルは決定木モデルであってもよい。
いくつかの例では、メタデータは、アップロードされたデータをアップロードしたユーザの識別情報と、アップロードされたデータがアップロードされたロケーションとを含んでもよい。
いくつかの例では、以前にアップロードされたデータのメタデータは、以前にアップロードされたデータのロケーションと、以前にアップロードされたデータをアップロードしたユーザの識別情報と、以前にアップロードされたデータがアップロードされたロケーションとを含んでもよい。
いくつかの例では、以前にアップロードされたデータのメタデータは、以前にアップロードされたデータが記憶されるディレクトリまたはファイルパスの識別情報を含んでもよい。
いくつかの例では、アクセス情報は、以前にアップロードされたデータの初期アップロードと以前にアップロードされたデータの第1のダウンロードとの間の時間量を示してもよい。本方法は、1つ以上のプロセッサが、アップロードされたデータが初めてダウンロードされるまでの時間を予測することと、1つ以上のプロセッサが、予測された時間量に基づいて、アップロードされたデータを、1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令することとを含んでもよい。
いくつかの例では、アップロードされたデータを、1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令することは、1つ以上のプロセッサが、メタデータおよびアクセス情報に基づいて、アップロードされたデータはブロードキャストデータであると判断することと、アップロードされたデータが転送されるように命令される各所与の予測された地理的領域について、1つ以上のプロセッサが、アップロードされたデータを、所与の予測された地理的領域の各データセンタの少なくとも1つのキャッシングサーバに転送するように命令することとを含んでもよい。
いくつかの例では、本方法は、1つ以上のプロセッサが、アップロードされたデータを、共通の予測された地理的領域を有する、以前にアップロードされたデータを含むファイルに含むように命令することと、 1つ以上のプロセッサが、ファイルを、共通の予測された地理的領域に位置する1つ以上の第2のデータセンタに転送するように命令することとを含んでもよい。
いくつかの例では、ファイルは、最初に、第1のデータセンタに位置する1つ以上のソースサーバに記憶されてもよい。ファイルを転送するように命令することは、1つ以上のプロセッサが、共通の予測された地理的領域に位置する1つ以上の第2のデータセンタのデータサーバに、ファイルを、1つ以上のソースサーバからプルするように命令することを含んでもよい。
本開示の別の態様は、複数の地理的領域にわたって分散された複数のデータセンタを有する分散ネットワークにデータを記憶するためのシステムを対象とする。本システムは、分散ネットワークの第1のデータセンタにおける1つ以上のストレージデバイスを備えてもよく、1つ以上のストレージデバイスは、アップロードされたデータを第1のデータセンタに記憶するよう構成され、アップロードされたデータはメタデータを含み、本システムはさらに、1つ以上のストレージデバイスと通信する1つ以上のプロセッサを備えてもよい。1つ以上のプロセッサは、分散ネットワークの複数のデータセンタに以前に記憶された、以前にアップロードされたデータに関するアクセス情報を受信し、アップロードされたデータがアクセスされる前に、メタデータおよびアクセス情報に基づいて、アップロードされたデータがアクセスされる複数の地理的領域のうちの1つ以上を予測し、アップロードされたデータを、第1のデータセンタから、予測された地理的領域のうちの1つ以上に位置する1つ以上の第2のデータセンタに転送するように命令するよう構成されてもよい。
いくつかの例では、アクセス情報は、以前にアップロードされたデータのメタデータでトレーニングされた予測モデルから導出されてもよい。
いくつかの例では、予測モデルは決定木モデルであってもよい。
いくつかの例では、メタデータは、アップロードされたデータをアップロードしたユーザの識別情報と、アップロードされたデータがアップロードされたロケーションとを含んでもよい。
いくつかの例では、以前にアップロードされたデータのメタデータは、以前にアップロードされたデータのロケーションと、以前にアップロードされたデータをアップロードしたユーザの識別情報と、以前にアップロードされたデータがアップロードされたロケーションとを含んでもよい。
いくつかの例では、以前にアップロードされたデータのメタデータは、以前にアップロードされたデータが記憶されるディレクトリまたはファイルパスの識別情報を含んでもよい。
いくつかの例では、アクセス情報は、以前にアップロードされたデータの初期アップロードと以前にアップロードされたデータの第1のダウンロードとの間の時間量を示してもよい。1つ以上のプロセッサは、アップロードされたデータが初めてダウンロードされるまでの時間を予測し、予測された時間量に基づいて、アップロードされたデータを、1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令するよう構成されてもよい。
いくつかの例では、1つ以上のプロセッサは、メタデータに基づいて、アップロードされたデータはブロードキャストデータであるという判断に基づいて、アップロードされたデータを、1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令するよう構成されてもよく、アップロードされたデータが転送されるように命令される各所与の予測された地理的領域について、1つ以上のプロセッサは、アップロードされたデータを、所与の予測された地理的領域の各データセンタの少なくとも1つのキャッシングサーバに転送するように命令するよう構成されてもよい。
いくつかの例では、1つ以上のプロセッサは、アップロードされたデータを、共通の予測された地理的領域を有する、以前にアップロードされたデータを含むファイルに含むように命令し、ファイルを、共通の予測された地理的領域に位置する1つ以上の第2のデータセンタに転送するように命令するよう構成されてもよい。
いくつかの例では、ファイルは、最初に、第1のデータセンタに位置する1つ以上のソースサーバに記憶される。1つ以上のプロセッサは、共通の予測された地理的領域に位置する1つ以上の第2のデータセンタのデータサーバに、ファイルを、1つ以上のソースサーバからプルするように命令するよう構成されてもよい。
本開示の態様による例示的なシステムを示すブロック図である。 本開示の態様による例示的なコンピューティングシステムを示すブロック図である。 本開示の態様によるシステムの例示的なデータ配信方式を示すブロック図である。 本開示の態様によるシステムの例示的なデータ配信方式を示すブロック図である。 本開示の態様による例示的な方法を示すフロー図である。 図5のフロー図の態様を示すフロー図である。
詳細な説明
概観
本技術は、概して、アップロードされたデータを分散ネットワークにわたって効率的に記憶するためのシステムに関する。システムは、アップロードされたデータファイルが将来アクセスされ得るロケーションを予測するロケーション予測器または予測プログラムを含んでもよい。予測は、以前にアップロードされたデータの「アクセスパターン」とも呼ばれるアップロードパターンおよびダウンロードパターンに基づいてもよい。新たにアップロードされたデータのアクセスパターンを予測することは、アップロードされたデータの記憶効率を改善し得、なぜならば、データは、それが将来アクセスされるロケーションの近くに戦略的に記憶されることができるからである。
いくつかの実現例では、予測プログラムは、1つ以上のデータセンタにわたって複数の仮想マシンを有する分散ネットワークに記憶され得る。アップロードされたデータは、ネットワークの任意のデータセンタに記憶されることによって開始してもよい。その後、アップロードされたデータは、予測プログラムによって分析され、アップロードされたデータがダウンロードされることが予測される1つ以上の他のデータセンタにマイグレートされる。
予測は、アップロードされたデータおよび以前にアップロードされたデータの各々に含まれるメタデータに基づいてもよい。例えば、以前にアップロードされたデータのメタデータは、予測モデルをトレーニングするために用いられてもよく、それにより、メタデータは、モデルの種々の予測器に関連してもよい。アップロードされたデータのメタデータは、以前にアップロードされたデータのメタデータと同じであるかまたは類似し得、それにより、アップロードされたデータと特定の以前にアップロードされたデータとの間のこれらの類似性は、アップロードされたデータの将来のアクセスパターンを示し得る。例えば、同じまたは類似の顧客識別情報、オブジェクト名、オブジェクトタイプ、またはそれらの何らかの組合せを有し、同じもしくは類似の領域またはデータセンタに由来する、アップロードされたデータおよび以前にアップロードされたデータは、類似のアクセスパターンに従うと期待され得る。したがって、以前にアップロードされたデータのアクセスパターンは、以前にアップロードされたデータとアップロードされたデータとの共通または同様のメタデータに鑑み、アップロードされたデータの将来のアクセスパターンを示し得る。
いくつかの実現例では、アップロードされたデータは、オフラインデータマイグレーション技術を用いてデータセンタに転送されてもよい。例えば、データの宛先データセンタに基づいて、アップロードされたデータを記憶するよう、別々の大きなファイルが設定されてもよく、それにより、各大きなファイルは異なる宛先データセンタを有する。次いで、新たにアップロードされたデータは、アップロードされたデータがダウンロードされると予測されるデータセンタに基づいて、1つ以上の大きなファイルに添付されてもよい。アップロードされたデータのデータマイグレーションは、次いで、例えば、所与のファイルがあるサイズ限界に達したとき、または12時間等の事前定義された時間量が経過した後に、ファイルごとに実行されてもよい。
いくつかの実現例では、メタデータはまた、アップロードされたデータをその宛先にマイグレートする緊急性を予測するために用いられてもよい。例えば、あるユーザからブロードキャストされ、世界中で他のユーザに直ちにアクセス可能にされる、ストリーミングされたファイルなどのブロードキャストデータの場合、複数の領域にわたって、即時および後の時点での両方で、大きな需要があり得、オフラインデータマイグレーションは、アップロードされたデータをその宛先データセンタに配信するには時間がかかりすぎる場合がある。そのような場合、データをマイグレートする緊急性を識別することが、アップロードされたデータのキャッシュ注入を開始するために用いられてもよく、それにより、データは、データがユーザにローカルにサービス提供され得る宛先データセンタにおけるキャッシングサーバに転送される。キャッシュ注入は、オフラインデータマイグレーションに加えて、およびオフラインデータマイグレーションの前に、実行されてもよい。
上記の実現例は、特に複数の地理的領域にわたって広がる複数のデータセンタを有する分散ネットワークについて、分散ネットワーク内の非構造化データの記憶サービスを改善することができる。改善された記憶サービスは、世界の一部においてアップロードされるデータを、そのデータが共通にアクセスされる世界の他の部分において、より容易にアクセス可能にし得る。これは、次いで、ユーザおよびサービスプロバイダのコストならびに時間の節約をもたらし得、なぜならば、遠隔位置からデータにアクセスすることは、概して、近くのロケーションからデータにアクセスすることよりも費用がかかり、時間がかかるからである。
例示的なシステム
図1は、分散コンピューティング環境を含む例示的なシステムを示すブロック図である。システム100は、システム100の複数の地理的領域110、120、130、140にわたって分散されたサーバにデータ101をアップロードする能力をユーザに提供するクラウドストレージサービスであってもよい。各地理的領域は、1つ以上のデータセンタを含んでもよい。図1は、領域1(110)のデータセンタ110aおよび110b、領域2(120)のデータセンタ120aおよび120b、領域3(130)のデータセンタ130aおよび130b、ならびに領域4(140)のデータセンタ140aおよび140bを示すが、ネットワークは追加の領域を含んでもよく、各領域は追加のデータセンタを含んでもよい。各データセンタは、アップロードされたデータを記憶するよう構成された1つ以上のデータサーバ145を含んでもよい。
データセンタ110a、110b、120a、120b、130a、130b、140a、140bは、例えば、ネットワーク(図示せず)を介して通信可能に結合されてもよい。データセンタはさらに、ネットワークを介して1つ以上のクライアントデバイス(図示せず)と通信してもよい。したがって、例えば、クライアントは、「クラウド」内で動作を実行してもよい。そのような動作は、アップロードされたデータ101などのデータにアップロードすることおよびアクセスすることを含んでもよい。データにアクセスすることは、データをダウンロードすること、データをストリーミングすること、データをあるフォルダもしくはディレクトリから別のフォルダもしくはディレクトリにコピーすること、またはシステム100のサーバにおいて受信されたユーザ要求に応答してデータがアクセス可能にされる任意の他の手段を含んでもよい。いくつかの例では、データセンタは、さらに、コントローラ(図示せず)と通信してもよく、したがって、データにアクセスすることは、コントローラからの命令に応答してデータをアクセス可能にすることを含んでもよい。
データセンタ110a、110b、120a、120b、130a、130b、140a、140bは、互いからかなりの距離を置いて配置されてもよい。例えば、データセンタは、世界中の様々な国に配置されてもよい。領域110、120、130、140は、互いに比較的近接したデータセンタをグループ化してもよい。さらに、いくつかの例では、データセンタは仮想化された環境であってもよい。さらに、ほんの少数のデータセンタが示されているが、多数のデータセンタがネットワークおよび/または追加のネットワークを介して結合されてもよい。
図2に示すように、各データセンタは、プロセッサ220、サーバ、シャード、セルなどの1つ以上のコンピューティングデバイス210を含んでもよい。各データセンタは、任意の数のコンピューティングデバイスを含んでもよく、1つのデータセンタ内のコンピューティングデバイスの数は、別のデータセンタ内のコンピューティングデバイスの数と異なってもよく、所与のデータセンタ内のコンピューティングデバイスの数は、例えば、ハードウェアが除去、交換、アップグレード、または拡張されるにつれて、経時的に変化してもよいことを理解されたい。
各データセンタはまた、ハードドライブ、ランダムアクセスメモリ、ディスク、ディスクアレイ、テープドライブ、もしくは任意の他のタイプのストレージデバイス等の、いくつかのストレージデバイスまたはメモリ230を含んでもよい。データセンタは、限定はしないが、直接接続ストレージ(DAS)、ネットワーク接続ストレージ(NAS)、ストレージエリアネットワーク(SAN)、ファイバチャネル(FC)、ファイバチャネルオーバーイーサネット(登録商標)(FCoE)、混合アーキテクチャネットワークなどを含む、いくつかのアーキテクチャおよび技術のいずれかを実現してもよい。データセンタは、ストレージデバイスに加えて、同じデータセンタまたは異なるデータセンタのコンピューティングデバイス間、データセンタのコンピューティングデバイスとネットワークシステムのコントローラ(図示せず)との間、およびデータセンタのコンピューティングデバイスとケーブル、ルータ等、ネットワークシステムに接続されたクライアントコンピューティングデバイス(図示せず)との間の入力および出力を可能にする通信デバイス260などのいくつかの他のデバイスを含んでもよい。
コンピューティングデバイスの各々のメモリ230は、1つ以上のコンピューティングデバイス210において受信されるかまたはそれによって生成されるデータ240、および1つ以上のプロセッサ220によって実行されることができる命令250を含む、1つ以上のプロセッサ220によってアクセス可能な情報を記憶することができる。
データ240は、アップロードされたデータオブジェクトなどの記憶されたデータ242、アップロードされたデータオブジェクト242のメタデータを追跡するメタデータログ244、ならびにアップロードされたデータオブジェクト242が1つのデータセンタから別のデータセンタに転送される前に記憶されてもよい1つ以上のマイグレーションファイル246およびキャッシュされたデータファイル248を含んでもよい。記憶されたデータの上記の例の詳細は、以下でより詳細に論じられる。
命令250は、所与のデータオブジェクトファイルがアクセスされる可能性が高い1つ以上のロケーションを予測するよう構成されたロケーションアクセス予測プログラム252を含んでもよい。そのようなロケーションは、分散ネットワークの1つ以上の領域であってもよい。命令250は、1つ以上のマイグレーションファイル246およびキャッシュされたデータファイル248にそれぞれ記憶されたデータオブジェクトファイルの転送を実行するよう構成されたデータマイグレーションプログラム254およびデータキャッシュプログラム256をさらに含んでもよい。記憶されたプログラムの上記の例の詳細も、以下でより詳細に論じる。
いくつかの例では、コントローラは、データセンタ内のコンピューティングデバイスと通信してもよく、プログラムの実行を容易してもよい。例えば、コントローラは、各コンピューティングデバイスの容量、ステータス、処理負荷、または他の情報を追跡し、そのような情報を用いてタスクを割り当ててもよい。コントローラは、プロセッサと、データおよび命令を含むメモリとを含んでもよい。他の例では、そのような動作は、データセンタのうちの1つにおけるコンピューティングデバイスのうちの1つ以上によって実行されてもよく、独立したコントローラがシステムから省略されてもよい。
データセンタにアップロードされた、アップロードされたデータ101は、アップロードされたデータの様々なプロパティを示すメタデータを含んでもよい。メタデータは、データがアップロードされるデータセンタ(図1の例では、データセンタ140b)にログ記録されてもよく、記憶されてもよく、またはその両方であってもよい。図1の例では、アップロードされたデータのメタデータ155を記憶するためにメタデータログ150がデータセンタ140bに提供される。
メタデータ155は、データがアップロードされる領域、データセンタ、またはその両方の識別情報を含んでもよい。以下でより詳細に説明するように、アップロードされたデータは地理的領域間で戦略的にマイグレートされるので、場合によっては、データがアップロードされるロケーションは、データが記憶されるロケーションとは異なり得る。加えて、場合によっては、データは、データがアップロードされるロケーションを含む、またはそれを除外する、複数のロケーションに記憶されてもよい。そのような場合、メタデータはさらに、データが記憶される領域、データセンタ、またはそれら両方の識別情報を含んでもよい。
他のメタデータは、アップロード当事者の顧客識別情報、オブジェクト名、オブジェクトタイプ、オブジェクトサイズ、データがアップロードされるディレクトリまたはフォルダの名前(オブジェクトを記憶するために用いられるバケット名等)、オブジェクト名プレフィックス(オブジェクトを記憶するために複数のレベルのディレクトリ階層が用いられる場合、アップロードされたオブジェクトのファイルパスなど)、アップロード時間、第1のダウンロード時間、後続のダウンロードおよびそれらの時間、アクセス要求の数などを含んでもよいが、それらに限定はされない。本質的に、メタデータは、オブジェクトのプロパティと、オブジェクトについての実行中のアクセスログとの両方を含んでもよい。
さらに、データが複数のロケーションに記憶される場合、各ロケーションが、その同じデータオブジェクトについて、異なるメタデータに関連付けられてもよいことを認識されたい。例えば、領域1に記憶されたオブジェクトは、領域2に記憶された同じオブジェクトよりも早くダウンロードされ得る。さらなる例として、オブジェクトに対するアクセス要求の数は、ロケーションごとに異なり得る。したがって、アップロードされたオブジェクトからのメタデータは、オブジェクトが最終的に記憶される各ロケーションで別々にログ記録されてもよい。図1の例では、データセンタ110a、110b、120a、120b、130a、130b、140a、140bの各々は、それ自体のアクセスログ(データセンタ140bを除いて図示せず)を含んでもよく、それは、そのデータセンタにアップロードされたデータオブジェクトのメタデータを含む、それらのオブジェクトまたはファイルのログを記憶してもよい。
各アップロードされたオブジェクトのメタデータは、メタデータアグリゲータ160を用いて複数の領域にわたって追跡されてもよい。アグリゲータ160は、集約スケジュールに従ってなど、定期的に各データセンタのメタデータログからメタデータを収集することが可能であってもよい。集約されたメタデータは、メタデータの変化が経時的に追跡されることを可能にするために、タイムスタンプが付されてもよい。たとえば、メタデータログアグリゲータによって収集された、集約されたログは、前週からのメタデータ、前月からのメタデータ、3ヶ月前からのメタデータ、3ヶ月前より長い期間からのメタデータなど、各集約されたログによって表される持続時間に従って分類されてもよい。分類されたログにわたるメタデータの差は、アップロードされたデータにアクセスすることに対する関心の増加または減少など、アップロードされたデータにおける経時的な変化を示してもよい。加えて、所与のアップロードされたデータオブジェクトについてのメタデータは、全体として、または記憶位置ごとに、追跡されてもよい。したがって、集約されたログは、所与のアップロードされたデータオブジェクトについてのメタデータの全体的な変化、およびアップロードされたデータオブジェクトについての領域固有またはデータセンタ固有の変化を示してもよい。
次いで、集約されたデータは、モデル170をトレーニングするために、予測モデル170に供給されてもよい。予測モデルをトレーニングすることによって、将来アップロードされるデータがアクセスされる可能性が最も高い場所を、より良好に予測することができ、それにより、将来アップロードされるデータの配置を改善して、将来アップロードされるデータへのアクセスをより効率的にすることができる。予測モデル170は、システムのデータセンタの1つにおけるなど、システム100に記憶された機械学習アルゴリズムであってもよい。予測モデルは、決定木モデルであってもよく、それにより、集約されたデータは、以前にアップロードされたデータがどれくらいの頻度でどこからアクセスされたかについての情報を含んでもよく、したがって、あるコストを、システム内の以前にアップロードされたデータの配置と関連付けてもよい。この情報に基づいて、予測モデル170は、過去にアップロードされたデータのアクセスパターンに基づいて、将来アップロードされるデータの戦略的配置を決定してもよい。
他の例では、予測モデルを構築するために、他のタイプの機械学習アルゴリズムが適用されてもよい。よりヒューリスティックなタイプの方法も可能であってもよく、それにより、特定の情報が将来アップロードされるデータの配置を指示してもよい。例えば、所与のユーザによってアップロードされた、いくつかの以前にアップロードされたデータオブジェクトが、ある領域において閾値数のダウンロードを有する場合、これは、そのユーザによってアップロードされる将来のデータオブジェクトが、その閾値数のダウンロードを有する領域に送信され、記憶されることを保証してもよい。
予測モデル170は動的であってもよい。例えば、アグリゲータ160によるメタデータおよびアクセスログの集約は、一貫した、可能なスケジュールされたベースで、例えば毎週1回、2週間毎に1回、毎月1回、またはそれより少ない頻度もしくはより多い頻度で行ってもよい。モデルが更新される頻度は、さらに、このシステム100が適用されている特定のネットワーク上で記憶および共有されるデータの性質に依存してもよい。すなわち、比較的ゆっくりとした変化を有するいくつかの製品については、1ヶ月に1回で充分であってもよい。しかしながら、ユーザの傾向が絶えず変化しており、アクセスパターンが絶えずシフトしている他のプラットフォームまたは製品では、月に1回の更新は不充分であるかもしれず、なぜならば、週に1回など、モデルの、より定期的な更新が好ましい場合があるからである。
予測モデル170が、以前にアップロードされ記憶されたデータでトレーニングされると、それを用いて、現在または将来アップロードされるデータがアクセスされる可能性が最も高い場所を予測してもよい。図1の例では、アップロードされたデータ101の所与の単位がデータセンタ140bで受信されると、データは、まず、アクセスロケーション予測器180によって処理されるので、データサーバ145に記憶される。アクセスロケーション予測器180は、データがアップロードされたのと同じ領域においてデータがアクセスされる可能性が高いかどうか、データがシステムの別の領域においてアクセスされる可能性が高いかどうかを判断してもよい。アクセスロケーション予測器180は、さらに、アップロードされたデータ101のアップロードとダウンロードとの間の時間量を予測してもよい。これらの判断に基づいて、アップロードされたデータ101は、データサーバ145に記憶されたままであってもよく、1つ以上のマイグレーションファイル190に記憶されてもよく、キャッシングサーバ195に記憶されてもよく、またはそれらの任意の組合せであってもよい。ストレージ判断動作は、図5に関連して以下でより詳細に論じられる。
データサーバ145における記憶は、概して永続的であり、これは、データがそこに記憶され、移動されないことを意図され、したがって、無期限に、または手動で削除されるまで、記憶されたままであってもよいことを意味する。対照的に、マイグレーションファイル190およびキャッシングサーバ195における記憶は、概して一時的であり、データは、別のロケーションに転送されることが意図され、意図された転送後のある時点で自動的に削除されてもよいことを意味する。データ転送動作については、図6に関連して以下でより詳細に説明する。
マイグレーションファイル190は、図1ではデータサーバとは別個に示されているが、マイグレーションファイルは、実際には、データセンタ140bの1つ以上のサーバに記憶されてもよく、したがって、データサーバに記憶されてもよいことを認識されたい。加えて、マイグレーションファイルのコンテンツは、マイグレーション後など、定期的に削除されてもよいが、ファイル自体は永続的であってもよい。さらに、ファイルは、ファイルのコンテンツが送信される宛先を示すヘッダ情報などの永続的な情報を含んでもよい。マイグレーションファイルは、ネットワークの分散型ファイルシステムのファイルであってもよい。データサーバに記憶されたデータは、分散型ファイルシステムの大きなファイルに記憶されてもよいことも認識されるべきである。事実上、データサーバの大きなファイルは、ファイルのコンテンツがそれらの意図された宛先にあることを示す情報を有するファイルであってもよい。例えば、データセンタ140bのデータサーバ145に書き込まれるファイルは、領域4の宛先を示すヘッダを有してもよく、それにより、ファイルのコンテンツを異なる領域に送信する必要がないと判断されてもよい。
キャッシングサーバ195は、本明細書で説明される予測注入キャッシングと、(本明細書で説明するように、注入をトリガする推測された要求と比較しての)実際のデータ要求に対するオンデマンドキャッシングとの両方のために、データセンタによって用いられてもよい。
説明のため、図1のメタデータアグリゲータ160および予測モデル170は、地理的領域110、120、130、140およびデータセンタの各々とは別個に示され、アクセスロケーション予測器180は、データセンタ140bに含まれるものとして示される。しかしながら、アグリゲータ160、予測モデル170、およびアクセスロケーション予測器180に記憶されるデータ、ならびにそれらによって実行される命令は、地理的領域の複数のデータセンタにわたって分散されること、もしくはシステムの複数の地理的領域にわたって分散されることを含む、示される領域およびデータセンタ内、または示されない他の領域もしくはデータセンタ内、またはそれらの任意の組合せ内など、システム内のどこにあってもよいことを認識されたい。
例示的方法
図3は、分散ネットワークにデータを記憶するための例示的なルーチン300を示すフロー図である。ネットワークは、図1の領域110,120,130および140などの様々な地理的領域にわたって分散される、図1のデータセンタ110a、110b、120a、120b、130a、130b、140aおよび140bなどの複数のデータセンタを含んでもよい。本方法における動作のいくつかは、データが転送され、およびデータを転送するデータセンタのプロセッサによって実行されてもよく、いくつかの動作は、他のデータセンタのプロセッサ、またはデータセンタもしくは地理的領域から独立したプロセッサおよびサーバによって実行されてもよい。
ブロック310で、ネットワークの第1の領域に属するデータセンタにデータをアップロードしてもよい。アップロードされたデータは、データオブジェクト、およびアップロードの時間、データオブジェクトのタイプ、オブジェクトがアップロードされたロケーションなど、アップロードされたデータオブジェクトのメタデータを含んでもよい。
ブロック320において、ネットワーク内に以前に記憶された、以前にアップロードされたデータに関するアクセス情報が受信され、分析されてもよい。以前にアップロードされたデータはまた、そのアップロード時にメタデータを含んでもよく、さらに、以前にアップロードされたデータがアクセスされた時間、以前にアップロードされたデータがアクセスされたロケーションなどを示すメタデータなど、アップロード後に収集された追加のメタデータを有してもよい。
ブロック330において、アップロードされたデータがアクセスされる可能性が高い、ネットワークの地理的領域に関する予測を行ってもよい。この予測または判断は、現在アップロードされるデータのメタデータ、および以前にアップロードされたデータに関するアクセス情報に基づいてもよい。加えて、この予測は、アクセスされている、現在アップロードされるデータに先行してもよく、それにより、アップロード時における現在アップロードされるデータのメタデータは、予測に対して充分であってもよい。以前にアップロードされたデータの情報において認識されたパターンは、現在アップロードされるデータのアクセスについての見込みのある結果を示し得、したがって、現在アップロードされるデータを記憶するための理想的なロケーションを予測するために用いられてもよい。多くの場合、アップロードされたデータを、それが最初にアップロードされたデータセンタに記憶することが好ましい場合がある。しかしながら、他の場合には、追加的または代替的に、アップロードされたデータを異なるデータセンタに、または異なる地理的領域であっても、記憶することが好ましい場合がある。
ブロック340において、アップロードされたデータは、元のデータセンタから、データがアクセスされる可能性が高い他のデータセンタに転送されるように指示される。他のデータセンタは、最初の地理的領域以外の地理的領域に位置してもよく、したがって、これらの他の地域におけるアップロードされたデータへのアクセスをより効率的なものにする。効率は、より高速にデータにアクセスすること、全体的により少ない帯域幅を費やすこと、より多くの利用可能な帯域幅を有する接続を介して実行されること、またはこれらおよび他の要素の任意の組合せの尺度であってもよい。
図4は、図3のルーチン300の例示的なサブルーチン400を示すフロー図である。サブルーチン400は、アップロードされたデータオブジェクトについての1つ以上の宛先領域の決定、および決定された宛先領域の1つ以上のデータセンタへのデータオブジェクトの配信を実行するために実行されてもよい例示的な動作を示す。
ブロック410において、現在アップロードされるデータがアクセスされる1つ以上の地理的領域が予測される。この予測は、図1に示されるアクセスロケーション予測器180などのアクセス予測プログラムによって行われてもよく、図1に示される予測モデル170など、以前にアップロードされたデータのアクセスログでトレーニングされた予測モデルからの出力に基づいてもよい。予測モデルは、以前にアップロードされたデータのアクセスパターンを認識してもよく、現在アップロードされるデータがアクセスされる可能性が高いパターンに基づいて予測してもよい。
ブロック420において、現在アップロードされるデータは、図1のマイグレーションファイル190など、第1の領域以外の宛先領域へのアップロードされたデータのマイグレーションのために指定された1つ以上のファイルに、コピーまたは移動などして、送信されてもよい。現在アップロードされるデータが送信されるファイルは、ブロック410の予測に基づいてもよく、それにより、データは、アクセスされることが期待される領域に転送されることになる。
ブロック430において、現在アップロードされるデータが予測された地理的領域においてアクセスされるまでの時間量が予測される。この予測も、予測モデルからの出力に基づいてもよい。この場合、予測モデルにトレーニングデータとして与えられる、以前にアップロードされたデータのアクセスログは、アップロード時刻や、データにアクセスした最初の時刻または毎回のログなど、以前にアップロードされたデータのアップロードと最初のアクセスとの間の方向を判断または導出できる情報を含むべきである。予測モデルは、以前にアップロードされたデータのアクセスパターンを認識してもよく、これらのパターンに基づいて、現在アップロードされるデータがアクセスされる可能性が高いときを予測してもよい。
ブロック440において、現在アップロードされるデータがアクセスされる可能性が高いときの予測は、現在時刻からの時間量などの閾値と比較されてもよい。現在アップロードされるデータがアクセスされるまでの予測された時間量が閾値量を超えるかまたは等しく、現在アップロードされるデータが比較的即座にアクセスされることが期待されないことを意味する場合、動作は終結してもよく、データは、1つ以上のマイグレーションファイルを用いて比較的遅いペースでマイグレートされてもよい。逆に、現在アップロードされるデータがアクセスされるまでの予測された時間量が閾値量未満であり、現在アップロードされるデータが比較的即座にアクセスされると期待される場合、動作はブロック450に続いてもよく、それにより、現在アップロードされるデータは、図1のキャッシングサーバ195などのキャッシングサーバに送信(コピーまたは移動)されて、同じ地理的領域または1つ以上の異なる地理的領域のいずれかにおいて、リモートデータセンタのキャッシングサーバに注入される。マイグレーションファイルと同様に、データがどのデータセンタ、領域、またはそれらの両方に注入されるかの判断は、ブロック410におけるアクセスロケーション予測器の判断に基づいてもよい。
図4の例では、アップロードされたデータをマイグレーションファイルに送信するという判断は、データを転送することの緊急性または優先度を判断する前に行われたものとして示されている。このように、データをマイグレートする判断は、データを必要とする時間が早いか遅いかにかかわらず、すなわち、データが宛先に注入されるか否かにもかかわらずに、行われる。しかしながら、他の例では、比較的短い貯蔵寿命を有するライブストリーミングビデオなど、即座にのみアクセスされ、後の時間ではアクセスされない可能性が高いデータがある場合がある。そのような場合、システムは、アップロードされたデータを遠隔データセンタのキャッシングサーバに注入するが、データが不必要に遠隔データセンタに永続的に記憶されることを回避するために、アップロードされたデータをマイグレーションファイルに追加しないよう判断してもよい。
図5は、図3のルーチン300のブロック330および340に示されるように、アップロードされたデータがアクセスされる可能性が高いネットワークの地理的領域を予測し、アップロードされたデータを予測された地理的領域に転送するように指示するアクセスロケーション予測器520の例示的な動作を示す動作ブロック図500である。アクセスロケーション予測器520は、領域4のデータセンタにアップロードされたデータオブジェクト501~501を、マイグレーションファイル532、534、536、キャッシングサーバ550、またはその両方に選択的に移動またはコピーする。また、上述のように、アクセスロケーション予測器520は、オブジェクトからのメタデータと、アップロードされたデータがアクセスされる可能性が高いロケーションを予測するために用いられる予測モデルの出力とに基づいて、各アップロードされたデータオブジェクト501~501の配置を決定してもよい。
図5の例では、アップロードされたデータオブジェクト501~501の各々は、異なるメタデータを有する。したがって、アクセスロケーション予測器520は、アップロードされたデータオブジェクト501~501の各々に対して異なる配置戦略を決定する。
アップロードされたオブジェクト1(501)の例では、アクセスロケーション予測器520は、このオブジェクトが領域2においてアクセスされる可能性が高いと判断する。したがって、オブジェクト1は、データサーバからマイグレーションファイル534に移動され、これは、オブジェクト1がアップロードされるデータセンタから領域2にマイグレートされるオブジェクト専用のファイルであってもよい。
図5に示すように、各マイグレーションファイルは、ファイルの宛先を示してもよい、ファイルへのヘッダなど、共通メタデータ542を含んでもよい。共通メタデータを提示することは、このメタデータが、各付加されたオブジェクト544についてマイグレーションファイルに別々に書き込まれる必要性を回避し、これは、マイグレーションファイル内の空間を節約し得、オブジェクトをデータサーバからマイグレーションファイルに移動するための処理要件をさらに低減し得る。宛先領域の場合、このメタデータをマイグレーション後にオブジェクトに再書き込みする必要もなく、なぜならば、宛先領域は、当該オブジェクトと当該領域に記憶された他のすべてのオブジェクトとの共通のメタデータのままであるからである。宛先領域など、共通メタデータとは別に、各オブジェクトの残りのメタデータは、マイグレーション中にオブジェクトメタデータを維持するよう、オブジェクトとともに移動またはコピーされてもよい。
いくつかの例では、マイグレーションファイルは、所定の容量を有してもよく、それにより、オブジェクトがマイグレーションファイルに移動またはコピーされて、マイグレーションファイルが所定の容量を満たすかまたはそれを超えると、マイグレーションファイルは、宛先領域の1つ以上のデータセンタに転送されてもよい。加えて、または代替として、マイグレーションファイルは、マイグレーションファイルの作成から所定の時間が経過した後、宛先領域の1つ以上のデータセンタに転送されてもよい。オブジェクトを転送するための動作は、図4に関連して以下でより詳細に説明される。
オブジェクトが1つの領域のみからアクセスされる可能性が高いと判断された場合、オブジェクトは、オブジェクト1の例のように、単一の宛先に移動されてもよい(501)。しかしながら、他の場合には、オブジェクトがアップロードされる領域を含むかまたは除外する複数の領域からオブジェクトがアクセスされる可能性が高い、と判断される場合がある。そのような場合、アクセスロケーション予測器520は、オブジェクトを複数のマイグレーションファイルに移動またはコピーするよう判断してもよい。
アップロードされたオブジェクト2(501)の例では、アクセスロケーション予測器520は、このオブジェクトが領域1、3、および4の各々においてアクセスされる可能性が高いと判断する。したがって、オブジェクト2は、データサーバから、オブジェクト2がアップロードされるデータセンタから領域1および領域3にマイグレーションされるオブジェクト専用のファイルであってもよいマイグレーションファイル532および536の各々にコピーされる。オブジェクトはまた、領域4においてアクセスされ得るように、データサーバにおいて永続的に記憶されたままであってもよい。
上述のように、ある領域から別の領域へのオブジェクトのマイグレーションは、ファイルがいくつかのデータオブジェクトで満たされた後に開始してもよい。マイグレーションファイルは大きい場合があるため、マイグレーションファイルが満たされるまでに時間がかかる場合がある。しかしながら、場合によっては、データオブジェクトは、ネットワークの遠隔領域において高需要であり得るが、それは、データマイグレーションが生じる前の一時に対してのみである場合がある。この場合、マイグレーションファイルを用いるデータオブジェクトの遅いペースの戦略的再配置は、他の領域のユーザが、そのデータオブジェクトが高需要にある間にそれに効率的にアクセスする能力を損なうであろう。例えば、あるユーザがヨーロッパにおいてライブビデオをストリーミングしており、米国における何人かのユーザがそのストリーミングされたビデオに直ちにアクセスすることを望む場合、ビデオファイルがヨーロッパにおけるデータセンタから米国におけるデータセンタにマイグレートするのを待つことは有用ではなく、ストリーミングされたビデオが米国におけるデータセンタに記憶された後、それに対する要求はもはや存在しないことさえあり得る。
この課題に対処するために、オブジェクトファイルは、データがアップロードされた後どれほど早くそれがアクセスされるかを判断してもよいメタデータを含んでもよい。例えば、図1のシステムでは、メタデータアグリゲータ160は、各記憶されたオブジェクトについてのアップロードの時間と最も早いダウンロードの時間との両方を示すメタデータを収集することができる。次いで、このデータを用いて、将来アップロードされるデータオブジェクトが、それがシステムにアップロードされた後すぐにアクセスされるかそれとも長時間後にアクセスされるかを予測するために、予測モデル170をトレーニングしてもよい。次に、この情報は、任意の所与のアップロードされたデータオブジェクトについて、そのオブジェクトがダウンロードされる可能性が高くなるまでの時間量を判断するために、アクセスロケーション予測器180によって用いられてもよい。システムはさらに、閾値時間値を記憶してもよく、それにより、オブジェクトがダウンロードされる可能性が高くなるまでの予測された時間量が閾値量以下である場合には、オブジェクトは、マイグレーションファイルを介する通常のデータマイグレーションスキームを迂回し、アップロードされたデータオブジェクトをシステムの他の領域に比較的高速で転送するために、キャッシングサーバ350に移動またはコピーされてもよい。
アップロードされたオブジェクト3(501)の例では、アクセスロケーション予測器520は、このオブジェクトが閾値時間内において高需要である可能性が高いと判断する。したがって、オブジェクト3は、データサーバからキャッシングサーバ550にコピーされ、したがって、ファイルは、アクセスロケーション予測器520の判断に基づいて、領域4、ならびに領域1、領域2および領域3を含むがこれらに限定されない他の領域内において、遠隔データセンタのキャッシングサーバに注入されてもよい。オブジェクト3は、データセンタのデータサーバに記憶されたままであってもよい。
多くの場合、アップロードされたオブジェクトは、それがアップロードされた領域のみからアクセスされる可能性が高いと判断され得る。これは、ユーザ間で共有されない個人的に記憶されたファイルの場合、または互いに地理的に近接したユーザのグループ間で共有されるファイルの場合であり得る。そのような場合、アクセスロケーション予測器520は、アップロードされたオブジェクトがマイグレーションファイル532、534、536またはキャッシングサーバ550のいずれかにコピーされるべきではない、と判断してもよい。代わりに、オブジェクトは、オブジェクトがアップロードされたデータセンタのデータサーバに記憶されたままである。アップロードされたオブジェクト4(501)の例では、アクセスロケーション予測器520は、このオブジェクトが元の領域4のみでアクセスされる可能性が高いと判断する。したがって、オブジェクト4はデータサーバからコピーされない。
ファイルをデータサーバに保持すること、ファイルをマイグレーションファイルにコピーすること、またはファイルをキャッシングサーバにコピーすることは、独立した動作として扱われてもよいことに留意されたい。したがって、1つの動作を実行するという判断は、他の動作が実行されることを排除しない。たとえば、ストリーミングされたビデオファイルなどのブロードキャストデータは、複数の領域にわたって即時および後の時間の両方において高需要である場合がある。そのような場合、ファイルは、長期および短期の両方の要求に対処するために、元のデータサーバ内にとどまるべきであり、かつマイグレーションファイルおよびキャッシングサーバの両方にコピーされるべきである、と判断されてもよい。この判断は、アップロードされたデータがブロードキャストデータであること、および予測モデルによって検出された他のアクセスパターンに少なくとも部分的に基づいてもよい。
アップロードされたオブジェクトN(501)の例では、アクセスロケーション予測器520は、このオブジェクトが、領域3および4の両方において、閾値時間内および後の時間において高需要である可能性が高い、と判断する。したがって、オブジェクトNは、データサーバからマイグレーションファイル536およびキャッシングサーバ550の両方にコピーされ、したがって、オブジェクトは、即時需要に対処するために領域3のキャッシングサーバに注入され得、および長期需要に対処するために領域3の永久ストレージにマイグレートされてもよい。
図6は、図1のアクセスロケーション予測器180または図5のアクセスロケーション予測器520などのアクセスロケーション予測器によって行われる判断に従って、アップロードされたデータオブジェクトを配信するための例示的な動作を示すブロック図である。図6の例は、分散ネットワークシステム600の領域4(640)から領域1(610)および領域2(620)の両方にマイグレート(長期)および注入(短期)されるアップロードされたオブジェクトを示す。各領域は、1つ以上のデータセンタ610a、620a、640aを含んでもよく、それにより、各データセンタは、1つ以上のそれぞれのプロセッサ612、622、642、データサーバ614、624(領域4については図示せず)、およびキャッシングサーバ616、626、646を含んでもよい。例示の目的で、マイグレーションファイル644は、領域4のデータセンタ640に記憶されるものとして示されているが、マイグレーションファイルは、他の領域のデータセンタにも記憶されて、それら他の領域においてアップロードされるオブジェクトがネットワーク全体にわたって転送されることも容易にしてもよい。
動作中、領域4のデータセンタ640aのマイグレーションファイル644のコンテンツの移動は、システム600のデータマイグレーションコントローラ650がプログラムを実行することによって開始することができ、それにより、データセンタ610aは、そのサーバに記憶されたデータのファイルについて問い合わせられる。プロセッサ642は、クエリを受信してもよく、それに応答して、各ファイルの宛先を示す情報を提供してもよい。領域4に記憶されるべきファイルの場合、それにより、宛先は領域4であり、データマイグレーションコントローラ650は、さらなるアクションを取らなくてもよい。逆に、領域1および領域2ファイルなど、他の領域に記憶されるべきファイルの場合、それにより、ファイルによって示される宛先は領域4ではなく、データマイグレーションコントローラ650は、ファイルから識別された宛先へのデータのマイグレーションを開始することを判断してもよい。データマイグレーションコントローラ650は、プロセッサ612、622など、各識別された宛先の1つ以上のプロセッサに命令を送信してもよい。これらの命令に基づいて、プロセッサは、それらのそれぞれのロケーションにあるデータサーバ614、624に、データマイグレーションを実行するように命令してもよく、それにより、各データサーバ614、624は、領域4にあるそれぞれのマイグレーションファイル644にアクセスし、それを読み出してもよい。マイグレーションファイル644を読み出した後、マイグレーションファイル644のコンテンツを削除してもよい。このプロセスは、領域4において、データセンタ610aにアップロードされる将来のデータオブジェクトに対して繰り返されてもよい(640)。
領域4のデータセンタ640aのキャッシングサーバ646のコンテンツを移動させることは、サーバ646が転送されるべきデータをプリフェッチし、それをアクセスロケーション予測器の命令に従ってリモートデータセンタのキャッシングサーバ616、626に注入することで開始してもよい。注入は、比較的即時のスケールで実行されてもよく、これは、データ注入を開始する前に実行されるさらなるステップがないことを意味する。これは、データを他のデータセンタで可能な限り速く利用可能にし得る。データが固定かつ制限された数のデータセンタおよび固定かつ制限された数の宛先領域のロケーションに記憶され得るデータマイグレーションとは異なり、キャッシュ注入は、アップロードおよび転送されるオブジェクトのコピーを、宛先領域のすべてのデータセンタのキャッシュを含むがこれに限定されない、当該アップロードおよび転送されるオブジェクトが送信される任意の所与の領域の複数のデータセンタに配置してもよい。これは、オンデマンドデータが多くのユーザによって短時間でアクセスされることを可能にし得る。同期キャッシュ注入は、同期複製と比較して、比較的高速かつ効率的である。
上記の例は、データセンタおよび領域によるデータ配信スキームに言及する。しかしながら、当業者は、同じ原理が、データが異なるように編成される他のシステムに適用されてもよいことを容易に認識するであろう。基底の原理は、グローバルネットワークなどの大規模ネットワークのいくつかの部分がそのネットワークの他の部分よりも任意の所与のユーザに近くあり得、データがアクセスされるロケーションを予測し得る程度まで、データがアップロードされた後に、そのデータを、それがアクセスされるロケーションにより近く移動させることは有利であり得ることである。この点に関して、特定のユーザまたはユーザのグループが将来そのデータにアクセスする可能性が高いと予測できる場合、そのデータは、予測される、アクセスするユーザにより近いデータセンタ、サーバ、または他のユニットストレージに移動され得る。
さらに、上記の例は、概して、ロケーションが地理的により近いとき、そのロケーションはユーザにより近いものとして説明する。しかしながら、当業者は、データの「近さ」が必ずしも地理的距離の尺度ではなく、むしろデータにアクセスするためのコストの尺度であることを認識するであろう。したがって、データが、ユーザまたはユーザのグループに「より近い」か、またはデータがアクセスされると予測されるロケーションに「より近い」とき、そのロケーションは、契約当事者によって用いられる帯域幅、時間、帯域幅の料金、これらまたは他の要因の任意の組合せなど、データにアクセスするための全体的なコストを低減するように選択されてもよい。
本明細書の技術は、特定の実施形態を参照して説明されているが、これらの実施形態は、本技術の原理および適用の単なる例示であることを理解されたい。したがって、特許請求の範囲によって基底される本技術の精神および範囲から逸脱することなく、例示的な実施形態に多数の修正を加えることができること、および他の構成を考案することができることを理解されたい。
関連出願の相互参照
本出願は2019年11月4日に提出された米国特許出願第16/673,128号の継続であり、その開示は参照により本明細書に組み込まれる。

Claims (20)

  1. 複数の地理的領域にわたって分散された複数のデータセンタを有する分散ネットワークにデータを記憶するための方法であって、
    1つ以上のプロセッサが、前記分散ネットワークの第1のデータセンタにアップロードされたデータを受信することを含み、前記アップロードされたデータはメタデータを含み、前記方法はさらに、
    前記1つ以上のプロセッサが、以前にアップロードされたデータについてアクセス情報を受信することと、
    前記アップロードされたデータがアクセスされる前に、前記1つ以上のプロセッサが、前記メタデータおよび前記アクセス情報に基づいて、前記アップロードされたデータがアクセスされる前記複数の地理的領域のうちの1つ以上を予測することと、
    前記1つ以上のプロセッサが、前記アップロードされたデータを、前記第1のデータセンタから、前記予測された地理的領域のうちの1つ以上に位置する1つ以上の第2のデータセンタに転送するように命令することとを含む、方法。
  2. 前記アクセス情報は、前記以前にアップロードされたデータのメタデータでトレーニングされた予測モデルから導出される、請求項1に記載の方法。
  3. 前記予測モデルは決定木モデルである、請求項2に記載の方法。
  4. 前記メタデータは、前記アップロードされたデータをアップロードしたユーザの識別情報と、前記アップロードされたデータがアップロードされたロケーションとを含む、請求項1に記載の方法。
  5. 前記以前にアップロードされたデータの前記メタデータは、前記以前にアップロードされたデータのロケーションと、前記以前にアップロードされたデータをアップロードしたユーザの識別情報と、前記以前にアップロードされたデータがアップロードされたロケーションとを含む、請求項2に記載の方法。
  6. 前記以前にアップロードされたデータの前記メタデータは、前記以前にアップロードされたデータが記憶されるディレクトリまたはファイルパスの識別情報をさらに含む、請求項5に記載の方法。
  7. 前記アクセス情報は、前記以前にアップロードされたデータの初期アップロードと前記以前にアップロードされたデータの第1のダウンロードとの間の時間量を示し、前記方法は、
    前記1つ以上のプロセッサが、前記アップロードされたデータが初めてダウンロードされるまでの時間量を予測することと、
    前記1つ以上のプロセッサが、前記予測された時間量に基づいて、前記アップロードされたデータを、前記1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令することとを含む、請求項1に記載の方法。
  8. 前記アップロードされたデータを、前記1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令することは、さらに、
    前記1つ以上のプロセッサが、前記メタデータおよび前記アクセス情報に基づいて、前記アップロードされたデータはブロードキャストデータであると判断することと、
    前記アップロードされたデータが転送されるように命令される各所与の予測された地理的領域について、前記1つ以上のプロセッサが、前記アップロードされたデータを、前記所与の予測された地理的領域の各データセンタの少なくとも1つのキャッシングサーバに転送するように命令することとを含む、請求項7に記載の方法。
  9. 前記1つ以上のプロセッサが、前記アップロードされたデータを、共通の予測された地理的領域を有する、以前にアップロードされたデータを含むファイルに含むように命令することと、
    前記1つ以上のプロセッサが、前記ファイルを、前記共通の予測された地理的領域に位置する1つ以上の第2のデータセンタに転送するように命令することとをさらに含む、請求項1に記載の方法。
  10. 前記ファイルは、最初に、第1のデータセンタに位置する1つ以上のソースサーバに記憶され、前記ファイルを転送するように命令することは、前記1つ以上のプロセッサが、前記共通の予測された地理的領域に位置する前記1つ以上の第2のデータセンタのデータサーバに、前記ファイルを、前記1つ以上のソースサーバからプルするように命令することを含む、請求項9に記載の方法。
  11. 複数の地理的領域にわたって分散された複数のデータセンタを有する分散ネットワークにデータを記憶するためのシステムであって、
    前記分散ネットワークの第1のデータセンタにおける1つ以上のストレージデバイスを備え、前記1つ以上のストレージデバイスは、アップロードされたデータを前記第1のデータセンタに記憶するよう構成され、前記アップロードされたデータはメタデータを含み、前記システムはさらに、
    前記1つ以上のストレージデバイスと通信する1つ以上のプロセッサを備え、前記1つ以上のプロセッサは、
    前記分散ネットワークの前記複数のデータセンタに以前に記憶された、以前にアップロードされたデータに関するアクセス情報を受信し、
    前記アップロードされたデータがアクセスされる前に、前記メタデータおよび前記アクセス情報に基づいて、前記アップロードされたデータがアクセスされる前記複数の地理的領域のうちの1つ以上を予測し、
    前記アップロードされたデータを、前記第1のデータセンタから、前記予測された地理的領域のうちの1つ以上に位置する1つ以上の第2のデータセンタに転送するように命令するよう構成される、システム。
  12. 前記アクセス情報は、前記以前にアップロードされたデータのメタデータでトレーニングされた予測モデルから導出される、請求項11に記載のシステム。
  13. 前記予測モデルは決定木モデルである、請求項12に記載のシステム。
  14. 前記メタデータは、前記アップロードされたデータをアップロードしたユーザの識別情報と、前記アップロードされたデータがアップロードされたロケーションとを含む、請求項11に記載のシステム。
  15. 前記以前にアップロードされたデータの前記メタデータは、前記以前にアップロードされたデータのロケーションと、前記以前にアップロードされたデータをアップロードしたユーザの識別情報と、前記以前にアップロードされたデータがアップロードされたロケーションとを含む、請求項12に記載のシステム。
  16. 前記以前にアップロードされたデータの前記メタデータは、前記以前にアップロードされたデータが記憶されるディレクトリまたはファイルパスの識別情報をさらに含む、請求項15に記載のシステム。
  17. 前記アクセス情報は、前記以前にアップロードされたデータの初期アップロードと前記以前にアップロードされたデータの第1のダウンロードとの間の時間量を示し、前記1つ以上のプロセッサは、
    前記アップロードされたデータが初めてダウンロードされるまでの時間量を予測し、
    前記予測された時間量に基づいて、前記アップロードされたデータを、前記1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令するよう構成される、請求項11に記載のシステム。
  18. 前記1つ以上のプロセッサは、前記メタデータに基づいて、前記アップロードされたデータはブロードキャストデータであるという判断に基づいて、前記アップロードされたデータを、前記1つ以上の予測された地理的領域に位置する1つ以上のキャッシングサーバに送信するように命令するよう構成され、
    前記アップロードされたデータが転送されるように命令される各所与の予測された地理的領域について、前記1つ以上のプロセッサは、前記アップロードされたデータを、前記所与の予測された地理的領域の各データセンタの少なくとも1つのキャッシングサーバに転送するように命令するよう構成される、請求項17に記載のシステム。
  19. 前記1つ以上のプロセッサは、
    前記アップロードされたデータを、共通の予測された地理的領域を有する、以前にアップロードされたデータを含むファイルに含むように命令し、
    前記ファイルを、前記共通の予測された地理的領域に位置する1つ以上の第2のデータセンタに転送するように命令するよう構成される、請求項11に記載のシステム。
  20. 前記ファイルは、最初に、第1のデータセンタに位置する1つ以上のソースサーバに記憶され、前記1つ以上のプロセッサは、前記共通の予測された地理的領域に位置する前記1つ以上の第2のデータセンタのデータサーバに、前記ファイルを、前記1つ以上のソースサーバからプルするように命令するよう構成される、請求項19に記載のシステム。
JP2022522700A 2019-11-04 2020-11-03 クラウドストレージにおけるアクセスパターン駆動型データ配置 Active JP7454661B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/673,128 2019-11-04
US16/673,128 US11588891B2 (en) 2019-11-04 2019-11-04 Access pattern driven data placement in cloud storage
PCT/US2020/058641 WO2021091851A1 (en) 2019-11-04 2020-11-03 Access pattern driven data placement in cloud storage

Publications (2)

Publication Number Publication Date
JP2023501084A true JP2023501084A (ja) 2023-01-18
JP7454661B2 JP7454661B2 (ja) 2024-03-22

Family

ID=73598977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522700A Active JP7454661B2 (ja) 2019-11-04 2020-11-03 クラウドストレージにおけるアクセスパターン駆動型データ配置

Country Status (6)

Country Link
US (2) US11588891B2 (ja)
EP (1) EP4026303A1 (ja)
JP (1) JP7454661B2 (ja)
KR (2) KR20240055889A (ja)
CN (1) CN114651433A (ja)
WO (1) WO2021091851A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220197506A1 (en) * 2020-12-17 2022-06-23 Advanced Micro Devices, Inc. Data placement with packet metadata
US20230058282A1 (en) * 2021-08-19 2023-02-23 Micron Technology, Inc. Memory device overhead reduction using artificial intelligence

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001511551A (ja) * 1997-07-24 2001-08-14 ミラー・イメージ・インターネット・インコーポレイテッド インターネット・キャッシング・システム
US20130091207A1 (en) * 2011-10-08 2013-04-11 Broadcom Corporation Advanced content hosting
US20140006357A1 (en) * 2011-11-14 2014-01-02 Panzura, Inc. Restoring an archived file in a distributed filesystem
US20170216720A1 (en) * 2016-02-02 2017-08-03 Sony Interactive Entertainment America Llc Systems and methods for downloading and updating save data to a data center

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050259682A1 (en) * 2000-02-03 2005-11-24 Yuval Yosef Broadcast system
US7991957B2 (en) * 2008-05-27 2011-08-02 Microsoft Corporation Abuse detection using distributed cache
US9298719B2 (en) * 2012-09-04 2016-03-29 International Business Machines Corporation On-demand caching in a WAN separated distributed file system or clustered file system cache
US9560127B2 (en) 2013-01-18 2017-01-31 International Business Machines Corporation Systems, methods and algorithms for logical movement of data objects
CN103795781B (zh) * 2013-12-10 2017-03-08 西安邮电大学 一种基于文件预测的分布式缓存方法
TWI533678B (zh) * 2014-01-07 2016-05-11 緯創資通股份有限公司 即時轉播同步方法以及使用該方法的系統
US9607004B2 (en) * 2014-06-18 2017-03-28 International Business Machines Corporation Storage device data migration
WO2016202393A1 (en) * 2015-06-18 2016-12-22 Huawei Technologies Co., Ltd. Systems and methods for directory based cache coherence
US9912687B1 (en) * 2016-08-17 2018-03-06 Wombat Security Technologies, Inc. Advanced processing of electronic messages with attachments in a cybersecurity system
CN106713265B (zh) * 2016-11-21 2019-05-28 清华大学深圳研究生院 Cdn节点分配方法及装置、cdn节点分配服务器及cdn网络系统
US10645534B1 (en) * 2019-02-01 2020-05-05 Tile, Inc. User presence-enabled tracking device functionality
US11895223B2 (en) * 2019-02-06 2024-02-06 International Business Machines Corporation Cross-chain validation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001511551A (ja) * 1997-07-24 2001-08-14 ミラー・イメージ・インターネット・インコーポレイテッド インターネット・キャッシング・システム
US20130091207A1 (en) * 2011-10-08 2013-04-11 Broadcom Corporation Advanced content hosting
US20140006357A1 (en) * 2011-11-14 2014-01-02 Panzura, Inc. Restoring an archived file in a distributed filesystem
US20170216720A1 (en) * 2016-02-02 2017-08-03 Sony Interactive Entertainment America Llc Systems and methods for downloading and updating save data to a data center

Also Published As

Publication number Publication date
US20230164219A1 (en) 2023-05-25
US11588891B2 (en) 2023-02-21
KR102659627B1 (ko) 2024-04-22
JP7454661B2 (ja) 2024-03-22
EP4026303A1 (en) 2022-07-13
WO2021091851A1 (en) 2021-05-14
CN114651433A (zh) 2022-06-21
KR20240055889A (ko) 2024-04-29
KR20220064391A (ko) 2022-05-18
US20210136150A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
US20230164219A1 (en) Access Pattern Driven Data Placement in Cloud Storage
US8612668B2 (en) Storage optimization system based on object size
US10347013B2 (en) Session idle optimization for streaming server
US20040117455A1 (en) Parallel CDN-based content delivery
US11520919B2 (en) Sharing of data among containers running on virtualized operating systems
US9235587B2 (en) System and method for selectively routing cached objects
US10360189B2 (en) Data object storage across multiple storage nodes
CN108139974B (zh) 分布式缓存动态迁移
AU2011203246B2 (en) Content processing between locations workflow in content delivery networks
US9609044B2 (en) Methods, systems, and media for stored content distribution and access
US10782888B2 (en) Method and device for improving file system write bandwidth through hard disk track management
US20200169598A1 (en) Transmitting data including pieces of data
KR101531564B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 부하 분산 방법 및 시스템
WO2009088007A1 (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法およびプログラム
EP3479550B1 (en) Constraint based controlled seeding
CN105872634A (zh) 视频数据共享的方法及装置
KR101329759B1 (ko) 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법
JP7174372B2 (ja) 分散ストレージネットワークにおけるデータ管理方法、装置、プログラム
KR20220078244A (ko) 콘텐츠 조각 캐싱을 위한 캐시 파일 관리 방법 및 이를 수행하는 엣지 서버
US10958760B2 (en) Data processing system using pre-emptive downloading
KR20070105487A (ko) 스토리지 사이에 컨텐츠를 이동시켜 스토리지의 트래픽을분산시키는 방법
Lee et al. Dtstorage: Dynamic tape-based storage for cost-effective and highly-available streaming service
EP3062210B1 (en) Method and server for the storage of multimedia content and its delivery in adaptive streaming systems
CN117194439A (zh) 一种资源存储系统的创建方法、电子设备及存储介质
JP2017228211A (ja) アクセスプログラム、データアクセス方法及び情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240311

R150 Certificate of patent or registration of utility model

Ref document number: 7454661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150