ES2316483T3 - Metodo y sistema para acelerar la recepcion de datos en una red entre clientes. - Google Patents

Metodo y sistema para acelerar la recepcion de datos en una red entre clientes. Download PDF

Info

Publication number
ES2316483T3
ES2316483T3 ES01978794T ES01978794T ES2316483T3 ES 2316483 T3 ES2316483 T3 ES 2316483T3 ES 01978794 T ES01978794 T ES 01978794T ES 01978794 T ES01978794 T ES 01978794T ES 2316483 T3 ES2316483 T3 ES 2316483T3
Authority
ES
Spain
Prior art keywords
pair
acceleration
server
portions
acceleration server
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.)
Expired - Lifetime
Application number
ES01978794T
Other languages
English (en)
Inventor
Marco Talmon
Assaf Natanzon
Haim Shaul
Ilan Rachmani
Nathaniel C/O Expand Networks Ltd. Leibowitz
Yossi Richter
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.)
PEERAPP Ltd
PeerApp Ltd Virgin Islands
Original Assignee
PEERAPP Ltd
PeerApp Ltd Virgin Islands
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 PEERAPP Ltd, PeerApp Ltd Virgin Islands filed Critical PEERAPP Ltd
Application granted granted Critical
Publication of ES2316483T3 publication Critical patent/ES2316483T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Abstract

Un método de acelerar la recepción de datos en una red entre pares donde cada par (57a a 57n) en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo el método los pasos de: a) proporcionar un primer par (57a a 57n) y un canal de comunicación para transmitir comunicaciones a y del primer par (57a a 57n), estando dispuesto el primer par (57a a 57n) para operar el programa de software para implementar una consulta que se transmite a al menos otros dos pares (57a a 57n); b) proporcionar los al menos otros dos pares (57a a 57n) para recibir la consulta, estando dispuesto cada uno de los al menos otros dos pares (57a a 57n) para operar el programa de software para proporcionar una porción de una respuesta a la consulta, por lo que la respuesta a la consulta incluye al menos dos porciones de respuesta al primer par (57a a 57n) de los respectivos al menos otros dos pares (57a a 57n); c) interceptar la consulta del primer par (57a a 57n) en un servidor de aceleración (52); d) determinar si las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) están guardadas en el servidor de aceleración (52); e) cuando se determina que las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) están almacenadas en el servidor de aceleración (52), transmitir las porciones de la respuesta almacenadas en el servidor de aceleración (52) desde el servidor de aceleración (52) al primer par (57a a 57n); y f) cuando las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) no están almacenadas en el servidor de aceleración (52), interceptar dichas porciones de la respuesta y almacenar dichas porciones en el servidor de aceleración (52) de tal manera que una petición posterior interceptada en el servidor de aceleración (52) para dichas porciones de un par (57a a 57n) pueda ser enviada desde el servidor de aceleración (52) al par (57a a 57n).

Description

