DK2467784T3 - System og fremgangsmåde til at cache information - Google Patents

System og fremgangsmåde til at cache information Download PDF

Info

Publication number
DK2467784T3
DK2467784T3 DK10810295.5T DK10810295T DK2467784T3 DK 2467784 T3 DK2467784 T3 DK 2467784T3 DK 10810295 T DK10810295 T DK 10810295T DK 2467784 T3 DK2467784 T3 DK 2467784T3
Authority
DK
Denmark
Prior art keywords
cache
subject
item
request
file
Prior art date
Application number
DK10810295.5T
Other languages
English (en)
Inventor
Timo Burkard
David Presotto
Original Assignee
Google Inc
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 Inc filed Critical Google Inc
Application granted granted Critical
Publication of DK2467784T3 publication Critical patent/DK2467784T3/da

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/5683Storage of data provided by user terminals, i.e. reverse caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/264Remote server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity 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)

Claims (15)

1. En metode der omfatter: At modtage en anmodning om at behandle et emne på en processor med en tilknyttet cache; at modtage det søgte emne fra cachen, når det befinder sig deri; at hente det ønskede emne fra en anden hukommelse, når emnet ikke befinder sig i cachen; metoden er kendetegnet ved disse trin: behandling af emnet uden at gemme emnet i cachen, når der ikke tidligere har været anmodet om emnet inden for en på forhånd fastsat periode; behandling af emnet uden at gemme emnet i cachen, når der er anmodet om emnet inden for en fastsat periode og tiden for den forrige anmodning er tidligere end den seneste anmodning for hvert emne i et sæt af emner, der befinder sig i cachen; og behandling af emnet og lagring af det i cachen, når emnet er blevet anmodet om inden for den aftalte periode og tiden for den forrige anmodning ligger senere end den seneste anmodning om mindst ét emne indenfor det sæt af emner, der befinder sig i cachen.
2. Metoden i krav 1, hvor anmodningen modtages via et netværk af en server fra en klientenhed, og anmodningen om at behandle emnet omfatter afsendelse af det søgte emne til klientenheden.
3. Metoden i krav 2, hvor emnet omfatter gengivelse af audio- eller visuelle data på klientenheden.
4. Metoden i krav 3, hvor emnet omfatter en fil.
5. Metoden i krav 4, hvor emnet omfatter en del af en fil.
6. Metoden i krav 1, der yderligere omfatter fjernelse af et emne fra sættet af emner, når den seneste anmodning om det fjernede emne tidsmæssigt er før den seneste anmodning om andre emner i sættet.
7. Metoden i krav 6, hvori emnet fjernes inden opbevaring af det søgte emne i cachen.
8. Metoden i krav 7, hvori emnet fjernes, når størrelsen af det søgte emne overskrider størrelsen af cachen minus den samlede størrelse af emnerne i sættet.
9. Metoden i krav 1, hvori emnet omfatter en indholdsfil, og kravet om at behandle emnet omfatter gengivelse af indhold hos en bruger.
10. Metoden i krav 1, hvori emner, der befinder sig i cachen, indeholder alle de emner, der befinder sig i cachen.
11. Et system bestående af: En cache til opsamling af oplysninger; En maskinlæsbar hukommelse, der er konfigureret til opsamling af informationer, og en processor konfigureret til: at modtage det søgte emne fra cachen, når dette emne befinder sig deri. at modtage det søgte emne fra en maskinlæsbar hukommelse, når det søgte emne ikke befinder sig i cachen; systemet er karakteriseret ved, at denne processor er konfigureret til: at tilvejebringe det søgte emne hos en anmodende enhed uden at gemme dette emne i cachen inden den næste anmodning, når emnet ikke tidligere har været søgt inden for en på forhånd fastsat periode; at tilvejebringe det søgte emne hos den anmodende enhed uden at gemme dette emne i cachen inden den næste anmodning, når emnet er blevet anmodet om inden for en fastsat periode, og tiden for den forrige anmodning ligger før den seneste anmodning for hvert emne i et sæt af emner, der befinder sig i cachen; og at tilvejebringe det søgte emne hos den anmodende enhed og gemme dette emne i cachen inden den næste anmodning, når emnet førhen er blevet søgt inden for den aftalte periode, og tidspunktet for den forrige anmodning er senere end den seneste anmodning om mindst ét emne indenfor det sæt af emner, der befinder sig i cachen.
12. Ordningen med krav 11, hvori processoren befinder sig i et knudepunkt i et netværk, og den anmodende enhed består af en enhed i et knudepunkt i et netværk, der er forskelligt fra knudepunktet for den føromtalte processor.
13. Ordningen med krav 11, hvori processoren befinder sig i et knudepunkt i et netværk, og den anmodende enhed består af en flerhed af enheder i en flerhed af knudepunkter i et netværk, der er forskelligt fra knudepunktet for den føromtalte processor.
14. Ordningen med krav 13, hvori informationsemnerne omfatter videoinformation, hvor netværket består af Internettet, og de begærende enheder består af brugercomputere.
15. Ordningen med krav 11, hvori processoren og den anmodende enhed er identiske, således at processoren behandler emner, den henter fra cachen, og den maskinlæsbare hukommelse.
DK10810295.5T 2009-08-21 2010-08-20 System og fremgangsmåde til at cache information DK2467784T3 (da)

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
PCT/US2010/002317 WO2011022079A2 (en) 2009-08-21 2010-08-20 System and method of caching information

