EP1410136B1

Method and system for accelerating receipt of data in a client to client network

Abstract

A method and system for accelerating receipt of data in a client to client network. The method includes the steps of intercepting queries and responses, storing the intercepted queries and responses in an acceleration server and transmitting the intercepted responses to clients submitting intercepted queries. The system includes at least one acceleration server designed and configured to perform the steps included in the method.

EP1410136B1, drawing sheet 1
Sheet 1 of 2

Term

Term ended

Expired 12 October 2021, 5 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

38 claims: 11 independent, 27 dependent

  1. 1
    A method of accelerating receipt of data in a peer-to-peer network wherein each peer (57a to 57n) in the peer-to-peer network is arranged to operate a software program for implementing queries and providing responses, the method comprising the steps of:a) providing a first peer (57a to 57n) and a communication channel for transmitting communications to and from the first peer (57a to 57n), the first peer (57a to 57n) being arranged to operate the software program for implementing a query that is relayed to at least two other peers (57a to 57n);b) providing the at least two other peers (57a to 57n) for receiving the query, each of the at least two other peers (57a to 57n) being arranged to operate the software program to provide a portion of a response to the query, whereby the response to the query includes at least two response portions to the first peer (57a to 57n) from the respective at least two other peers (57a to 57n);c) intercepting in an acceleration server (52), the query from the first peer (57a to 57n) ;d) determining whether the portions of the response to the query expected to be received by the first peer (57a to 57n) are stored at the acceleration server (52);e) when the portions of the response to the query expected to be received by the first peer (57a to 57n) are determined to be stored at the acceleration server (52), transmitting the portions of the response stored at the acceleration server (52) from the acceleration server (52) to the first peer (57a to 57n);and f) when the portions of the response to the query expected to be received by the first peer (57a to 57n) are not stored at the acceleration server (52), intercepting said portions of the response and storing said portions at the acceleration server (52) such that a subsequent request intercepted at the acceleration server (52) for said portions from a peer (57a to 57n) can be sent from the acceleration server (52) to the peer (57a to 57n).
  2. 3
    A method according to any one of the preceding claims, wherein the step c) of intercepting the query is performed by a redirecting device in the acceleration server (52).
  3. 5
    A method according to any one of the preceding claims, wherein the acceleration server (52) is located within a local area network (54a, 54b), on a server belonging to an Internet service provider, at a cable television provider junction (62), at a satellite relay link (64) or within an ADSL junction.
  4. 6
    A method according to any one of the preceding claims, wherein the query is a request for data and the response is data.
  5. 8
    A method according to any one of the preceding claims, wherein the step of storing is accomplished by use of an algorithm.
  6. 15
    A method according to any one of the preceding claims wherein the acceleration server (52) is part of a network and the step of transmitting the portions of the response from the acceleration server (52) to the first peer (57a to 57n) comprises transmitting the portions of the response to the first peer (57a to 57n) within the network.
  7. 17
    A method according to any one of the preceding claims, wherein the step of transmitting the portions of the response to the first peer (57a to 57n) only occurs if the at least two other peers (57a to 57n) which served as a source of the at least two response portions are available on the peer-to-peer network and only if the at least two other peers (57a to 57n) contain data identical to the respective intercepted response portions.
  8. 18
    A method according to any one of the preceding claims, wherein the acceleration server (52) further functions as a peer in the peer-to-peer network.
  9. 19
    A method according to any one of the preceding claims, wherein the step of transmitting the portions of the response from the acceleration server (52) to the first peer (57a to 5n) includes simultaneous transmission of portions of a single data set from at least two acceleration servers (52).
  10. 20
    A method according to any one of the preceding claims, wherein step e) of transmitting the portions of the response to the first peer (57a to 57n) begins while step c) of intercepting is still in progress.
  11. 21
    An acceleration server (52), connected to a peer-to-peer network in which each peer (57a to 57n) in the peer-to-peer network is arranged to operate a software program for implementing queries and providing responses, the network comprising a first peer (57a to 57n) and a communication channel for transmitting communications to and from the first peer (57a to 57n), the first peer (57a to 57n) being arranged to operate the software program for implementing a query that is relayed to at least two other peers (57a to 57n), and the at least two other peers (57a to 57n) for receiving the query, each of the at least two other peers (57a to 57n) being arranged to operate the software program to provide a portion of a response to the query, whereby the response to the query includes at least two response portions to the first peer (57a to 57n) from the respective at least two other peers (57a to 57n), the acceleration server comprising:a) means for intercepting the query from the first peer (57a to 57n);b) means for determining whether the portions of the response to the query expected to be received by the first peer (57a to 57n) are stored at the acceleration server (52);c) means for transmitting the portions of the response stored at the acceleration server (52) from the acceleration server (52) to the first peer (57a to 57n) when the portions of the response are determined to be stored at the acceleration server (52);and d) means for intercepting the portions of the response to the query received from the first peer (57a to 57n) that are not stored at the acceleration server (52), and storing said portions at the acceleration server (52) such that a subsequent request intercepted at the acceleration server (52) for said portions from a peer (57a to 57n) can be sent from the acceleration server (52) to the peer (57a to 57n).