EP3134833A1 - Système et procédé de pré-extraction - Google Patents

Système et procédé de pré-extraction

Info

Publication number
EP3134833A1
EP3134833A1 EP15795947.9A EP15795947A EP3134833A1 EP 3134833 A1 EP3134833 A1 EP 3134833A1 EP 15795947 A EP15795947 A EP 15795947A EP 3134833 A1 EP3134833 A1 EP 3134833A1
Authority
EP
European Patent Office
Prior art keywords
file
files
cache
project
plug
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.)
Withdrawn
Application number
EP15795947.9A
Other languages
German (de)
English (en)
Other versions
EP3134833A4 (fr
Inventor
Vaishnav Kovvuri
Jim Zhao
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of EP3134833A1 publication Critical patent/EP3134833A1/fr
Publication of EP3134833A4 publication Critical patent/EP3134833A4/fr
Withdrawn legal-status Critical Current

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to a system and method for cache management, and, in particular, to a system and method for pre-fetching.
  • Caches may be both read and write caches which cache the data for better user experience and provide better data consistency.
  • Data caching is a mechanism for temporarily storing content on the edge side of the network to reduce bandwidth usage, server load, and perceived lag when that content is re-accessed by the user.
  • Caching may be applied in a variety of different network implementations, such as in content distribution networks (CDNs) , enterprise networks, internet service provider (ISP) networks, and others.
  • CDNs content distribution networks
  • ISP internet service provider
  • caching is performed by fetching content in response to a client accessing the content, storing the content in a cache for a period of time, and providing the content directly from the cache when the client attempts to re-access the content.
  • Protocols like common internet file system (CIFS) are chatty and perform multiple reads and writes of data. Also, protocols like hypertext transfer protocol (HTTP) bring in the same data over and over again when multiple users try to access the same data. Applications also perform multiple iterations of the same file operations (open, read, close) .
  • Caching devices work around this by performing data caching and pre-fetching. Pre-fetching of data may be initiated when a user expresses interest in opening or reading a file. The user may experience slowness if the data is changed in the back-end file server, because the changed data flows in the network. In another example, an administrator of the device manually pre-loads the data before the user accesses the data. However, this may be error prone and not deterministic.
  • An embodiment method for pre-fetching files includes parsing a project file to produce a parsed project file and extracting a plurality of files from the parsed project file to produce a file list. The method also includes retrieving, by a caching device from a file server over a network, the plurality of files in accordance with the file list and storing the plurality of files in a cache.
  • An embodiment method of opening files includes retrieving, by a caching device from a file server over a network, a plurality of files associated with a project file in a cache when a client initiates opening only the project file or a subset of the plurality of files and storing the plurality of files in a cache of the caching device.
  • the method also includes receiving, by the caching device from a user, a file open request to open a first file, where the plurality of files includes the first file and reading the first file from the cache.
  • An embodiment caching device includes a processor and a computer readable storage medium storing programming for execution by the processor.
  • the programming includes instructions to parse a project file to produce a parsed project file and extract a plurality of files from the parsed project file to produce a file list.
  • the programming also includes instructions to retrieve, from a file server over a network, the plurality of files in accordance with the file list and store the plurality of files in a cache.
  • Figure 1 illustrates an embodiment network for pre-fetching
  • Figure 2 illustrates another embodiment network for pre-fetching
  • Figure 3 illustrates a message diagram for file caching
  • Figures 4A-D illustrates embodiment container files
  • Figure 5 illustrates an embodiment system for pre-fetching
  • Figure 6 illustrates a flowchart for an embodiment method of pre-fetching
  • Figure 7 illustrates a flowchart for another embodiment method of pre-fetching
  • Figure 8 illustrates a block diagram of an embodiment general-purpose computer system.
  • Remote offices are located around the world. Data transferred from centralized servers is affected by latency and bandwidth limitation of wide area networks (WANs) , which generally are slower than a local area network (LAN) . It is desirable, however, for a WAN user to have a LAN like user experience.
  • WANs wide area networks
  • LAN local area network
  • intermediate caching devices initiate a pre-fetching of the file when the user expresses interest in it by initiating a first read on the file.
  • pre-fetching is initiated after the file is opened or the first block is read.
  • users tend to work on a logical group of files or data sets associated as a project. Each project contains a few to many files. If the files are grouped together, the user tends to open some of the associated files soon after opening one of the associated files.
  • Project files which are logically grouped together may form a project file or a container file.
  • Project files contain metadata about the location of the files and the names of the files.
  • the format of the project files may be text based for Make files, extensible markup language (XML) based for applications such as Visual Studio or AutoCAD, or in any other format, such as a batch file.
  • XML extensible markup language
  • an embodiment caching system incorporates an infrastructure which parses the project files and performs pre-fetching operations on the files and/or directories.
  • an infrastructure takes in multiple formats in the form of plug-ins, where different plug-ins handle different types of projects.
  • These plug-ins parse the respective formats and extract lists of pathnames and directories. This information is provided to the pre-fetch engine, which perform the pre-fetch of the files before the user actually issues an open or read on one of the files.
  • the plug-ins may be loaded into the cache engine via a common language infrastructure (CLI) or another means.
  • CLI common language infrastructure
  • the plug-in manager updates its database of available plug-ins directly so operations on the requested project file can be passed on to the correct plug-in.
  • One example is application specific instead of protocol based. Applications such as AutoCAD, Eclipse, and Corel may be optimized differently even if they work on the same protocol across a WAN.
  • Figure 1 illustrates network environment 290 which supports file pre-fetching.
  • the network environment 290 includes file server 292, caching device 296, network 294, and client 302.
  • File server 292 may be any component or collection of components configured to store files.
  • File server 292 may be a remote server which stores files to be accessed by remote clients, such as client 302.
  • Network 294 may be a WAN, a LAN, or another type of network. Files on file server 292 are accessed by client 302 over network 294.
  • Caching device 296 may be any component or collection of components configured to fetch files from files server 292 on behalf of client 302, and to cache the file so that the file may be accessed by client 302.
  • Caching device 296 may include fetching module 298 for fetching the files and cache 300 for storing the files. Files are downloaded across network 294 from file server 292. Fetching module 298 fetches files from file server to cache 300 over network 294, from file server 292 over network 294 to client 302, and from cache 300 to client 302.
  • Client 302 may correspond to any entity (e.g., an individual, office, company, etc. ) or group of entities (e.g., subscriber group, etc. ) that access files stored in file server 292.
  • caching device 296 may pre-fetch files and/or file updates from file server 292 prior to the files being re-accessed by client 302, and store the pre-fetched files in cache 300.
  • the files may be pre-fetched based on a project opened by client 302, and may be provided directly from cache 300 to client 302 upon being re-accessed by client 302.
  • FIG. 1 illustrates network environment 100 with a data center and a branch office which communicate over a WAN.
  • Data center 102 is coupled to branch office 104 via WAN 106.
  • Data center 102 contains file server 112, which may be a Windows or Unix file servers.
  • File server 112 stores files which may be remotely accessed.
  • Data is stored in storage 110 and tape backup 114 in data center 102.
  • WAN optimization box 116 performs WAN optimization to increase the data efficiency across WAN 106.
  • WANO techniques include optimization in throughput, bandwidth requirements, latency, protocol optimization, and congestion avoidance.
  • Firewall 118 protects the data center. Firewall 118 is a network security system which controls the incoming and outgoing network traffic.
  • Router 120 interacts between data center 102 and WAN 106, while router 122 interacts between WAN 106 and branch office 104. Routers 120 and 122 forward data packets between data center 102 and branch office 104.
  • WAN 106 is coupled to router 122 in branch office 104.
  • Firewall 124 protects branch office 104. Firewall 124 controls incoming and outgoing network traffic to provide security for branch office 104.
  • WANO box 126 The data is received by WANO box 126 and disseminated to clients 128.
  • WANO box 126 performs optimization to improve efficiency across WAN 106.
  • WANO box 126 contains cache for storing data.
  • WANO boxes 116 and 126 may be any devices configured to provide an interface to the WAN 106, and may include fetching modules and/or other components for performing the pre-fetching and optimization techniques provided by this disclosure.
  • Figure 3 illustrates message diagram 140 for read ahead caching of individual files.
  • Read ahead caching is performed on a per-file basis, where individual files are cached.
  • files are pre-fetched one at a time.
  • multiple files may be pre-fetched at a time.
  • the process begins when the client attempts to access a file, which prompts the caching device to send a file request to the file server to fetch a version of the file.
  • Client 142 sends an authentication and connection request to caching device 144.
  • Caching device 144 either authenticates or forwards the authentication and connection request to server 146.
  • server 146 sends a response to caching device 144, which caching device 144 forwards to client 142.
  • client 142 opens File 1 and requests to open the file. This request is sent to caching device 144 and passed on to server 146. Server 146 responds to caching device 144, and the response is sent to client 142. The file is then open.
  • Caching device 144 requests to read and read ahead from server 146 for file 1. Reading and disk input/output (IO) are performed on server 146 and the data is sent to caching device 144. Caching device 144 sends the read data to client 142. Also, caching device 144 pre-fetches on behalf of client 142 and performs read ahead.
  • IO disk input/output
  • Client 142 reopens and requests a response for file 2.
  • Client 142 receives data for read and read ahead for file 2. This request is sent to caching device 144 and passed on to server 146.
  • Server 146 responds to caching device 144, and the response is sent to client 142. The file is then open.
  • files are logically grouped together in a collection of files as project files or container files.
  • the project or container files contain the names and locations of the files in the project.
  • Some examples of project or container files are . NET project files (. vcxproj) , Eclipse project files (. project) , Rstudio (. rproj) , Qt project file (. pro) , AutoCAD project file (. wdp, . wdd) , Unix/Linus Makefile, A4desk (. a4p) , Adobe device (. adcp) , Anjuta integrated developer environment (IDE) (anjuta) , Borland developer studio (. bdsproj) , C#project file (.
  • Figures 4A-D illustrates some example project files.
  • Figure 4A illustrates . NET project file 150
  • Figure 4B illustrates C#project file 160
  • Figure 4C illustrates Borland project file 170
  • Figure 4D illustrates Makefile 180.
  • Figure 5 illustrates system 190 for pre-fetching project files.
  • the files are pre-fetched when a container file is opened, or one of the member files of a container file is opened.
  • System 190 detects a collection of files, and caches all the files in the associated project files.
  • open module 200 receives this request, and passes it on to plug-in manager 202.
  • the request may be to open a project file, a file associated with a project file, or a file not associated with a project file.
  • the file is already stored in cache.
  • the file is not stored in cache.
  • Plug-in manager 202 manages plug-ins 192.
  • Plug-in manager 202 is the master for plug-ins 192 and determines whether a file to be read is a recognized project file, associated with a recognized plug-in, or neither.
  • the type of plug-in for the format of the project file is determined, for example, based on a proprietary file format.
  • plug-in manager 202 passes the request to the correct plug-in, which parses the corresponding project file.
  • the plug-in has a parser for the appropriate container file, and extracts the file to be fetched.
  • the plug-in extracts the information from the project file, parses the information, prepares a list of complete file names, and passes it on to the plug-in manager.
  • the list of files is then passed to pre-fetch module 208.
  • the files are fetched and saved in cache. These files are pre-fetched and stored by cache module 212 in cache 214, local persistent cache.
  • the files are retrieved from remote server 204 over WAN 206 to be stored in cache 214.
  • the files are stored in local persistent cache 214.
  • read module 210 retrieves the files from cache module 212. If the file is stored in cache 214 in a current version, cache module 212 reads the file from cache 214 and passes the data to read module 210, which provides a fast response. When the current version of the file is not stored in cache, it may be downloaded over the network from the remote server.
  • Figure 6 illustrates flowchart 220 for a method of pre-fetching project files.
  • a user initiates a file open.
  • the user opens a file stored on a remote server.
  • the file may be a project file, a part of a project file, or a file not associated with a project file.
  • step 224 the open information is duplicated and sent to a plug-in manager.
  • the open information is sent to the plug-in manager to open the file and other files in the project file.
  • the plug-in manager performs validation.
  • the plug-in manager determines whether the plug-in is a project file or a part of a project file. When the file to be opened is not a part of a project file, only the file is opened. When the file to be opened is a project file or a part of a project file, the files in the project file are pre-fetched, because the user is likely to open them in the future.
  • the plug-in manager determines the appropriate plug-in to open the files.
  • the plug-in manager determines if the appropriate plug-in is available.
  • the plug-in manager may download, update, or delete a plug-in to obtain the appropriate plug-in.
  • the system does nothing in step 230.
  • the plug-in parses the project file in step 232.
  • a list of files to be pre-fetched is extracted by the plug-in in step 234.
  • all of the files in the project file are pre-fetched.
  • only a portion of the files are pre-fetched.
  • step 236 the project files are pre-fetched by the pre-fetch module.
  • the files from the list determined in step 234 are pre-fetched and stored in persistent cache 238.
  • the files may later be accessed from the cache.
  • the files may be quickly read from persistent cache 238.
  • the user initiates a read of file1 in step 240.
  • a read module verifies that the latest copy of the file is stored in cache 238 in step 242. There may be an older version of the file in the cache which is not the most current version. For example, a new version of the file may be updated on the remote server, but this new version has not yet been downloaded to the cache. Then, in step 244, it determines whether the local copy in cache is the latest version. When the latest copy is not stored in the cache, for example when the file has been updated, or if it was never pre-fetched, the system reads the file in step 248. The file is read across the WAN in step 250. This may lead to a delay.
  • the system reads the file, in step 246, from persistent cache 238. This may be performed quickly.
  • Figure 7 illustrates flowchart 310 for a method of pre-fetching files. Initially, in step 340, a user initiates opening a file.
  • step 316 the caching device determines whether the file is a container file. This may be done by determining whether the file is a proprietary container file. When the file is a part of a project file, the project file may be accessed. When the file is not a project file or a part of a project file, the caching device proceeds to step 314. When the file is a part of a project file or is a project file the caching device proceeds to step 318.
  • step 314 the caching device determines whether the file is already in cache. When the file is already in the cache, the system proceeds to step 326. On the other hand, when the file is not stored in the cache, the system proceeds to step 324.
  • the caching device fetches a single file over a network in step 324.
  • the network may be a WAN, or another network.
  • the single file is read in over the network from a remote server. Also, the file is saved in cache for later access.
  • the caching device determines whether the version of the file in the cache is the latest version of the file.
  • the system reads the file from the cache in step 328.
  • the system fetches the file over the network in step 324. In this case, the file is opened with some delay.
  • the file is also stored in the cache for later access.
  • the caching device determines an appropriate plug-in for the project file, and that the plug-in is available.
  • the plug-in manager examines the container file, and determines whether an appropriate plug-in is available. It may add a new plug-in, update an existing plug-in, or delete a plug-in as necessary.
  • the system does not pre-fetch the project files in step 330.
  • the appropriate plug-in is available, the system proceeds to step 320.
  • the caching device extracts the files from the container file.
  • the container file is parsed and the files are extracted to create a list of files.
  • the list may contain the name of the files and their locations.
  • step 322 the files are pre-fetched over the network.
  • the user initiates a read of one of the files in the container file, it may be quickly read from cache.
  • pre-fetching the file refers to the action of fetching an electronic file without being prompted to do so by a client attempting to access the electronic file.
  • file is used loosely to refer to any object (e.g., file content) having a common characteristic or classification, and therefore the phrase “pre-fetching the file” should not be interpreted as implying that the electronic file being fetched is identical to “the [electronic] file” that was previously accessed by the client.
  • the file being pre-fetched may be an updated version of an electronic file that was previously accessed by the client.
  • the file being pre-fetched may be a new instance of a recurring electronic file type that was previously accessed by the client, e.g., a periodic earnings report, an agenda, etc.
  • the client may not have accessed any version of the electronic file being pre-fetched.
  • the client is a newspaper editor that edits a final draft of the Tuesday’s Sports Section, and that the caching device pre-fetches an electronic version of a final draft of Wednesday’s Sport Section.
  • the phrase “prefetching the file” should be interpreted to encompass such a situation even though the content of Wednesday’s Sports Section differs from that of Tuesday’s Sports Section, as (in this instance) “the file” refers to a type or classification associated with Tuesday’s and Wednesday’s Sports Section, rather than the specific content of Tuesday’s Sports Section.
  • FIG. 8 illustrates a block diagram of processing system 270 that may be used for implementing the devices and methods disclosed herein.
  • Specific devices may utilize all of the components shown, or only a subset of the components, and levels of integration may vary from device to device.
  • a device may contain multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc.
  • the processing system may comprise a processing unit equipped with one or more input devices, such as a microphone, mouse, touchscreen, keypad, keyboard, and the like.
  • processing system 270 may be equipped with one or more output devices, such as a speaker, a printer, a display, and the like.
  • the processing unit may include central processing unit (CPU) 274, memory 276, mass storage device 278, video adapter 280, and I/O interface 288 connected to a bus.
  • CPU central processing unit
  • the bus may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, video bus, or the like.
  • CPU 274 may comprise any type of electronic data processor.
  • Memory 276 may comprise any type of system memory such as static random access memory (SRAM) , dynamic random access memory (DRAM) , synchronous DRAM (SDRAM) , read-only memory (ROM) , a combination thereof, or the like.
  • the memory may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs.
  • Mass storage device 278 may comprise any type of storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus. Mass storage device 278 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, an optical disk drive, or the like.
  • Video adaptor 280 and I/O interface 288 provide interfaces to couple external input and output devices to the processing unit.
  • input and output devices include the display coupled to the video adapter and the mouse/keyboard/printer coupled to the I/O interface.
  • Other devices may be coupled to the processing unit, and additional or fewer interface cards may be utilized.
  • a serial interface card (not pictured) may be used to provide a serial interface for a printer.
  • the processing unit also includes one or more network interface 284, which may comprise wired links, such as an Ethernet cable or the like, and/or wireless links to access nodes or different networks.
  • Network interface 284 allows the processing unit to communicate with remote units via the networks.
  • the network interface may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas.
  • the processing unit is coupled to a local-area network or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, remote storage facilities, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Conformément à un mode de réalisation, l'invention concerne un procédé pour pré-extraire des fichiers, lequel procédé consiste à analyser un fichier de projet pour produire un fichier de projet analysé et à extraire une pluralité de fichiers à partir du fichier de projet analysé pour produire une liste de fichiers. Le procédé consiste également à extraire, par un dispositif de mise en cache à partir d'un serveur de fichier sur un réseau, la pluralité de fichiers conformément à la liste de fichiers et à stocker la pluralité de fichiers dans un cache.
EP15795947.9A 2014-05-22 2015-05-20 Système et procédé de pré-extraction Withdrawn EP3134833A4 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/285,204 US20150341460A1 (en) 2014-05-22 2014-05-22 System and Method for Pre-fetching
PCT/CN2015/079385 WO2015176659A1 (fr) 2014-05-22 2015-05-20 Système et procédé de pré-extraction

Publications (2)

Publication Number Publication Date
EP3134833A1 true EP3134833A1 (fr) 2017-03-01
EP3134833A4 EP3134833A4 (fr) 2017-04-19

Family

ID=54553433

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15795947.9A Withdrawn EP3134833A4 (fr) 2014-05-22 2015-05-20 Système et procédé de pré-extraction

Country Status (4)

Country Link
US (1) US20150341460A1 (fr)
EP (1) EP3134833A4 (fr)
CN (1) CN106462610A (fr)
WO (1) WO2015176659A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445290B1 (en) * 2014-10-29 2019-10-15 Cadence Design Systems, Inc. System and method for a smart configurable high performance interactive log file viewer
CN112866356B (zh) * 2021-01-04 2023-02-24 成都知道创宇信息技术有限公司 Cdn缓存方法、装置及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985936B2 (en) * 2001-09-27 2006-01-10 International Business Machines Corporation Addressing the name space mismatch between content servers and content caching systems
US7181574B1 (en) * 2003-01-30 2007-02-20 Veritas Operating Corporation Server cluster using informed prefetching
US7734690B2 (en) * 2003-09-05 2010-06-08 Microsoft Corporation Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system
US20050069225A1 (en) * 2003-09-26 2005-03-31 Fuji Xerox Co., Ltd. Binding interactive multichannel digital document system and authoring tool
WO2006031921A2 (fr) * 2004-09-15 2006-03-23 Adesso Systems, Inc. Systeme et procede pour la gestion de donnees dans un systeme informatique distribue
US8099400B2 (en) * 2006-08-18 2012-01-17 National Instruments Corporation Intelligent storing and retrieving in an enterprise data system
US20090049108A1 (en) * 2007-07-17 2009-02-19 Gridiron Software Inc. Method and apparatus for workflow versioning
US7865468B2 (en) * 2008-02-29 2011-01-04 International Business Machines Corporation Prefetching remote files on local disk space
US20110066676A1 (en) * 2009-09-14 2011-03-17 Vadim Kleyzit Method and system for reducing web page download time
CN101814038B (zh) * 2010-03-23 2012-10-03 杭州顺网科技股份有限公司 一种加快计算机启动速度的方法
US9811532B2 (en) * 2010-05-03 2017-11-07 Panzura, Inc. Executing a cloud command for a distributed filesystem
US8788628B1 (en) * 2011-11-14 2014-07-22 Panzura, Inc. Pre-fetching data for a distributed filesystem
US9128626B2 (en) * 2010-10-01 2015-09-08 Peter Chacko Distributed virtual storage cloud architecture and a method thereof
US10963584B2 (en) * 2011-06-08 2021-03-30 Workshare Ltd. Method and system for collaborative editing of a remotely stored document
CN102541985A (zh) * 2011-10-25 2012-07-04 曙光信息产业(北京)有限公司 一种分布式文件系统中客户端目录缓存的组织方法
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution

Also Published As

Publication number Publication date
CN106462610A (zh) 2017-02-22
WO2015176659A1 (fr) 2015-11-26
EP3134833A4 (fr) 2017-04-19
US20150341460A1 (en) 2015-11-26

Similar Documents

Publication Publication Date Title
US11297159B2 (en) Extensible, asynchronous, centralized analysis and optimization of server responses to client requests
US11095494B2 (en) Methods and systems for implementing a cache model in a prefetching system
US20220006878A1 (en) Method and apparatus for reducing loading time of web pages
US10735322B2 (en) Accelerating HTTP responses in a client/server environment
JP6438037B2 (ja) 通知ベースの無効化を伴うコンテンツのキャッシングのためのシステム及び方法
EP3172680B1 (fr) Rendu rapide de sites web contenant un contenu dynamique et un contenu obsolète
US9460229B2 (en) Methods and systems for implementing a cache model in a prefetching system
US8910132B2 (en) Client-side script bundle management system
US9077681B2 (en) Page loading optimization using page-maintained cache
US8156429B2 (en) Method and system for accelerating downloading of web pages
US9253278B2 (en) Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic
US20110066676A1 (en) Method and system for reducing web page download time
US20110099294A1 (en) Dynamically rehosting web content
US20100299676A1 (en) Selectively updating web pages on a mobile client
US20070067569A1 (en) Method and system for communicating validation information to a web cache
CN103716319A (zh) 一种Web访问优化的装置和方法
US9330100B2 (en) Protocol independent mirroring
US10187319B1 (en) Automatic configuration generation for a proxy optimization server for optimizing the delivery of content of a web publisher
WO2015176659A1 (fr) Système et procédé de pré-extraction
US9253244B1 (en) Subscription based polling for resource updates
US20110302241A1 (en) Reproducing a graphical user interface display
US20240086844A1 (en) Canonical model for product development
Wrzeszcz et al. Harmonizing sequential and random access to datasets in organizationally distributed environments
US10701174B2 (en) Resource requests
US20210173878A1 (en) Systems and methods of incremented aggregated data retrieval

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20161123

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

A4 Supplementary search report drawn up and despatched

Effective date: 20170320

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 17/30 20060101AFI20170314BHEP

RIN1 Information on inventor provided before grant (corrected)

Inventor name: ZHAO, JIM

Inventor name: KOVVURI, VAISHNAV

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20180221

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20190225