Método y sistema para acelerar la recepción de datos en una red entre clientes.
Campo y antecedentes de la invención
La presente invención se refiere a un método y sistema para acelerar la recepción de datos en una red entre pares y, más en concreto, al uso de un servidor de aceleración cerca de clientes usuarios dentro de la red para almacenar datos previamente recibidos.
Desde la llegada de los ordenadores, la capacidad de estas máquinas de comunicar una con otra se ha incrementado en gran medida. Ahora es frecuente que gran número de ordenadores estén organizados en redes. Típicamente, las redes de área local (LANs) están organizadas además en redes de área ancha (WANs), cuyo ejemplo más llamativo es Internet.
La disponibilidad de la conectividad a Internet para un ingente número de ordenadores ha creado una demanda no prevista de transferencia de datos entre usuarios de ordenador. A menudo, la anchura de banda disponible a lo largo de una porción de un recorrido de datos es grande, pero la velocidad de la transferencia de datos se reduce por la poca anchura de banda a lo largo de una porción diferente del recorrido. Típicamente, la anchura de banda se reduce menos cuando el recorrido de datos es más corto.
Las redes entre clientes (también denominadas redes entre pares) se han hecho populares en los últimos años (véase por ejemplo www.napster.com). Estas redes proporcionan a los miembros software que les permite transferir y recibir datos directamente de otros elementos a través de Internet. Típicamente, los datos transferidos se organizan en archivos grandes que requieren cantidades significativas de tiempo para su transferencia. El volumen de datos transferidos en redes entre clientes es tal que, en algunos casos, puede reducir la anchura de banda disponible dentro de una red. Esto puede producir indeseables desaceleraciones para otros usuarios.
EP 1 011 244 A2 (D1) describe una red cliente/servidor tradicional en la que las peticiones de un cliente dirigidas a un servidor origen son redirigidas transparentemente a una cache proxy. Si la cache proxy ha almacenado el objeto pedido, envía el objeto al cliente, pero aparece como si el objeto viniese del servidor origen. Si la cache proxy no ha almacenado el objeto pedido, establece una conexión al servidor origen, obtiene el objeto, entonces lo envía al cliente, y de nuevo aparece como si el objeto procediese del servidor origen.
Hay así una necesidad ampliamente reconocida de, y sería altamente ventajoso tener, un método y sistema para acelerar la recepción de datos en una red entre clientes carente de la limitación anterior.
Resumen de la invención
Según un primer aspecto de la invención, se facilita un método de acelerar la recepción de datos en una red entre pares donde cada par en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo el método los pasos de: a) proporcionar un primer par y un canal de comunicación para transmitir comunicaciones a y del primer par, estando dispuesto el primer par para operar el programa de software para implementar una consulta que se transmite a al menos otros dos pares; b) proporcionar los al menos otros dos pares para recibir la consulta, estando dispuesto cada uno de los al menos otros dos pares para operar el programa de software para proporcionar una porción de una respuesta a la consulta, por lo que la respuesta a la consulta incluye al menos dos porciones de respuesta al primer par de los respectivos al menos otros dos pares; c) interceptar en un servidor de aceleración la consulta del primer par; d) determinar si las porciones de la respuesta a la consulta que espera recibir el primer par están almacenadas en el servidor de aceleración; e) cuando se determina que las porciones de la respuesta a la consulta que espera recibir el primer par están almacenadas en el servidor de aceleración, transmitir las porciones de la respuesta almacenadas en el servidor de aceleración del servidor de aceleración al primer par; y f) cuando las porciones de la respuesta a la consulta que espera recibir el primer par no están almacenadas en el servidor de aceleración, interceptar dichas porciones de la respuesta y almacenar dichas porciones en el servidor de aceleración de tal manera que una petición posterior interceptada en el servidor de aceleración para dichas porciones de un par pueda ser enviada desde el servidor de aceleración al par.
Según un segundo aspecto de la invención, se facilita un servidor de aceleración, conectado a una red entre pares en la que cada par en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo la red un primer par y un canal de comunicación para transmitir comunicaciones a y del primer par, estando dispuesto el primer par para operar el programa de software para implementar una consulta que se transmite a al menos otros dos pares, y los al menos otros dos pares para recibir la consulta, estando dispuesto cada uno de los al menos otros dos pares para operar el programa de software para proporcionar una porción de una respuesta a la consulta, por lo que la respuesta a la consulta incluye al menos dos porciones de respuesta al primer par de los respectivos al menos otros dos pares, incluyendo el servidor de aceleración: a) unos medios para interceptar la consulta del primer par; b) medios para determinar si las porciones de la respuesta a la consulta que espera recibir el primer par están almacenadas en el servidor de aceleración; c) medios para transmitir las porciones de la respuesta almacenadas en el servidor de aceleración del servidor de aceleración al primer par cuando se determina que las porciones de la respuesta están almacenadas en el servidor de aceleración; y d) medios para interceptar las porciones de la respuesta a la consulta recibidas del primer par que no están almacenadas en el servidor de aceleración, y almacenar dichas porciones en el servidor de aceleración de tal manera que una petición posterior interceptada en el servidor de aceleración para dichas porciones de un par pueda ser enviada desde el servidor de aceleración al par.
Según un tercer aspecto de la invención, se facilita un sistema para acelerar la recepción de datos en una red entre pares en la que cada par en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo el sistema al menos dos servidores de aceleración, cada servidor de aceleración según el segundo aspecto de la invención, siendo la configuración relativa de los servidores de aceleración en serie, paralelo, o su combinación.
Según otras características en las realizaciones descritas preferidas, el dispositivo de redirección es un switch de capa 4.
Según otras características en las realizaciones descritas preferidas, el servidor de aceleración está situado en una posición seleccionada del grupo que consta de una red de área local y en un servidor perteneciente a un proveedor de servicios de Internet.
Según otras características en las realizaciones descritas preferidas, las consultas son peticiones de datos y las respuestas son datos.
Según otras características en las realizaciones descritas preferidas, los datos están en un formato seleccionado del grupo de tipo de archivos que consta de MP3, MPEG-2, MPEG-1, M-JPEG, MPEG-4, ActiveMovie/Video para Windows (.avi), QuickTime (.mov), RealVideo (.mi y .ram), H263.1, HTML, Flash, Gif, Tif, mpeguide y exe.
Según otras características en las realizaciones descritas preferidas, el paso de almacenar se realiza mediante la utilización de un algoritmo.
Según otras características en las realizaciones descritas preferidas, el algoritmo incluye análisis de al menos una variable seleccionada del grupo que consta de: (i) información temporal; (ii) información ordinal; (iii) información de frecuencia (iv) información de par; y (v) información de identificación.
Según otras características en las realizaciones descritas preferidas, la información temporal incluye al menos un dato seleccionado del grupo que consta de tiempo de almacenamiento inicial, tiempo total de residencia en almacenamiento, tiempo transcurrido desde la última recuperación de almacenamiento, tiempo medio entre recuperaciones de almacenamiento y tiempo de creación de un archivo original.
Según otras características en las realizaciones descritas preferidas, la información ordinal incluye al menos un dato seleccionado del grupo que consta de orden de recepción y orden de recuperación.
Según otras características en las realizaciones descritas preferidas, la información de frecuencia incluye al menos un dato seleccionado del grupo que consta de frecuencia de recuperación y frecuencia de aspecto en pares de la red entre pares.
Según otras características en las realizaciones descritas preferidas, la información de par incluye al menos un dato seleccionado del grupo que consta de estado de conexión de pares, identificación de par, y presencia de unos datos específicos en un par específico.
Según otras características de las realizaciones preferidas descritas, la información de identificación incluye al menos un dato seleccionado del grupo que consta de identificación de archivo, identificación de par, e identificación de contenido dentro de un archivo.
Según otras características en las realizaciones descritas preferidas, una sola consulta y una sola respuesta son interceptadas individualmente por al menos dos servidores de aceleración.
Según otras características en las realizaciones descritas preferidas, el servidor de aceleración está situado en una posición seleccionada del grupo que consta de dentro de una red de área local, en un servidor perteneciente a un proveedor de servicios de Internet, en una unión de proveedores de televisión por cable, en un enlace de relés satélite, y dentro de una unión ADSL. Según otras características en las realizaciones descritas preferidas, el paso de transmitir una respuesta específica interceptada a un par que presenta una consulta específica interceptada tiene lugar solamente si un par específico que sirvió como una fuente de la respuesta específica interceptada está disponible en la red entre pares y solamente si el par específico contiene datos idénticos a la respuesta específica interceptada en un directorio del par específico.
Según otras características en las realizaciones descritas preferidas, el paso secundario de transmitir un paquete específico de los al menos dos paquetes a un par que presenta una consulta específica interceptada, tiene lugar solamente si un par específico que sirvió como una fuente de la respuesta específica interceptada está disponible en la red entre pares y solamente si el par específico contiene datos idénticos a la respuesta específica interceptada en un directorio del par específico.
Según otras características en las realizaciones descritas preferidas, el paso de transmitir una respuesta interceptada a un par que presenta una consulta específica interceptada, tiene lugar solamente si un par específico que contiene datos equivalentes a la respuesta específica interceptada en un directorio del par específico está disponible en la red entre pares.
Según otras características en las realizaciones descritas preferidas, el paso secundario de transmitir un paquete específico de los al menos dos paquetes a un par que presenta una consulta específica interceptada, tiene lugar solamente si un par específico que contiene datos equivalentes a la respuesta específica interceptada en un directorio del par específico está disponible en la red entre pares.
Según otras características en las realizaciones descritas preferidas, donde el servidor de aceleración funciona además como un par en la red entre pares.
Según otras características en las realizaciones descritas preferidas, el paso de transmitir las respuestas interceptadas a pares que presentan consultas interceptadas incluye la transmisión simultánea de porciones de un solo conjunto de datos de al menos dos de los servidores de aceleración.
Según otras características en las realizaciones descritas preferidas, el paso de transmitir una respuesta específica de las respuestas interceptadas comienza mientras el paso de interceptar todavía se está desarrollando para la respuesta específica.
Según otras características en las realizaciones descritas preferidas, el par específico que contiene datos equivalentes a la respuesta específica interceptada en su directorio incluye al menos dos pares separados y distintos.
Según otras características en las realizaciones descritas preferidas, el paso de almacenar las respuestas interceptadas en un servidor de aceleración incluye almacenar una sola respuesta interceptada que se origina en al menos dos clientes separados y distintos.
Según otras características en las realizaciones descritas preferidas, el al menos único servidor de aceleración está diseñado y configurado además para: (d) dividir una respuesta específica interceptada de las respuestas interceptadas en al menos dos paquetes y (e) transmitir los al menos dos paquetes a los pares que presentan consultas interceptadas.
La presente invención resuelve satisfactoriamente los inconvenientes de las configuraciones actualmente conocidas proporcionando un método y sistema para acelerar la recepción de datos en una red entre pares que se puede implementar fácilmente usando hardware comercialmente disponible.
Breve descripción de los dibujos
La invención se describe aquí, a modo de ejemplo solamente, con referencia a los dibujos acompañantes. Con referencia específica ahora a los dibujos en detalle, se recalca que los detalles representados son solamente a modo de ejemplo y para fines de explicación ilustrativa de las realizaciones preferidas de la presente invención, y se presentan al objeto de proporcionar lo que se considera que es la descripción más útil y fácilmente comprensible de los principios y aspectos conceptuales de la invención. A este respecto, no se intenta mostrar detalles estructurales de la invención con más detalle del necesario para una comprensión fundamental de la invención, evidenciando la descripción tomada con los dibujos a los expertos en la técnica cómo se pueden llevar a la práctica las varias formas de la invención.
En los dibujos:
La figura 1 es una representación diagramática de componentes en un sistema según la presente invención.
Y la figura 2 es un diagrama de flujo de pasos en un método según la presente invención.
Descripción de las realizaciones preferidas
La presente invención es un método y sistema para acelerar la recepción de datos en una red entre clientes que se puede emplear ventajosamente para reducir el tráfico dentro de una red de área ancha y aumentar la anchura de banda disponible. Específicamente, la presente invención puede ser usada para almacenar datos pedidos frecuentemente en servidores a lo largo de un recorrido de datos, acortando por ello el recorrido para una recuperación posterior de los mismos datos.
Los principios y operación de un método y sistema para acelerar la recepción de datos en una red entre clientes según la presente invención se pueden entender mejor con referencia a los dibujos y las descripciones acompañantes.
Antes de explicar en detalle al menos una realización de la invención, se ha de entender que la invención no se limita en su aplicación a los detalles de construcción y la disposición de los componentes expuestos en la descripción siguiente o ilustrados en los dibujos. La invención es capaz de otras realizaciones o de ponerse en práctica o realizarse de varias formas. Además, se ha de entender que las expresiones y la terminología empleadas aquí tienen la finalidad de ser una descripción y no se deberán considerar en sentido limitativo.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, la expresión "cliente usuario" se refiere en general a un ordenador e incluye, aunque sin limitación, ordenadores personales (PC) que tienen un sistema operativo tal como ordenadores DOS, Windows^{TM}, OS/2^{TM} o Linux; Macintosh^{TM}, Palm OS^{TM}, EPOC^{TM}; ordenadores que tiene JAVA^{TM} -OS como el sistema operativo; y estaciones gráficas tales como los ordenadores de Sun Microsystems^{TM} y Silicon Graphics^{TM}, y otros ordenadores que tienen alguna versión del sistema operativo UNIX tal como AIX^{TM} o SOLARIS^{TM} de Sun Microsystems^{TM}; o cualquier otro sistema operativo conocido y disponible; asistentes digitales personales (PDA), teléfonos celulares que tienen capacidades de ordenador, un teléfono que tenga capacidades de ordenador y TVs Web, que se conoce que incluyen un dispositivo de visualización inherente o conectable. Un usuario cliente se caracteriza porque tiene al menos un dispositivo de entrada y al menos un dispositivo de salida.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, el término "servidor" se refiere a cualquier máquina informática capaz de intercambiar datos con al menos otra máquina informática. Un solo servidor puede incluir una máquina informática individual o una pluralidad de tales máquinas que actúan en concierto para realizar una función pedida por al menos otra máquina informática.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, el término "Windows^{TM}" incluye, aunque sin limitación, Windows 95^{TM}, Windows 2000^{TM}, Windows 3.x^{TM} donde "x" es un entero tal como "1", Windows NT^{TM}, Windows 98^{TM}'', Windows CE^{TM}, Windows Millennium^{TM} y las versiones actualizadas de estos sistemas operativos por Microsoft Corp (USA) y/o gestores de ventanas para el sistema gráfico X Windows para sistemas operativos basados en UNIX y / o sus variantes como Linux.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, la expresión "plataforma informática" se refiere a cualquier sistema operativo particular y/o dispositivo de hardware, como se ha descrito previamente, según el que se determina el formato para comunicación de datos y/o su presentación (visualización).
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, el término "datos" se refiere a datos digitales incluyendo, aunque sin limitación, un programa de software, un archivo de texto, un archivo de sonido, un archivo conteniendo al menos una imagen vídeo, y una secuencia de animación así como cualquiera de sus combinaciones.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, la expresión "canal de comunicación" incluye, aunque sin limitación, una conexión telefónica, una conexión por teléfono celular, una conexión de Internet, una conexión de transmisión de frecuencia de infrarrojos, una conexión de red de área local, una conexión de radio frecuencia, una conexión de fibra óptica o una conexión por cables. A la idea de un canal de comunicación es inherente un estado abierto durante el que puede tener lugar la transmisión de datos. En algunos casos, los canales de comunicación también pueden tener un estado cerrado durante el que no puede tener lugar transmisión de datos. La expresión se ha de interpretar en su sentido más amplio posible de modo que abarque cualquier modo de transferencia de datos.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, la expresión "programa de software" se refiere a cualquier algoritmo para realizar al menos una función en un dispositivo informático. El término incluye específicamente, aunque sin limitación, navegadores web, reproductores de música, reproductores de animación, reproductores vídeo, juegos, algoritmos de compresión, programas de búsqueda, interfaces cliente a cliente y observadores.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, la expresión "dispositivo de visualización" se refiere a cualquier dispositivo para presentación de datos a un usuario. La definición incluye, aunque sin limitación, altavoces, auriculares, pantallas LCD, pantallas LED, pantallas CRT y pantallas de matriz activa.
A los efectos de esta memoria descriptiva y las reivindicaciones acompañantes, la expresión "dispositivo de entrada" se refiere a cualquier dispositivo para entrada de datos a un dispositivo informático. La definición incluye, aunque sin limitación, un teclado, un ratón de ordenador, un trackpad, un trackball, un estilete, una pantalla táctil, una cámara y un micrófono.
Con referencia ahora a los dibujos, la figura 2 ilustra un método 20 de acelerar la recepción de datos en una red entre clientes. Según la presente invención, se reciben datos típicamente en respuesta a una consulta. Cada cliente 57 (figura 1) en la red entre clientes opera un programa de software para implementar consultas y proporcionar respuestas. El programa de software puede incluir, en algunos casos, al menos dos algoritmos. Típicamente las consultas son peticiones de datos y las respuestas son datos. Los datos pueden estar, por ejemplo, organizados en un tipo de archivo tal como MP3, DViD, MPEG-2, MPEG-1, M-JPEG, MPEG-4, ActiveMovie/Video para Windows (.avi), QuickTime(.mov), RealVideo(.rm y.ram), H263.1, HTML, Flash, Gif, Tif, mpeguide, exe o cualquier otro tipo de
archivo.
El método 20 incluye el paso de interceptar 22 consultas y respuestas en la red entre clientes. Según algunas realizaciones de la invención, el paso de interceptar lo realiza un dispositivo de redirección que puede incluir, por ejemplo, un switch de capa 4.
El método 20 incluye además el paso de almacenar 24 las consultas interceptadas y respuestas en un servidor de aceleración 52.
El servidor de aceleración 52 puede estar situado, por ejemplo, dentro de una red de área local 54 (por ejemplo 57 g y 57 k) o en un servidor 60 perteneciente a un proveedor de servicios de Internet. En algunos casos, el paso de almacenar 24 se realiza mediante la utilización de un algoritmo que puede incluir análisis, por ejemplo, de información temporal, información ordinal, información de frecuencia, información de cliente, información de identificación o sus combinaciones. "Información temporal" en el sentido en que se usa aquí puede incluir, aunque sin limitación, datos tales como el tiempo de almacenamiento inicial, el tiempo total de residencia en almacenamiento, el tiempo transcurrido desde la última recuperación de almacenamiento, el tiempo medio entre recuperaciones de almacenamiento y el tiempo de creación de un archivo original. "Tiempo" en el sentido en que se usa aquí puede incluir cualquier referencia a una medida de tiempo absoluto o relativo incluyendo, aunque sin limitación, un tiempo absoluto o transcurrido (por ejemplo 16:43:21 o 3 horas 21 minutos y 04 segundos desde la recepción) o una fecha absoluta o relativa (por ejemplo 22 de febrero de 2001 o ayer). "Información ordinal" en el sentido en que se usa aquí se refiere, por ejemplo, a datos tales como el orden de recepción y el orden de recuperación. "Información de frecuencia" en el sentido en que se usa aquí se refiere, por ejemplo, a datos tales como frecuencia de recuperación y frecuencia de aspecto en clientes de la red entre clientes. "Información de cliente" en el sentido en que se usa aquí se refiere, por ejemplo, a datos tales como estado de conexión de cliente, identificación de cliente, y presencia de datos específicos (es decir, un archivo o una parte de él) en un cliente específico. "Información de identificación" en el sentido en que se usa aquí se refiere, por ejemplo, a
datos tales como identificación de archivo, identificación de cliente, e identificación de contenido dentro de un archivo.
El método 20 incluye además el paso de transmitir 26 las respuestas interceptadas a clientes 57 que presentan consultas interceptadas.
En algunos casos una sola consulta o una sola respuesta puede ser interceptada por al menos dos servidores de aceleración. Por ejemplo, una consulta para un videojuego llamado "piggy picnic" origina en el cliente 57h en LAN 54a. La consulta es interceptada primero por el servidor de aceleración 52 del cliente 57 g. Dado que las redes pueden residir una dentro de otra, aunque 57g sea un cliente con respecto a la red entre clientes, (57g) incluye una función de servidor dentro de LAN 54a. En este caso el servidor de aceleración 52 del cliente 57 g no almacena una copia de "piggy picnic" de una respuesta previa, de modo que la consulta es enviada entonces mediante un servidor ISP 60 donde la consulta es analizada contra respuestas almacenadas en el servidor de aceleración 52 del servidor 60. De nuevo, no se halla coincidencia. La consulta es enviada posteriormente a clientes usuarios 57 a, b, y c y a Internet 56. Desde Internet 56, la consulta se transmite a la LAN 54b donde encuentra el servidor de aceleración 52 del cliente 57k, y a unión TV Cable 62/relé satélite 64 que contienen un servidor de aceleración adicional 52. Por estos medios, la consulta llega eventualmente a todos los clientes 57. En este punto la consulta ha sido interceptada, y según algunas realizaciones se almacenará, en un total de cuatro servidores de aceleración 52. El resultado de la consulta es que hay copias de piggy picnic en los clientes 57a y 57 m. Esta información se transmite al cliente solicitante 57h mediante los mismos canales de comunicación descritos anteriormente. En este punto el cliente 57h pide recibir una copia de piggy picnic del cliente 57a. Cuando se satisface esta petición, se pueden guardar copias de piggy picnic en servidores de aceleración 52 de los servidores 60 y 57g. Como resultado, una petición posterior del cliente 57c de piggy picnic puede ser contestada transmitiendo el juego directamente desde el servidor de aceleración 52 del servidor 60. Alternativa o adicionalmente, una petición posterior de piggy picnic por parte del cliente 57f puede ser contestada transmitiendo el juego desde el servidor de aceleración 52 del servidor 60 mediante Internet 56 y el servidor de aceleración 52 del relé satélite 64 al cliente solicitante 57f. En este caso, se genera una copia adicional del juego en el servidor de aceleración 52 del relé satélite 64. En general, la puesta en práctica de l método 20 hace copias de los datos pedidos frecuentemente para acumularlas en zonas donde se originan las peticiones.
Según realizaciones adicionales de la invención, el paso de transmitir 26 una respuesta específica interceptada a un cliente que presenta una consulta específica interceptada tiene lugar solamente si un cliente específico que sirvió como una fuente de la respuesta específica interceptada está disponible en la red entre clientes y solamente si el cliente específico contiene datos idénticos a la respuesta específica interceptada en un directorio del cliente específico. Según estas realizaciones, el servidor de aceleración 52 comprueba 36 si una respuesta específica interceptada está disponible. Si está disponible, la transmisión tiene lugar 26. Si no está disponible, no tiene lugar 40 la transmisión.
En algunos casos, los datos pedidos se pueden dividir 28 en al menos dos paquetes antes de la transmisión. Según realizaciones adicionales de la invención, el paso secundario de transmitir un paquete específico de los al menos dos paquetes a un cliente que presenta una consulta específica interceptada tiene lugar solamente si un cliente específico que sirvió como una fuente de la respuesta específica interceptada está disponible en la red entre clientes y solamente si el cliente específico contiene datos idénticos a la respuesta específica interceptada en un directorio del cliente específico. Es decir, antes de transmitir un paquete la red se verifica 38 la presencia de dicho paquete. Si el paquete está disponible, la transmisión tiene lugar 26. Si no está disponible, la transmisión no tiene lugar 40.
Alternativa o adicionalmente, el paso de transmitir 26 una respuesta interceptada a un cliente que presenta una consulta específica interceptada tiene lugar solamente si un cliente específico que contiene datos equivalentes a la respuesta específica interceptada en un directorio del cliente específico está disponible en la red entre clientes. Si los datos equivalentes están disponibles, la transmisión tiene lugar 26. Si no están disponibles, la transmisión no tiene lugar 40. Se puede aplicar el mismo principio a los paquetes. Si un paquete equivalente está disponible, la transmisión tiene lugar 26. Si no está disponible, la transmisión no tiene lugar 40.
En algunos casos, el paso de almacenar 24 las respuestas interceptadas en un servidor de aceleración puede incluir almacenar 24 una sola respuesta interceptada que se origina en al menos dos clientes separados y distintos. Por ejemplo, el cliente 57a pide una presentación accapella de "Hatikva" por el Ramallah boys' choir como un archivo MP3. El archivo pedido se encuentra en ambos clientes 57b y 57c. El archivo se divide en diez paquetes, enviándose los paquetes 1, 3, 5, 7 y 9 al servidor de aceleración 52 del servidor 60 por el cliente 57b, y enviándose los paquetes 2, 4, 6, 8 y 10 al servidor de aceleración 52 del servidor 60 por el cliente 57c.
Alternativa o adicionalmente, el paso de transmitir 26 las respuestas interceptadas a clientes 57 que presentan consultas interceptadas puede incluir la transmisión simultánea de porciones de un solo conjunto de datos de al menos dos de los servidores de aceleración. Por ejemplo, si el cliente 57n pide un archivo MP3 de Suzy Cream Cheese, y el archivo se encuentra en los servidores de aceleración 52 de los servidores 60 y el relé satélite 64, los paquetes que tienen su orígenes en cada una de las dos copias pueden ser transmitidos simultáneamente al cliente 57n con el fin de proporcionar una sola copia de esta cancioncilla muy apreciada.
En algunos casos, el paso de transmitir una respuesta específica de las respuestas interceptadas puede comenzar mientras el paso de interceptar todavía se está desarrollando para la respuesta específica.
Según otro aspecto de la presente invención se facilita un sistema 50 para acelerar la recepción de datos en una red entre clientes donde cada cliente en la red entre clientes opera un programa de software para implementar consultas y proporcionar respuestas. El sistema incluye al menos un servidor de aceleración 52 diseñado y configurado para interceptar consultas y respuestas en la red entre clientes donde cada una de las consultas y cada una de las respuestas contienen información de identificación única, facilitando la información de identificación única su intercepción. El servidor de aceleración 52 está diseñado y configurado además para almacenar las respuestas. El servidor de aceleración 52 está diseñado y configurado además para transmitir las respuestas a clientes que presentan consultas interceptadas. Se puede imponer límites a esta transmisión descrita antes y más adelante.
El sistema 50 puede contener múltiples servidores de aceleración 52 que pueden tener una configuración relativa que está en serie o en paralelo o su combinación. Por ejemplo, al presentar una petición originada en el cliente 57m, el servidor de aceleración 52 del servidor 57k y el servidor de aceleración 52 del relé satélite 64 están en serie uno con respecto a otro. Igualmente, el servidor de aceleración 52 del relé satélite 64 y el servidor de aceleración 52 del servidor ISP 60 están en paralelo uno con otro con respecto a la misma petición.
Dentro del sistema 50, el servidor de aceleración 52 puede estar situado en una variedad de posiciones incluyendo, aunque sin limitación, dentro de una red de área local (54a y 54b), en un servidor 60 perteneciente a un proveedor de servicios de Internet, en una unión de proveedores de televisión por cable 62, en un enlace de relés satélite 64, y dentro de una unión ADSL.
Igualmente, el servidor de aceleración 52 puede estar configurado de manera que sea unidireccional o bidireccional. Esto significa, por ejemplo, que el servidor de aceleración 52 del servidor 57k puede estar configurado para transmitir respuestas almacenadas solamente a elementos de la LAN 54b, en cuyo caso se dice que es un servidor de aceleración unidireccional 52. Alternativamente, el servidor de aceleración 52 del servidor 57k puede estar configurado para transmitir respuestas almacenadas en respuesta a consultas dentro de la LAN 54b y de clientes 57 fuera de la LAN 54b, en cuyo caso se dice que es un servidor de aceleración bidireccional 52.
En algunos casos el servidor de aceleración 52 puede funcionar además como un cliente 57 en la red entre clientes. Alternativa o adicionalmente, el servidor de aceleración 52 puede actuar como un servidor proxy transparente.
En algunos casos el cliente específico 57 que contiene datos equivalentes a la respuesta específica interceptada en su directorio incluye al menos dos clientes separados y distintos. Éste puede ser el caso cuando, por ejemplo, un archivo se divide en paquetes como se ha descrito anteriormente.
Según algunas realizaciones del sistema 50, el servidor de aceleración 52 está diseñado y configurado además para dividir una respuesta específica interceptada de las respuestas interceptadas en al menos dos paquetes y transmitir los al menos dos paquetes a los clientes que presentan consultas interceptadas.
Aunque la invención se ha descrito en unión con sus realizaciones específicas, es evidente que muchas alternativas, modificaciones y variaciones serán evidentes a los expertos en la técnica. Todas las publicaciones, patentes y solicitudes de patente mencionadas en esta memoria descriptiva se incorporan aquí en su totalidad por referencia a la memoria descriptiva, en la misma medida que si se indicase específica e individualmente que cada publicación, patente o solicitud de patente individual indicada se incorpora aquí por referencia. Además, la cita o identificación de cualquier referencia en esta aplicación no se deberá interpretar como una admisión de que tal referencia está disponible como técnica anterior a la presente invención.

