JP5814436B2 - キャッシング情報のシステム及び方法 - Google Patents
キャッシング情報のシステム及び方法 Download PDFInfo
- Publication number
- JP5814436B2 JP5814436B2 JP2014150555A JP2014150555A JP5814436B2 JP 5814436 B2 JP5814436 B2 JP 5814436B2 JP 2014150555 A JP2014150555 A JP 2014150555A JP 2014150555 A JP2014150555 A JP 2014150555A JP 5814436 B2 JP5814436 B2 JP 5814436B2
- Authority
- JP
- Japan
- Prior art keywords
- item
- requested
- request
- cache
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/264—Remote server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本願は、2009年8月21日に出願された「SYSTEM AND METHOD OF CACHING INFORMATION」という名称の米国特許出願第12/545,225号に対する利点を主張し、その全ての開示内容は引用することにより本明細書の一部をなすものとする。
キャッシュは、通常、キャッシュが存在しない場合よりも低い「コスト」でプロセッサがアクセスする情報のアイテムを記憶するように、プロセッサを有するシステムの中で提供される。例えば、プロセッサが1つのメモリ内に記憶されているデータ又はプログラム命令を他のメモリよりも早く得ることができるように、システムを構成することができる。他のメモリに含まれている頻繁にアクセスされる情報がキャッシュにコピーされ、代わりにキャッシュからアクセスされることができるように、このメモリをキャッシュとして使用することができる。さらに、キャッシュを使用することは、情報アイテムがローカルで利用可能な場合は、プロセッサとメモリ又は入出力インターフェースなどの内部システム部品との間の内部データ・トラフィックを減少させるのに役立つことができると共に、情報がローカルに利用可能でない場合は、システムとリモート・システムとの間の外部データ・トラフィックを減少させるのに役立つことができる。
ムに対する現在の要求を受け取るステップと、第1のアイテムが第2のメモリにも記憶される場合、第2のメモリから第1のアイテムを提供するステップと、第1のアイテムが第2のメモリに記憶されていない場合、第1のアイテムを第1のメモリから提供するステップと、第1のアイテムが所定の期間内に前もって要求されていたかどうかを、プロセッサを用いて判断するステップと、第1のアイテムが前もって要求されていると判断された場合、第1のアイテムに関連付けられた、第1のアイテムに対する現在の要求と第1のアイテムに対する以前の要求との間の継続時間である第1の継続時間を、プロセッサを用いて確認するステップと、第1のアイテムに対する現在の要求と第2のアイテムに対する最新の要求との間の時間の継続時間であり、第2のメモリ内に記憶され前もって要求された第2のアイテムのセットの各アイテムに対する第2の継続時間を、プロセッサを用いて確認するステップと、かつ第1のアイテムが前もって要求され、かつ第1の継続時間が第2の継続時間の少なくとも1つよりも小さい場合は、第1のアイテムを第2のメモリ内に記憶するステップとを含んでなる方法を提供する。
データに基づいて動的に決定される期間内で決して〜しないというように、所定の期間を引き合いに出すことができる)。テーマ・アイテムが以前要求されたことがある場合、テーマ・アイテムは、継続期間の決定及び比較に基づいて、すなわち、(1)テーマ・アイテムに対する現在の要求と前回の要求との間の時間の継続期間、及び(2)キャッシュ内のそれぞれの他のアイテムに対して、他のアイテムに対する現在の要求と前回の要求との間の時間の継続期間、に基づいてキャッシュされる。テーマ・アイテムに関連する継続期間がキャッシュ内の他のアイテムの継続期間よりも短い場合、テーマ・アイテムはキャッシュに記憶される。
それは、プロセッサが読み出し、操作又は記憶することができるデータ135も含んでいる。メモリは、ハード・ドライブ、メモリ・カード、ROM、RAM、DVD、又は他の光ディスク、並びに書込み可能及び読出し専用メモリなどの、コンピュータが読み出し可能な媒体を含む、プロセッサがアクセス可能な情報を記憶することができる任意の種類のものでありうる。プロセッサ120は、Intel Corporation 又は AMDが販売しているプロセッサなど周知のプロセッサでありうる。別の方法では、このプロセッサは、ASICなどの、専用のコントローラでありうる。
ードを共有する、例えば、両方のネットワーク195及び196はインターネットを含みうる。
る。以下の動作は、後述する正確な順序で実行される必要はないことを理解すべきである。それどころか、種々のステップを逆の順序で又は同時に処理することができる。
つのエッジ・サーバとすることができる。その点において、ユーザはクライアント・デバイス150を使用して、ビデオ・ファイル検索エンジンを動作させるウェブ・サーバと対話することができる。エンジン用サーバはユーザに適合するビデオのリストを提供して、次に、ユーザが希望するビデオに固有のウェブ・ページを選択して、そこに行くことを可能にする。それはエンジン用サーバによって提供されたが、このビデオ固有のウェブ・ページは、直接サーバ110を指すURLとファイルの固有IDとを含みうる。このため、ユーザが「再生」ボタンをクリックするなどによりビデオのコピーを要求する場合、この要求はエンジン用サーバではなく、サーバ110に直接送られる。
ーバ110が午後7:00時に「ファイル#3」に対する要求を受け取り、要求レコード145が下記の情報を確認すると仮定する。
前に要求されずにキャッシュ内に残っていた時間の長さとして、その「空費した時間(wasted time)」を定義する場合、ファイル#1が最悪の実行者であり、それは6時間空費
した(削除7:00時マイナス最後の要求1:00時)。
、それが現在の最悪の実行者:ファイル#1の6時間よりもキャッシュ内で長い時間を空費したことを意味する。このため、本システム及び方法は、ファイル#11を全くキャッシュすべきではないと判断することができる。
て、各アイテムに優先順位の値を割り当てて、これにより、必要な場合、優先順位の低いアイテムをキャッシュから取り除いて、優先順位が高いアイテム用のメモリ空間を作ることができる。ただ1つの可能な方法は、各アイテムに優先順位の値の「E」を割り当てるステップを含み、ここで、
En=−1*(ALPHA*LSn+(1−ALPHA)*En−1)であり、
「n」は、要求がn番目に出現したことを示す、例えば、E10は10回要求された後のアイテムの優先順位の値を示し、
「LSn」は、要求のn番目の出現と以前の要求との間で経過した時間を示す、例えば、LS10は、アイテムに対する9番目の要求と10番目の要求との間で経過した時間を示し、そして
「ALPHA」は、0と1との間及び0と1とを含む値を示している。その点において、プロセッサは、アイテムに対する優先順位の値を、それが要求されるたびに計算することができる。その値が、アイテムがキャッシュ内の他のアイテムよりも優先順位が高いことを示す場合、そのアイテムがキャッシュされる。キャッシュ内にそのアイテムに対する十分なメモリ空間がない場合、優先順位が低いアイテムが取り除かれる。(上記の式内の−1乗数を割愛することができることは理解されよう。この場合、より高いEn値はより低いEn値よりもキャッシングするために望ましくないと考えることができる。)
に等しいかどうかを確認することができる。等しい場合、ALPHA=1であるようにE値を計算することができる、これにより、第1の要求と第2の要求との間の時間の長さに対して、式の中の全ての重みが配置される。本システム及び方法が、現在のE値は特別な値ではないと判断する場合、式をALPHAの通常の値に基づいて計算することができる。いずれにせよ、本システム及び方法は、次に、Eの前の値をEに対して新しく計算された値と置き換えることができる。
ルゴリズム)を使用して、8.5MBファイルの最後の2つのファイルのような不人気のチャンクを、それらがまれにしかユーザに送られない場合は、時折、削除することができる、前述したように、本システム及び方法は、新たに要求されたファイルの要求時間を最後に削除されたアイテムの存続期間と比較することによって、新たに要求されたアイテムをキャッシュすべきかどうかを判断することができる。この段落で記述された態様では、本システム及び方法は、新たに要求されたファイルの要求時間を最後に削除されたチャンクの存続時間と比較することができる。
と共に使用する場合は、特定の利点が生じる可能性があるが、特定の態様では、コンピュータ・チップのような小さい閉じたシステムの中で実現することもできる。ほんの一例として、また図2に示すように、マイクロプロセッサ210は、命令ソース220からマイクロコード命令のシーケンスを事前に取り込み、命令が近い将来使用されるとシステムが予想する場合、それらを単一の半導体チップ240上の比較的小さなキャッシュ230内に記憶することができる。その点において、情報の個々のアイテムは、マイクロプロセッサによって取得および処理される一連のマイクロコード命令を構成することができる。マイクロプロセッサ210が命令を必要とする場合、それはキャッシュ制御部250から命令を要求することができる。その命令が命令ブランチの一部であり、かつその命令ブランチがキャッシュ230に記憶されている場合、制御部250は命令をキャッシュから提供する。そうでない場合は、制御部250は、適用可能なブランチを命令記憶部220から取得する。ブランチが最初に記憶部220から取り出される場合、それはキャッシュされない。しかしながら、ブランチが以前に取り出されている場合は、制御部250は、キャッシュ内に記憶された他のブランチに対してこのブランチが処理された最後の時間に基づいて、このブランチをキャッシュすると決定することができる。
なわち、コンピュータの構成要素の中で生じる要求、ファイルをディスク・キャッシュにロードする要求を構成する要求、及びファイルがローディングを開始したときの要求の時間)。別の方法では、要求の時間は、プロセッサがファイルをRAMにロードした後でその実行を開始する時間と考えることができる。さらに別の方法では、要求の時間は、要求が受け取られた時間、要求が送られた時間、又は要求が実行された時間と考えることができる。
Claims (23)
- 現在要求されている情報のアイテムが所定の期間内に前もって要求されていないかどうかを決定するステップと、
前記情報のアイテムが前記所定の期間内に前もって要求されていない場合、1つ以上のプロセッサを用いて、前記情報のアイテムをキャッシュに記憶することなく前記情報のアイテムを処理するステップと、
前記情報のアイテムが前記所定の期間内に前もって要求されかつ前記前もって要求された時間が前記キャッシュ内に記憶されたアイテムのセット内の各アイテムに対する最新の要求よりも早い場合、前記1つ以上のプロセッサを用いて、前記情報のアイテムを前記キャッシュに記憶することなく前記情報のアイテムを処理するステップと、
前記情報のアイテムが前記所定の期間内に前もって要求され、かつ前記前もって要求された時間が前記キャッシュ内に記憶された前記アイテムのセット内の少なくとも1つのアイテムに対する最新の要求よりも遅い場合、前記1つ以上のプロセッサを用いて、前記情報のアイテムを処理しかつ前記情報のアイテムを前記キャッシュ内に記憶するステップと
を含んでなる方法。 - 前記情報のアイテムが、クライアント・デバイスにおいて表現されるオーディオ・データ又は画像データを含む請求項1に記載の方法。
- 前記情報のアイテムがファイルを含む請求項1に記載の方法。
- 前記情報のアイテムが、ファイルの一部を含む請求項1に記載の方法。
- 選択されたアイテムに対する最後の要求が前記セット内の任意の他のアイテムに対する前記最後の要求よりも前である場合、前記アイテムのセットから選択された前記アイテムを削除するステップをさらに含む請求項1に記載の方法。
- 選択された前記アイテムは、要求された前記情報のアイテムを記憶する前に削除される請求項5に記載の方法。
- 要求された前記情報のアイテムの大きさが、前記キャッシュの大きさから前記セット内のアイテムの結合された大きさを減じた大きさを超える場合には、選択された前記アイテムが削除される請求項6に記載の方法。
- 前記情報のアイテムがコンピュータ命令を含み、前記情報のアイテムを処理するための要求が前記命令を処理することを含む請求項1に記載の方法。
- 前記情報のアイテムがコンテンツ・ファイルを含み、前記情報のアイテムを処理するための要求がコンテンツをユーザに送ることを含む請求項1に記載の方法。
- 現在要求されている情報の第1のアイテムが所定の期間内に前もって要求されていたかどうかを、1つ以上のプロセッサを用いて判断するステップと、
前記第1のアイテムが前もって要求されている場合、前記第1のアイテムに関連付けられた、前記第1のアイテムに対する現在の要求と前記第1のアイテムに対する以前の要求との間の継続時間である第1の継続時間を、前記1つ以上のプロセッサを用いて確認するステップと、
前記第1のアイテムに対する現在の要求と第2のアイテムに対する最新の要求との間の継続時間であり、第2のメモリ内に記憶され前もって要求された第2のアイテムのセットの各アイテムに対する第2の継続時間を、前記1つ以上のプロセッサを用いて確認するステップと、
前記第1のアイテムが前もって要求され、かつ前記第1の継続時間が前記第2の継続時間の少なくとも1つよりも小さい場合、前記第1のアイテムを前記第2のメモリ内に記憶するステップと
を含んでなる方法。 - 前記第1のアイテムを前記メモリ内に記憶するステップは、前記第1のアイテムの知名度にさらに基づくものである請求項10に記載の方法。
- 前記第1のアイテムの位置への参照をエンティティに提供するステップをさらに含む請求項10に記載の方法。
- 前記第1のアイテムのコピーを前記エンティティに提供するステップをさらに含む請求項12に記載の方法。
- 現在要求されている情報の第1のアイテムが前もって要求されていた場合、前記第1のアイテムに関連付けられた、前記第1のアイテムの以前のいくつかの要求の間の継続時間に基づく第1の値を、1つ以上のプロセッサを用いて確認するステップと、
前もって要求された第2のアイテムのセットの各アイテムに関連付けられた、前記第1のアイテムに対する現在の要求と前記第2のアイテムに対する最新の要求との間の継続時間に基づく第2の値を、前記1つ以上のプロセッサを用いて確認するステップと、
前記第1のアイテムが所定の期間内に前もって要求され、かつ前記第1の値が前記第2の値よりも小さい場合、前記1つ以上のプロセッサを用いて前記第1のアイテムをメモリに記憶させるステップと
を含んでなる方法。 - 前記第2の値が重み関数に基づいて判断され、該重みは要求の間の前記継続時間に適用されるものであり、その後の要求は別の要求が受け取られるたびに減少するものである請求項14に記載の方法。
- 前記第2の値が、下記の関数、すなわち、
En=−1*(ALPHA*LSn+(1−ALPHA)*En−1)であり、
ここで、
「En」は、前記要求のn番目の出現した前記第2の値を示し、
「En−1」は、前記要求のn−1番目に出願した前記第2の値を示し、
「n」は、前記要求がn番目に出現したことを示し、
「LSn」は、前記要求のn番目の出現と以前の要求との間で経過した時間を示し、
「ALPHA」は、0と1との間及び0と1とを含む値を示すことに基づくものである請求項14に記載の方法。 - 前記第1の値が前記重み関数に基づくものである請求項15に記載の方法。
- 命令に従って、キャッシュ内のアイテムを読み出し及び記憶するように構成された1つ以上のプロセッサを含むシステムであって、
前記命令は、アイテムに対する要求されたデバイスからの要求に応じて、前記1つ以上のプロセッサに対し、
前記要求されたアイテムが所定の期間内に前もって要求されていない場合、前記要求されたアイテムを次の要求より前に前記キャッシュに記憶することなく、前記要求されたアイテムを要求元のデバイスに提供させ、
前記アイテムが所定の期間内に前もって要求されており、かつ前もって要求された時間が前記キャッシュ内に記憶されたアイテムのセット内の各アイテムに対する最新の要求よりも早い場合は、前記要求されたアイテムを次の要求より前に前記キャッシュに記憶せずに、前記要求されたアイテムを前記要求元のデバイスに提供させ、
前記アイテムが所定の期間内に前もって要求されており、かつ前もって要求された時間が前記キャッシュ内に記憶されたアイテムのセット内の少なくとも1つのアイテムに対する最新の要求よりも遅い場合は、前記要求されたアイテムを前記要求元のデバイスに提供し、前記要求されたアイテムを次の要求の前に前記キャッシュの中に記憶させる、
ことを含むものである、システム。 - 前記1つ以上のプロセッサがネットワークのあるノードに存在し、かつ前記要求元のデバイスが前記プロセッサのノードとは異なるネットワークのノードにおいてデバイスを備える請求項18に記載のシステム。
- 前記1つ以上のプロセッサがネットワークのあるノードに存在し、かつ前記要求元のデバイスが、前記プロセッサのノードとは異なるネットワークの複数のノードにおいて複数のデバイスを備える請求項18に記載のシステム。
- 前記1つ以上のプロセッサ及び前記要求元のデバイスが同一であるため、前記1つ以上のプロセッサが前記キャッシュや他のメモリから取得した前記アイテムを処理する請求項18に記載のシステム。
- 命令に従って、キャッシュ内のアイテムを読み出し及び記憶するように構成された1つ以上のプロセッサを含むシステムであって、
前記命令は、前記1つ以上のプロセッサによって受信したアイテムに対する要求に応じて、前記1つ以上のプロセッサに対し、
前記要求されたアイテム及び複数の他のアイテムに対する優先順位の値を決定させ、ここで、前記優先順位の値は優先順位関数に基づき、前記優先順位関数は前記他のアイテムに対する要求の間の継続時間に基づき、より小さな重みが前記要求されたアイテムに対するより早い要求の間の継続期間に適用されるものであり、
前記アイテムが以前に要求されたことがある場合、前記要求されたアイテムが第2のメモリ内に記憶される場合、及び前記要求されたアイテムの優先順位の値が第1のメモリ内に記憶された少なくとも1つの前記他のアイテムの優先順位の値よりも大きい場合、前記要求されたアイテムを前記第1のメモリ内に記憶させる、システム。 - 前記第1のメモリが第1のアクセス時間を有し、該第1のアクセス時間は、前記1つ以上のプロセッサが前記第1のメモリから情報を得るために要する時間を指すものであり、
前記第2のメモリが前記第1のアクセス時間よりも遅い第2のアクセス時間を有し、該第2のアクセス時間は、前記1つ以上のプロセッサが前記第2のメモリから情報を得るために要する時間を指すものである請求項22に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/545,225 US8566531B2 (en) | 2009-08-21 | 2009-08-21 | System and method of selectively caching information based on the interarrival time of requests for the same information |
US12/545,225 | 2009-08-21 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012525535A Division JP5592489B2 (ja) | 2009-08-21 | 2010-08-20 | キャッシング情報のシステム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014211909A JP2014211909A (ja) | 2014-11-13 |
JP5814436B2 true JP5814436B2 (ja) | 2015-11-17 |
Family
ID=43606203
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012525535A Active JP5592489B2 (ja) | 2009-08-21 | 2010-08-20 | キャッシング情報のシステム及び方法 |
JP2014150555A Active JP5814436B2 (ja) | 2009-08-21 | 2014-07-24 | キャッシング情報のシステム及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012525535A Active JP5592489B2 (ja) | 2009-08-21 | 2010-08-20 | キャッシング情報のシステム及び方法 |
Country Status (9)
Country | Link |
---|---|
US (7) | US8566531B2 (ja) |
EP (3) | EP3125131B1 (ja) |
JP (2) | JP5592489B2 (ja) |
CN (2) | CN102576350B (ja) |
AU (1) | AU2010284682B2 (ja) |
CA (3) | CA3026715C (ja) |
DE (1) | DE202010018478U1 (ja) |
DK (2) | DK3125131T3 (ja) |
WO (1) | WO2011022079A2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341207B2 (en) | 2010-04-07 | 2012-12-25 | Apple Inc. | Apparatus and method for matching users for online sessions |
US20110320733A1 (en) * | 2010-06-04 | 2011-12-29 | Steven Ted Sanford | Cache management and acceleration of storage media |
US8732569B2 (en) * | 2011-05-04 | 2014-05-20 | Google Inc. | Predicting user navigation events |
US8527467B2 (en) * | 2011-06-30 | 2013-09-03 | International Business Machines Corporation | Compression-aware data storage tiering |
JP5304853B2 (ja) * | 2011-07-27 | 2013-10-02 | 株式会社デンソー | 連携システム、ナビゲーションシステム、車載装置、及び、携帯端末 |
EP2742428B1 (en) | 2011-08-12 | 2016-01-06 | Sandisk Enterprise IP LLC | Cache management including solid state device virtualization |
US9164904B2 (en) * | 2012-08-28 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Accessing remote memory on a memory blade |
WO2014138411A1 (en) * | 2013-03-06 | 2014-09-12 | Condusiv Technologies Corporation | System and method for tiered caching and storage allocation |
EP2819367A1 (en) * | 2013-06-28 | 2014-12-31 | Thomson Licensing | Method for retrieving, by a client terminal, a content part of a multimedia content |
JP6027504B2 (ja) * | 2013-08-02 | 2016-11-16 | 日本電信電話株式会社 | アプリケーションサーバ、およびキャッシュ制御方法 |
US20160062916A1 (en) * | 2014-08-27 | 2016-03-03 | The Board Trustees Of The Leland Stanford Junior University | Circuit-based apparatuses and methods with probabilistic cache eviction or replacement |
US9866647B2 (en) * | 2015-03-26 | 2018-01-09 | Alcatel Lucent | Hierarchical cost based caching for online media |
WO2016200399A1 (en) * | 2015-06-12 | 2016-12-15 | Hewlett Packard Enterprise Development Lp | Application identification cache |
US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
CN109947665B (zh) * | 2017-12-20 | 2023-06-13 | 阿里巴巴集团控股有限公司 | 一种缓存方法及装置 |
KR20200059493A (ko) * | 2018-11-21 | 2020-05-29 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 |
US10963381B2 (en) * | 2018-11-26 | 2021-03-30 | Verizon Digital Media Services Inc. | Dynamic caching and eviction |
CN110046175B (zh) * | 2019-03-18 | 2023-02-28 | 创新先进技术有限公司 | 一种缓存更新、数据返回方法及装置 |
US11036594B1 (en) | 2019-07-25 | 2021-06-15 | Jetstream Software Inc. | Disaster recovery systems and methods with low recovery point objectives |
US11393548B2 (en) * | 2020-12-18 | 2022-07-19 | Micron Technology, Inc. | Workload adaptive scans for memory sub-systems |
CN113971144B (zh) * | 2021-10-27 | 2024-04-16 | 合肥学院 | 一种用于多处理器优先级仲裁的动态混合彩票方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297270A (en) | 1989-11-13 | 1994-03-22 | Zenith Data Systems Corporation | Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size |
JP2502844B2 (ja) * | 1991-07-11 | 1996-05-29 | 松下電送株式会社 | 電子ファイル装置 |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
US5381539A (en) | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
CA2130395C (en) | 1993-12-09 | 1999-01-19 | David G. Greenwood | Multimedia distribution over wide area networks |
US5813031A (en) * | 1994-09-21 | 1998-09-22 | Industrial Technology Research Institute | Caching tag for a large scale cache computer memory system |
US6266742B1 (en) * | 1997-10-27 | 2001-07-24 | International Business Machines Corporation | Algorithm for cache replacement |
KR19990049284A (ko) * | 1997-12-12 | 1999-07-05 | 구본준 | 데이터 프로그램 장치 |
JP2001318902A (ja) * | 2000-05-09 | 2001-11-16 | Matsushita Electric Ind Co Ltd | キャッシュ装置 |
JP3612271B2 (ja) | 2000-09-12 | 2005-01-19 | 株式会社東芝 | ファイルシステム |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US20020103974A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Method and apparatus for economical cache population |
US6745295B2 (en) | 2001-04-19 | 2004-06-01 | International Business Machines Corporation | Designing a cache with adaptive reconfiguration |
US7444662B2 (en) | 2001-06-28 | 2008-10-28 | Emc Corporation | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
JP4042359B2 (ja) * | 2001-07-10 | 2008-02-06 | 日本電気株式会社 | キャッシュ制御方法及びキャッシュ装置 |
US6687792B2 (en) | 2001-09-27 | 2004-02-03 | Siemens Information & Communication Networks, Inc. | Method and system for selectively caching web elements |
US6687793B1 (en) | 2001-12-28 | 2004-02-03 | Vignette Corporation | Method and system for optimizing resources for cache management |
KR100496159B1 (ko) | 2002-06-29 | 2005-06-20 | 주식회사 케이티 | 유용성 기반의 질의 결과 캐쉬 관리 방법 |
US7093072B2 (en) | 2003-02-21 | 2006-08-15 | Enterasys Networks, Inc. | Methods for improved data caching |
US7073027B2 (en) | 2003-07-11 | 2006-07-04 | International Business Machines Corporation | Methods, systems and computer program products for controlling caching of distributed data |
US7496715B1 (en) | 2003-07-16 | 2009-02-24 | Unisys Corporation | Programmable cache management system and method |
US7349968B2 (en) * | 2003-07-31 | 2008-03-25 | International Business Machines Corporation | Method, system and program product for asynchronously processing requests |
US7085894B2 (en) | 2003-09-11 | 2006-08-01 | International Business Machines Corporation | Selectively accepting cache content |
JP4873653B2 (ja) * | 2004-10-06 | 2012-02-08 | トムソン ライセンシング | データをキャッシングする方法およびシステム |
US7228388B2 (en) * | 2004-11-19 | 2007-06-05 | International Business Machines Corporation | Enabling and disabling cache bypass using predicted cache line usage |
WO2007001518A1 (en) | 2005-06-14 | 2007-01-04 | Broadband Royalty Corporation | Media stream distribution system |
TWI265414B (en) | 2005-07-25 | 2006-11-01 | Ind Tech Res Inst | Data caching method and computer program product therefor |
US20070094450A1 (en) * | 2005-10-26 | 2007-04-26 | International Business Machines Corporation | Multi-level cache architecture having a selective victim cache |
US7577793B2 (en) * | 2006-01-19 | 2009-08-18 | International Business Machines Corporation | Patrol snooping for higher level cache eviction candidate identification |
JP2007241612A (ja) * | 2006-03-08 | 2007-09-20 | Matsushita Electric Ind Co Ltd | マルチマスタシステム |
US8166248B2 (en) * | 2006-06-12 | 2012-04-24 | Arris Group, Inc. | Caching of information according to popularity |
US7502890B2 (en) * | 2006-07-07 | 2009-03-10 | International Business Machines Corporation | Method and apparatus for dynamic priority-based cache replacement |
US7826944B2 (en) | 2006-12-14 | 2010-11-02 | General Motors Llc | Configurable vehicle bus storage cache mechanism |
US7644230B1 (en) | 2007-03-15 | 2010-01-05 | Silver Peak Systems, Inc. | Dynamic load management of network memory |
US20090144388A1 (en) | 2007-11-08 | 2009-06-04 | Rna Networks, Inc. | Network with distributed shared memory |
US8612698B2 (en) * | 2008-10-31 | 2013-12-17 | Intel Corporation | Replacement policy for hot code detection |
US8103822B2 (en) * | 2009-04-26 | 2012-01-24 | Sandisk Il Ltd. | Method and apparatus for implementing a caching policy for non-volatile memory |
-
2009
- 2009-08-21 US US12/545,225 patent/US8566531B2/en active Active
-
2010
- 2010-08-20 EP EP16188263.4A patent/EP3125131B1/en active Active
- 2010-08-20 CA CA3026715A patent/CA3026715C/en active Active
- 2010-08-20 WO PCT/US2010/002317 patent/WO2011022079A2/en active Application Filing
- 2010-08-20 EP EP10810295.5A patent/EP2467784B1/en active Active
- 2010-08-20 AU AU2010284682A patent/AU2010284682B2/en active Active
- 2010-08-20 JP JP2012525535A patent/JP5592489B2/ja active Active
- 2010-08-20 DK DK16188263.4T patent/DK3125131T3/da active
- 2010-08-20 CN CN201080047230.3A patent/CN102576350B/zh active Active
- 2010-08-20 DE DE202010018478.9U patent/DE202010018478U1/de not_active Expired - Lifetime
- 2010-08-20 CN CN201510204702.6A patent/CN104915319B/zh active Active
- 2010-08-20 EP EP20178341.2A patent/EP3722962A1/en active Pending
- 2010-08-20 DK DK10810295.5T patent/DK2467784T3/en active
- 2010-08-20 CA CA2771599A patent/CA2771599C/en active Active
- 2010-08-20 CA CA2942418A patent/CA2942418C/en active Active
-
2011
- 2011-08-19 US US13/213,779 patent/US8572327B2/en active Active
-
2013
- 2013-10-08 US US14/048,869 patent/US8812791B2/en active Active
- 2013-10-16 US US14/055,210 patent/US8825960B2/en active Active
- 2013-10-16 US US14/055,357 patent/US8825961B2/en active Active
-
2014
- 2014-04-01 US US14/242,266 patent/US8904116B2/en active Active
- 2014-07-24 JP JP2014150555A patent/JP5814436B2/ja active Active
- 2014-07-28 US US14/444,057 patent/US9104605B1/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5814436B2 (ja) | キャッシング情報のシステム及び方法 | |
KR101587631B1 (ko) | 클라우드 기반 로컬 장치와 로컬 장치의 파일 읽기 및 저장 방법 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
US20080147974A1 (en) | Multi-level caching system | |
EP2418809A1 (en) | Method and apparatus for processing and updating service contents in a distributed file system | |
US8732355B1 (en) | Dynamic data prefetching | |
WO2015016719A1 (en) | Multimedia cache with dynamic segmenting | |
AU2015201273B2 (en) | System and method of caching information | |
JP2009193440A (ja) | キャッシュシステム、サーバおよび端末 | |
CN116069529B (zh) | 一种动态缓存方法、装置、电子设备及计算机可读介质 | |
WO2016094614A1 (en) | Nas off-loading of network traffic for shared files | |
WO2012010214A1 (en) | Provision of cached data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150623 |
|
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: 20150901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150917 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5814436 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |