US20100281224A1 - Prefetching content from incoming messages - Google Patents

Prefetching content from incoming messages Download PDF

Info

Publication number
US20100281224A1
US20100281224A1 US12/434,100 US43410009A US2010281224A1 US 20100281224 A1 US20100281224 A1 US 20100281224A1 US 43410009 A US43410009 A US 43410009A US 2010281224 A1 US2010281224 A1 US 2010281224A1
Authority
US
United States
Prior art keywords
content
cached
resource link
prefetched
resource
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.)
Abandoned
Application number
US12/434,100
Inventor
Wesley Janming Ho
Jeffrey Kevin Price
Stanley Carroll Wood
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.)
Kyndryl Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to US12/434,100 priority Critical patent/US20100281224A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HO, WESLEY J., PRICE, JEFFREY K., WOOD, STANLEY C.
Publication of US20100281224A1 publication Critical patent/US20100281224A1/en
Priority to US13/686,554 priority patent/US9454506B2/en
Priority to US15/241,483 priority patent/US10264094B2/en
Assigned to KYNDRYL, INC. reassignment KYNDRYL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/602Details relating to cache prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Definitions

  • the present invention relates in general to computer systems, and in particular to electronic messaging systems. Still more particularly, the present invention relates to a system for prefetching content from incoming messages.
  • the referenced content may include large files to download, new articles, and multimedia content, for example.
  • senders may transmit large files by storing the files on a network server and sending a resource link in an email or instant message to bypass size constraints on email and instant message sizes.
  • a computer receives an incoming message containing one or more resource links. The computer may then determine if the resource links contained in the incoming message are likely to be accessed. In response to determining that one or more of the resource links are likely to be accessed, the logic determines if the target content of the resource link has previously been cached, and if any previously cached data is current. In response to determining that the requested content has not previously been cached, or is not current, the logic begins downloading the requested content for local consumption by the user. When the cached content is requested, the cached data is provided to the user. Upon receiving requests for the cached content from other connected client terminals, the cached content may also be served to the other requesting client terminals.
  • FIG. 1 is a block diagram of a computing device in which the present invention may be implemented.
  • FIG. 2 is a block diagram of an exemplary system for prefetching content from incoming messages on a computer.
  • FIG. 3 is a diagram of an exemplary system for prefetching content from incoming messages on a proxy server.
  • FIG. 4 is a high-level logical flowchart of an exemplary method for prefetching content from incoming messages.
  • the illustrative embodiments provide a method, system, and computer program product for prefetching content linked in an incoming message.
  • Computer 102 includes a processor 104 that is coupled to a system bus 106 .
  • a transceiver 110 connected to system bus 106 , enables Computer 102 to connect to network 142 , an internet 144 , and client terminals 302 a - n via wired or wireless mechanisms.
  • System bus 106 also affords communication with a hardware-based readable storage medium 112 (e.g., Compact Disk-Read Only Memory (CD-ROM), flash drive memory, etc).
  • CD-ROM Compact Disk-Read Only Memory
  • I/O Interface 114 also connected to system bus 106 , permits user interaction with Computer 102 , such as data entry via keyboard 116 or Mouse 117 .
  • Display 118 enables the viewing of content and a general user interface (including text and graphics) for use by a user of Computer 102 .
  • Computer 102 also comprises system storage 124 , which is connected to system bus 106 .
  • System Storage 124 comprises prefetch cache data 126 and preferences 128 .
  • Preferences 128 may contain prefetch history information and user defined preferences for prefetching content linked in an incoming message
  • Computer 102 also comprises system memory 118 , which is connected to system bus 106 .
  • system memory 118 also comprises prefetch logic 120 , web browser 150 , email client 151 , instant messaging client 153 , prefetch plug-ins 154 a - n , and operating system 155 .
  • Prefetch logic 120 includes code for implementing the processes described in FIGS. 2-5 .
  • Prefetch logic 120 may directly integrate with email client 151 and instant messaging client 153 by an installed prefetch plug-in 154 a - n .
  • prefetch logic 120 may be integrated at an operating system level.
  • Computer 102 is able to utilize prefetch logic 120 to prefetch resource link content of an incoming message, as described in greater detail below in FIGS. 2-4 .
  • Computer 102 may be any computing device having the required hardware components and programmed with prefetch logic 120 , executing on the processor to provide the functionality of the invention.
  • the hardware elements depicted in Computer 102 are not intended to be exhaustive, but rather are representative to highlight essential components required by and/or utilized to implement the present invention.
  • Computer 102 may include alternate memory storage devices such as magnetic cassettes, Digital Versatile Disks (DVDs), Bernoulli cartridges, and the like. These alternate configurations of components and other variations are intended to be within the spirit and scope of the present invention.
  • FIG. 2 there is illustrated an exemplary system for prefetching resource link content of an incoming message, in accordance with one embodiment of the invention.
  • An incoming message may be any message, such as an email, instant message, system notification, etc.
  • a resource link may be any link to content, such as a Uniform Resource Locator (URL).
  • prefetch logic 120 scans the incoming message for resource links.
  • the prefetch logic 120 determines if the resource links are likely to be accessed by a user of Computer 102 , by referencing locally stored preferences (e.g., preferences 128 , FIG. 1 ) and by determining relevance of each resource link target. For example, prefetch logic 120 may determine if a destination of a resource link points to relevant files, or if the resource link is merely pointing to a corporate website (e.g., a resource link in a sender's email signature).
  • a destination of a resource link points to relevant files, or if the resource link is merely pointing to a corporate website (e.g., a resource link in a sender's email signature).
  • Prefetch logic 120 may also consider other factors (autonomously, or by accessing stored preferences or data), such as historical access data, time of day, connectivity to a preferred network, system resources, user resources, access permissions, and the linked content of the a specific resource link to determine the probability of access of that specific resource link. Additionally, the locally stored preferences may indicate only to prefetch a resource link target pointing to a specific file type. In an alternate embodiment, prefetch logic 120 may reference past prefetch history to determine if a resource link has been clicked before.
  • prefetch logic 120 After determining that a target of a received resource link is likely to be accessed by a user of Computer 102 , prefetch logic 120 checks a prefetch cache data (e.g., prefetch cache data 126 ) to determine if the target of the resource link has been previously cached. Additionally when existing prefetch cache data of the target of the resource link has been detected, prefetch logic 120 may compare the stored prefetch cache data with the target of the resource link to determine if the stored prefetch cache data is current. In one embodiment, prefetch logic may compare characteristics (e.g. file size, checksum, date stamp) of the target of a resource link with the stored cache data to determine if the cache data is current.
  • characteristics e.g. file size, checksum, date stamp
  • the target of the resource link may be prefetched by prefect logic 120 into system storage (e.g., system storage 124 ).
  • Prefetched cache data may be stored locally on Computer 102 , or, in an alternate embodiment, on a proxy server with local access or a network drive, and may include, files, multimedia content.
  • prefetched data may be immediately downloaded to Computer 102 when a suitable network connection is available. In this manner, the prefetch data may then be accessed when the computer is not connected to the network from which the data is downloaded (e.g., network 142 ).
  • prefetch logic 120 Upon detecting that a user has requested access to the target of the resource link, prefetch logic 120 provides the cached content to the user.
  • prefetched content stored on a local storage may be provided when a computer is functioning in an offline mode (without a network connection). In this manner prefetched content in available for access on Computer 102 when the user is offline. In on example, this may facilitate a user accessing an attachment file of an email that was previously received by Computer 102 but was not accessed until after Computer 102 was already in an offline mode.
  • Computer 102 is functioning as a proxy server connected to one or more client terminals 302 a - n .
  • Incoming messages are scanned by prefetch logic 120 of Computer 102 for resource links before delivering the incoming messages to an intended Client Terminal 302 a - n .
  • the target data of a resource link is stored as cached content 306 on Computer 102 and may be served to Client Terminals 302 a - n upon request. This method facilitates more efficient use of a network connection by only downloading a target data of a resource link once instead of once each time a link is clicked by a user.
  • Computer 102 pre-caches the file initially, and serves the cached content 306 each client terminal 302 a - n upon request instead of allowing each client terminal 302 a - n to download the cached content from a content provider (not pictured).
  • the computer receives an incoming message.
  • the prefetch logic (of the computer) scans the incoming message for resource links.
  • the computer determines the likelihood that each detected resource link is accessed (block 420 ).
  • the process terminates (block 460 ).
  • the computer determines if the target of each of the resource links determined likely to be accessed has already been cached (block 430 ). In the event that the target of a resource link has not previously been cached, the target of the resource link is downloaded and locally cached on the computer (block 434 ).
  • the computer determines if the cached data is current by comparing the cached data with the target data of the resource link (block 432 ). When the cached data is not current, Computer 102 locally downloads the target of the resource link to a local storage (block 434 ).
  • the computer Upon receiving a request from a user to access the target of the resource link (block 450 ), the computer serves the cached content to the user (block 452 ). The process then ends at terminator block 460 .
  • one or more of the methods are embodied such that a series of steps are performed when the computer readable code is executed on a computing device.
  • certain steps of the methods are combined, performed simultaneously or in a different order, or perhaps omitted, without deviating from the spirit and scope of the invention.
  • the method steps are described and illustrated in a particular sequence, use of a specific sequence of steps is not meant to imply any limitations on the invention. Changes may be made with regards to the sequence of steps without departing from the spirit or scope of the present invention. Use of a particular sequence is therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
  • aspects of the present invention have been described with respect to a computer processor and program application/logic, it should be understood that at least some aspects of the present invention may alternatively be implemented as a program product for use with a data storage system or computer system.
  • Programs defining functions of the present invention can be delivered to a data storage system or computer system via a variety of signal-bearing media, which include, without limitation, non-writable storage media (e.g. CD-ROM), writable storage media (e.g. network attached storages, hard disk drive, read/write CD-ROM, optical media), and communication media, such as computer and telephone networks including Ethernet.
  • non-writable storage media e.g. CD-ROM
  • writable storage media e.g. network attached storages, hard disk drive, read/write CD-ROM, optical media
  • communication media such as computer and telephone networks including Ethernet.

Abstract

A method, system, and computer program product for prefetching content from incoming messages. A computer receives an incoming message containing one or more resource links. The computer may then determine if the resource links contained in the incoming message are likely to be accessed. In response to determining that one or more of the resource links are likely to be accessed, the logic determines if the target content of the resource link has previously been cached, and if any previously cached data is current. In response to determining that the requested content has not previously been cached, or is not current, the logic begins downloading the requested content for local consumption. When the cached content is requested, the cached data is provided to the user. Upon receiving requests for the cached content from other connected client terminals, the cached content may also be served to the other requesting client terminals.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention relates in general to computer systems, and in particular to electronic messaging systems. Still more particularly, the present invention relates to a system for prefetching content from incoming messages.
  • 2. Description of the Related Art
  • Computer users often receive email, instant messages, and other message types which links to remotely stored content. The referenced content may include large files to download, new articles, and multimedia content, for example. In one instance, senders may transmit large files by storing the files on a network server and sending a resource link in an email or instant message to bypass size constraints on email and instant message sizes.
  • After eventually clicking a resource links, users may be required to wait for a considerable amount of time while the actual content downloads. This is especially true if the user is mobile and connecting via a wireless connection with limited bandwidth and/or a slower connection speed. Additionally, a same resource link may be sent to multiple users with each user selecting to download a same content. This wastes bandwidth as several computers are simultaneously downloading the same content from a remote location. Furthermore, if the user is processing electronic mail while in a disconnected mode, the referenced content may not be available at all.
  • SUMMARY OF THE INVENTION
  • Disclosed is a method, system, and computer program product for prefetching content from incoming messages. A computer receives an incoming message containing one or more resource links. The computer may then determine if the resource links contained in the incoming message are likely to be accessed. In response to determining that one or more of the resource links are likely to be accessed, the logic determines if the target content of the resource link has previously been cached, and if any previously cached data is current. In response to determining that the requested content has not previously been cached, or is not current, the logic begins downloading the requested content for local consumption by the user. When the cached content is requested, the cached data is provided to the user. Upon receiving requests for the cached content from other connected client terminals, the cached content may also be served to the other requesting client terminals.
  • The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, will best be understood by reference to the following detailed descriptions of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
  • FIG. 1 is a block diagram of a computing device in which the present invention may be implemented.
  • FIG. 2 is a block diagram of an exemplary system for prefetching content from incoming messages on a computer.
  • FIG. 3 is a diagram of an exemplary system for prefetching content from incoming messages on a proxy server.
  • FIG. 4 is a high-level logical flowchart of an exemplary method for prefetching content from incoming messages.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • The illustrative embodiments provide a method, system, and computer program product for prefetching content linked in an incoming message.
  • In the following detailed description of exemplary embodiments of the invention, specific exemplary embodiments in which the invention may be practiced are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, architectural, programmatic, mechanical, electrical and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
  • It is understood that the use of specific component, device and/or parameter names are for example only and not meant to imply any limitations on the invention. The invention may thus be implemented with different nomenclature/terminology utilized to describe the components/devices/parameters herein, without limitation. Each term utilized herein is to be given its broadest interpretation given the context in which that term is utilized.
  • With reference now to FIG. 1, there is depicted a block diagram of a computing device in which the present invention may be implemented. Computer 102 includes a processor 104 that is coupled to a system bus 106. A transceiver 110, connected to system bus 106, enables Computer 102 to connect to network 142, an internet 144, and client terminals 302 a-n via wired or wireless mechanisms. System bus 106 also affords communication with a hardware-based readable storage medium 112 (e.g., Compact Disk-Read Only Memory (CD-ROM), flash drive memory, etc). Input/Output (I/O) Interface 114, also connected to system bus 106, permits user interaction with Computer 102, such as data entry via keyboard 116 or Mouse 117. Display 118 enables the viewing of content and a general user interface (including text and graphics) for use by a user of Computer 102.
  • Computer 102 also comprises system storage 124, which is connected to system bus 106. System Storage 124 comprises prefetch cache data 126 and preferences 128. Preferences 128 may contain prefetch history information and user defined preferences for prefetching content linked in an incoming message
  • Computer 102 also comprises system memory 118, which is connected to system bus 106. As shown, system memory 118 also comprises prefetch logic 120, web browser 150, email client 151, instant messaging client 153, prefetch plug-ins 154 a-n, and operating system 155. Prefetch logic 120 includes code for implementing the processes described in FIGS. 2-5. In one embodiment, Prefetch logic 120 may directly integrate with email client 151 and instant messaging client 153 by an installed prefetch plug-in 154 a-n. In an alternate embodiment, prefetch logic 120 may be integrated at an operating system level. In one embodiment, Computer 102 is able to utilize prefetch logic 120 to prefetch resource link content of an incoming message, as described in greater detail below in FIGS. 2-4.
  • As illustrated and described herein, Computer 102 may be any computing device having the required hardware components and programmed with prefetch logic 120, executing on the processor to provide the functionality of the invention. The hardware elements depicted in Computer 102 are not intended to be exhaustive, but rather are representative to highlight essential components required by and/or utilized to implement the present invention. For instance, Computer 102 may include alternate memory storage devices such as magnetic cassettes, Digital Versatile Disks (DVDs), Bernoulli cartridges, and the like. These alternate configurations of components and other variations are intended to be within the spirit and scope of the present invention.
  • With reference now to FIG. 2, there is illustrated an exemplary system for prefetching resource link content of an incoming message, in accordance with one embodiment of the invention. The illustrative embodiment is described from the perspective of Computer 102 receiving an incoming message and subsequently prefetching content 206 linked in the incoming message. An incoming message may be any message, such as an email, instant message, system notification, etc. A resource link may be any link to content, such as a Uniform Resource Locator (URL). Upon receiving an incoming message, prefetch logic 120 scans the incoming message for resource links.
  • When resource links are detected, the prefetch logic 120 determines if the resource links are likely to be accessed by a user of Computer 102, by referencing locally stored preferences (e.g., preferences 128, FIG. 1) and by determining relevance of each resource link target. For example, prefetch logic 120 may determine if a destination of a resource link points to relevant files, or if the resource link is merely pointing to a corporate website (e.g., a resource link in a sender's email signature). Prefetch logic 120 may also consider other factors (autonomously, or by accessing stored preferences or data), such as historical access data, time of day, connectivity to a preferred network, system resources, user resources, access permissions, and the linked content of the a specific resource link to determine the probability of access of that specific resource link. Additionally, the locally stored preferences may indicate only to prefetch a resource link target pointing to a specific file type. In an alternate embodiment, prefetch logic 120 may reference past prefetch history to determine if a resource link has been clicked before.
  • After determining that a target of a received resource link is likely to be accessed by a user of Computer 102, prefetch logic 120 checks a prefetch cache data (e.g., prefetch cache data 126) to determine if the target of the resource link has been previously cached. Additionally when existing prefetch cache data of the target of the resource link has been detected, prefetch logic 120 may compare the stored prefetch cache data with the target of the resource link to determine if the stored prefetch cache data is current. In one embodiment, prefetch logic may compare characteristics (e.g. file size, checksum, date stamp) of the target of a resource link with the stored cache data to determine if the cache data is current. When the prefetch cache data is not current or prefetch cache data is not detected for the target, the target of the resource link may be prefetched by prefect logic 120 into system storage (e.g., system storage 124). Prefetched cache data may be stored locally on Computer 102, or, in an alternate embodiment, on a proxy server with local access or a network drive, and may include, files, multimedia content. In the main embodiment, prefetched data may be immediately downloaded to Computer 102 when a suitable network connection is available. In this manner, the prefetch data may then be accessed when the computer is not connected to the network from which the data is downloaded (e.g., network 142). Upon detecting that a user has requested access to the target of the resource link, prefetch logic 120 provides the cached content to the user.
  • In an alternate embodiment prefetched content stored on a local storage may be provided when a computer is functioning in an offline mode (without a network connection). In this manner prefetched content in available for access on Computer 102 when the user is offline. In on example, this may facilitate a user accessing an attachment file of an email that was previously received by Computer 102 but was not accessed until after Computer 102 was already in an offline mode.
  • With reference now to FIG. 3, there is illustrated an exemplary system for prefetching content from incoming messages from a proxy server. In this embodiment, Computer 102 is functioning as a proxy server connected to one or more client terminals 302 a-n. Incoming messages are scanned by prefetch logic 120 of Computer 102 for resource links before delivering the incoming messages to an intended Client Terminal 302 a-n. In this embodiment the target data of a resource link is stored as cached content 306 on Computer 102 and may be served to Client Terminals 302 a-n upon request. This method facilitates more efficient use of a network connection by only downloading a target data of a resource link once instead of once each time a link is clicked by a user. For example, an email sent to a department of 10 persons contained a link to a spreadsheet file stored on a corporate website that each member of the department requires to complete a daily task. Rather than individually allow each department member to download the content 206 from the corporate website upon each click, Computer 102 pre-caches the file initially, and serves the cached content 306 each client terminal 302 a-n upon request instead of allowing each client terminal 302 a-n to download the cached content from a content provider (not pictured).
  • With reference now to FIG. 4, there is provided a high-level flow chart of an exemplary method for prefetching content from incoming messages. At block 402, the computer receives an incoming message. At block 404 the prefetch logic (of the computer) scans the incoming message for resource links. In response to detecting resource links in the incoming message (block 410), the computer then determines the likelihood that each detected resource link is accessed (block 420). When the computer determines that the resource links are not likely to be accessed, or that the incoming message does not contain resource links, the process terminates (block 460).
  • Upon determining that one or more resource links of the incoming message are likely to be accessed, the computer determines if the target of each of the resource links determined likely to be accessed has already been cached (block 430). In the event that the target of a resource link has not previously been cached, the target of the resource link is downloaded and locally cached on the computer (block 434).
  • When the computer determines that the target of a resource link has been cached, the computer determines if the cached data is current by comparing the cached data with the target data of the resource link (block 432). When the cached data is not current, Computer 102 locally downloads the target of the resource link to a local storage (block 434).
  • Upon receiving a request from a user to access the target of the resource link (block 450), the computer serves the cached content to the user (block 452). The process then ends at terminator block 460.
  • In the flow charts above, one or more of the methods are embodied such that a series of steps are performed when the computer readable code is executed on a computing device. In some implementations, certain steps of the methods are combined, performed simultaneously or in a different order, or perhaps omitted, without deviating from the spirit and scope of the invention. Thus, while the method steps are described and illustrated in a particular sequence, use of a specific sequence of steps is not meant to imply any limitations on the invention. Changes may be made with regards to the sequence of steps without departing from the spirit or scope of the present invention. Use of a particular sequence is therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
  • Although aspects of the present invention have been described with respect to a computer processor and program application/logic, it should be understood that at least some aspects of the present invention may alternatively be implemented as a program product for use with a data storage system or computer system. Programs defining functions of the present invention can be delivered to a data storage system or computer system via a variety of signal-bearing media, which include, without limitation, non-writable storage media (e.g. CD-ROM), writable storage media (e.g. network attached storages, hard disk drive, read/write CD-ROM, optical media), and communication media, such as computer and telephone networks including Ethernet. It should be understood, therefore, that such signal-bearing media, when carrying or encoding computer readable instructions that direct method functions of the present invention, represent alternative embodiments of the present invention. Further, it is understood that the present invention may be implemented by a system having means in the form of hardware, software, or a combination of software and hardware as described herein or their equivalent.
  • Having thus described the invention of the present application in detail and by reference to illustrative embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims. In addition, many modifications may be made to adapt a particular system, device or component thereof to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.

Claims (20)

1. A method for prefetching content from incoming messages, the method comprising:
receiving, at a computer, an incoming message;
scanning the incoming message for one or more resource links;
in response to detecting one or more resource links, determining the likelihood of receiving a request to access each of the detected one or more resource links;
in response to determining that a request will likely be received to access the detected one or more resource links, prefetching content of the one or more resource links; and
in response to subsequently receiving a request for access to the resource link content, serving the cached prefetched resource link content.
2. The method of claim 1, wherein the prefetching further comprises:
determining if the content contained in the prefetched resource link has previously been cached.
3. The method of claim 2, further comprising:
in response to determining that the prefetched resource link content has previously been cached, determining if the prefetched resource link content is current; and
in response to determining that the prefetched resource link content is not current, caching the prefetched resource link content.
4. The method of claim 1, further comprising, in response to receiving one or more requests from one or more other computers for access to the resource link content, serving the cached prefetched resource link content to each of the requesting one or more other computers.
5. The method of claim 1, wherein the cached prefetched resource link content is made available for local consumption.
6. The method of claim 1, wherein the cached prefetched resource link content is stored on a proxy server, wherein content cached to a proxy server may be received by a plurality of client devices, and each client receives the prefetched resource link content via the proxy server rather than an original content source.
7. The method of claim 1, further comprising, in response to determining that the incoming message contains a file attachment, caching the file attachment.
8. A system comprising:
a processor;
a mechanism for connecting to a network;
a memory coupled to the processor;
processing logic for:
receiving, at a computer, an incoming message;
scanning the incoming message for one or more resource links;
in response to detecting one or more resource links, determining the likelihood of receiving a request to access each of the detected one or more resource links;
in response to determining that a request will likely be received to access the detected one or more resource links, prefetching content of the one or more resource links; and
in response to subsequently receiving a request for access to the resource link content, serving the cached prefetched resource link content.
9. The system of claim 8, wherein the prefetching further comprises:
determining if the content contained in the prefetched resource link has previously been cached.
10. The system of claim 9, the processing logic further comprising logic for:
in response to determining that the prefetched resource link content has previously been cached, determine if the prefetched resource link content is current; and
in response to determining that the prefetched resource link content is not current, cache the prefetched resource link content.
11. The system of claim 8, the processing logic further comprising logic for, in response to receiving one or more requests from one or more other computers for access to the resource link content, serving the cached prefetched resource link content to each of the requesting one or more other computers.
12. The system of claim 8, wherein the cached prefetched resource link content is made available for local consumption.
13. The system of claim 8, wherein the cached prefetched resource link content is stored on a proxy server, wherein content cached to a proxy server may be received by a plurality of client devices, and each client receives the prefetched resource link content via the proxy server rather than an original content source.
14. The system of claim 8, the processing logic further comprising logic for, in response to determining that the incoming message contains a file attachment, caching the file attachment.
15. A computer-readable storage medium having a plurality of instructions embodied therein, wherein the plurality of instructions, when executed by a processing device, allows a machine to:
receive, at a computer, an incoming message;
scan the incoming message for one or more resource links;
in response to detecting one or more resource links, determine the likelihood of receiving a request to access each of the detected one or more resource links;
determine if the content contained in the prefetched resource link has previously been cached;
in response to determining that a request will likely be received to access the detected one or more resource links and that the content contained in the prefetched resource link has not previously been cached, prefetch content of the one or more resource links; and
in response to subsequently receiving a request for access to the resource link content, serve the cached prefetched resource link content.
16. The computer-readable storage medium of claim 15, wherein the prefetching further comprising instructions for enabling the machine to, in response to receiving one or more requests from one or more other computers for access to the resource link content, serve the cached prefetched resource link content to each of the requesting one or more other computers.
17. The computer-readable storage medium of claim 16, the plurality of instructions further comprising instructions for enabling the machine to:
in response to determining that the prefetched resource link content has previously been cached, determine if the prefetched resource link content is current;
in response to determining that the prefetched resource link content is not current, cache the prefetched resource link content; and
in response to subsequently receiving a request for access to the resource link content, serve the cached prefetched resource link content.
18. The computer-readable storage medium of claim 15, wherein the cached prefetched resource link content is made available for local consumption.
19. The computer-readable storage medium of claim 15, wherein the cached prefetched resource link content is stored on a proxy server, wherein content cached to a proxy server may be received by a plurality of client devices, and each client receives the prefetched resource link content via the proxy server rather than an original content source.
20. The computer-readable storage medium of claim 15, the plurality of instructions further comprising instructions for enabling the machine to, in response to determining that the incoming message contains a file attachment, caching the file attachment.
US12/434,100 2009-05-01 2009-05-01 Prefetching content from incoming messages Abandoned US20100281224A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/434,100 US20100281224A1 (en) 2009-05-01 2009-05-01 Prefetching content from incoming messages
US13/686,554 US9454506B2 (en) 2009-05-01 2012-11-27 Managing cache at a computer
US15/241,483 US10264094B2 (en) 2009-05-01 2016-08-19 Processing incoming messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/434,100 US20100281224A1 (en) 2009-05-01 2009-05-01 Prefetching content from incoming messages

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/686,554 Continuation US9454506B2 (en) 2009-05-01 2012-11-27 Managing cache at a computer

Publications (1)

Publication Number Publication Date
US20100281224A1 true US20100281224A1 (en) 2010-11-04

Family

ID=43031262

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/434,100 Abandoned US20100281224A1 (en) 2009-05-01 2009-05-01 Prefetching content from incoming messages
US13/686,554 Expired - Fee Related US9454506B2 (en) 2009-05-01 2012-11-27 Managing cache at a computer
US15/241,483 Active 2029-05-08 US10264094B2 (en) 2009-05-01 2016-08-19 Processing incoming messages

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/686,554 Expired - Fee Related US9454506B2 (en) 2009-05-01 2012-11-27 Managing cache at a computer
US15/241,483 Active 2029-05-08 US10264094B2 (en) 2009-05-01 2016-08-19 Processing incoming messages

Country Status (1)

Country Link
US (3) US20100281224A1 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100278443A1 (en) * 2009-04-30 2010-11-04 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
US20110295979A1 (en) * 2010-05-28 2011-12-01 Strangeloop Networks Inc. Accelerating HTTP Responses In A Client/Server Environment
US20120278402A1 (en) * 2011-04-28 2012-11-01 Microsoft Corporation Presenting links to content as attachments in electronic messages
US20120296954A1 (en) * 2011-05-16 2012-11-22 International Business Machines Corporation Sender motivated optimization of uri rendering in instant messaging
US8341245B1 (en) * 2011-09-26 2012-12-25 Google Inc. Content-facilitated speculative preparation and rendering
US20130086197A1 (en) * 2009-05-01 2013-04-04 International Business Machines Corporation Managing cache at a computer
US20130159383A1 (en) * 2011-12-16 2013-06-20 Microsoft Corporation Application-driven cdn pre-caching
WO2013167532A1 (en) * 2012-05-09 2013-11-14 Aalto-Korkeakoulusäätiö Method and system for prefetching data
US8682989B2 (en) 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US8706805B2 (en) * 2011-12-19 2014-04-22 International Business Machines Corporation Information caching system
US20140172951A1 (en) * 2012-12-13 2014-06-19 Level 3 Communications, Llc Framework Supporting Content Delivery With Hybrid Content Delivery Services
US20140280680A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US8903946B1 (en) 2011-10-25 2014-12-02 Google Inc. Reduction in redirect navigation latency via speculative preconnection
US20140372588A1 (en) 2011-12-14 2014-12-18 Level 3 Communications, Llc Request-Response Processing in a Content Delivery Network
US8965983B2 (en) 2011-05-06 2015-02-24 Microsoft Technology Licensing, Llc Changes to documents are automatically summarized in electronic messages
US9083583B1 (en) 2011-07-01 2015-07-14 Google Inc. Latency reduction via adaptive speculative preconnection
US9137185B2 (en) 2011-04-28 2015-09-15 Microsoft Technology Licensing, Llc Uploading attachment to shared location and replacing with a link
US9165285B2 (en) 2010-12-08 2015-10-20 Microsoft Technology Licensing, Llc Shared attachments
CN106210007A (en) * 2016-06-30 2016-12-07 北京小米移动软件有限公司 Resource downloading method and device
US9565233B1 (en) * 2013-08-09 2017-02-07 Google Inc. Preloading content for requesting applications
US9613158B1 (en) * 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
AU2016201606B2 (en) * 2013-04-11 2017-06-29 Facebook, Inc. Display object pre-generation
US9760964B2 (en) 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US10489370B1 (en) * 2016-03-21 2019-11-26 Symantec Corporation Optimizing data loss prevention performance during file transfer operations by front loading content extraction
US10552799B2 (en) 2011-04-28 2020-02-04 Microsoft Technology Licensing, Llc Upload of attachment and insertion of link into electronic messages
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US11368548B2 (en) 2012-12-13 2022-06-21 Level 3 Communications, Llc Beacon services in a content delivery framework
US11677699B2 (en) 2018-12-03 2023-06-13 International Business Machines Corporation Cognitive pre-loading of referenced content in electronic messages

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043846B2 (en) * 2011-08-30 2015-05-26 Lvmexis Corporation Inflight entertainment system with selectively preloaded seat end video caches
US9253278B2 (en) 2012-01-30 2016-02-02 International Business Machines Corporation Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic
US9055118B2 (en) * 2012-07-13 2015-06-09 International Business Machines Corporation Edge caching using HTTP headers
US9990440B2 (en) * 2013-12-30 2018-06-05 Oath Inc. Smart content pre-loading on client devices
US11108883B2 (en) * 2015-09-04 2021-08-31 Google Llc Systems and methods for remote network topology discovery
US10116713B2 (en) * 2016-03-31 2018-10-30 Jamdeo Canada, Ltd. System and methods for content streaming with a content buffer
CN112214158B (en) 2019-07-10 2024-03-22 慧荣科技股份有限公司 Device and method for executing host output and input command and computer readable storage medium

Citations (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790793A (en) * 1995-04-04 1998-08-04 Higley; Thomas Method and system to create, transmit, receive and process information, including an address to further information
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5878218A (en) * 1997-03-17 1999-03-02 International Business Machines Corporation Method and system for creating and utilizing common caches for internetworks
US5887151A (en) * 1997-07-10 1999-03-23 Emc Corporation Method and apparatus for performing a modified prefetch which sends a list identifying a plurality of data blocks
US5961602A (en) * 1997-02-10 1999-10-05 International Business Machines Corporation Method for optimizing off-peak caching of web data
US6292835B1 (en) * 1997-11-26 2001-09-18 International Business Machines Corporation Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting
US6385641B1 (en) * 1998-06-05 2002-05-07 The Regents Of The University Of California Adaptive prefetching for computer network and web browsing with a graphic user interface
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US20020062384A1 (en) * 1998-03-06 2002-05-23 Tso Michael M. Method of proxy-assisted predictive pre-fetching
US6396805B2 (en) * 1997-03-25 2002-05-28 Intel Corporation System for recovering from disruption of a data transfer
US6477529B1 (en) * 1999-12-06 2002-11-05 Research In Motion Limited Apparatus and method for dynamically limiting information sent to a viewing device
US20020188685A1 (en) * 2001-06-07 2002-12-12 International Business Machines Corporation Automatic download of web content in response to an embedded link in an electronic mail message
US20030055907A1 (en) * 2001-09-18 2003-03-20 Todd Stiers Clientless electronic mail MIME attachment re-delivery system via the web to reduce network bandwidth usage
US6615242B1 (en) * 1998-12-28 2003-09-02 At&T Corp. Automatic uniform resource locator-based message filter
US20040068579A1 (en) * 2002-08-13 2004-04-08 International Business Machines Corporation System and method to refresh proxy cache server objects
US6724403B1 (en) * 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6732111B2 (en) * 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US20040167968A1 (en) * 2003-02-20 2004-08-26 Mailfrontier, Inc. Using distinguishing properties to classify messages
US6813633B2 (en) * 2001-06-19 2004-11-02 Foedero Technologies, Inc. Dynamic multi-level cache manager
US6892221B2 (en) * 2000-05-19 2005-05-10 Centerbeam Data backup
US6968380B1 (en) * 2000-05-30 2005-11-22 International Business Machines Corporation Method and system for increasing ease-of-use and bandwidth utilization in wireless devices
US6985933B1 (en) * 2000-05-30 2006-01-10 International Business Machines Corporation Method and system for increasing ease-of-use and bandwidth utilization in wireless devices
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7143179B2 (en) * 2001-05-24 2006-11-28 Yuri Yaport Method and system for parallel data transmission on demand to an unlimited number of clients without acknowledgment and on the basis of constant data availability
US20060277271A1 (en) * 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
US7194514B1 (en) * 2001-07-26 2007-03-20 Broadon Communications Corp. Stripping email attachment from an email message and adding into the email message a link to fetch the attachment
US20070143357A1 (en) * 2005-12-21 2007-06-21 Imran Chaudhri System and method for efficient replication of and access to application specific environments and data
US20070260829A1 (en) * 2006-05-03 2007-11-08 Tellabs Oy Method and apparatus for processing a sequential file
US20070266095A1 (en) * 2006-05-12 2007-11-15 Fuji Xerox Co., Ltd. Seamless electronic mail capture with user awareness and consent
US20080010295A1 (en) * 2006-06-26 2008-01-10 Samsung Electronics Co., Ltd. Method and apparatus to manage files for a portable device
US20080034294A1 (en) * 2006-07-21 2008-02-07 Nokia Corporation Tactile presentation of properties of a resource referenced through a link
US7389330B2 (en) * 2002-09-11 2008-06-17 Hughes Network Systems, Llc System and method for pre-fetching content in a proxy architecture
US20080288303A1 (en) * 2006-03-17 2008-11-20 Claria Corporation Method for Detecting and Preventing Fraudulent Internet Advertising Activity
US7472242B1 (en) * 2006-02-14 2008-12-30 Network Appliance, Inc. Eliminating duplicate blocks during backup writes
US7472129B2 (en) * 2004-06-29 2008-12-30 Microsoft Corporation Lossless recovery for computer systems with map assisted state transfer
US20090077182A1 (en) * 2007-09-17 2009-03-19 Iconix, Inc System and method for identifying email campaigns
US7536442B2 (en) * 2003-09-30 2009-05-19 International Business Machines Corporation Method, system, and storage medium for providing autonomic identification of an important message
US20090144380A1 (en) * 2007-11-21 2009-06-04 Kallman William R Peer-to-peer email
US20090187581A1 (en) * 2008-01-22 2009-07-23 Vincent Delisle Consolidation and association of structured and unstructured data on a computer file system
US7584500B2 (en) * 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
US20090248636A1 (en) * 2006-04-20 2009-10-01 International Business Machines Corporation Method for generating a robust software signature
US20090327849A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Link Classification and Filtering
US7665131B2 (en) * 2003-06-04 2010-02-16 Microsoft Corporation Origination/destination features and lists for spam prevention
US20100049746A1 (en) * 2008-08-21 2010-02-25 Russell Aebig Method of classifying spreadsheet files managed within a spreadsheet risk reconnaissance network
US20100106786A1 (en) * 2000-08-17 2010-04-29 Mxgo Methods and systems for automatically presenting users with option to call sender responsive to email message
US7757002B2 (en) * 2007-03-23 2010-07-13 Sophos Plc Method and systems for analyzing network content in a pre-fetching web proxy
US7779068B2 (en) * 2000-03-20 2010-08-17 Nec Corporation System and method for intelligent web content fetch and delivery of any whole and partial undelivered objects in ascending order of object size
US20100210244A1 (en) * 2009-02-13 2010-08-19 Sony Ericsson Mobile Communications Ab Device and method for handling messages
US7987431B2 (en) * 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US8005891B2 (en) * 2005-07-22 2011-08-23 Research In Motion Limited Method for training a server for content delivery based on communication of state information from a mobile device browser

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1018497A (en) 1911-08-17 1912-02-27 Charles Hoth Delivery appliance.
US6944555B2 (en) * 1994-12-30 2005-09-13 Power Measurement Ltd. Communications architecture for intelligent electronic devices
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US7958457B1 (en) * 1999-12-20 2011-06-07 Wireless Agents, Llc Method and apparatus for scheduling presentation of digital content on a personal communication device
US20060074727A1 (en) * 2000-09-07 2006-04-06 Briere Daniel D Method and apparatus for collection and dissemination of information over a computer network
US7003551B2 (en) * 2000-11-30 2006-02-21 Bellsouth Intellectual Property Corp. Method and apparatus for minimizing storage of common attachment files in an e-mail communications server
US8849276B2 (en) * 2000-12-29 2014-09-30 At&T Mobility Ii Llc Intelligent network selection based on quality of service and applications over different wireless networks
US7433929B2 (en) * 2000-12-29 2008-10-07 At&T Mobility Ii Llc Intelligent network selection based on quality of service and applications over different wireless networks
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US7496604B2 (en) * 2001-12-03 2009-02-24 Aol Llc Reducing duplication of files on a network
GB2391964B (en) * 2002-08-14 2006-05-03 Messagelabs Ltd Method of and system for scanning electronic documents which contain links to external objects
US7130890B1 (en) * 2002-09-04 2006-10-31 Hewlett-Packard Development Company, L.P. Method and system for adaptively prefetching objects from a network
US7912899B2 (en) * 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7424513B2 (en) * 2003-10-23 2008-09-09 Microsoft Corporation Decoupling an attachment from an electronic message that included the attachment
US7548758B2 (en) * 2004-04-02 2009-06-16 Nortel Networks Limited System and method for peer-to-peer communication in cellular systems
US7499996B1 (en) * 2004-12-22 2009-03-03 Google Inc. Systems and methods for detecting a memory condition and providing an alert
US7809124B2 (en) * 2005-02-11 2010-10-05 Microsoft Corporation Meeting lobby for web conferencing
US20060212757A1 (en) * 2005-03-15 2006-09-21 International Business Machines Corporation Method, system, and program product for managing computer-based interruptions
US8732234B2 (en) * 2005-06-07 2014-05-20 Yahoo! Inc. Providing relevant non-requested content to a mobile device
US8024452B2 (en) * 2006-05-02 2011-09-20 Research In Motion Limited Dynamic syndicated content delivery system and method
US8166003B2 (en) * 2006-05-05 2012-04-24 Microsoft Corporation Permission-based document server
US8364711B2 (en) * 2006-05-09 2013-01-29 John Wilkins Contact management system and method
JP4812508B2 (en) * 2006-05-12 2011-11-09 富士通株式会社 System that handles presence information
US7558797B2 (en) * 2006-06-30 2009-07-07 Microsoft Corporation Metadata structures for mass P2P file sharing
US20080140941A1 (en) * 2006-12-07 2008-06-12 Dasgupta Gargi B Method and System for Hoarding Content on Mobile Clients
US7584294B2 (en) * 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8037126B2 (en) * 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US8701010B2 (en) * 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8103783B2 (en) * 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US20080228864A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching non-cacheable content for compression history
US8074028B2 (en) * 2007-03-12 2011-12-06 Citrix Systems, Inc. Systems and methods of providing a multi-tier cache
US8504775B2 (en) * 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US8205246B2 (en) * 2007-05-10 2012-06-19 Cisco Technology, Inc. User sensitive filtering of network application layer resources
EP2350946B1 (en) * 2008-11-03 2018-02-28 Telefonaktiebolaget LM Ericsson (publ) Pre-fetching of data in a mobile communications environment
US8938548B2 (en) * 2008-12-23 2015-01-20 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
US9323720B2 (en) * 2009-03-02 2016-04-26 International Business Machines Corporation Automated and user customizable content retrieval from a collection of linked documents to a single target document
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US20100281224A1 (en) * 2009-05-01 2010-11-04 International Buisness Machines Corporation Prefetching content from incoming messages

Patent Citations (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790793A (en) * 1995-04-04 1998-08-04 Higley; Thomas Method and system to create, transmit, receive and process information, including an address to further information
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5961602A (en) * 1997-02-10 1999-10-05 International Business Machines Corporation Method for optimizing off-peak caching of web data
US5878218A (en) * 1997-03-17 1999-03-02 International Business Machines Corporation Method and system for creating and utilizing common caches for internetworks
US6396805B2 (en) * 1997-03-25 2002-05-28 Intel Corporation System for recovering from disruption of a data transfer
US5887151A (en) * 1997-07-10 1999-03-23 Emc Corporation Method and apparatus for performing a modified prefetch which sends a list identifying a plurality of data blocks
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6292835B1 (en) * 1997-11-26 2001-09-18 International Business Machines Corporation Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting
US7539704B2 (en) * 1998-03-03 2009-05-26 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US6732111B2 (en) * 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US20020062384A1 (en) * 1998-03-06 2002-05-23 Tso Michael M. Method of proxy-assisted predictive pre-fetching
US6959318B1 (en) * 1998-03-06 2005-10-25 Intel Corporation Method of proxy-assisted predictive pre-fetching with transcoding
US6385641B1 (en) * 1998-06-05 2002-05-07 The Regents Of The University Of California Adaptive prefetching for computer network and web browsing with a graphic user interface
US6615242B1 (en) * 1998-12-28 2003-09-02 At&T Corp. Automatic uniform resource locator-based message filter
US7376907B2 (en) * 1999-10-29 2008-05-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7987431B2 (en) * 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724403B1 (en) * 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6477529B1 (en) * 1999-12-06 2002-11-05 Research In Motion Limited Apparatus and method for dynamically limiting information sent to a viewing device
US7779068B2 (en) * 2000-03-20 2010-08-17 Nec Corporation System and method for intelligent web content fetch and delivery of any whole and partial undelivered objects in ascending order of object size
US6892221B2 (en) * 2000-05-19 2005-05-10 Centerbeam Data backup
US6968380B1 (en) * 2000-05-30 2005-11-22 International Business Machines Corporation Method and system for increasing ease-of-use and bandwidth utilization in wireless devices
US6985933B1 (en) * 2000-05-30 2006-01-10 International Business Machines Corporation Method and system for increasing ease-of-use and bandwidth utilization in wireless devices
US20100106786A1 (en) * 2000-08-17 2010-04-29 Mxgo Methods and systems for automatically presenting users with option to call sender responsive to email message
US7143179B2 (en) * 2001-05-24 2006-11-28 Yuri Yaport Method and system for parallel data transmission on demand to an unlimited number of clients without acknowledgment and on the basis of constant data availability
US20020188685A1 (en) * 2001-06-07 2002-12-12 International Business Machines Corporation Automatic download of web content in response to an embedded link in an electronic mail message
US6813633B2 (en) * 2001-06-19 2004-11-02 Foedero Technologies, Inc. Dynamic multi-level cache manager
US7194514B1 (en) * 2001-07-26 2007-03-20 Broadon Communications Corp. Stripping email attachment from an email message and adding into the email message a link to fetch the attachment
US20030055907A1 (en) * 2001-09-18 2003-03-20 Todd Stiers Clientless electronic mail MIME attachment re-delivery system via the web to reduce network bandwidth usage
US7552220B2 (en) * 2002-08-13 2009-06-23 International Business Machines Corporation System and method to refresh proxy cache server objects
US20040068579A1 (en) * 2002-08-13 2004-04-08 International Business Machines Corporation System and method to refresh proxy cache server objects
US7389330B2 (en) * 2002-09-11 2008-06-17 Hughes Network Systems, Llc System and method for pre-fetching content in a proxy architecture
US7953820B2 (en) * 2002-09-11 2011-05-31 Hughes Network Systems, Llc Method and system for providing enhanced performance of web browsing
US7882189B2 (en) * 2003-02-20 2011-02-01 Sonicwall, Inc. Using distinguishing properties to classify messages
US20060235934A1 (en) * 2003-02-20 2006-10-19 Mailfrontier, Inc. Diminishing false positive classifications of unsolicited electronic-mail
US20040167968A1 (en) * 2003-02-20 2004-08-26 Mailfrontier, Inc. Using distinguishing properties to classify messages
US20110184976A1 (en) * 2003-02-20 2011-07-28 Wilson Brian K Using Distinguishing Properties to Classify Messages
US7665131B2 (en) * 2003-06-04 2010-02-16 Microsoft Corporation Origination/destination features and lists for spam prevention
US7536442B2 (en) * 2003-09-30 2009-05-19 International Business Machines Corporation Method, system, and storage medium for providing autonomic identification of an important message
US7584500B2 (en) * 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
US7472129B2 (en) * 2004-06-29 2008-12-30 Microsoft Corporation Lossless recovery for computer systems with map assisted state transfer
US20060277271A1 (en) * 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
US8005891B2 (en) * 2005-07-22 2011-08-23 Research In Motion Limited Method for training a server for content delivery based on communication of state information from a mobile device browser
US20070143357A1 (en) * 2005-12-21 2007-06-21 Imran Chaudhri System and method for efficient replication of and access to application specific environments and data
US7472242B1 (en) * 2006-02-14 2008-12-30 Network Appliance, Inc. Eliminating duplicate blocks during backup writes
US20080288303A1 (en) * 2006-03-17 2008-11-20 Claria Corporation Method for Detecting and Preventing Fraudulent Internet Advertising Activity
US20090248636A1 (en) * 2006-04-20 2009-10-01 International Business Machines Corporation Method for generating a robust software signature
US20070260829A1 (en) * 2006-05-03 2007-11-08 Tellabs Oy Method and apparatus for processing a sequential file
US20070266095A1 (en) * 2006-05-12 2007-11-15 Fuji Xerox Co., Ltd. Seamless electronic mail capture with user awareness and consent
US20080010295A1 (en) * 2006-06-26 2008-01-10 Samsung Electronics Co., Ltd. Method and apparatus to manage files for a portable device
US20080034294A1 (en) * 2006-07-21 2008-02-07 Nokia Corporation Tactile presentation of properties of a resource referenced through a link
US7757002B2 (en) * 2007-03-23 2010-07-13 Sophos Plc Method and systems for analyzing network content in a pre-fetching web proxy
US20090077182A1 (en) * 2007-09-17 2009-03-19 Iconix, Inc System and method for identifying email campaigns
US20090144380A1 (en) * 2007-11-21 2009-06-04 Kallman William R Peer-to-peer email
US20090187581A1 (en) * 2008-01-22 2009-07-23 Vincent Delisle Consolidation and association of structured and unstructured data on a computer file system
US20090327849A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Link Classification and Filtering
US20100049746A1 (en) * 2008-08-21 2010-02-25 Russell Aebig Method of classifying spreadsheet files managed within a spreadsheet risk reconnaissance network
US20100210244A1 (en) * 2009-02-13 2010-08-19 Sony Ericsson Mobile Communications Ab Device and method for handling messages

Cited By (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170118118A1 (en) * 2009-04-20 2017-04-27 Radware, Ltd. Accelerating http responses in a client/server environment
US10735322B2 (en) 2009-04-20 2020-08-04 Radware, Ltd. Accelerating HTTP responses in a client/server environment
US9652818B2 (en) 2009-04-30 2017-05-16 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
US9105111B2 (en) 2009-04-30 2015-08-11 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
US9076239B2 (en) * 2009-04-30 2015-07-07 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
US20100278443A1 (en) * 2009-04-30 2010-11-04 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
US9454506B2 (en) * 2009-05-01 2016-09-27 International Business Machines Corporation Managing cache at a computer
US20130086197A1 (en) * 2009-05-01 2013-04-04 International Business Machines Corporation Managing cache at a computer
US10264094B2 (en) * 2009-05-01 2019-04-16 International Business Machines Corporation Processing incoming messages
US20160360003A1 (en) * 2009-05-01 2016-12-08 International Business Machines Corporation Processing incoming messages
US9549039B2 (en) * 2010-05-28 2017-01-17 Radware Ltd. Accelerating HTTP responses in a client/server environment
US20110295979A1 (en) * 2010-05-28 2011-12-01 Strangeloop Networks Inc. Accelerating HTTP Responses In A Client/Server Environment
US9165285B2 (en) 2010-12-08 2015-10-20 Microsoft Technology Licensing, Llc Shared attachments
US10079789B2 (en) 2010-12-08 2018-09-18 Microsoft Technology Licensing, Llc Shared attachments
US10097661B2 (en) 2011-04-28 2018-10-09 Microsoft Technology Licensing, Llc Uploading attachment to shared location and replacing with a link
US9137185B2 (en) 2011-04-28 2015-09-15 Microsoft Technology Licensing, Llc Uploading attachment to shared location and replacing with a link
US20120278402A1 (en) * 2011-04-28 2012-11-01 Microsoft Corporation Presenting links to content as attachments in electronic messages
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US10552799B2 (en) 2011-04-28 2020-02-04 Microsoft Technology Licensing, Llc Upload of attachment and insertion of link into electronic messages
EP2702552A4 (en) * 2011-04-28 2014-10-01 Microsoft Corp Presenting links to content as attachments in electronic messages
TWI577207B (en) * 2011-04-28 2017-04-01 微軟技術授權有限責任公司 Presenting links to content as attachments in electronic messages
US8682989B2 (en) 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US9747268B2 (en) 2011-04-28 2017-08-29 Microsoft Technology Licensing, Llc Making document changes by replying to electronic messages
CN103503021A (en) * 2011-04-28 2014-01-08 微软公司 Presenting links to content as attachments in electronic messages
EP2702552A2 (en) * 2011-04-28 2014-03-05 Microsoft Corporation Presenting links to content as attachments in electronic messages
US8965983B2 (en) 2011-05-06 2015-02-24 Microsoft Technology Licensing, Llc Changes to documents are automatically summarized in electronic messages
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
US20120296954A1 (en) * 2011-05-16 2012-11-22 International Business Machines Corporation Sender motivated optimization of uri rendering in instant messaging
US8943149B2 (en) * 2011-05-16 2015-01-27 International Business Machines Corporation Sender motivated optimization of URI rendering in instant messaging
US9083583B1 (en) 2011-07-01 2015-07-14 Google Inc. Latency reduction via adaptive speculative preconnection
US9602620B1 (en) 2011-09-26 2017-03-21 Google Inc. Content-facilitated speculative preparation and rendering
US8762490B1 (en) 2011-09-26 2014-06-24 Google Inc. Content-facilitated speculative preparation and rendering
US8341245B1 (en) * 2011-09-26 2012-12-25 Google Inc. Content-facilitated speculative preparation and rendering
US8903946B1 (en) 2011-10-25 2014-12-02 Google Inc. Reduction in redirect navigation latency via speculative preconnection
US9729654B1 (en) 2011-10-25 2017-08-08 Google Inc. Reduction in redirect navigation latency via speculative preconnection
US10938935B1 (en) 2011-10-25 2021-03-02 Google Llc Reduction in redirect navigation latency via speculative preconnection
US10498849B1 (en) 2011-10-25 2019-12-03 Google Llc Reduction in redirect navigation latency via speculative preconnection
US10187491B2 (en) 2011-12-14 2019-01-22 Level 3 Communications, Llc Request-response processing an a content delivery network
US20140372588A1 (en) 2011-12-14 2014-12-18 Level 3 Communications, Llc Request-Response Processing in a Content Delivery Network
US11838385B2 (en) 2011-12-14 2023-12-05 Level 3 Communications, Llc Control in a content delivery network
US9516136B2 (en) 2011-12-14 2016-12-06 Level 3 Communications, Llc Customer-specific request-response processing in a content delivery network
US9456053B2 (en) 2011-12-14 2016-09-27 Level 3 Communications, Llc Content delivery network
US11218566B2 (en) 2011-12-14 2022-01-04 Level 3 Communications, Llc Control in a content delivery network
US9451045B2 (en) 2011-12-14 2016-09-20 Level 3 Communications, Llc Content delivery network
US10841398B2 (en) 2011-12-14 2020-11-17 Level 3 Communications, Llc Control in a content delivery network
US20130159383A1 (en) * 2011-12-16 2013-06-20 Microsoft Corporation Application-driven cdn pre-caching
US10182127B2 (en) 2011-12-16 2019-01-15 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
US8706805B2 (en) * 2011-12-19 2014-04-22 International Business Machines Corporation Information caching system
WO2013167532A1 (en) * 2012-05-09 2013-11-14 Aalto-Korkeakoulusäätiö Method and system for prefetching data
US9648079B2 (en) 2012-05-09 2017-05-09 Aalto-Korkeakoulausäätiö System and method for providing content to a requesting terminal
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9787551B2 (en) 2012-12-13 2017-10-10 Level 3 Communications, Llc Responsibility-based request processing
US10708145B2 (en) 2012-12-13 2020-07-07 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback from health service
US11368548B2 (en) 2012-12-13 2022-06-21 Level 3 Communications, Llc Beacon services in a content delivery framework
US9641401B2 (en) 2012-12-13 2017-05-02 Level 3 Communications, Llc Framework supporting content delivery with content delivery services
US9641402B2 (en) 2012-12-13 2017-05-02 Level 3 Communications, Llc Configuring a content delivery network (CDN)
US9634906B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US9647901B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Configuring a content delivery network (CDN)
US9647899B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Framework supporting content delivery with content delivery services
US9647900B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services
US9654356B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services
US9634905B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation systems, methods, and devices
US9654355B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with adaptation services
US9654354B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with delivery services network
US9654353B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with rendezvous services network
US9660875B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with rendezvous services having dynamically configurable log information
US9660876B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Collector mechanisms in a content delivery network
US9660874B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services having dynamically configurable log information
US9661046B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services
US9667506B2 (en) 2012-12-13 2017-05-30 Level 3 Communications, Llc Multi-level peering in a content delivery framework
US9686148B2 (en) 2012-12-13 2017-06-20 Level 3 Communications, Llc Responsibility-based cache peering
US11121936B2 (en) 2012-12-13 2021-09-14 Level 3 Communications, Llc Rendezvous optimization in a content delivery framework
US9722883B2 (en) 2012-12-13 2017-08-01 Level 3 Communications, Llc Responsibility-based peering
US9722884B2 (en) 2012-12-13 2017-08-01 Level 3 Communications, Llc Event stream collector systems, methods, and devices
US9722882B2 (en) 2012-12-13 2017-08-01 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with provisioning
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US9749192B2 (en) 2012-12-13 2017-08-29 Level 3 Communications, Llc Dynamic topology transitions in a content delivery framework
US9634904B2 (en) * 2012-12-13 2017-04-25 Level 3 Communications, Llc Framework supporting content delivery with hybrid content delivery services
US9749191B2 (en) 2012-12-13 2017-08-29 Level 3 Communications, Llc Layered request processing with redirection and delegation in a content delivery network (CDN)
US9749190B2 (en) 2012-12-13 2017-08-29 Level 3 Communications, Llc Maintaining invalidation information
US9755914B2 (en) 2012-12-13 2017-09-05 Level 3 Communications, Llc Request processing in a content delivery network
US10992547B2 (en) 2012-12-13 2021-04-27 Level 3 Communications, Llc Rendezvous systems, methods, and devices
US9628343B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework with dynamic service network topologies
US9819554B2 (en) 2012-12-13 2017-11-14 Level 3 Communications, Llc Invalidation in a content delivery framework
US9847917B2 (en) 2012-12-13 2017-12-19 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US9887885B2 (en) 2012-12-13 2018-02-06 Level 3 Communications, Llc Dynamic fill target selection in a content delivery framework
US9628342B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework
US10931541B2 (en) 2012-12-13 2021-02-23 Level 3 Communications, Llc Devices and methods supporting content delivery with dynamically configurable log information
US10862769B2 (en) 2012-12-13 2020-12-08 Level 3 Communications, Llc Collector mechanisms in a content delivery network
US10135697B2 (en) 2012-12-13 2018-11-20 Level 3 Communications, Llc Multi-level peering in a content delivery framework
US10142191B2 (en) 2012-12-13 2018-11-27 Level 3 Communications, Llc Content delivery framework with autonomous CDN partitioned into multiple virtual CDNs
US9628345B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with collector services network
US10841177B2 (en) 2012-12-13 2020-11-17 Level 3 Communications, Llc Content delivery framework having autonomous CDN partitioned into multiple virtual CDNs to implement CDN interconnection, delegation, and federation
US8825830B2 (en) 2012-12-13 2014-09-02 Level 3 Communications, Llc Content delivery framework with dynamic service network topology
US20140173039A1 (en) * 2012-12-13 2014-06-19 Level 3 Communications, Llc Framework Supporting Content Delivery With Reducer Services Network
US9628346B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Devices and methods supporting content delivery with reducer services
US9628344B2 (en) * 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with reducer services network
US10826793B2 (en) 2012-12-13 2020-11-03 Level 3 Communications, Llc Verification and auditing in a content delivery framework
WO2014093717A1 (en) * 2012-12-13 2014-06-19 Level 3 Communications, Llc Content delivery framework
US20140172951A1 (en) * 2012-12-13 2014-06-19 Level 3 Communications, Llc Framework Supporting Content Delivery With Hybrid Content Delivery Services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10608894B2 (en) 2012-12-13 2020-03-31 Level 3 Communications, Llc Systems, methods, and devices for gradual invalidation of resources
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10700945B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Role-specific sub-networks in a content delivery framework
US9634907B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US9628347B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Layered request processing in a content delivery network (CDN)
US10742521B2 (en) 2012-12-13 2020-08-11 Level 3 Communications, Llc Configuration and control in content delivery framework
US9473561B2 (en) * 2013-03-15 2016-10-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US20140280680A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US9473565B2 (en) * 2013-03-15 2016-10-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US20140280759A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
AU2016201606B2 (en) * 2013-04-11 2017-06-29 Facebook, Inc. Display object pre-generation
US10896484B2 (en) 2013-04-11 2021-01-19 Facebook, Inc. Method and system of display object pre-generation on windows of idle time available after each frame buffer fill tasks
US9760964B2 (en) 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling
US10354363B2 (en) 2013-04-11 2019-07-16 Facebook, Inc. Displaying a pre-fetched object comprising a first associated with a desired content and a second element associated with time-sensitive information associated with the desired content
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation
US10812564B1 (en) 2013-08-09 2020-10-20 Google Llc Preloading content for requesting applications
US9565233B1 (en) * 2013-08-09 2017-02-07 Google Inc. Preloading content for requesting applications
US9613158B1 (en) * 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US10594827B1 (en) 2014-05-13 2020-03-17 Viasat, Inc. Cache hinting systems
US10489370B1 (en) * 2016-03-21 2019-11-26 Symantec Corporation Optimizing data loss prevention performance during file transfer operations by front loading content extraction
CN106210007A (en) * 2016-06-30 2016-12-07 北京小米移动软件有限公司 Resource downloading method and device
US11677699B2 (en) 2018-12-03 2023-06-13 International Business Machines Corporation Cognitive pre-loading of referenced content in electronic messages

Also Published As

Publication number Publication date
US9454506B2 (en) 2016-09-27
US20130086197A1 (en) 2013-04-04
US20160360003A1 (en) 2016-12-08
US10264094B2 (en) 2019-04-16

Similar Documents

Publication Publication Date Title
US10264094B2 (en) Processing incoming messages
US10097661B2 (en) Uploading attachment to shared location and replacing with a link
EP1447765B1 (en) Method, apparatus, and user interface for managing electronic mail and alert messages
US6055569A (en) Accelerating web access by predicting user action
US8789198B2 (en) Triggering a private browsing function of a web browser application program
US8543608B2 (en) Handling of expired web pages
US9275371B2 (en) Keeping track of a detached e-mail attachment
US20040010543A1 (en) Cached resource validation without source server contact during validation
US20130007260A1 (en) Access to network content
US20070112930A1 (en) Method and system for managing storage on a shared storage space
US20060259567A1 (en) Configurable downloading of content pointed to in electronic messages
US20120278407A1 (en) Automatic uploading of attachments to a shared location
CN1620012A (en) Method and system for updating/reloading the content of pages browsed over a network
KR20090073199A (en) Offline execution of web based applications
US20070143419A1 (en) E-mail attachment as one-time clickable link
US20080140777A1 (en) Selective mirrored site accesses from a communication
US10742576B2 (en) Embedding actionable content in electronic communication
EP2449481A1 (en) System and method for enhancing digital content
US20190303870A1 (en) Service for receiving obsolete web page copies
CN111200650B (en) Data transmission method, device, system, equipment and medium
US20030135824A1 (en) System for delayed viewing of selected documents hyperlinked to hypertext documents received at a user interactive receiving display station in a computer controlled communication network
US20060155759A1 (en) Scalable cache layer for accessing blog content

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HO, WESLEY J.;PRICE, JEFFREY K.;WOOD, STANLEY C.;REEL/FRAME:022626/0240

Effective date: 20090430

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: KYNDRYL, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:058213/0912

Effective date: 20211118