Claims (38)

1. Un método de acelerar la recepción de datos en una red entre pares donde cada par (57a a 57n) en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo el método los pasos de:
a)
proporcionar un primer par (57a a 57n) y un canal de comunicación para transmitir comunicaciones a y del primer par (57a a 57n), estando dispuesto el primer par (57a a 57n) para operar el programa de software para implementar una consulta que se transmite a al menos otros dos pares (57a a 57n);
b)
proporcionar los al menos otros dos pares (57a a 57n) para recibir la consulta, estando dispuesto cada uno de los al menos otros dos pares (57a a 57n) para operar el programa de software para proporcionar una porción de una respuesta a la consulta, por lo que la respuesta a la consulta incluye al menos dos porciones de respuesta al primer par (57a a 57n) de los respectivos al menos otros dos pares (57a a 57n);
c)
interceptar la consulta del primer par (57a a 57n) en un servidor de aceleración (52);
d)
determinar si las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) están guardadas en el servidor de aceleración (52);
e)
cuando se determina que las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) están almacenadas en el servidor de aceleración (52), transmitir las porciones de la respuesta almace- nadas en el servidor de aceleración (52) desde el servidor de aceleración (52) al primer par (57a a 57n); y
f)
cuando las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) no están almacenadas en el servidor de aceleración (52), interceptar dichas porciones de la respuesta y almacenar dichas porciones en el servidor de aceleración (52) de tal manera que una petición posterior interceptada en el servidor de aceleración (52) para dichas porciones de un par (57a a 57n) pueda ser enviada desde el servidor de aceleración (52) al par (57a a 57n).
2. Un método según la reivindicación 1, donde los pasos c) a f) son realizados por al menos dos servidores de aceleración (52).
3. Un método según alguna de las reivindicaciones precedentes, donde el paso c) de interceptar la consulta lo realiza un dispositivo de redirección en el servidor de aceleración (52).
4. Un método según la reivindicación 3, donde el dispositivo de redirección es un switch de capa 4.
5. Un método según alguna de las reivindicaciones precedentes, donde el servidor de aceleración (52) está situado dentro de una red de área local (54a, 54b), en un servidor perteneciente a un proveedor de servicios de Internet, en una unión de proveedores de televisión por cable (62), en un enlace de relés satélite (64) o dentro de una unión ADSL.
6. Un método según alguna de las reivindicaciones precedentes, donde la consulta es una petición de datos y la respuesta son datos.
7. Un método según la reivindicación 6, donde los datos están en un formato seleccionado del grupo de archivos que consta de: MP3, DVid, MPEG-2, MPEG-1, M-JPEG, MPEG4, ActiveMovieVideo para Windows (.avi), QuickTime (.mov), RealVideo (.rm y .ram), H263.1, HTML, Flash, Gif, TIFF, mpeguide y exe.
8. Un método según alguna de las reivindicaciones precedentes, donde el paso de almacenar se realiza mediante la utilización de un algoritmo.
9. Un método según la reivindicación 8, donde el algoritmo incluye análisis de al menos una variable seleccionada del grupo que consta de: (i) información temporal; (ii) información ordinal; (iii) información de frecuencia; (iv) información de par; y (v) información de identificación.
10. Un método según la reivindicación 9, donde la información temporal incluye al menos un dato seleccionado del grupo que consta de tiempo de almacenamiento inicial, tiempo total de residencia en almacenamiento, tiempo transcurrido desde la última recuperación de almacenamiento, tiempo medio entre recuperaciones de almacenamiento y tiempo de creación de un archivo original.
11. Un método según la reivindicación 9 o la reivindicación 10, donde la información ordinal incluye al menos un dato seleccionado del grupo que consta de orden de recepción y orden de recuperación.
12. Un método según cualquiera de las reivindicaciones 9 a 11, donde la información de frecuencia incluye al menos un dato seleccionado del grupo que consta de frecuencia de recuperación y frecuencia de aspecto en pares de la red entre pares.
13. Un método según cualquiera de las reivindicaciones 9 a 12, donde la información de par incluye al menos un dato seleccionado del grupo que consta de estado de conexión de pares, identificación de par, y presencia de unos datos específicos en un par específico.
14. Un método según cualquiera de las reivindicaciones 9 a 13, donde la información de identificación incluye al menos un dato seleccionado del grupo que consta de identificación de archivo, identificación de par, e identificación de contenido dentro de un archivo.
15. Un método según alguna de las reivindicaciones precedentes donde el servidor de aceleración (52) es parte de una red y el paso de transmitir las porciones de la respuesta del servidor de aceleración (52) al primer par (57a a 57n) incluye transmitir las porciones de la respuesta al primer par (57a a 57n) dentro de la red.
16. Un método según cualquiera de las reivindicaciones 1 a 14, donde el servidor de aceleración (52) es parte de una red y el paso de transmitir las porciones de la respuesta del servidor de aceleración (52) al primer par (57a a 57n) incluye transmitir las porciones de la respuesta al primer par (57a a 57n) fuera de la red.
17. Un método según alguna de las reivindicaciones precedentes, donde el paso de transmitir las porciones de la respuesta al primer par (57a a 57n) solamente tiene lugar si los al menos otros dos pares (57a a 57n) que sirvieron como una fuente de las al menos dos porciones de respuesta están disponibles en la red entre pares y solamente si los al menos otros dos pares (57a a 57n) contienen datos idénticos a las respectivas porciones de respuesta interceptadas.
18. Un método según alguna de las reivindicaciones precedentes, donde el servidor de aceleración (52) funciona además como un par en la red entre pares.
19. Un método según alguna de las reivindicaciones precedentes, donde el paso de transmitir las porciones de la respuesta del servidor de aceleración (52) al primer par (57a a 5n) incluye la transmisión simultánea de porciones de un solo conjunto de datos de al menos dos servidores de aceleración (52).
20. Un método según alguna de las reivindicaciones precedentes, donde el paso e) de transmitir las porciones de la respuesta al primer par (57a a 57n) comienza mientras que el paso c) de interceptar todavía se está desarrollando.
21. Un servidor de aceleración (52), conectado a una red entre pares en la que cada par (57a a 57n) en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo la red un primer par (57a a 57n) y un canal de comunicación para transmitir comunicaciones a y del primer par (57a a 57n), estando dispuesto el primer par (57a a 57n) para operar el programa de software para implementar una consulta que se transmite a al menos otros dos pares (57a a 57n), y los al menos otros dos pares (57a a 57n) para recibir la consulta, estando dispuesto cada uno de los al menos otros dos pares (57a a 57n) para operar el programa de software para proporcionar una porción de una respuesta a la consulta, por lo que la respuesta a la consulta incluye al menos dos porciones de respuesta al primer par (57a a 57n) de los respectivos al menos otros dos pares (57a a 57n), incluyendo el servidor de aceleración:
a)
medios para interceptar la consulta del primer par (57a a 57n);
b)
medios para determinar si las porciones de la respuesta a la consulta que espera recibir el primer par (57a a 57n) están almacenadas en el servidor de aceleración (52);
c)
medios para transmitir las porciones de la respuesta almacenadas en el servidor de aceleración (52) del servidor de aceleración (52) al primer par (57a a 57n) cuando se determina que las porciones de la respuesta están almacenadas en el servidor de aceleración (52); y
d)
medios para interceptar las porciones de la respuesta a la consulta recibida del primer par (57a a 57n) que no están almacenadas en el servidor de aceleración (52), y almacenar dichas porciones en el servidor de aceleración (52) de tal manera que una petición posterior interceptada en el servidor de aceleración (52) para dichas porciones de un par (57a a 57n) pueda ser enviada desde el servidor de aceleración (52) al par (57a a 57n).
22. Un servidor de aceleración (52) según la reivindicación 21, donde los medios para interceptar son un dispositivo de redirección.
23. Un servidor de aceleración (52) según la reivindicación 22, donde el dispositivo de redirección es un switch de capa 4.
24. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 21 a 23, donde las consultas son peticiones de datos y las respuestas son datos.
25. Un servidor de aceleración (52) según la reivindicación 24, donde los datos están en un formato seleccionado del grupo de archivos que consta de: MP3, DVid, MPEG-2, MPEG-1, M-JPEG, MPEG-4, ActiveMovie/Video para Windows (.avi), QuickTime (.mov), RealVideo (.mi y.ram), H263.1, HTML, Flash, Gif, TIFF, mpeguide y exe.
26. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 21 a 25, donde los medios para almacenar guardan las consultas interceptadas y las porciones de respuesta mediante la utilización de un algoritmo.
27. Un servidor de aceleración (52) según la reivindicación 26, donde el algoritmo incluye análisis de al menos una variable seleccionada del grupo que consta de: (i) información temporal; (ii) información ordinal; (iii) información de frecuencia; (iv) información de par; y (v) información de identificación.
28. Un servidor de aceleración (52) según la reivindicación 27, donde la información temporal incluye al menos un dato seleccionado del grupo que consta de tiempo de almacenamiento inicial, tiempo total de residencia en almacenamiento, tiempo transcurrido desde la última recuperación de almacenamiento, tiempo medio entre recuperaciones de almacenamiento y tiempo de creación de un archivo original.
29. Un servidor de aceleración (52) según la reivindicación 27 o la reivindicación 28, donde la información ordinal incluye al menos un dato seleccionado del grupo que consta de orden de recepción y orden de recuperación.
30. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 27 a 29, donde la información de frecuencia incluye al menos un dato seleccionado del grupo que consta de frecuencia de recuperación y frecuencia de aspecto en pares de la red entre pares.
31. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 27 a 30, donde la información de par incluye al menos un dato seleccionado del grupo que consta de estado de conexión de pares, identificación de par, y presencia de unos datos específicos en un par específico.
32. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 27 a 31, donde la información de identificación incluye al menos un dato seleccionado del grupo que consta de identificación de archivo, identificación de par, e identificación de contenido dentro de un archivo.
33. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 21 a 32, donde el servidor de aceleración es parte de una red y los medios para transmitir las porciones de la respuesta del servidor de aceleración (52) al primer par (57a a 57n) están dispuestos para transmitir las porciones de la respuesta al primer par (57a a 57n) dentro de la red.
34. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 21 a 33, donde el servidor de aceleración (52) es parte de una red y los medios para transmitir las porciones de la respuesta del servidor de aceleración (52) al primer par (57a a 57n) están dispuestos para transmitir las porciones de la respuesta al primer par (57a a 57n) fuera de la red.
35. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 21 a 34, donde el servidor de aceleración (52) funciona además como un par en la red entre pares.
36. Un servidor de aceleración (52) según cualquiera de las reivindicaciones 21 a 35, donde los medios para transmitir están dispuestos para comenzar a transmitir mientras que los medios para interceptar todavía están interceptando.
37. Un sistema para acelerar la recepción de datos en una red entre pares en la que cada par (57a a 57n) en la red entre pares está dispuesto para operar un programa de software para implementar consultas y proporcionar respuestas, incluyendo el sistema al menos dos servidores de aceleración (52), cada servidor de aceleración según cualquiera de las reivindicaciones 21 a 36, siendo la configuración relativa de los servidores de aceleración en serie, o paralelo, o su combinación.
38. Un sistema según la reivindicación 37 donde los al menos dos servidores de aceleración (52) están dispuestos para transmitir simultáneamente porciones de un solo conjunto de datos al primer par (57a a 57n).
ES01978794T 2000-10-12 2001-10-12 Metodo y sistema para acelerar la recepcion de datos en una red entre clientes. Expired - Lifetime ES2316483T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23927300P 2000-10-12 2000-10-12
US239273P 2000-10-12
US09/810,410 US7203741B2 (en) 2000-10-12 2001-03-19 Method and system for accelerating receipt of data in a client-to-client network
US810410 2001-03-19

