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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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.
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.
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.
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.
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.
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.
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).
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)
| 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)
| 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 |
-
2001
- 2001-03-19 US US09/810,410 patent/US7203741B2/en not_active Expired - Lifetime
- 2001-10-12 AU AU2002210885A patent/AU2002210885A1/en not_active Abandoned
- 2001-10-12 WO PCT/IL2001/000947 patent/WO2002031615A2/en not_active Ceased
- 2001-10-12 AT AT01978794T patent/ATE415657T1/de not_active IP Right Cessation
- 2001-10-12 EP EP01978794A patent/EP1410136B1/en not_active Expired - Lifetime
- 2001-10-12 ES ES01978794T patent/ES2316483T3/es not_active Expired - Lifetime
- 2001-10-12 DE DE60136749T patent/DE60136749D1/de not_active Expired - Lifetime
-
2007
- 2007-04-06 US US11/784,330 patent/US8037162B2/en not_active Expired - Lifetime
-
2011
- 2011-10-11 US US13/270,932 patent/US8250149B2/en not_active Expired - Fee Related
-
2012
- 2012-08-21 US US13/590,827 patent/US8930500B2/en not_active Expired - Fee Related
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 |