CA2652154C

Rule-based caching for packet-based data transfer

Abstract

Data transfer to a remote packet-communicating device over a network is effected using a network-based cache to selectively store data. According to an example embodiment of the present invention, a network-based server (e.g., 110) facilitates selective, rule-based storage of a registered user's data in a network-based cache (e.g., 140). The registered user's data (e.g., 136) is available via the user's data source (e.g., 130) coupled to a packet-based network (e.g., 105, via a user's home or business computer coupled to the Internet). The server controls remote access to data stored in the cache as well as data accessible via the registered user's data source. For instance, when a request for data transfer is received from a remote packet-communicating device (e.g., 120), the network-based server authenticates the request and, for authenticated requests, facilitates a transfer of the requested data from one or both of a registered user's data source and the cache.

CA2652154C, drawing sheet 1
Sheet 1 of 13

Term

Projected expiry 15 May 2027.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

27 claims: 15 independent, 12 dependent

  1. 1
    CA 02652154 2014-08-18 What is claimed is:1. A method comprising: at a computer, registering a user for sharing data from a packet-communicating terminal;programming the packet-communicating terminal with cache engine functions for storing shared data at a network-based cache;receiving, from the registered user, caching policies by which to store shared data at the network-based cache;implementing the cache engine to send data to the network-based cache, over a packet-communicating network, as a function of the caching policies and of a current status of shared data that is stored at the network-based cache for the user;and at the computer, responding to a remote request for shared data by directing the transfer of shared data in the network-based cache over the packet-communicating network.
  2. 4
    An apparatus comprising:at least one processor;and at least one memory including computer program code for one or more programs, the computer program code comprising instructions which, when executed by the at least one processor, cause the apparatus to perform at least the following: receive a content request from a remote user;CA 02652154 2014-08-18 authenticate the request as a function of authentication information provided by a registered user and information in the request;in response to the request being authenticated, ascertain availability of the requested data at a network cache in accordance with caching rules specified by the registered user;in response to the requested data being available at the network cache and in accordance with the caching rules, selectively direct the transfer of the requested data from the network cache to the remote user at a remote packet-communicating device;and responsive to the availability of the requested data at the network cache and to the caching rules, selectively direct, via an established communication link, the transfer of the requested data from a registered user data source to the remote user at the remote packetcommunicating device, wherein the registered user data source is configured to send data to the network cache by: comparing information about the data to be sent with the information characterizing data previously sent to the network cache;and determining, via the comparison, whether the data to be sent is already in the network cache and, therefrom, sending a portion of the data that is not already in the network cache.
  3. 7
    The apparatus of any one of claims 4 to 6, wherein the at least one processor, the network cache and the data source are operated independent from the packet-based network.
  4. 8
    The apparatus of any one of claims 4 to 7, wherein the at least one processor, based on the caching rules, causes the data source to selectively direct the routing of data to the network cache. CA 02652154 2014-08-18
  5. 9
    The apparatus of any one of claims 4 to 6, wherein the at least one processor is further configured to respond to the content request by:directing the transfer of the requested data from the data source when the data source is available via the packet-based network;and directing the transfer of the requested data from the network cache when the data source is not available via the packet-based network.
  6. 10
    The apparatus of any one of claims 4 to 9, wherein the network cache removes data from the network cache in accordance with the caching rules.
  7. 11
    The apparatus of any one of claims 4 to 9, wherein the network cache removes data from the network cache in accordance with an expiration of the data established via the data source.
  8. 12
    The apparatus of any one of claims 4 to 11, wherein the at least one processor specifies storage capacity for each registered user storing data in the network cache, the network cache storing data for each registered user in accordance with the specified storage capacity.
  9. 13
    A method comprising:at a network cache, receiving data from a registered-user data source over a packetbased network and in accordance with caching rules specified by a registered user of the data source;at the network cache, maintaining data received from the data source in accordance with the caching rules;in response to a content request from a remote user, authenticating the request;and in response to the request being authenticated, transferring the requested data from the network cache to the remote user at a remote packet-communicating terminal, over a packet-based network.
  10. 14
    An apparatus comprising:at least one processor;and at least one memory including computer program code for one or more programs, the computer program code comprising instructions which, when executed by the at least one processor, cause the apparatus to perform at least the following: CA 02652154 2014-08-18 administratively control registered user data sources to send user-provided data to a network cache in accordance with caching rules specified by a registered user, using a communications link initiated by each data source for transfer therefrom;in response to a content request from a remote user, authenticate the request as a function of authentication information provided by the registered user and information in the request;in response to the request being authenticated, ascertain availability of the requested data at the network cache in accordance with the caching rules;in response to the requested data being available at the network cache and in accordance with the caching rules, selectively direct the transfer of the requested data from the network cache to the remote user at a remote packet-communicating terminal;and in response to the availability of the requested data at the network cache and to the caching rules, selectively direct, via the established communications link, the transfer of the requested data from the data source to the remote user at a remote packetcommunicating terminal.
  11. 15
    A method comprising:authenticating a content request from a remote user as a function of authentication information provided by a registered user and information in the request;in response to the request being authenticated, ascertaining availability of the requested data at a network cache in accordance with caching rules specified by the registered user;in response to the requested data being available at the network cache and in accordance with the caching rules, selectively directing the transfer of the requested data from the network cache to the remote user at a remote packet-communicating device;and in response to the requested data not being available at the network cache and in accordance with the caching rules, selectively directing the transfer of the requested data from a data source for delivery to the remote packet-communicating device using the established communications link.
  12. 19
    The method of any one of claims 15 to 18, further comprising sending data indicating an expiration date for the data, and automatically removing data in the network cache at the expiration date.
  13. 20
    The method of any one of claims 15 to 19, further comprising detecting a status of data in the network cache and, in response to the status, selectively replacing data in the network cache that is indicated to be out of date via the detected status.
  14. 23
    A computer-readable storage medium for use by a packet-based server and storing computer program code for one or more programs, the computer program code comprising instructions which, when executed by at least one processor, carry out the method of any one of claims 15 to 22.
  15. 24
    An apparatus comprising:at least one processor;and at least one memory including computer program code for one or more programs, the computer program code comprising instructions which, when executed by the at least one processor, cause the apparatus to perform at least the following: CA 02652154 2014-08-18 authenticate a content request from a remote user as a function of authentication information provided by a registered user and information in the request;in response to the request being authenticated, ascertain availability of the requested content at a network cache in accordance with caching rules specified by the registered user;in response to the requested data content being available at the network cache and in accordance with the caching rules, selectively direct the transfer of the requested content from the network cache to the remote user at a remote packetcommunicating device;and in response to the requested data not being available at the network cache and in accordance with the caching rules, selectively direct the transfer of the requested content from a data source for delivery to the remote packet-communicating device using the established communications link.