Publications (1)

Publication Number Publication Date
ES2316483T3 true ES2316483T3 (es) 2009-04-16

Family

ID=26932423

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01978794T Expired - Lifetime ES2316483T3 (es) 2000-10-12 2001-10-12 Metodo y sistema para acelerar la recepcion de datos en una red entre clientes.

Country Status (7)

Country Link
US (4) US7203741B2 (es)
EP (1) EP1410136B1 (es)
AT (1) ATE415657T1 (es)
AU (1) AU2002210885A1 (es)
DE (1) DE60136749D1 (es)
ES (1) ES2316483T3 (es)
WO (1) WO2002031615A2 (es)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203741B2 (en) * 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US20020198930A1 (en) * 2001-06-25 2002-12-26 International Business Machines Corporation Method and apparatus for wide-spread distribution of electronic content in a peer to peer fashion
US20020198929A1 (en) * 2001-06-25 2002-12-26 International Business Machines Corporation Method and apparatus to encourage client into a distributed peer to peer sharing technology
FI114365B (fi) * 2001-08-31 2004-09-30 First Hop Oy Menetelmä langattomien verkkojen suorituskyvyn optimoimiseksi
US7571251B2 (en) * 2002-05-06 2009-08-04 Sandvine Incorporated Ulc Path optimizer for peer to peer networks
EP1565839B1 (en) * 2002-11-29 2015-03-25 International Business Machines Corporation Index server support to file sharing applications
US20130073725A1 (en) * 2004-06-16 2013-03-21 Unwired Planet, Inc. System and method for automated content distribution
US20060168151A1 (en) * 2005-01-04 2006-07-27 Umberto Caselli Method, system and computer program for retrieving information with reduced age in a periodic process
US8904456B2 (en) * 2006-02-13 2014-12-02 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
JP4188409B2 (ja) * 2006-05-25 2008-11-26 デュアキシズ株式会社 通信管理システム、通信管理方法、及び通信制御装置
US7814146B2 (en) * 2006-12-05 2010-10-12 International Business Machines Corporation File fragment trading based on rarity values in a segmented file sharing system
US7617178B2 (en) * 2006-12-05 2009-11-10 International Business Machines Corporation Moving file fragments from background file sharing to foreground file sharing and preventing duplicate downloads
US8131673B2 (en) * 2006-12-05 2012-03-06 International Business Machines Corporation Background file sharing in a segmented peer-to-peer file sharing network
US8775562B2 (en) * 2006-12-05 2014-07-08 International Business Machines Corporation Mapping file fragments to file information and tagging in a segmented file sharing system
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US8606846B2 (en) * 2007-10-15 2013-12-10 Nbcuniversal Media, Llc Accelerating peer-to-peer content distribution
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US20100005171A1 (en) * 2008-01-07 2010-01-07 Peerapp Ltd. Method and system for transmitting data in a computer network
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
WO2009146130A2 (en) 2008-04-05 2009-12-03 Social Communications Company Shared virtual area communication environment based apparatus and methods
US8769277B2 (en) * 2008-06-23 2014-07-01 Microsoft Corporation Content retrieval
US8019882B2 (en) 2008-06-27 2011-09-13 Microsoft Corporation Content identification for peer-to-peer content retrieval
US8572251B2 (en) 2008-11-26 2013-10-29 Microsoft Corporation Hardware acceleration for remote desktop protocol
KR20130010910A (ko) 2008-12-05 2013-01-29 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US9319357B2 (en) 2009-01-15 2016-04-19 Social Communications Company Context based virtual area creation
US9069851B2 (en) 2009-01-15 2015-06-30 Social Communications Company Client application integrating web browsing and network data stream processing for realtime communications
US9853922B2 (en) 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US8793307B2 (en) * 2009-01-28 2014-07-29 Blue Coat Systems, Inc. Content associative caching method for web applications
WO2010090562A1 (en) * 2009-02-06 2010-08-12 Telefonaktiebolaget L M Ericsson (Publ) Network aware peer to peer
WO2010118774A1 (en) * 2009-04-15 2010-10-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for reducing traffic in a communications network
US8135912B2 (en) 2009-05-18 2012-03-13 Hola Networks, Ltd. System and method of increasing cache size
US8204791B2 (en) * 2009-07-13 2012-06-19 International Business Machines Corporation File fragment pricing in a segmented file sharing network
US8280958B2 (en) * 2009-07-13 2012-10-02 International Business Machines Corporation List passing in a background file sharing network
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8370648B1 (en) 2010-03-15 2013-02-05 Emc International Company Writing and reading encrypted data using time-based encryption keys
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
EP2659401B1 (en) 2010-12-30 2019-06-26 Peerapp, Ltd. Methods and systems for caching data communications over computer networks
US20120102148A1 (en) * 2010-12-30 2012-04-26 Peerapp Ltd. Methods and systems for transmission of data over computer networks
US8849899B1 (en) * 2011-01-30 2014-09-30 Israel L'Heureux Accelerated delivery of media content via peer caching
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US9286052B1 (en) 2011-09-15 2016-03-15 Emc Corporation Upgrading software on a pair of nodes in a clustered environment
US10061666B1 (en) 2011-12-30 2018-08-28 Emc International Company Method and apparatus for adding a director to storage with network-based replication without data resynchronization
WO2013119802A1 (en) 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
WO2013181026A1 (en) 2012-06-02 2013-12-05 Social Communications Company Interfacing with a spatial virtual communications environment
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
CA2894396C (en) 2012-12-14 2020-10-27 Koninklijke Philips N.V. A system and method to detect significant arrhythmic events through a photoplethysmogram (ppg) and accelerometer
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9110914B1 (en) 2013-03-14 2015-08-18 Emc Corporation Continuous data protection using deduplication-based storage
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9087008B1 (en) 2013-06-24 2015-07-21 Emc International Company Replicating a volume using snapshots
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US10410244B2 (en) 2013-11-13 2019-09-10 Bi Science (2009) Ltd Behavioral content discovery
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US10031703B1 (en) 2013-12-31 2018-07-24 Emc Corporation Extent-based tiering for virtual storage using full LUNs
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US9557921B1 (en) 2015-03-26 2017-01-31 EMC IP Holding Company LLC Virtual volume converter
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US11023846B2 (en) 2015-04-24 2021-06-01 United Parcel Service Of America, Inc. Location-based pick up and delivery services
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US9665305B1 (en) 2015-06-26 2017-05-30 EMC IP Holding Company LLC Tiering data between two deduplication devices
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
US10042751B1 (en) 2015-09-30 2018-08-07 EMC IP Holding Company LLC Method and system for multi-tier all-flash array
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10055148B1 (en) 2015-12-22 2018-08-21 EMC IP Holding Company LLC Storing application data as an enhanced copy
US10409787B1 (en) 2015-12-22 2019-09-10 EMC IP Holding Company LLC Database migration
US10091264B2 (en) 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10229006B1 (en) 2015-12-28 2019-03-12 EMC IP Holding Company LLC Providing continuous data protection on a storage array configured to generate snapshots
US10108356B1 (en) 2016-03-25 2018-10-23 EMC IP Holding Company LLC Determining data to store in retention storage
US9910735B1 (en) 2016-03-30 2018-03-06 EMC IP Holding Company LLC Generating an application-consistent snapshot
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10235088B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Global replication policy for multi-copy replication
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10235061B1 (en) 2016-09-26 2019-03-19 EMC IP Holding Company LLC Granular virtual machine snapshots
US10409986B1 (en) 2016-09-26 2019-09-10 EMC IP Holding Company LLC Ransomware detection in a continuous data protection environment
US10223023B1 (en) 2016-09-26 2019-03-05 EMC IP Holding Company LLC Bandwidth reduction for multi-level data replication
US10078459B1 (en) 2016-09-26 2018-09-18 EMC IP Holding Company LLC Ransomware detection using I/O patterns
US10409629B1 (en) 2016-09-26 2019-09-10 EMC IP Holding Company LLC Automated host data protection configuration
US10235247B1 (en) 2016-09-26 2019-03-19 EMC IP Holding Company LLC Compressing memory snapshots
US10324637B1 (en) 2016-12-13 2019-06-18 EMC IP Holding Company LLC Dual-splitter for high performance replication
US10191687B1 (en) 2016-12-15 2019-01-29 EMC IP Holding Company LLC Adaptive snap-based replication in a storage system
US10235092B1 (en) 2016-12-15 2019-03-19 EMC IP Holding Company LLC Independent parallel on demand recovery of data replicas in a storage system
US10628268B1 (en) 2016-12-15 2020-04-21 EMC IP Holding Company LLC Proof of data replication consistency using blockchain
US10140039B1 (en) 2016-12-15 2018-11-27 EMC IP Holding Company LLC I/O alignment for continuous replication in a storage system
US10467102B1 (en) 2016-12-15 2019-11-05 EMC IP Holding Company LLC I/O score-based hybrid replication in a storage system
US10747606B1 (en) 2016-12-21 2020-08-18 EMC IP Holding Company LLC Risk based analysis of adverse event impact on system availability
US10235064B1 (en) 2016-12-27 2019-03-19 EMC IP Holding Company LLC Optimized data replication using special NVME protocol and running in a friendly zone of storage array
US10353603B1 (en) 2016-12-27 2019-07-16 EMC IP Holding Company LLC Storage container based replication services
US10423634B1 (en) 2016-12-27 2019-09-24 EMC IP Holding Company LLC Temporal queries on secondary storage
US10776211B1 (en) 2016-12-27 2020-09-15 EMC IP Holding Company LLC Methods, systems, and apparatuses to update point in time journal using map reduce to create a highly parallel update
US10114581B1 (en) 2016-12-27 2018-10-30 EMC IP Holding Company LLC Creating a virtual access point in time on an object based journal replication
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
EP3767494B1 (en) 2017-08-28 2023-02-15 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
US10366011B1 (en) 2018-05-03 2019-07-30 EMC IP Holding Company LLC Content-based deduplicated storage having multilevel data cache
US10713221B2 (en) 2018-07-30 2020-07-14 EMC IP Holding Company LLC Dual layer deduplication for a file system running over a deduplicated block storage
US10489321B1 (en) 2018-07-31 2019-11-26 EMC IP Holding Company LLC Performance improvement for an active-active distributed non-ALUA system with address ownerships
US10592166B2 (en) 2018-08-01 2020-03-17 EMC IP Holding Company LLC Fast input/output in a content-addressable storage architecture with paged metadata
US10747667B2 (en) 2018-11-02 2020-08-18 EMC IP Holding Company LLC Memory management of multi-level metadata cache for content-based deduplicated storage
US11093158B2 (en) 2019-01-29 2021-08-17 EMC IP Holding Company LLC Sub-lun non-deduplicated tier in a CAS storage to reduce mapping information and improve memory efficiency
EP4075304B1 (en) 2019-02-25 2023-06-28 Bright Data Ltd. System and method for url fetching retry mechanism
US12164480B2 (en) 2019-03-28 2024-12-10 EMC IP Holding Company LLC Optimizing file system defrag for deduplicated block storage
LT4027618T (lt) 2019-04-02 2024-08-26 Bright Data Ltd. Netiesioginės url atsisiuntimo paslaugos valdymas
US11449420B2 (en) * 2020-10-20 2022-09-20 Citrix Systems, Inc. Content caching
EP4377817A4 (en) 2021-07-26 2025-05-28 Bright Data Ltd. Emulating web browser in a dedicated intermediary box
CN116546105B (zh) * 2022-01-26 2025-11-25 腾讯科技(深圳)有限公司 数据传输方法、装置、设备和存储介质
CN114760357A (zh) * 2022-03-23 2022-07-15 北京字节跳动网络技术有限公司 一种请求处理方法、装置、计算机设备和存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827769B2 (ja) * 1992-10-30 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 通信インターフェースの生成システム及びその方法
US5526358A (en) * 1994-08-19 1996-06-11 Peerlogic, Inc. Node management in scalable distributed computing enviroment
EP0867003A2 (en) 1995-12-12 1998-09-30 The Board of Trustees for the University of Illinois Method of and system for transmitting and/or retrieving real-time video and audio information over performance-limited transmission systems
US5884046A (en) * 1996-10-23 1999-03-16 Pluris, Inc. Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US6424992B2 (en) * 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US5950198A (en) * 1997-03-24 1999-09-07 Novell, Inc. Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US5960404A (en) * 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
US6003045A (en) * 1997-09-17 1999-12-14 International Business Machines Corporation Accessing stored files from multiple storage devices
US6105029A (en) * 1997-09-17 2000-08-15 International Business Machines Corporation Retrieving network files through parallel channels
US5950205A (en) * 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US6240461B1 (en) * 1997-09-25 2001-05-29 Cisco Technology, Inc. Methods and apparatus for caching network data traffic
WO1999023571A1 (en) * 1997-11-03 1999-05-14 Inca Technology, Inc. Automatically configuring network-name-services
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6085251A (en) * 1998-04-02 2000-07-04 The United States Of America As Represented By The Secretary Of The Air Force Implementing a parallel file transfer protocol
US6018780A (en) * 1998-05-19 2000-01-25 Lucent Technologies Inc. Method and apparatus for downloading a file to a remote unit
US6199107B1 (en) * 1998-07-22 2001-03-06 Microsoft Corporation Partial file caching and read range resume system and method
US6219786B1 (en) * 1998-09-09 2001-04-17 Surfcontrol, Inc. Method and system for monitoring and controlling network access
US6286084B1 (en) * 1998-09-16 2001-09-04 Cisco Technology, Inc. Methods and apparatus for populating a network cache
US6304914B1 (en) * 1998-09-22 2001-10-16 Microsoft Corporation Method and apparatus for pre-compression packaging
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6389462B1 (en) 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6434608B1 (en) * 1999-02-26 2002-08-13 Cisco Technology, Inc. Methods and apparatus for caching network traffic
US6263371B1 (en) 1999-06-10 2001-07-17 Cacheflow, Inc. Method and apparatus for seaming of streaming content
US6976165B1 (en) * 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US20020010866A1 (en) * 1999-12-16 2002-01-24 Mccullough David J. Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths
US6865600B1 (en) * 2000-05-19 2005-03-08 Napster, Inc. System and method for selecting internet media channels
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
US7203741B2 (en) 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
US7454485B2 (en) 2001-06-29 2008-11-18 Intel Corporation Providing uninterrupted media streaming using multiple network sites
US20080005349A1 (en) 2004-04-16 2008-01-03 Utstarcom Distributed multimedia streaming system