Publications (1)

Publication Number Publication Date
DK2467784T3 true DK2467784T3 (da) 2016-11-21

Family

ID=43606203

Family Applications (2)

Application Number Title Priority Date Filing Date
DK10810295.5T DK2467784T3 (da) 2009-08-21 2010-08-20 System og fremgangsmåde til at cache information
DK16188263.4T DK3125131T3 (da) 2009-08-21 2010-08-20 System og fremgangsmåde til cache-lagring af information

Family Applications After (1)

Application Number Title Priority Date Filing Date
DK16188263.4T DK3125131T3 (da) 2009-08-21 2010-08-20 System og fremgangsmåde til cache-lagring af information

Country Status (9)

Country Link
US (7) US8566531B2 (da)
EP (3) EP3722962A1 (da)
JP (2) JP5592489B2 (da)
CN (2) CN104915319B (da)
AU (1) AU2010284682B2 (da)
CA (3) CA3026715C (da)
DE (1) DE202010018478U1 (da)
DK (2) DK2467784T3 (da)
WO (1) WO2011022079A2 (da)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
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 株式会社デンソー 連携システム、ナビゲーションシステム、車載装置、及び、携帯端末
US9323659B2 (en) 2011-08-12 2016-04-26 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
US20150039837A1 (en) * 2013-03-06 2015-02-05 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)

* Cited by examiner, † Cited by third party
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
EP1805623A4 (en) * 2004-10-06 2008-10-08 Thomson Licensing METHOD AND SYSTEM FOR PUTTING DATA IN STAMP BUFFER
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

Also Published As

Publication number Publication date
US8812791B2 (en) 2014-08-19
CA2771599A1 (en) 2011-02-24
US8825960B2 (en) 2014-09-02
WO2011022079A4 (en) 2011-08-11
WO2011022079A2 (en) 2011-02-24
CN104915319A (zh) 2015-09-16
US20140047171A1 (en) 2014-02-13
US8904116B2 (en) 2014-12-02
CA3026715A1 (en) 2011-02-24
CA3026715C (en) 2021-03-02
CA2771599C (en) 2016-11-01
EP3125131B1 (en) 2020-07-15
US8572327B2 (en) 2013-10-29
US8825961B2 (en) 2014-09-02
US20140040559A1 (en) 2014-02-06
US20110302362A1 (en) 2011-12-08
CN104915319B (zh) 2018-06-01
DK3125131T3 (da) 2020-10-12
US9104605B1 (en) 2015-08-11
AU2010284682B2 (en) 2015-05-07
EP3722962A1 (en) 2020-10-14
US20110047317A1 (en) 2011-02-24
CN102576350A (zh) 2012-07-11
CA2942418C (en) 2019-03-12
EP2467784A2 (en) 2012-06-27
JP2014211909A (ja) 2014-11-13
CA2942418A1 (en) 2011-02-24
US20140214999A1 (en) 2014-07-31
JP5592489B2 (ja) 2014-09-17
JP5814436B2 (ja) 2015-11-17
CN102576350B (zh) 2015-05-27
AU2010284682A1 (en) 2012-04-12
WO2011022079A3 (en) 2011-06-16
DE202010018478U1 (de) 2016-12-29
EP2467784A4 (en) 2014-09-10
US20140047191A1 (en) 2014-02-13
EP2467784B1 (en) 2016-10-19
EP3125131A3 (en) 2017-05-31
EP3125131A2 (en) 2017-02-01
JP2013502641A (ja) 2013-01-24
US8566531B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
DK2467784T3 (da) System og fremgangsmåde til at cache information
AU2015201273B2 (en) System and method of caching information
US9402058B2 (en) Content delivery system, content delivery method and content delivery program
CN108055302B (zh) 一种图片缓存处理方法、系统和服务器
WO2006104698A2 (en) Streaming media content delivery system and method for delivering streaming content
EP3028471A1 (en) Multimedia cache with dynamic segmenting
JP5163171B2 (ja) キャッシュシステムおよびサーバ
JP5593732B2 (ja) 分散型コンテンツ配信システム及び方法、並びに、配信サーバ決定装置及び方法
CN113726341B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN116069529B (zh) 一种动态缓存方法、装置、电子设备及计算机可读介质
JP2004021303A (ja) ファイル蓄積装置および方法