Also Published As

Publication number Publication date
US8037162B2 (en) 2011-10-11
US20020133621A1 (en) 2002-09-19
US8250149B2 (en) 2012-08-21
US20070198726A1 (en) 2007-08-23
EP1410136B1 (en) 2008-11-26
US7203741B2 (en) 2007-04-10
WO2002031615A3 (en) 2002-08-29
AU2002210885A1 (en) 2002-04-22
ATE415657T1 (de) 2008-12-15
US20130191512A1 (en) 2013-07-25
WO2002031615A2 (en) 2002-04-18
EP1410136A2 (en) 2004-04-21
DE60136749D1 (de) 2009-01-08
US20120030290A1 (en) 2012-02-02
EP1410136A4 (en) 2006-02-01
US8930500B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
ES2316483T3 (es) Metodo y sistema para acelerar la recepcion de datos en una red entre clientes.
US6892218B2 (en) Extending network services using mobile agents
US10148705B2 (en) Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
EP1536612A1 (en) Method and apparatus for sharing applications using a peer-to-peer protocol
US7716324B2 (en) Identification and tracking of digital content distributors on wide area networks
US7318107B1 (en) System and method for automatic stream fail-over
US8898340B2 (en) Dynamic network link acceleration for network including wireless communication devices
US11665232B2 (en) Newnode: decentralized content distribution network
US8351327B1 (en) Intermediate network device applying application-layer quality of service to channels within a communication session
US20030033520A1 (en) HTTP multiplexor/demultiplexor system for use in secure transactions
US20160150054A1 (en) System and devices facilitating dynamic network link acceleration
KR20120014104A (ko) 콘텐트-중심 네트워크들을 통한 서비스 가상화
JP2007512617A5 (es)
US20150296053A1 (en) Anycast Transport Protocol For Content Distribution Networks
US7398388B2 (en) Increasing peer privacy
WO2023215290A1 (en) Privacy secure batch retrieval using private information retrieval and secure multi-party computation
US20020083193A1 (en) Parallel network data transmission
Basyoni et al. Empirical performance evaluation of QUIC protocol for Tor anonymity network
CN1728678A (zh) 匿名数据传输方法和设备
US8606876B2 (en) Method and system for accelerating data communication that is using multipart
Mahmoud et al. An architecture and business model for making software agents commercially viable
Endo et al. A distributed architecture for massively multiplayer online services with peer-to-peer support
Engberg Distributed HTTP cache
Meghanathan et al. Design of a Secure Framework for Session Mobility as a Service in Cloud Computing Environment
Lufei Fractal: An application level protocol adaptation framework for heterogeneous environments