ES2206132T5 - Localizacion optimizada de recursos de red. - Google Patents
Localizacion optimizada de recursos de red. Download PDFInfo
- Publication number
- ES2206132T5 ES2206132T5 ES00128346T ES00128346T ES2206132T5 ES 2206132 T5 ES2206132 T5 ES 2206132T5 ES 00128346 T ES00128346 T ES 00128346T ES 00128346 T ES00128346 T ES 00128346T ES 2206132 T5 ES2206132 T5 ES 2206132T5
- Authority
- ES
- Spain
- Prior art keywords
- server
- repeater
- quad
- url
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/301—Name conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1006—Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1025—Dynamic adaptation of the criteria on which the server selection is based
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- 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/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
-
- 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
-
- 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/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- 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/563—Data redirection of data network streams
-
- 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/564—Enhancement of application control based on intercepted application data
-
- 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
- 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
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Stereophonic System (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Processes Of Treating Macromolecular Substances (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Amplifiers (AREA)
- Optical Integrated Circuits (AREA)
Abstract
Sistema que opera en una red (100) informática en la que los clientes (106) se conectan a un servidor (102) origen, comprendiendo el sistema: un conjunto de servidores (104a...) repetidores, distintos del servidor (102) origen, para alojar al menos algunos de los objetos incrustados de las páginas Web que normalmente están alojados por el servidor (102) origen; una rutina para modificar al menos un objeto URL incrustado de una página Web para indicárselo a un servidor del conjunto de servidores repetidores, en lugar de al servidor origen; un mecanismo de selección de servidores construido y adaptado para identificar, para una determinada petición de cliente, un servidor repetidor adecuado a partir del conjunto de servidores repetidores, en el que como respuesta a las peticiones de página Web generadas por los clientes, se suministra la página Web que incluye el localizador URL modificado del objeto incrustado desde el servidor origen, y el objeto incrustado identificado por el localizador URL modificado del objeto incrustado se suministra desde un servidor determinado de los servidores repetidores según es identificado por el mecanismo selector de servidores; caracterizado porque el mecanismo selector de servidores identifica un servidor repetidor basándose en la localización del cliente solicitante y en los datos relativos a las condiciones del tráfico en la red.
Description
Localización optimizada de recursos de red.
Esta invención se refiere a la replicación de
recursos en redes informáticas.
La llegada de redes informáticas globales, tales
como Internet, ha conducido a formas completamente nuevas y
diferentes de obtener información. Ahora, un usuario de Internet
puede acceder a información desde cualquier lugar del mundo, sin
tener en cuenta la verdadera localización del usuario o de la
información. Un usuario puede obtener información simplemente
conociendo una dirección de red para la información y proporcionando
esa dirección a un programa de aplicación adecuado, tal como un
navegador de red.
El rápido crecimiento en popularidad de Internet
ha impuesto una pesada carga de tráfico en toda la red. Las
soluciones a los problemas de la demanda (por ejemplo, mejor
capacidad de acceso y enlaces de comunicación más rápidos) sólo
aumentan la tensión en el suministro. Los sitios Web de Internet (a
los que se hace referencia aquí como "editores") deben
soportar anchos de banda crecientes, acomodar cambios dinámicos en
la carga, y mejorar el rendimiento para los clientes que navegan
desde lugares distantes, especialmente los que se encuentran en el
extranjero. La adopción de aplicaciones de mucho contenido, tales
como vídeo y audio en directo, ha exacerbado adicionalmente el
problema.
Para tratar las necesidades básicas del
crecimiento del ancho de banda, un editor Web normalmente se
suscribe a un ancho de banda adicional desde un proveedor de
servicios de Internet (ISP), bien en forma de "conductos" o
canales adicionales o más largos desde el proveedor de servicios de
Internet hasta los establecimientos del editor, o en forma de
asignaciones de ancho de banda amplio en un conjunto de servidores
de alojamiento remoto del proveedor de servicios de Internet. Estos
incrementos no siempre se perfeccionan de forma tan fina como las
necesidades del editor, y con bastante frecuencia los tiempos de
ejecución pueden hacer que la capacidad de la página Web del editor
quede rezagada en relación con la demanda.
Para tratar problemas más serios respecto al
crecimiento del ancho de banda, los editores pueden desarrollar
soluciones a medida más complejas y costosas. La solución a la
necesidad más común, la capacidad creciente, normalmente se basa en
la replicación de recursos de hardware y del contenido de los sitios
(conocido como "mirroring", duplicación) y la duplicación de
los recursos de ancho de banda. Sin embargo, estas soluciones son
difíciles y costosas de utilizar y aplicar. Como resultado, sólo
pueden permitírselas los editores, dado que sólo esos editores
pueden amortizar los gastos mediante muchos clientes (y accesos a
sitios Web).
Se ha desarrollado un número de soluciones para
promover la replicación y la duplicación (mirroring). En general,
estas tecnologías están diseñadas para que sólo las utilice un único
sitio Web y no incluyen elementos que permitan que sus componentes
sean compartidos por muchos sitios Web al mismo tiempo.
Algunos mecanismos de solución ofrecen software
de replicación que ayuda a mantener actualizados los servidores
duplicados. Estos mecanismos normalmente funcionan realizando una
copia completa de un sistema de archivos. Un sistema de este tipo
opera manteniendo, de forma transparente, múltiples copias de un
sistema de archivos en sincronización. Otro sistema proporciona
mecanismos para copiar, de forma explícita y regular, archivos que
han cambiado. Los sistemas de bases de datos son particularmente
complicados de replicar puesto que están cambiando continuamente.
Varios mecanismos permiten la replicación de bases de datos, aunque
no existen propuestas estándar para llevarla a cabo. Diversas
empresas que ofrecen proxy-cachés los describen como
herramientas de replicación. Sin embargo, los
proxy-cachés difieren de éstas, puesto que se hacen
funcionar por parte de los clientes, en lugar de hacerlo los
editores.
Una vez que se haya suministrado un sitio Web
por medio de múltiples servidores, un desafío consiste en garantizar
que la carga se distribuya de forma apropiada o está equilibrada
entre dichos servidores. La determinación de direcciones de
asignación cíclica de recursos basada en el nombre de dominio del
servidor hace que diferentes clientes se dirijan a diferentes
réplicas.
Otra solución, compensar la carga, tiene en
cuenta la carga de cada servidor (medida de diversas formas) para
seleccionar qué servidor podría procesar una petición
particular.
Los equilibradores de carga utilizan una
variedad de técnicas para encaminar la petición al servidor
adecuado. La mayoría de dichas técnicas de compensación de la carga
requieren que cada servidor sea una réplica exacta del sitio Web
primario. Los equilibradores de carga no tienen en cuenta la
"distancia de red" entre el cliente y los servidores réplica
candidato.
Suponiendo que los protocolos de los clientes no
puedan cambiar fácilmente, existen dos problemas principales en el
empleo de recursos duplicados. El primero de ellos es cómo
seleccionar qué copia del recurso utilizar. Es decir, cuando se
realiza una petición para un recurso a un servidor individual, cómo
se realizaría la elección de una réplica del servidor (o de esos
datos). Denominamos a este problema "rendezvous". Existe un
número de formas de obtener clientes para rendezvous
(reencontrarse) en servidores réplica distantes. Estas tecnologías,
como los equilibradores de carga, deben encaminar una petición a un
servidor adecuado, pero, a diferencia de los equilibradores de
carga, tienen en cuenta el rendimiento y la topología de la red al
realizar la determinación.
Ciertas empresas ofrecen productos que mejoran
el rendimiento de red al priorizar y filtrar el tráfico de la
red.
Los proxy-cachés proporcionan
una forma para que los agregadores de cliente reduzcan el consumo de
recursos de red almacenando copias de recursos populares cerca de
los usuarios finales. Un agregador de cliente es un proveedor de
servicios de Internet u otra organización que coloca en Internet un
gran número de clientes que operan con navegadores. Los agregadores
de cliente pueden utilizar proxy-cachés para reducir
el ancho de banda necesario para suministrar contenido Web a dichos
navegadores. Sin embargo, los proxy-cachés
tradicionales se hacen funcionar por parte de los clientes Web, en
lugar de por parte de los editores Web.
Los proxy-cachés almacenan los
recursos más populares a partir de todos los editores, lo que
significa que deben ser muy grandes para conseguir una eficacia
razonable de la memoria caché. (La eficacia de una memoria caché se
define como el número de peticiones de recursos que ya están
almacenadas en la memoria caché, divididas por el número total de
peticiones).
Los proxy-cachés dependen de
pistas para el control de la memoria caché suministradas con los
recursos para determinar cuando deberían reemplazarse los recursos.
Estas pistas son indicadoras y, necesariamente, a menudo son
incorrectas, de manera que los proxy-cachés con
frecuencia suministran datos obsoletos. En muchos casos, los
operadores de los proxy-cachés le ordenan a su proxy
que ignore las pistas para hacer que la memoria caché sea más
eficiente, incluso si esto ocasiona que ofrezca con mayor frecuencia
datos obsoletos.
Los proxy-cachés ocultan la
actividad de los clientes a los editores. Una vez que se ha
almacenado un recurso en la memoria caché, el editor no tiene forma
de saber con qué frecuencia se ha accedido a éste desde la memoria
caché.
El documento WO 97/29423A describe la
compensación de la carga a través de una red de servidores de
acuerdo con la carga de los servidores.
De acuerdo con la presente invención, se
proporciona un sistema como el definido en la reivindicación 1.
De acuerdo con un segundo aspecto de la presente
invención, se proporciona un método como el definido en la
reivindicación 6.
Esta invención proporciona una forma para que
los servidores en una red informática descarguen su procesamiento
de solicitudes de recursos seleccionados, mediante determinar un
servidor diferente (un "repetidor") para procesar tales
solicitudes. La selección del repetidor puede realizarse
dinámicamente, en función de información sobre posibles
repetidores.
Si un recurso solicitado contiene referencias a
otros recursos, parte o la totalidad de estas referencias pueden
ser sustituidas por referencias a repetidores.
En primer lugar, un cliente realiza una petición
de un recurso particular desde un servidor origen, incluyendo la
petición un localizador de recurso para el recurso concreto,
incluyendo el localizador de recurso en algunos casos una
indicación del servidor origen. Las peticiones que llegan al
servidor origen no siempre incluyen una indicación del servidor
origen; dado que se envían al servidor origen, no es necesario que
lo nombren. Un mecanismo al que se hace referencia como a un
reflector, dispuesto junto con el servidor origen, intercepta la
petición desde el cliente al servidor origen y decide si reflejar la
petición o procesarla de forma local. Si el reflector decide
procesar la petición de forma local, la envía al servidor origen; de
lo contrario, selecciona el "mejor" repetidor para procesar la
petición. Si la petición se refleja, se le proporciona al cliente
un localizador de recursos modificado que designa al repetidor.
El cliente obtiene el localizador de recursos
modificado desde el reflector y realiza una petición para el
recurso particular desde el repetidor designado en el localizador de
recursos modificado.
Cuando el repetidor obtiene la petición del
cliente, éste responde presentándole al cliente el recurso
solicitado. Si el repetidor tiene una copia local del recurso,
entonces muestra esa copia; de lo contrario, envía la petición al
servidor origen para obtener el recurso, y guarda una copia local
del recurso para suministrar peticiones posteriores.
La selección por parte del reflector de un
repetidor adecuado para procesar la petición puede realizarse de
varias formas. En la realización preferida, se realiza dividiendo
previamente la red en "grupos de coste" y luego determinando
en qué grupo de coste se encuentra el cliente. A continuación, se
selecciona un conjunto de repetidores a partir de una pluralidad de
repetidores de la red, de modo que los miembros del conjunto tienen
un bajo coste en relación con el grupo de coste en el que se
encuentra el cliente. Para determinar el coste más bajo, se guarda
una tabla y se actualiza regularmente para definir el coste entre
cada grupo y cada repetidor. Entonces, se selecciona un miembro del
conjunto, preferiblemente de forma aleatoria, como el mejor
repetidor.
Si el recurso particular solicitado puede
contener en sí mismo localizadores de los otros recursos, entonces
el recurso puede rescribirse (antes de proporcionársele al cliente).
En particular, el recurso se rescribe para reemplazar al menos
algunos de los localizadores de recursos contenidos en él por
localizadores de recursos modificados que hacen referencia a un
repetidor, en lugar de hacer referencia al servidor origen. Como una
consecuencia de este proceso de reescritura, cuando el cliente
solicita otros recursos basándose en localizadores del recurso
particular solicitado, el cliente realizará esas peticiones
directamente al repetidor seleccionado, evitando por completo al
reflector y al servidor origen.
La reescritura de los recursos debe realizarse
mediante reflectores. También puede llevarse a cabo por medio de
repetidores, en la situación en la que los repetidores "se
escrutan" entre sí y realizan copias de los recursos que
incluyen localizadores de recursos rescritos que hacen referencia a
un repetidor.
En una realización preferida, la red es Internet
y el localizador de recursos es un Localizador de Recursos Uniforme
(URL) para designar recursos en Internet, y el localizador de
recursos modificado es un localizador URL que hace referencia al
repetidor y que indica el servidor origen (como se indica
posteriormente en el paso B3), y al cliente se le proporciona el
localizador de recursos modificado mediante un mensaje REDIRECT.
Obsérvese que sólo cuando el reflector está "reflejando" una
petición se suministra el localizador de recursos modificado
mediante un mensaje REDIRECT.
Los objetos y ventajas anteriores y otros
resultarán evidentes al considerar la siguiente descripción
detallada, tomada en combinación con los dibujos adjuntos, en los
que los caracteres de referencia hacen referencia a partes iguales
en todos ellos y en los que:
La figura 1 muestra una parte de un entorno de
red según la presente invención; y
las figuras 2-6 son diagramas de
flujo del funcionamiento de la presente invención.
La figura 1 muestra una parte de un entorno 100
de red según la presente invención, en el que un mecanismo
(reflector 108, descrito posteriormente de forma detallada) en un
servidor (aquí, servidor 102 origen) mantiene y sigue la pista de
un número de servidores o repetidores 104a, 104b, y 104c
parcialmente duplicados. Cada repetidor 104a, 104b y 104c duplica
algo de o toda la información disponible en el servidor 102 origen,
así como la información disponible en otros servidores origen de la
red 100. El reflector 108 está conectado a un repetidor particular,
conocido como su repetidor "de contacto" ("repetidor B"
104b, en el sistema mostrado en la figura 1). Preferiblemente, cada
reflector está conectado con un único repetidor, conocido como su
contacto, y cada repetidor está conectado con un repetidor
especial, conocido como su repetidor maestro (por ejemplo, el
repetidor 104m para los repetidores 104a, 104b y 104c de la figura
1).
De esta manera, puede considerarse un repetidor
como un servidor proxy dedicado que mantiene una réplica parcial o
escasa del servidor 102 origen, mediante la implementación de una
memoria caché coherente distribuida del servidor origen. Un
repetidor puede mantener una réplica (parcial) de más de un servidor
origen. En algunas realizaciones, la red 100 es Internet y los
repetidores duplican recursos seleccionados proporcionados por
servidores origen como respuesta a peticiones http (Protocolo de
Transferencia de Hipertexto) y FTP (Protocolo de Transferencia de
Archivos) de clientes.
Un cliente 106 conecta, a través de la red 100,
con un servidor 102 origen y, posiblemente, con uno o más
repetidores 104a, etc.
El servidor 102 origen es un servidor en el que
se originan los recursos. De forma más general, el servidor 102
origen es cualquier proceso o grupo de procesos que proporciona
recursos como respuesta a peticiones de un cliente 106. El servidor
102 origen puede ser cualquier servidor Web ya creado. En una
realización preferida, el servidor 102 origen es normalmente un
servidor Web tal como el servidor Apache o el servidor Netscape
Communications Corporation's Enterprise^{TM}.
El cliente 106 es un procesador que solicita
recursos a partir del servidor 102 origen dirigidos a un usuario
final. Normalmente, el cliente 106 es un agente de usuario (por
ejemplo, un navegador Web tal como Netscape Communications
Corporation's Navigator^{TM}) o un proxy para un agente de
usuario. Los componentes distintos del reflector 108 y de los
repetidores 104a, 104b, etc., pueden implementarse utilizando
programas de software disponibles de forma habitual. En concreto,
esta invención trabaja con cualquier cliente http (por ejemplo, un
navegador Web), proxy-caché, y servidor Web. Además,
el reflector 108 podría estar completamente integrado en el
servidor 112 de datos (por ejemplo, en un servidor Web). Estos
componentes podrían estar integrados de forma flexible, basándose
en el uso de mecanismos de extensión (tales como los denominados
módulos de adición), o integrados de forma fija, mediante la
modificación del componente de servicio de forma específica para
soportar los repetidores.
Los recursos que se originan en el servidor 102
origen pueden ser estáticos o dinámicos. Es decir, los recursos
pueden fijarse o crearse por el servidor 102 origen específicamente
como respuesta a una petición. Obsérvese que los términos
"estático" y "dinámico" son relativos, puesto que un
recurso estático puede cambiar a algún intervalo regular, aunque
largo.
Las peticiones de recursos desde el cliente 106
al servidor 102 origen son interceptadas por el reflector 108, que,
para una determinada petición, o bien envía la petición al servidor
102 origen o, de forma condicional, la refleja a algún repetidor
104a, 104b, etc. de la red 100. Es decir, en función de la
naturaleza de la petición del cliente 106 al servidor 102 origen,
el reflector 108 o bien suministra la petición de forma local (en
el servidor 102 origen), o selecciona uno de los repetidores
(preferiblemente el mejor repetidor para el trabajo) y refleja la
petición al repetidor seleccionado. En otras palabras, el reflector
108 hace que las peticiones de recursos desde el servidor 102
origen, realizadas por el cliente 106, o bien se suministren
localmente por medio del servidor 102 origen o bien se reflejen de
forma transparente al mejor repetidor 104a, 104b, etc. La noción
del mejor repetidor y la manera en que se selecciona el mejor
repetidor se describen posteriormente de forma detallada.
Los repetidores 104a, 104b, etc. son
procesadores intermedios utilizados para suministrar peticiones de
clientes, mejorando con ello el rendimiento y reduciendo los costes
de la forma aquí descrita. Dentro de los repetidores 104a, 104b,
etc., se encuentra cualquier proceso o conjunto de procesos que
suministre recursos al cliente 106 por parte del servidor 102
origen. Un repetidor puede incluir una memoria 110 caché de
repetición, utilizada para evitar transacciones innecesarias con el
servidor 102 origen.
El reflector 108 es un mecanismo,
preferiblemente un programa de software, que intercepta peticiones
que normalmente se enviarían directamente al servidor 102 origen. A
pesar de que en los dibujos se muestran como componentes separados,
el reflector 108 y el servidor 102 origen normalmente están situados
juntos, por ejemplo, en un sistema particular, tal como un servidor
112 de datos. (Como se explicará posteriormente, el reflector 108
puede ser incluso un módulo "de conexión" que forma parte del
servidor 102 origen).
La figura 1 sólo muestra una parte de una red
100 según esta invención. Una red operativa completa se compone de
cualquier número de clientes, repetidores, reflectores, y servidores
origen. Los reflectores se comunican con la red de repetidores, y
los repetidores de la red se comunican entre sí.
Cada localización en una red informática tiene
una dirección que normalmente puede especificarse como una serie de
nombres o números. Para acceder a la información debe conocerse una
dirección para esa información. Por ejemplo, en la World Wide Web
("la Web"), que es un subconjunto de Internet, la forma en que
se proporcionan localizaciones de direcciones de información se ha
normalizado en Localizadores de Recursos Uniformes (URL). Los
localizadores URL especifican la localización de los recursos
(información, archivos de datos, etc.) en la red.
La noción de los localizadores URL resulta
incluso más útil cuando se utilizan documentos de hipertexto. Un
documento de hipertexto es un documento que incluye, dentro del
propio documento, vínculos (indicadores o referencias) al propio
documento o a otros documentos. Por ejemplo, en un sistema de
búsqueda legal en línea, cada caso puede estar presentado como un
documento de hipertexto. Al citar otros casos, pueden proporcionarse
vínculos a dichos casos. De esta manera, si una persona esta
leyendo un caso, puede seguir los vínculos citados para leer las
partes apropiadas de los casos citados.
En el caso de Internet en general y de la World
Wide Web en particular, los documentos pueden crearse mediante una
forma normalizada conocida como el Lenguaje de Marcado de Hipertexto
(HTML). En el lenguaje HTML, un documento se compone de datos
(texto, imágenes, sonidos, y similares), incluyendo vínculos a otras
secciones del mismo documento o a otros documentos. Los vínculos
normalmente se proporcionan como localizadores URL, y pueden estar
en forma absoluta o en forma relativa. Los localizadores URL
relativos simplemente omiten las partes del localizador URL que son
las mismas que para el documento que incluye el vínculo, tal como la
dirección del documento (cuando está vinculado al mismo documento),
etc. En general, un programa del navegador completará las partes
omitidas de un localizador URL utilizando las partes
correspondientes del documento actual, formando con ello un
localizador URL completamente formado que incluye un nombre de
dominio totalmente capacitado,
etc.
etc.
Un documento de hipertexto puede contener
cualquier número de vínculos a otros documentos, y cada uno de esos
otros documentos puede estar en un servidor diferente en una parte
diferente del mundo. Por ejemplo, un documento puede contener
vínculos a documentos en Rusia, África, China y Australia. Un
usuario que visualiza ese documento en un cliente particular puede
seguir cualquiera de los vínculos de forma transparente (es decir,
sin saber dónde se encuentra realmente el documento a cuyo vínculo
se está accediendo). De forma correspondiente, el coste (en
términos de tiempo, dinero o asignación de recursos) de seguir un
vínculo frente a otro puede ser bastante significativo.
Los localizadores URL normalmente tienen la
siguiente forma (definida de forma detallada en T.
Berners-Lee et al, Uniform Resource Locators
(URL), Network Working Group, Request for Comments: 1738, Category:
Standards Track, Diciembre de 1994, localizado en
"http://ds.internic.net/rfc/rfc1738.txt"):
esquema://anfitrión[:puerto]/ruta-url
donde "esquema" puede ser un símbolo tal
como "archivo" (para un archivo del sistema local), "ftp"
(para un archivo en un servidor de archivos FTP anónimo),
"http" (para un archivo en un servidor Web), y "telnet"
(para una conexión de un servicio basado en Telnet). También pueden
utilizarse otros esquemas y actualmente y en el futuro siguen
añadiéndose nuevos esquemas. El número de puerto es opcional, de
modo que si no se proporciona ninguno el sistema sustituye un
número de puerto por defecto (en función del esquema). El campo
"anfitrión" representa una dirección de red particular para un
ordenador particular. La "ruta-url" está
relacionada con el ordenador especificado en el campo
"anfitrión". Una ruta-url es normalmente,
aunque no necesariamente, el nombre de ruta de un archivo en un
directorio del servidor Web.
Por ejemplo, el siguiente es un archivo "F"
que identifica un localizador URL en la ruta "A/B/C" de un
ordenador en "www.uspto.gov":
http://www.uspto.gov/A/B/C/F
Para acceder al archivo "F" (el recurso)
especificado por el localizador URL anterior, un programa (por
ejemplo, un navegador) que se ejecuta en un ordenador del usuario
(es decir, un ordenador cliente) primero tendría que localizar el
ordenador (es decir, un ordenador servidor) especificado por el
nombre de anfitrión, es decir, el programa tendría que localizar al
servidor "www.uspto.gov". Para hacer esto, accedería a un
Servidor de Nombres de Dominio (DNS), proporcionándole al DNS el
nombre del anfitrión ("www.uspto.gov"). El DNS actúa como un
tipo de directorio centralizado para definir direcciones a partir de
nombres. Si el DNS determina que existe un ordenador (servidor
remoto) que corresponde al nombre "www.uspto.gov", le
proporcionará al programa una dirección real de la red informática
para ese ordenador servidor. En Internet esto se denomina una
dirección de Protocolo de Internet (o IP) y tiene la forma
"123.345.456.678". El programa en el ordenador del usuario
(cliente) utilizaría entonces la verdadera dirección para acceder al
ordenador remoto (servidor).
El programa abre una conexión al servidor HTTP
(servidor Web) en el ordenador remoto "www.uspto.gov" y utiliza
la conexión para enviar un mensaje de petición al ordenador remoto
(empleando el esquema HTTP). Normalmente, el mensaje es una
petición HTTP GET que incluye la ruta URL del recurso solicitado,
"A/B/C/F". El servidor HTTP recibe la petición y la utiliza
para acceder al recurso especificado por la ruta URL "A/B/C/F".
El servidor presenta el recurso por la misma conexión.
De esta manera, convencionalmente las peticiones
de cliente HTTP para recursos Web en un servidor 102 origen se
procesan de la siguiente manera (véase la figura 2). (Ésta es una
descripción del proceso cuando no hay instalado ningún reflector
108):
- A1.
- Un navegador (por ejemplo, Netscape's Navigator) en el cliente recibe un localizador de recursos (es decir, un localizador URL) desde un usuario.
- A2.
- El navegador extrae el nombre del anfitrión (servidor origen) a partir del localizador de recursos, y utiliza un servidor de nombres de dominio (DNS) para buscar la dirección de red (IP) del servidor correspondiente. El navegador también extrae un número de puerto, si hay uno presente, o utiliza un número de puerto por defecto (el número de puerto por defecto para las peticiones http es 80).
- A3.
- El navegador utiliza la dirección de red del servidor y el número de puerto para establecer una conexión entre el cliente 106 y el anfitrión o servidor 102 origen.
- A4.
- Entonces, el cliente 106 envía una petición (GET) por la conexión que identifica al recurso solicitado.
- A5.
- El servidor 102 origen recibe la petición y
- A6.
- localiza o compone el recurso correspondiente.
- A7.
- El servidor 102 origen envía de vuelta entonces al cliente 106 una respuesta que contiene el recurso solicitado (o alguna forma de indicación de error si el recurso no está disponible). La respuesta se le envía al cliente por la misma conexión por la que se recibió la petición del cliente.
- A8.
- El cliente 106 recibe la respuesta desde el servidor 102 origen.
\newpage
Existen muchas variaciones de este modelo
básico. Por ejemplo, en una variación, en lugar de proporcionarle
el recurso al cliente, el servidor origen puede solicitarle al
cliente que vuelva a solicitar el recurso mediante otro nombre.
Para hacerlo, en el paso A7, el servidor 102 envía de vuelta al
cliente 106 una respuesta denominada un "REDIRECT", que
contiene un nuevo localizador URL que indica el otro nombre. El
cliente 106 repite entonces toda la secuencia, normalmente sin
ninguna intervención del usuario, solicitando esta vez el recurso
identificado por el nuevo localizador URL.
En esta invención, el reflector 108 reemplaza
eficazmente a un servidor Web ordinario o al servidor 102 origen.
El reflector 108 hace esto tomando la dirección IP del servidor
origen y el número de puerto. De esta manera, cuando un cliente
trata de conectar con el servidor 102 origen, realmente conectará
con el reflector 108. El servidor Web original (o servidor 102
origen) debe aceptar entonces las peticiones en una dirección de
red (IP) diferente, o en la misma dirección IP, pero en un número de
puerto diferente. De esta manera, mediante esta invención, el
servidor al que se hace referencia en los pasos
A3-A7 anteriores es realmente un reflector 108.
Obsérvese que también es posible dejar la
dirección de red del servidor origen tal como es y permitir que el
reflector se ejecute en una dirección diferente o en un puerto
diferente. De esta manera, el reflector no intercepta las
peticiones enviadas al servidor origen, pero aún se le pueden enviar
peticiones dirigidas específicamente al reflector. De este modo,
puede comprobarse y configurarse el sistema sin interrumpir su
funcionamiento normal.
El reflector 108 soporta el procesamiento de la
siguiente manera (véase la figura 3):
Al recibir una petición,
- B1.
- El reflector 108 analiza la petición para determinar si reflejar o no la petición. Para hacer esto, el reflector determina primero si el emisor (cliente 106) es un navegador o un repetidor. Las peticiones formuladas por los repetidores deben suministrarse de forma local por el servidor 102 origen. Esta determinación puede realizarse buscando la dirección de red (IP) del emisor en una lista de direcciones de red (IP) de repetidores conocida. De forma alternativa, esta determinación podría realizarse adjuntando información a una petición para indicar que la petición es de un repetidor específico, o los repetidores pueden solicitar recursos desde un puerto especial diferente del utilizado para los clientes ordinarios.
- B2.
- Si la petición no procede de un repetidor, el reflector busca el recurso solicitado en una tabla (denominada la "base de reglas") para determinar si el recurso solicitado puede "repetirse". Basándose en esta determinación, el reflector o bien refleja la petición (paso B3 descrito a continuación) o suministra la petición de forma local (paso B4 descrito a continuación). La base de reglas es una lista de expresiones regulares y atributos asociados. (Las expresiones regulares son bien conocidas en el área de la ciencia informática. Una pequeña bibliografía sobre su uso se encuentra en Abo, et al., "Compilers, Principles, techniques and tools", Addison-Wesley, 1986, pp. 157-158): El localizador de recursos (URL) para una petición determinada se busca en la base de reglas haciéndolo corresponder secuencialmente con cada una de las expresiones regulares. La primera correspondencia identifica los atributos para el recurso, concretamente, si puede repetirse o es local. Si no se produce ninguna correspondencia en la base de reglas, se utiliza un atributo determinado por defecto. Cada reflector tiene su propia base de reglas, que se configura de forma manual por medio del operador del reflector.
- B3.
- Para reflejar una petición, (para suministrar una petición de forma local, diríjase al paso B4), como se muestra en la figura 4, el reflector determina (pasos B3-1) el mejor repetidor para reflejar la petición, como se describe posteriormente de forma detallada. Entonces, el reflector crea (pasos B3-2) un nuevo localizador de recursos (URL) (utilizando el localizador URL solicitado y el mejor repetidor) que identifica el mismo recurso en el repetidor seleccionado.
Es necesario que el paso de reflexión cree un
único localizador URL que contenga el localizador URL del recurso
original, así como la identidad del repetidor seleccionado. Se crea
una forma especial de localizador URL para proporcionar esta
información. Esto se hace creando un nuevo localizador URL de la
siguiente manera:
- D1.
- Dado un nombre de repetidor, esquema, nombre del servidor origen y ruta, crear un nuevo localizador URL. Si el esquema es "http", la realización preferida utiliza el siguiente formato:
http://<repetidor>/<servidor>/<ruta>
\vskip1.000000\baselineskip
- \quad
- Si la forma empleada es diferente del esquema "http", la realización preferida emplea el siguiente formato:
http://<repetidor>/<servidor>@proxy=<esquema>@/<ruta>
\newpage
- \quad
- El reflector también puede adjuntar un tipo MIME a la petición, para hacer que el repetidor proporcione el resultado a ese tipo MIME. Esto es útil puesto que muchos protocolos (tales como el protocolo FTP) no proporcionan una forma de adjuntar un tipo MIME a un recurso. El formato es
http://<repetidor>/<servidor>@proxy=<esquema>:<tipo>@/<ruta>
- \quad
- Este localizador URL se interpreta al ser recibido por el repetidor.
- \quad
- Entonces el reflector envía (pasos B3-3) al cliente solicitante una respuesta REDIRECT que contiene este nuevo localizador URL. El comando HTTP REDIRECT permite al reflector enviarle al navegador un único localizador URL para recuperar la petición.
- B4.
- Para suministrar una petición de forma local, la petición se emite por medio del reflector ("se envía") al servidor 102 origen. De este modo, el reflector actúa como un servidor proxy inverso. El servidor 102 origen procesa la petición de la forma normal (pasos A5-A7). Entonces, el reflector obtiene la respuesta del servidor origen a la petición, que éste examina para determinar si el recurso solicitado es un documento HTML, es decir, si el recurso solicitado es uno que contiene en sí mismo localizadores de recursos.
- B5.
- Si el recurso es un documento HTML, entonces el reflector rescribe el documento HTML modificando los localizadores de recursos (localizadores URL) dentro de éste, como se describirá posteriormente. El recurso, posiblemente según se modifica al rescribirlo, se le devuelve entonces en una respuesta al cliente 106 solicitante.
- \quad
- Si el cliente solicitante es un repetidor, el reflector puede inutilizar temporalmente cualquier modificador de control de la memoria caché que el servidor origen haya adjuntado a la respuesta. Estos modificadores de control de la memoria caché inutilizados luego se vuelven a habilitar cuando se haya suministrado el contenido desde el repetidor. Este mecanismo posibilita que el servidor origen impida que los recursos se almacenen en proxy-cachés normales, sin que se vea afectado el comportamiento de la memoria caché en el repetidor.
- B6.
- El reflector escribe en un archivo de registro local si la petición es reflejada o procesada de forma local, detalles sobre la transacción, tales como el tiempo actual, la dirección del solicitante, el localizador URL solicitado, y el tipo de respuesta generada.
\vskip1.000000\baselineskip
Utilizando una base de reglas (paso B2), es
posible reflejar los recursos de forma selectiva. Existen ciertas
razones por las que determinados recursos concretos no pueden
repetirse eficazmente (y, por tanto, no deberían reflejarse), por
ejemplo:
- -
- el recurso sólo se compone para cada petición;
- -
- el recurso se basa en un denominado cookie (los navegadores no enviarán cookies a repetidores con diferentes nombres de dominio);
- -
- el recurso es en realidad un programa (tal como Java applet) que se ejecutará en el cliente y que desea conectarse a un servicio (Java requiere que el servicio se esté ejecutando en la misma máquina que proporcionó el applet).
\vskip1.000000\baselineskip
Además, el reflector 108 puede configurarse de
manera que las peticiones desde ciertas direcciones de red (por
ejemplo, peticiones de clientes en la misma red de área local que el
propio reflector) nunca se reflejen. Asimismo, el reflector puede
elegir no reflejar peticiones dado que el reflector está
sobrepasando su velocidad de transferencia de información agregada
asignada, según se describirá posteriormente.
Una petición que se refleja se duplica de forma
automática en el repetidor cuando el repetidor recibe y procesa la
petición.
La combinación del proceso de reflexión descrita
aquí y el proceso de almacenamiento en la memoria caché descrito
posteriormente, crean eficazmente un sistema en el que los recursos
repetibles se trasladan al reflector seleccionado y se duplican en
éste, mientras que los recursos no repetibles no se duplican.
Generalmente, colocar el nombre del servidor
origen en el localizador URL reflejado es una buena estrategia,
aunque puede considerarse poco deseable por razones estéticas (por
ejemplo, en el caso de los cookies) o por ciertas razones
técnicas.
\newpage
Es posible evitar la necesidad de tener que
introducir tanto el nombre del repetidor como el nombre del servidor
en el localizador URL. En lugar de ello, puede crearse una
"familia" de nombres para un determinado servidor origen,
identificando cada nombre a uno de los repetidores utilizados por
ese servidor.
Por ejemplo, si www.ejemplo.com es el servidor
origen, podrían crearse nombres para tres repetidores:
wr1.ejemplo.com
wr2.ejemplo.com
wr3.ejemplo.com
El nombre "wr1.ejemplo.com" sería un alias
para el repetidor 1, que también podría ser conocido por otros
nombres, tales como "wr1.otroejemplo.com" y
"wr1.ejemplo.edu".
Si el repetidor puede determinar con qué nombre
se han dirigido a él, puede utilizar esta información (junto con
una tabla que asocia los alias del repetidor con los nombres del
servidor origen) para determinar a qué servidor origen está
dirigiéndose. Por ejemplo, si se dirige al repetidor 1 como
wr1.ejemplo.com, entonces el servidor origen es
"www.ejemplo.com"; si se dirige a éste como
"wr1.otroejemplo.com", entonces el servidor origen es
"www.otroejemplo.com".
El repetidor puede utilizar dos mecanismos para
determinar con qué alias se dirigen a él:
- 1.
- Cada alias puede estar asociado con una dirección IP diferente. Desafortunadamente, esta solución no es apropiada, puesto que las direcciones IP son comúnmente escasas, y el número de direcciones IP requerido crece según el producto de servidores origen y repetidores.
- 2.
- El repetidor puede intentar determinar el alias utilizado examinando la etiqueta del "anfitrión:" en la cabecera HTTP de la petición. Desafortunadamente, algunos navegadores antiguos aún en uso no adjuntan la etiqueta del "anfitrión:" a la petición. Los reflectores necesitarían identificar este tipo de navegadores (la identidad del navegador es parte de cada petición) y evitar esta forma de reflexión.
\vskip1.000000\baselineskip
Cuando un navegador recibe una respuesta
REDIRECT (según se produce en el paso B3), éste vuelve a formular
una petición para el recurso utilizando el nuevo localizador de
recursos (localizador URL) (pasos A1-.A5). Dado que el nuevo
localizador hace referencia a un repetidor, en lugar de al servidor
origen, el navegador envía ahora una petición para el recurso al
repetidor, que procesa una petición de la siguiente manera, en
relación con la figura 5:
- C1.
- Primero el repetidor analiza la petición para determinar la dirección de red del cliente solicitante y la ruta del recurso solicitado. En la ruta está incluido un nombre de servidor origen (como se describió anteriormente en relación con el paso B3).
- C2.
- El repetidor utiliza una tabla interna para verificar que el servidor origen pertenece a un "abonado" conocido. Un abonado es una entidad (por ejemplo, una empresa) que publica recursos (por ejemplo, archivos) a través de uno o varios servidores origen. Cuando la entidad se suscribe, está permitido utilizar la red de repetidores. Las tablas de abonados descritas posteriormente incluyen la información que se utiliza para vincular los reflectores a los abonados.
- \quad
- Si la petición no es para un recurso de un abonado conocido, se deniega la petición. Para denegar una petición, el repetidor muestra una respuesta que indica que el recurso solicitado no existe.
- C3.
- Entonces, el repetidor determina si el recurso solicitado está almacenado localmente en la memoria caché. Si el recurso solicitado está en la memoria caché del repetidor, se recupera. De otro modo, si no hay una copia válida del recurso solicitado en la memoria caché del repetidor, el repetidor modifica el localizador URL entrante, creando una petición que formula directamente al reflector que la origina, el cual la procesa (como en los pasos B1-B6). Dado que esta petición al reflector que la origina procede de un repetidor, el reflector siempre muestra el recurso solicitado, en lugar de reflejar la petición. (Recuérdese que los reflectores siempre procesan las peticiones de los repetidores de forma local). Si el repetidor obtuvo el recurso del servidor origen, entonces el repetidor almacena el recurso localmente en la memoria caché.
- \quad
- Si un recurso no está almacenado localmente en la memoria caché, la memoria caché puede consultar sus "memorias cachés de igual nivel" para ver si alguna de ellas contiene el recurso, antes o al mismo tiempo que solicita el recurso a partir del reflector/servidor origen. Si una memoria caché del mismo nivel responde de forma positiva en un periodo de tiempo limitado (preferiblemente una pequeña fracción de un segundo), el recurso será recuperado de la memoria caché de igual nivel.
- C4.
- Entonces, el repetidor construye una respuesta que incluye el recurso solicitado (que fue recuperado de la memoria caché o del servidor origen) y envía esa respuesta al cliente solicitante.
- C5.
- En un archivo de registro local del repetidor se escriben los detalles sobre la transacción, tales como el reflector asociado, el tiempo actual, la dirección del solicitante, el localizador URL solicitado y el tipo de respuesta generada.
\vskip1.000000\baselineskip
Obsérvese que la fila inferior de la figura 2 se
refiere a un servidor origen, o a un reflector, o un repetidor,
dependiendo de qué identifique el localizador URL en el paso A1.
Si el reflector 108 determina que reflejará la
petición, entonces debe seleccionar el mejor repetidor para
procesar esa petición (como se hace referencia en los pasos
B3-1). Esta selección la realiza el mecanismo
Selector del Mejor Repetidor (BRS) descrito aquí.
El objetivo del mecanismo BRS es seleccionar, de
forma rápida y heurística, un repetidor apropiado para un cliente
determinado dada únicamente la dirección de red del cliente. Un
repetidor apropiado es un repetidor que no está demasiado cargado y
que no está demasiado lejos del cliente en términos de distancia de
red. El mecanismo utilizado aquí se basa en datos específicos,
compactos y calculados previamente para tomar una decisión rápida.
También pueden emplearse otras soluciones dinámicas para seleccionar
un repetidor adecuado.
El selector BRS se basa en tres tablas
calculadas previamente, concretamente, la Tabla de Reducción de
Grupos, la Tabla de Costes de los Vínculos y la Tabla de Carga.
Estas tres tablas (descritas posteriormente) se calculan fuera de
línea y se descargan en cada reflector mediante su contacto en la
red de repetidores.
La Tabla de Reducción de Grupos coloca cada
dirección de red en un grupo, con el objetivo de que las direcciones
de un grupo compartan gastos relacionados, de manera que tendrían
el mismo mejor repetidor en condiciones cambiantes (es decir, el
selector BRS se mantiene sin cambios en los miembros del grupo).
La Tabla de Costes de los Vínculos es una matriz
bidimensional que especifica el coste actual entre cada repetidor y
cada grupo. Inicialmente, el coste del vínculo entre un repetidor y
un grupo se define como el "coste normalizado del vínculo"
entre el repetidor y el grupo, como se definirá posteriormente. A lo
largo del tiempo, se actualizará la tabla con las mediciones que
reflejan de forma más precisa el coste relativo de transmitir un
archivo entre el repetidor y un miembro del grupo. El formato de la
Tabla de Costes de los Vínculos es <Identificador del
grupo><Identificador del grupo><coste del vínculo>,
donde los identificadores de grupo se proporcionan como números de
sistema autónomo (ASN).
La Tabla de Carga es una tabla unidimensional
que identifica la carga actual en cada repetidor. Dado que los
repetidores pueden tener diferentes capacidades, la carga es un
valor que representa la capacidad de un determinado receptor de
aceptar trabajo adicional. Cada repetidor envía su carga actual a un
repetidor maestro central a intervalos regulares, preferiblemente,
al menos aproximadamente una vez por minuto. El repetidor maestro
difunde la Tabla de carga a cada reflector de la red, a través del
repetidor de contacto.
A un reflector sólo se le proporcionan entradas
en la Tabla de Carga para los repetidores a los que está asignado a
utilizar. La asignación de los repetidores a los reflectores se
realiza de forma centralizada en el repetidor maestro mediante un
operador de la red de repetidores. Esta asignación hace posible
modificar el nivel de servicio de un determinado reflector. Por
ejemplo, un reflector muy activo puede utilizar muchos repetidores,
mientras que un reflector relativamente inactivo puede utilizar
pocos repetidores.
Las tablas también pueden configurarse para
proporcionar un servicio de repetidor selectivo a los abonados de
otras formas, por ejemplo, para sus clientes en regiones geográficas
específicas, tales como Europa o Asia.
En las realizaciones preferidas actualmente, la
carga de los repetidores se mide en dos dimensiones,
concretamente,
- 1.
- peticiones recibidas por el repetidor por intervalo de tiempo (RRPT), y
- 2.
- bytes enviados por el repetidor por intervalo de tiempo (BSPT).
\vskip1.000000\baselineskip
Para cada una de estas dimensiones se configura
un ajuste de capacidad máxima. La capacidad máxima indica el punto
en el que se considera que el repetidor está completamente cargado.
Una capacidad RRPT mayor generalmente indica un procesador más
rápido, mientras que una capacidad BSPT mayor generalmente indica un
cable de red más ancho. Esta forma de medición de la carga supone
que un determinado servidor se dedica a la tarea de la
repetición.
Cada repetidor calcula regularmente sus
capacidades RRPT y BSPT actuales acumulando el número de peticiones
recibidas y los bytes enviados durante un corto intervalo de tiempo.
Estas mediciones se utilizan para determinar la carga del repetidor
en cada una de estas dimensiones. Si la carga de un repetidor excede
de su capacidad configurada, se envía un mensaje de alarma al
administrador de la red de repetidores.
Los dos componentes actuales de la carga se
combinan en un único valor que indica la carga actual general. De
forma similar, los dos componentes de capacidad máxima se combinan
en un único valor que indica la capacidad máxima general. Los
componentes se combinan de la siguiente manera:
carga-actual = B x RRPT actual +
(1 - B) x BSPT actual
carga-máxima = B x RRPT máxima +
(1 - B) x BSPT máxima.
El factor B, un valor entre 0 y 1, permite que
se ajusten los pesos relativos de las capacidades RRPT y BSPT, lo
que favorece la consideración de la potencia de procesamiento o del
ancho de banda.
Los valores de la carga actual general y de la
capacidad máxima general se envían periódicamente desde cada
repetidor al repetidor maestro, donde se agregan a la Tabla de
Carga, resumiendo una tabla la carga general para todos los
repetidores. Los cambios en la Tabla de Carga se distribuyen
automáticamente a cada reflector.
Aunque la realización preferida utiliza una
medida bidimensional de la carga del repetidor, puede utilizarse
cualquier otra medida de carga.
El selector BRS calcula el coste de proporcionar
servicio a un cliente determinado desde cada uno de los repetidores
que pueden elegirse. El coste se calcula combinando la capacidad
disponible del repetidor candidato con el coste del vínculo entre
el repetidor y el cliente. El coste del vínculo se calcula
simplemente buscándolo en la tabla de costes de vínculos.
El coste se determina empleando la siguiente
fórmula:
umbral = K * carga-máxima
capacidad = máximo (
carga-máxima - carga-actual, e)
capacidad = mínimo (capacidad, umbral)
coste = coste-vínculo *
umbral/capacidad.
En esta fórmula, e es un número muy pequeño
(épsilon) y K es un ajuste inicial del factor de sincronización a
0,5. Esta fórmula hace que se incremente el coste para un
determinado repetidor, en una proporción determinada por K, si su
capacidad desciende por debajo de un umbral regulable.
Dado el coste de cada repetidor candidato, el
selector BRS selecciona todos los repetidores dentro de un factor
delta de la mejor puntuación. A partir de este conjunto, se
selecciona el resultado de forma aleatoria.
El factor delta impide que el selector BRS
seleccione repetidamente un único repetidor cuando las puntuaciones
son similares. Normalmente esto es necesario dado que la información
disponible sobre la carga y los costes de los vínculos pierde
precisión a lo largo del tiempo. Este factor no puede
sintonizarse.
El selector BRS funciona de la siguiente manera,
en relación con la figura 6:
Dada una dirección de red de cliente y las tres
tablas descritas anteriormente:
- E1.
- Determina en qué grupo está el cliente utilizando la Tabla de Reducción de Grupos.
- E2.
- Determina, para cada repetidor en la Tabla de Costes de los Vínculos y en la Tabla de Carga, el coste combinado de ese repetidor de la siguiente manera:
- E2a.
- Determina la carga máxima y la carga actual en el repetidor (utilizando la Tabla de Carga).
- E2b.
- Determina el coste del vínculo entre el repetidor y el grupo del cliente (utilizando la Tabla de Costes de los Vínculos).
- E2c.
- Determina el coste combinado como se describió anteriormente.
- E3.
- Selecciona un pequeño conjunto de repetidores con el coste más bajo.
- E4.
- Selecciona un elemento aleatorio del conjunto.
\vskip1.000000\baselineskip
Preferiblemente, los resultados del
procesamiento del selector BRS se mantienen en una memoria caché
local en el reflector 108. De esta manera, si se ha determinado
recientemente el mejor repetidor para un cliente determinado (es
decir, para una determinada dirección de red), ese mejor repetidor
puede volverse a utilizar rápidamente sin haberlo determinado
nuevamente. Puesto que el cálculo anteriormente descrito se basa en
tablas calculadas previamente de forma estática, si las tablas no
han cambiado, entonces no hay necesidad de volver a determinar el
mejor repetidor.
La Tabla de Reducción de Grupos y la Tabla de
Costes de los Vínculos utilizadas en el procesamiento del selector
BRS se crean y actualizan regularmente mediante un procedimiento
independiente al que se hace referencia aquí como NetMap (Gestión
de Red). El procedimiento NetMap se inicia al ejecutar varias fases
(descritas posteriormente) según sean necesarias.
El término Grupo se utiliza aquí para hacer
referencia a un "grupo de direcciones" IP.
El término Grupo de Repetidores hace referencia
a un Grupo que contiene la dirección IP de un repetidor.
El término Coste de los Vínculos hace referencia
a un coste determinado de forma estática para transmitir datos
entre dos grupos. En una realización preferida actualmente, esto es
el mínimo de la suma de los costes de los vínculos a lo largo de
cada ruta entre ellos. Los costes de los vínculos a los que
básicamente se hace referencia aquí son los costes de los vínculos
entre un Grupo y un Grupo de Repetidores.
El término Coste de Vínculos relativo hace
referencia al coste de los vínculos relacionado con otros costes de
vínculos para el mismo Grupo, que se calcula restando el coste
mínimo de los vínculos de un Grupo a cualquier Grupo de Repetidores
de cada uno de sus costes de vínculo a un Grupo de Repetidores.
El término Conjunto de Costes hace referencia a
un conjunto de Grupos que son equivalentes en relación con la
Selección del Mejor Repetidor. Es decir, dada la información
disponible, se seleccionaría el mismo repetidor para cualquiera de
ellos.
El procedimiento NetMap primero procesa archivos
de entrada para crear una base de datos interna denominada Registro
de Grupos. Estos archivos de entrada describen grupos, las
direcciones IP dentro de los grupos, y vínculos entre los grupos, y
muestra una variedad de fuentes, incluyendo bases de datos del
Registro de Encaminamiento de Internet (IRR) públicamente
disponibles, tablas de encaminadores BGP, y servicios de sondeo que
se localizan en varios puntos alrededor de Internet y utilizan
herramientas públicamente disponibles (tales como una"rutina de
seguimiento") para tomar muestras de las rutas de datos. Una vez
que se haya completado este procesamiento, el Registro de Grupos
contiene información esencial utilizada para el procesamiento
subsiguiente, concretamente, (1) la identidad de cada grupo, (2) el
conjunto de direcciones IP de un grupo determinado, (3) la presencia
de vínculos entre grupos que indican rutas por las que puede
desplazarse la información, y (4) el coste de enviar datos por un
determinado vínculo.
Entonces se llevan a cabo los siguientes
procesos en el archivo de Registro de Grupos.
El procedimiento NetMap calcula un "coste de
un vínculo" para la transmisión de datos entre cada Grupo de
Repetidores y cada Grupo del Registro de Grupos. Este coste general
del vínculo se define como el coste mínimo de cualquier ruta entre
los dos grupos, donde el coste de una ruta es igual a la suma de los
costes de los vínculos individuales de la ruta. El algoritmo del
coste de vínculo presentado posteriormente es esencialmente el
mismo algoritmo #562 de ACM journal Transactions on Mathematical
Software: "Shortest Path From a Specific Node to All Other Nodes
in a Network", por U. Pape, ACM TOMS 6 (1980) pp.
450-455, http://www.netlib.org/toms/562.
En este procesamiento, el término Grupo de
Repetidores hace referencia a un Grupo que contiene la dirección IP
de un repetidor. Un grupo es adyacente a otro grupo si el Registro
de Grupo indica que existe un vínculo entre los dos grupos.
Para cada Grupo T Repetidor de destino:
- \bullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \sqbullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \bullet
-
\vtcortauna
\vskip1.000000\baselineskip
Un Conjunto de Costes es un conjunto de Grupos
que son equivalentes respecto a la Selección del Mejor Repetidor.
Es decir, dada la información disponible, se seleccionaría el mismo
repetidor para cualquiera de ellos.
El "perfil de coste" de un Grupo G se
define aquí como el conjunto de costes entre G y cada Repetidor. Se
dice que dos perfiles de costes son equivalentes si los valores en
un perfil difieren en una cantidad constante de los valores
correspondientes en el otro perfil.
Una vez que se conoce un Grupo de cliente, el
algoritmo de Selección del Mejor Repetidor se basa en el perfil de
costes para la información sobre el Grupo. Si dos perfiles son
equivalentes, el algoritmo BRS seleccionaría el mismo repetidor
dado cualquiera de los perfiles.
Un Conjunto de Costes es entonces un conjunto de
grupos que tienen perfiles de costes equivalentes.
La eficacia de este método puede observarse, por
ejemplo, en el caso en el que todas las rutas hacia un Repetidor
desde algún Grupo A pasen a través de algún otro Grupo B. Los dos
Grupos tienen perfiles de costes equivalentes (y, por tanto, están
en el mismo Conjunto de Costes) puesto que cualquier Repetidor que
sea el mejor para el Grupo A también va a ser el mejor para el
Grupo B, sin tener en cuenta qué ruta se ha tomado entre los dos
Grupos.
Al normalizar los perfiles de costes, los
perfiles de costes equivalentes pueden hacerse idénticos. Un perfil
de costes normalizado es un perfil de costes en el que el coste
mínimo tiene el valor de cero. Un perfil de costes normalizado se
calcula hallando el coste mínimo del perfil, y restando el valor de
cada coste del perfil.
Entonces, los Conjuntos de Costes se calculan
utilizando el siguiente algoritmo:
- \bullet
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \medcirc
-
\vtcortauna
\vskip1.000000\baselineskip
El algoritmo para hallar los Conjuntos de Costes
emplea una tabla de elección arbitraria para reducir el tiempo
necesario para determinar si ya existe el Conjunto de Costes
deseado. La tabla de elección arbitraria emplea un valor arbitrario
calculado a partir del perfil de costes de G.
Cada Conjunto de Costes se numera entonces con
un único número de Índice de Envío de Costes. Los Conjuntos de
Costes se utilizan entonces de una forma sencilla para generar la
Tabla de Costes de Vínculos, que proporciona el coste a cada
Repetidor a partir de cada Conjunto de Costes.
Como se describirá posteriormente, la Tabla de
Reducción de Grupos relaciona cada dirección IP con uno de estos
Conjuntos de Costes.
El Mapa IP es una lista clasificada de registros
que relacionan rangos de direcciones IP con claves de la Tabla de
Costes de Vínculos. El formato del mapa IP es:
<dirección IP base><máxima dirección
IP><clave de Tabla de Costes de Vínculos>
donde las direcciones IP se representan
actualmente por números enteros de 32 bits. Estas entradas se
clasifican por la dirección base descendente, y por la máxima
dirección ascendente entre direcciones base iguales, y por la clave
de Tabla de Costes de Vínculos ascendente entre direcciones base
iguales y direcciones máximas. Obsérvese que los rangos pueden
solaparse.
El procedimiento NetMap genera un mapa IP
intermedio que contiene un mapa entre los rangos de las direcciones
IP y los números de los Conjuntos de Costes de la siguiente
manera:
- \bullet
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \sqbullet
-
\vtcortauna
- \bullet
-
\vtcortauna
\vskip1.000000\baselineskip
Entonces, el archivo de mapa IP se clasifica por
la dirección base descendente, y por la máxima dirección ascendente
entre direcciones base iguales, y por el número ascendente del
Conjunto de Costes entre direcciones base iguales y direcciones
máximas. El orden de clasificación para la dirección base y la
dirección máxima minimiza el tiempo para construir la Tabla de
Reducción de Grupos y produce los resultados apropiados para
entradas que se solapan.
Finalmente, el procedimiento NetMap crea la
Tabla de Reducción de Grupos procesando el mapa IP clasificado. La
Tabla de Reducción de Grupos detalla direcciones IP (especificadas
por rangos) en números de Conjuntos de Costes. Es necesario el
procesamiento especial del archivo de mapa IP para detectar rangos
de direcciones que se solapan, y para mezclar rangos de direcciones
adyacentes para minimizar el tamaño de la Tabla de Reducción de
Grupos.
Se mantiene una lista ordenada de segmentos de
rangos de direcciones, componiéndose cada segmento de una dirección
B base y de un número N del Conjunto de Costes, clasificado por la
dirección B base. (La máxima dirección de un segmento es la
dirección base del siguiente segmento menos uno).
Se utiliza el siguiente algoritmo:
- \bullet
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \sqbullet
-
\vtcortauna
- \bullet
-
\vtcortauna
- \quad
-
\vtcortauna
- \bullet
-
\vtcortauna
- \quad
-
\vtcortauna
\newpage
- \bullet
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \medcirc
-
\vtcortauna
- \sqbullet
-
\vtcortauna
- \sqbullet
-
\vtcortauna
\vskip1.000000\baselineskip
Un rango de dirección LAN reservado es un rango
de dirección reservado para ser utilizado por redes LAN que no
deberían aparecer como una dirección de Internet global. LOCAL es un
índice de Conjunto de Costes especial diferente de todos los otros,
que indica que el rango se dirige a un cliente que nunca debería
reflejarse. REPETIDOR es un índice de Conjunto de Costes especial
diferente de todos los otros, que indica que el rango de dirección
se dirige a un repetidor. NOGRUPO es un índice de Conjunto de Costes
especial diferente de todos los otros, que indica que este rango de
direcciones no tiene correlación conocida.
Dados (B, M, N), insertar una entrada en la
lista de direcciones ordenada de la siguiente manera:
- \quad
- Encontrar el último segmento (AB, AN) para el cual AB es menor o igual que B.
- \quad
- Si AB es menor que B, insertar un nuevo segmento (B, N) después de (AB, AN).
- \quad
- Hallar el último segmento (YB, YN) para el cual YB es menor o igual que M.
- \quad
- Reemplazar por (XB, N) cualquier segmento (XB, NOGRUPO) para el cual XB sea mayor que B y menor que YB.
- \quad
- Si YN es distinto de N, y también YN es distinto de NOGRUPO o YB es menor o igual que B,
- \quad
- Permitir que (ZB, ZN) sea el segmento que sigue a (YB, YN).
- \quad
- Si M+1 es menor que ZB, insertar un nuevo segmento (M+1, YN) antes de (ZB, ZN).
- \quad
- Reemplazar (YB, YN) por (YB, N).
\vskip1.000000\baselineskip
Como se explicó anteriormente en relación con la
figura 3 (paso B5), cuando un reflector o repetidor suministra un
recurso que incluye en sí mismo localizadores de recursos (por
ejemplo, un recurso HTML), se modifica (rescribe) ese recurso para
reflejar previamente localizadores de recursos (localizadores URL)
de recursos repetibles que aparecen en el recurso. La reescritura
garantiza que cuando un navegador solicita recursos repetibles
identificados por el recurso solicitado, los obtiene desde un
repetidor sin volver al servidor origen, pero cuando solicita
recursos no repetibles identificados por el recurso solicitado, irá
directamente al servidor origen. Sin esta optimización, el
navegador realizaría todas las peticiones al servidor origen
(aumentando el tráfico en el servidor origen y haciendo necesarias
muchas más redirecciones a partir del servidor origen), o
realizaría todas las peticiones al repetidor (haciendo que el
repetidor solicitara y copiara de modo redundante los recursos, que
no podrían almacenarse en la memoria caché, aumentando la sobrecarga
de suministrar este tipo de recursos).
La reescritura requiere que se haya seleccionado
un repetidor (como se describió anteriormente en relación con el
Selector del Mejor Repetidor). La reescritura emplea una denominada
directiva BASE. La directiva BASE permite que el HTML identifique
un servidor base diferente. (La dirección base es normalmente la
dirección del recurso HTML):
La reescritura se lleva a cabo de la siguiente
manera:
- F1.
- Se añade una directiva BASE al comienzo del recurso HTML, o se modifica cuando sea necesario. Normalmente, un navegador interpreta qué localizadores URL relativos son relativos respecto a la dirección base por defecto, concretamente, el localizador URL del recurso HTML (página) en la que se encuentran. La dirección BASE añadida especifica el recurso al reflector que suministró originalmente el recurso. Esto significa que los localizadores URL relativos no procesados (tal como los generados por programas Javascript^{TM}) se interpretarán como relativos al reflector. Sin esta dirección BASE, los navegadores combinarían las direcciones relativas con nombres de repetidores para crear localizadores URL que no estuvieran en la forma requerida por los repetidores (como se describió anteriormente en el paso D1).
\newpage
- F2.
- El dispositivo de reescritura identifica directivas, tales como imágenes y anclas incrustadas, que contienen localizadores URL. Si el dispositivo de reescritura se está ejecutando en un reflector, debe analizar el archivo HTML para identificar estas directivas. Si se está ejecutando en un repetidor, el dispositivo de reescritura puede tener acceso a información calculada previamente que identifica la localización de cada localizador URL (colocado en el archivo HTML en el paso F4).
- F3.
- Para cada localizador URL encontrado en el recurso que se va a rescribir, el dispositivo de reescritura debe determinar si puede repetirse el localizador URL (como en los pasos B1-B2). Si no puede repetirse el localizador URL, no se modifica. Por otra parte, si puede repetirse el localizador URL, se modifica para hacer referencia al repetidor seleccionado.
- F4.
- Después de que se hayan identificado y modificado todos los localizadores URL, si se está suministrando el recurso a un repetidor, se adjunta una tabla al comienzo del recurso que identifica la localización y el contenido de cada localizador URL encontrado en el recurso. (Este paso es una optimización que elimina la necesidad de analizar los recursos HTML en el repetidor).
- F5.
- Una vez que se hayan identificado todos los cambios, se calcula una nueva longitud para el recurso (página). La longitud se introduce en la cabecera HTTP antes de suministrar el recurso.
Actualmente se está desarrollando una extensión
de HTML, conocida como XML. El proceso de rescribir localizadores
URL será similar para XML, con algunas diferencias en el mecanismo
que analiza el recurso e identifica los localizadores URL
incrustados.
Esta invención hace posible reflejar referencias
a recursos que son suministrados por protocolos diferentes de HTTP,
por ejemplo, el Protocolo de Transferencia de Archivos (FTP) y
protocolos de corrientes de audio/vídeo. Sin embargo, muchos
protocolos no proporcionan la capacidad de redireccionar peticiones.
Sin embargo, es posible redireccionar referencias antes de que se
realicen realmente las peticiones rescribiendo localizadores URL
incrustados en páginas HTML. Las siguientes modificaciones a los
algoritmos anteriores se utilizan para soportar esta capacidad.
En el paso F4, el dispositivo de reescritura
rescribe localizadores URL para servidores si esos servidores
aparecen en una tabla configurable del servidor origen que coopera o
los denominados co-servidores. El operador del
reflector puede definir esta tabla para incluir los servidores FTP y
otros servidores. Un localizador URL rescrito que hace referencia a
un recurso no-HTTP toma la forma:
http://<repetidor>/<servidor
origen>@proxy=<esquema>[:<tipo>]@/recurso
donde <esquema> es un nombre de protocolo
soportado tal como "ftp". Este formato URL es una alternativa
a la forma mostrada en el paso B3.
En el paso C3, el repetidor busca un protocolo
incrustado en la respuesta que llega. Si está presente un protocolo
y el recurso solicitado aún no está almacenado en la memoria caché,
el repetidor utiliza el protocolo seleccionado en lugar del
protocolo HTTP por defecto para solicitar el recurso cuando lo está
suministrando y almacenando en la memoria caché.
Además del procesamiento anteriormente descrito,
la red de repetidores requiere varios mecanismos para la
configuración del sistema y para la administración de la red. Aquí
se describen algunos de estos mecanismos.
Los reflectores permiten a sus operadores que
sincronicen las memorias cachés de los repetidores al realizar
tareas de edición. Posteriormente se describirá el proceso de
mantener sincronizadas las memorias cachés de los repetidores. La
edición indica que un recurso o una colección de recursos ha
cambiado.
Los repetidores y reflectores participan en
diversos tipos de procesamiento de registro. Los resultados de los
registros recogidos en los repetidores se reúnen y fusionan con
registros recogidos en los reflectores, como se describirá
posteriormente.
Cuando se añade un nuevo abonado a la red, se
introduce información sobre el abonado en una Tabla de Abonados del
repetidor maestro y se difunde a todos los repetidores de la red.
Esta información incluye la Velocidad de Transferencia de
Información de Agregado Asignada (Committed Aggregate Information
Rate, CAIR) para los servidores que pertenecen al abonado, y una
lista de los repetidores que pueden utilizarse por los servidores
que pertenecen al abonado.
Cuando se añade un nuevo reflector a la red,
simplemente se conecta y se anuncia él mismo a un repetidor de
contacto, preferiblemente mediante un certificado encriptado de
forma segura que incluye el localizador del abonado del
repetidor.
El repetidor de contacto determina si la
dirección de la red del reflector está permitida para este abonado.
Si lo está, el repetidor de contacto acepta la conexión y actualiza
el reflector con todas las tablas necesarias (mediante números de
versión para determinar qué tablas están desfasadas).
El reflector procesa las peticiones durante este
tiempo, pero no está "capacitado" (autorizado para reflejar
peticiones) hasta que se actualicen todas sus tablas.
Las memorias caché son coherentes, en el sentido
de que cuando un reflector identifica un cambio a un recurso, éste
se le notifica a todas las memorias caché de los repetidores, y
acepta el cambio en una única transacción.
Sólo se transmite el localizador del recurso
modificado (y no todo el recurso) a los repetidores; el localizador
se utiliza para invalidar de forma eficaz el recurso correspondiente
almacenado en la memoria caché del repetidor. Este proceso es mucho
más eficaz que transmitir el contenido del recurso modificado a cada
repetidor.
Un repetidor cargará el recurso nuevamente
modificado la próxima vez que sea solicitado.
En el reflector, un cambio de recurso se
identifica de forma manual por el operador, o a través de un
programa de instrucciones cuando los archivos se instalan en el
servidor, o automáticamente a través de un mecanismo de detección
de cambios (por ejemplo, un proceso independiente que comprueba
regularmente si se producen cambios).
Un cambio de recurso hace que el reflector envíe
un mensaje "invalidar" a su repetidor de contacto, que envía
el mensaje al repetidor maestro. El mensaje de invalidar contiene
una lista de localizadores de recursos (o expresiones regulares que
identifican modelos de localizadores de recursos) que han cambiado.
(Las expresiones regulares se utilizan para invalidar un directorio
o un servidor completo). La red de repetidores utiliza un proceso
de asignación en dos fases para garantizar que todos los repetidores
invalidan correctamente un recurso determinado.
El proceso de invalidación funciona de la
siguiente manera:
El maestro difunde una petición de invalidación
de "fase 1" a todos los repetidores que indica los recursos y
expresiones regulares que describen conjuntos de recursos que se van
a invalidar.
Cuando cada uno de los repetidores recibe el
mensaje de fase 1, primero coloca los localizadores de recursos o
expresiones regulares en una lista de localizadores de recursos en
trámites de invalidación.
Ninguno de los recursos solicitados (en el paso
C3) que esté en la lista de invalidación pendiente podrá
suministrarse desde la memoria caché. Esto impide que la memoria
caché solicite el recurso desde una memoria caché del mismo nivel,
que puede no haber recibido una notificación de invalidación. Si
fuera a solicitar un recurso de esta manera, tendría que reemplazar
el recurso nuevamente invalidado por los mismos datos, ahora
desfasados.
Entonces, el repetidor compara el localizador de
recursos de cada recurso en su memoria caché frente a los
localizadores de recursos y las expresiones regulares de la
lista.
Cada coincidencia se invalida marcándola como
anticuada y eliminándola opcionalmente de la memoria caché. Esto
significa que una futura petición del recurso hará que recupere una
nueva copia del recurso desde el reflector.
Cuando el repetidor ha completado la
invalidación, muestra un acuse de recibo al maestro. El maestro
espera hasta que todos los repetidores hayan acusado recibo de la
petición de invalidación.
Si un repetidor no emite un acuse de recibo
dentro de un determinado periodo de tiempo, se desconecta del
repetidor maestro. Cuando se vuelve a conectar, se le solicitará que
purgue toda su memoria caché, lo que eliminará cualquier problema
de consistencia. (Para evitar purgar toda la memoria caché, el
maestro podría mantener un registro de todas las invalidaciones
llevadas a cabo, clasificadas por fecha, y purgar sólo los archivos
invalidados desde la última vez que el repetidor que se vuelve a
conectar completó con éxito una invalidación. En las realizaciones
preferidas actualmente, esto no se hace puesto que se considera que
los repetidores se desconectarán en raras ocasiones).
Cuando todos los repetidores hayan acusado
recibo de la invalidación (o estén en tiempo de espera), el
repetidor transmite una petición de invalidación de "fase 2" a
todos los repetidores. Esto hace que los repetidores eliminen los
localizadores de recursos correspondientes y las expresiones
regulares de la lista de localizadores de recursos pendientes de
invalidación.
En otra realización, la petición de invalidación
se extenderá para permitir un "empuje del servidor". En este
tipo de peticiones, después de que se haya completado la fase 2 del
proceso de invalidación, el repetidor que recibe la petición de
invalidación solicitará inmediatamente una nueva copia del recurso
invalidado para almacenarla en su memoria caché.
Los registros de la actividad del servidor Web
son fundamentalmente para controlar la actividad en un sitio Web.
Esta invención crea "registros fusionados" que combinan la
actividad en los reflectores con la actividad en los repetidores,
de manera que sólo aparece un registro de actividad en el servidor
origen que muestra todas las peticiones de recursos Web realizadas
para ese sitio en cualquier repetidor.
Este registro fusionado puede procesarse
mediante herramientas de procesamiento estándar, como si se hubiera
generado de forma local.
Sobre una base periódica, el repetidor maestro
(o su delegado) recoge los registros de cada repetidor. Los
registros recogidos se fusionan, se clasifican por el localizador
del reflector y el sello temporal, y se almacenan en un archivo
fechado basándose en el reflector. El registro fusionado para un
determinado reflector representa la actividad de todos los
repetidores por parte de ese reflector. Sobre una base periódica,
según se configura por el operador del reflector, un reflector
contacta con el repetidor maestro para solicitar sus registros
fusionados. Los descarga y los fusiona con sus registros mantenidos
de forma local, clasificándolos según su sello temporal. El
resultado es un registro fusionado que representa toda actividad por
parte de los repetidores y del reflector determinado.
Los registros de actividad se extienden
opcionalmente con información importante para la red de repetidores,
si el reflector está configurado para hacerlo así por el operador
del reflector. En particular, un "código de estado extendido"
indica información sobre cada petición, tal como:
- 1.
- la petición se suministró localmente por un reflector;
- 2.
- la petición se reflejó a un repetidor; *
- 3.
- la petición se suministró a un repetidor mediante un reflector;*
- 4.
- la petición del recurso no repetible se suministró por medio del repetidor;*
- 5.
- la petición se suministró desde la memoria caché por medio de un repetidor;
- 6.
- la petición se suministró por medio de un repetidor tras completar la memoria caché;
- 7.
- la petición pendiente de invalidación se suministró por medio de un repetidor.
\vskip1.000000\baselineskip
(Las actividades marcadas con "*"
representan estados intermedios de una petición y normalmente no
aparecen en un registro final de actividad).
Además, los registros de actividad contienen una
duración, y sellos temporales de precisión ampliados. La duración
hace posible analizar el tiempo necesario para suministrar un
recurso, el ancho de banda empleado, el número de peticiones
procesadas en paralelo a un tiempo determinado, y otra información
bastante útil. El sello temporal de precisión extendido hace
posible fusionar de forma precisa los registros de actividad.
Los repetidores utilizan el Protocolo de
Temporización de Red (NTP) para mantener los relojes sincronizados.
Los reflectores pueden utilizar el protocolo NTP o calcular un sesgo
temporal para proporcionar sellos temporales aproximadamente
precisos respecto a su repetidor de contacto.
La red de repetidores controla y limita la
velocidad de transferencia del agregado a la cual los datos para un
determinado abonado son suministrados por todos los repetidores.
Este mecanismo proporciona los siguientes beneficios:
- 1.
- proporciona un medio de fijar los precios de un servicio de repetidor;
- 2.
- proporciona un medio para calcular y reservar la capacidad, en los repetidores;
- 3.
- proporciona un medio para impedir que los clientes de un sitio ocupado limiten el acceso a otros sitios.
\newpage
Para cada abonado, en el repetidor maestro se
configura y mantiene una "Velocidad de Transferencia de
Información Umbral de Agregado" (TAIR). Este umbral no es
necesariamente la velocidad de transferencia asignada, puede ser un
múltiplo de la velocidad de transferencia asignada, basándose en una
política de fijación de precios.
Cada repetidor mide el componente de la
velocidad de transferencia de información de cada reflector para el
cual suministra recursos, periódicamente (normalmente, una vez cada
minuto), grabando el número de bytes transmitidos dirigidos a ese
reflector cada vez que se suministra una petición. La tabla creada
de esta manera se envía al repetidor maestro una vez por periodo.
El repetidor maestro combina las tablas de cada repetidor, sumando
la información medida de cada reflector de todos los repetidores que
suministran recursos para ese reflector, para determinar la
"Velocidad de Transferencia de Información de Agregado Medida"
(MAIR) para cada reflector.
Si la velocidad MAIR para un determinado
reflector es mayor que la velocidad TAIR para ese reflector, la
velocidad MAIR se transmite por medio del maestro a todos los
repetidores y al reflector correspondiente.
Cuando un reflector recibe una petición, éste
determina si su velocidad MAIR calculada más recientemente es mayor
que su velocidad TAIR. Si es éste el caso, el reflector decide,
según las probabilidades, si suprimir la reflexión, suministrando
la petición de modo local (en el paso B2). La probabilidad de
suprimir la reflexión aumenta como una función exponencial de la
diferencia entre la velocidad MAIR y CAIR.
Suministrar una petición de forma local durante
un periodo cumbre puede ejercer presión sobre el servidor origen
local; pero impide que este abonado tome más del ancho de banda
asignado de la red de repetidores compartida.
Cuando un repetidor recibe una petición para un
determinado abonado (en el paso C2), éste determina si el abonado
se está ejecutando próximo a su velocidad de transferencia de
información umbral de agregado. Si es este el caso, decide según la
probabilidad si reduce su carga volviendo a dirigir la petición
nuevamente al reflector. La probabilidad aumenta de forma
exponencial mientras la velocidad de transferencia de información
de agregado del reflector se aproxima a su límite.
Si una petición se refleja nuevamente hacia un
reflector, se adjunta una cadena especial de caracteres al
localizador de recursos de manera que el reflector que la recibe no
intentará reflejarla nuevamente. En el sistema actual esta cadena
tiene la siguiente forma:
"src=sobrecarga".
En el paso B2, el reflector comprueba esta
cadena.
El mecanismo para limitar la Velocidad de
Transferencia de Información de Agregado descrito anteriormente es
bastante tosco. Éste limita en el nivel de las sesiones con clientes
(puesto que una vez que un cliente ha sido reflejado a un
determinado repetidor, el proceso de reescritura tiende a mantener
que el cliente regrese al repetidor) y, en el mejor de los casos,
peticiones individuales para recursos. Un mecanismo más pulido para
imponer los limites TAIR dentro de los repetidores funciona
reduciendo el consumo de ancho de banda de un abonado ocupado
cuando otros abonados están compitiendo por el ancho de banda.
El mecanismo más finamente pulido es una forma
de "rate shaping" (adaptación de la velocidad de transferencia)
de los datos. Éste amplía el mecanismo que copia los datos de los
recursos a una conexión cuando se ha enviado una respuesta a un
cliente. Cuando se establece un canal de salida en el momento en que
se recibe una petición, el repetidor identifica para qué abonado
está operando el canal, en el paso C2, y registra el abonado en un
campo de datos asociado con el canal. Cada vez que está próxima a
realizarse una operación de "escritura" en el canal, la
Corriente de Salida Medida examina los valores actuales de las
velocidades MAIR y TAIR, calculadas anteriormente, para el abonado
determinado. Si la velocidad MAIR es mayor que la velocidad TAIR,
entonces el mecanismo se detiene brevemente antes de realizar la
operación de escritura. La longitud de la pausa es proporcional a
la cantidad en que la velocidad MAIR sobrepasa a la velocidad TAIR.
La pausa garantiza que las tareas que envían otros recursos a otros
clientes, quizás dirigidos a otros abonados, tendrán una oportunidad
de enviar sus datos.
La red de repetidores es capaz de recuperarse
cuando un repetidor o conexión de red falla.
Un repetidor no puede operar a menos que esté
conectado con el repetidor maestro. El repetidor maestro intercambia
información crítica con otros repetidores, incluyendo información
sobre la carga del repetidor, la velocidad de transferencia de
información de agregado, abonados y coste de los vínculos.
Si un maestro falla, un proceso de
"sucesión" garantiza que otro repetidor asumirá el papel del
maestro, y la red, como un todo, permanecerá operativa. Si un
maestro falla, o falla una conexión a un maestro debido a un
problema de red, cualquier repetidor que intente comunicar con el
maestro detectará el fallo, bien a través de una indicación del
protocolo TCP/IP, o por el tiempo de espera a partir de un mensaje
de "latido" regular que envía al maestro.
Cuando cualquier repetidor está desconectado de
su maestro, éste trata de volverse a conectar inmediatamente a una
serie de maestros potenciales basándose en un archivo configurable
denominado su "lista de sucesión".
El repetidor prueba cada sistema de la lista de
forma sucesiva hasta que se conecta con un maestro de forma
satisfactoria. Si en este proceso llega a su propio nombre, asume el
papel del maestro, y acepta las conexiones de otros repetidores. Si
un repetidor que no se encuentra en la parte superior de la lista se
convierte en el maestro, se le denomina "maestro
temporal".
Una partición de red puede hacer que cada uno de
dos grupos de repetidores elija a un maestro. Al corregir la
partición, es necesario que el maestro más antiguo tome la red. Por
tanto, cuando un repetidor es un maestro temporal, éste trata
regularmente de volverse a conectar a cualquier maestro por encima
suyo en la lista de sucesión. Si esto sucede, éste se desconecta
inmediatamente de todos los demás repetidores conectados a él.
Cuando ellos vuelven a probar sus listas de sucesión, conectarán con
el repetidor maestro más antiguo.
Para evitar las pérdidas de datos, un maestro
temporal no acepta los cambios de configuración y no procesa
archivos de registro. Para llevar a cabo estas tareas, debe estar
informado de que es maestro primario mediante modificación manual
de su lista de sucesores. Cada repetidor recarga regularmente su
lista de sucesores para determinar si debería cambiar su idea sobre
quién es el maestro.
Si un repetidor está desconectado del maestro,
debe volver a sincronizar su memoria caché cuando se vuelve a
conectar al maestro. El maestro puede mantener una lista de
invalidaciones recientes de la memoria caché y enviarle al
repetidor cualquier invalidación que no haya sido capaz de procesar
mientras estuvo desconectado. Si por alguna razón esta lista no
está disponible (por ejemplo, debido a que el reflector ha sido
desconectado demasiado tiempo), el reflector debe invalidar toda su
memoria caché.
No se le permite a un reflector que refleje
peticiones a menos que esté conectado a un repetidor. El reflector
se basa en su repetidor de contacto para la información crítica, tal
como las Tablas de Carga y de Costes de Vínculos, y la velocidad
actual de transferencia de información de agregado. Un reflector que
no está conectado a un repetidor puede continuar recibiendo
peticiones y procesándolas de forma local.
Si un reflector pierde su conexión con un
repetidor, debido a un fallo del repetidor o corte en la red,
continua funcionando mientras trata de conectarse a un
repetidor.
Cada vez que un reflector intenta conectarse a
un repetidor, utiliza el servidor DNS para identificar a un
conjunto de repetidores candidatos dado un nombre de dominio que
representa a la red de repetidores. El reflector lo intenta con
cada repetidor de este conjunto hasta que establece un contacto
satisfactorio. Hasta que se establece un contacto satisfactorio, el
reflector suministra todas las peticiones de forma local. Cuando un
reflector se conecta con un repetidor, el repetidor puede
solicitarle que intente contactar con un repetidor diferente; esto
le permite a la red de repetidores garantizar que ningún repetidor
individual cuenta con demasiados contactos.
Cuando se establece el contacto, el reflector le
proporciona el número de versión de cada una de sus tablas a su
repetidor de contacto. Entonces, el repetidor decide qué tablas
deberían actualizarse y le envía al reflector las actualizaciones
adecuadas. Una vez que se hayan actualizado todas las tablas, el
repetidor le notifica al reflector que ahora puede empezar a
reflejar las peticiones.
Los repetidores están diseñados
intencionadamente de manera que cualquier
proxy-caché pueda utilizarse como un componente
dentro de ellos. Esto es posible porque el repetidor recibe
peticiones HTTP y las convierte a una forma reconocida por el
proxy-caché.
Por otra parte, se han realizado diversas
modificaciones a un proxy-caché estándar o pueden
realizarse como optimizaciones. Esto incluye, en particular, la
capacidad de invalidar convenientemente un recurso, la capacidad de
soportar las cuotas de la memoria caché y la capacidad de evitar
hacer una copia extra de cada recurso según pasa del
proxy-caché, a través del repetidor, al
solicitante.
En una realización preferida, se utiliza un
proxy-caché para llevar a cabo el paso C3. El
proxy-caché está dedicado para ser utilizado
únicamente por uno o varios repetidores. Cada repetidor que solicita
un recurso del proxy-caché construye una petición
al proxy a partir de la petición de recurso que llega. Una petición
HTTP GET normal a un servidor contiene sólo la parte del nombre de
ruta del localizador URL, el esquema y el nombre del servidor están
implícitos. (En una petición HTTP GET a un repetidor, la parte del
nombre de ruta del localizador URL incluye el nombre del servidor
origen para el cual se está realizando la petición, como se
describió anteriormente). Sin embargo, una petición GET de agente
proxy toma un localizador URL completo. Por tanto, el repetidor
debe construir una petición al proxy que contiene todo el
localizador URL a partir la parte de la ruta del localizador URL
que recibe. De forma específica, si la petición entrante adquiere
la siguiente forma:
GET/<servidor origen>/<ruta>
entonces, el repetidor construye
una petición al proxy de la siguiente
forma:
GET http://<servidor
origen>/<ruta>
y si la petición entrante adquiere
la siguiente
forma:
GET <servidor
origen>@proxy=<esquema>:<tipo>@/<ruta>
entonces, el repetidor construye
una petición al proxy de la siguiente
forma:
GET <esquema>://<servidor
origen>/<ruta>
\vskip1.000000\baselineskip
Las respuestas HTTP contienen directivas
denominadas directivas de control de la memoria caché, que se
utilizan para indicarle a una memoria caché si el recurso adjunto
puede almacenarse en la memoria caché y, si es así, cuando debería
caducar. Un administrador de sitio Web configura el sitio Web para
adjuntar directivas adecuadas. Con frecuencia, el administrador no
sabrá durante cuánto tiempo permanecerá actual una página, y debe
definir un tiempo de caducidad corto para intentar impedir que las
memorias caché suministren datos anticuados. En muchos casos, un
operador de sitio Web indicará un corto tiempo de expiración sólo
para recibir las peticiones (o respuestas pertinentes) que, de lo
contrario, estarían ocultas por la presencia de una memoria caché.
Esto se conoce en la industria como
"cache-busting". Aunque algunos operadores de
memoria caché pueden considerar el proceso de
"cache-busting" como algo poco correcto, los
anunciantes que se basan en esta información pueden
considerarla
imperativa.
imperativa.
Cuando un recurso se almacena en un repetidor,
sus directivas de memoria caché pueden ser ignoradas por el
repetidor, puesto que el repetidor recibe eventos de invalidación
explícitos para determinar cuando está anticuado un recurso. Si se
utiliza un proxy-caché como la memoria caché del
repetidor, las directivas asociadas de la memoria caché pueden
deshabilitarse temporalmente. Sin embargo, deben rehabilitarse
nuevamente cuando se suministre el recurso desde la memoria caché a
un cliente, para permitir que surta efecto la política de control
de la memoria caché (incluyendo cualquier proceso
caché-busting).
La presente invención contiene mecanismos para
impedir que el proxy-caché dentro de un repetidor
cumpla con las directivas de control de la memoria caché, mientras
que permiten que las directivas se suministren desde el
repe-
tidor.
tidor.
Cuando un reflector suministra un recurso a un
repetidor en el paso B4, éste reemplaza todas las directivas de la
memoria caché por directivas modificadas que son ignoradas por el
proxy-caché del repetidor. Esto lo lleva a cabo
anteponiendo como prefijo una cadena distintiva, tal como
"wr-", al comienzo de la etiqueta HTTP. De esta manera,
"caduca" se convierte en "wr-caduca", y
"control-memoria caché" se convierte en
"wr-control-memoria caché".
Esto impide que el propio proxy-caché cumpla con las
directivas. Cuando un repetidor suministra un recurso en el paso
C4, y el cliente solicitante no es otro repetidor, éste busca
etiquetas HTTP que comiencen con "wr-" y elimina el prefijo
"wr-". Esto permite a los clientes recuperar el recurso para
cumplir con las directivas.
Existen diversos casos en los que puede
almacenarse un recurso en la memoria caché mientras se consulta el
servidor origen cada vez que es suministrado. En un caso, la
petición del recurso se adjunta a un denominado "cookie". El
servidor origen debe presentarse con el cookie para registrar la
petición y determinar si debe suministrarse o no el recurso
almacenado en la memoria caché. En otro caso, la petición del
recurso se adjunta a una cabecera de autentificación (que
identifica al solicitante con un identificador de usuario y una
contraseña). Cada nueva petición de recurso debe comprobarse en el
servidor origen para garantizar que el solicitante está autorizado
a acceder al
recurso.
recurso.
La especificación HTTP 1.1 define una cabecera
de respuesta denominada "Debe-Revalidar", que
le permite a un servidor origen ordenarle a un proxy caché que
"revalide" un recurso cada vez que se recibe una petición.
Normalmente, este mecanismo se utiliza para determinar si un recurso
aún sigue siendo actual. En la presente invención,
Debe-Revalidar hace posible solicitarle a un
servidor origen que valide una petición que, de lo contrario, se
suministra a partir de un repetidor.
La base de reglas del reflector contiene
información que determina qué recursos pueden repetirse, pero debe
volverse a validar cada vez que éstos se suministran. Para cada uno
de estos recursos, en el paso B4, el reflector adjunta una cabecera
Debe-Revalidar. Cada vez que llega una petición a un
repetidor de un recurso almacenado en la memoria caché marcado con
una cabecera Debe-Revalidar, la petición se envía al
reflector para que sea validada antes de suministrar el recurso
solicitado.
El componente de la memoria caché de un
repetidor está compartido entre aquellos abonados que reflejan
clientes a ese repetidor. Para permitirles a los abonados acceso
limpio a las prestaciones de almacenamiento, la memoria caché puede
ampliarse para soportar cuotas.
Normalmente, un proxy-caché
puede estar configurado con un umbral T de espacio de disco. Si se
almacenan más de T bytes en la memoria caché, la memoria caché
intenta encontrar recursos que eliminar.
Normalmente, una memoria caché utiliza el
algoritmo LRU (Utilizado Menos Recientemente) para determinar qué
recursos eliminar; las memorias caché más sofisticadas utilizan
otros algoritmos. Una memoria caché también puede soportar varios
valores umbral, por ejemplo, un umbral más bajo que, al alcanzarlo,
hace que un proceso secundario de prioridad baja elimine elementos
de la memoria caché, y un umbral más alto que, al ser alcanzado,
impide que los recursos se almacenen en la memoria caché hasta que
se recupera suficiente espacio libre en disco.
Si dos abonados A y B comparten una memoria
caché, y durante un periodo de tiempo se accede a más recursos del
abonado A que a recursos del abonado B, entonces habrá menos
recursos del abonado B en la memoria caché cuando lleguen nuevas
peticiones. Es posible que, debido al comportamiento del abonado A,
los recursos del abonado B nunca lleguen a almacenarse en la
memoria caché cuando son solicitados. En la presente invención,
este comportamiento es indeseable. Para tratar este tema, la
invención amplía la memoria caché en un repetidor para que soporte
cuotas de memoria caché.
La memoria caché registra la cantidad de espacio
utilizado por cada abonado en D_{S}, y soporta un umbral T_{S}
configurable para cada abonado.
Cada vez que se añade un recurso a la memoria
caché (en el paso C3), el valor D_{S} se actualiza para el
abonado que proporciona el recurso. Si D_{S} es mayor que T_{S},
la memoria caché intenta encontrar recursos que eliminar, de entre
los recursos asociados con el abonado S. La memoria caché se divide
de forma eficaz en áreas separadas para cada abonado.
El umbral T original aún se soporta. Si la suma
de los segmentos reservados para cada abonado es menor que el
espacio total reservado en la memoria caché, el área restante es
"común" y está sujeta a competición entre los abonados.
Obsérvese que este mecanismo puede implementarse
modificando el proxy-caché existente, explicado
anteriormente, o también podría implementarse sin modificar el
proxy-caché, si el proxy-caché
posibilita al menos que un programa externo obtenga una lista de
los recursos que hay en la memoria caché, y el eliminar un recurso
determinado de la memoria caché.
Cuando un repetidor recibe una petición para un
recurso, su proxy-caché puede estar configurada para
determinar si una memoria caché de igual nivel contiene el recurso
solicitado. Si es así, el proxy-caché obtiene el
recurso de la memoria caché de igual nivel, lo que puede resultar
más rápido que obtenerlo del servidor origen (el reflector). Sin
embargo, una consecuencia de esto es que los recursos HTML rescritos
recuperados de la memoria caché de igual nivel identificarían al
repetidor erróneo. De esta manera, para que permitir los
proxy-cachés cooperen, los recursos se rescriben
preferiblemente en el repetidor.
Cuando un recurso se rescribe para un repetidor,
se coloca una etiqueta especial al comienzo del recurso. Al
construir una respuesta, el repetidor examina la etiqueta para
determinar si el recurso indica que es necesaria una reescritura
adicional. Si es así, el repetidor modifica el recurso reemplazando
las referencias al antiguo repetidor con referencias al nuevo
repetidor.
Sólo es necesario realizar esta reescritura
cuando se suministra un recurso al proxy-caché de
otro repetidor.
Algunas veces, un servidor origen construye un
recurso personalizado para cada petición (por ejemplo, al introducir
un anuncio basándose en el historial del cliente solicitante). En
un caso de este tipo, ese recurso debe suministrarse localmente, en
lugar de repetirse. Generalmente, un recurso personalizado contiene,
junto con la información personalizada, texto y referencias a otros
recursos repetibles.
El proceso que ensambla una "página" a
partir de un recurso de texto y, posiblemente, uno o varios recursos
de imágenes, es llevado a cabo por el navegador Web, dirigido por
HTML. Sin embargo, no es posible utilizar HTML para hacer que un
navegador ensamble una página utilizando texto o directivas desde
una recurso independiente. Por tanto, los recursos personalizados a
menudo contienen necesariamente grandes cantidades de texto estático
que, de otra forma, sería repetible.
Para solucionar esta ineficacia potencial, los
repetidores reconocen una directiva especial denominada "repeater
side include" (incluye del lado del repetidor). Esta directiva
hace posible que el repetidor ensamble un recurso personalizado,
utilizando una combinación de recursos repetibles y locales. De esta
manera, el texto estático puede hacerse repetible, y sólo es
necesario que el reflector suministre localmente la directiva
especial.
Por ejemplo, un recurso X puede componerse de
directivas personalizadas que seleccionan un letrero publicitario
seguido de un artículo de texto de gran tamaño. Para hacer que pueda
repetirse este recurso, el administrador del sitio Web debe hacer
salir un segundo recurso, Y, para seleccionar el letrero. El recurso
X se modifica para contener una directiva include del lado del
repetidor que identifica el recurso Y, junto con el artículo. El
recurso Y se crea y sólo contiene las directivas personalizadas que
seleccionan un letrero publicitario. Ahora, el recurso X puede
repetirse, y sólo el recurso Y, que es relativamente pequeño, no
puede repetirse.
Cuando un repetidor construye una respuesta,
determina si el recurso que se está suministrando es un recurso
HTML y, si es así, lo examina en busca de directivas include del
lado del repetidor. Cada una de estas directivas incluye un
localizador URL, que el repetidor define y sustituye en lugar de la
directiva. Todo el recurso debe ensamblarse antes de ser
suministrado, para determinar su tamaño final, puesto que el tamaño
se incluye en una cabecera de respuesta en la parte delantera del
recurso.
De esta manera, se proporciona un método y un
aparato para duplicar de forma dinámica recursos seleccionados en
redes informáticas. Un experto en la técnica percibirá que la
presente invención puede ponerse en práctica en una realización
diferente de las descritas, las cuales se presentan con motivos
ilustrativos y no restrictivos, y la presente invención sólo está
limitada por las reivindicaciones que siguen.
\vskip1.000000\baselineskip
\bullet WO 9 729 423 A [0016].
\bullet U. Pape. "Shortest Path From
a Specific Node to All Other Nodes in a Network". ACM
TOMS, 1980, vol. 6, 450-455 [0093].
Claims (27)
1. Sistema que opera en una red (100)
informática en la que los clientes (106) se conectan a un servidor
(102) origen, comprendiendo el sistema:
- \quad
- un conjunto de servidores (104a...) repetidores, distintos del servidor (102) origen, para alojar al menos algunos de los objetos incrustados de las páginas Web que normalmente están alojados por el servidor (102) origen;
- \quad
- y un reflector (108) que comprende:
- \quad
- una rutina para modificar al menos un objeto URL incrustado de una página Web para indicárselo a un servidor del conjunto de servidores repetidores, en lugar de al servidor origen;
- \quad
- y el reflector comprende además
- \quad
- un mecanismo de selección de servidores construido y adaptado para identificar, para una determinada petición de cliente, un servidor repetidor adecuado a partir del conjunto de servidores repetidores,
- \quad
- en el que como respuesta a las peticiones de página Web generadas por los clientes, desde el reflector se suministra la página Web que incluye el localizador URL modificado del objeto incrustado, siendo el reflector parte de servidor origen, y el objeto incrustado identificado por la URL modificada incrustada se suministra desde un servidor determinado de los servidores repetidores según es identificado por el mecanismo selector de servidores;
- \quad
- caracterizado porque
- \quad
- el mecanismo selector del servidor identifica un servidor repetidor en función de la dirección de red del cliente solicitante y de datos relacionados con los costes de la conexión de red, los mencionados costes de conexión incluyendo datos que se han determinado utilizando servicios de prueba que muestrean rutas de datos en la red, con el objeto de obtener medidas que reflejen un coste relativo de transmitir datos desde servidores repetidores hasta otras localizaciones en la red.
\vskip1.000000\baselineskip
2. Sistema según la reivindicación 1, en el que,
si falla un determinado servidor de los servidores (104a...)
repetidores, otro servidor repetidor asumirá el papel de un servidor
fallido.
3. Sistema según la reivindicación 1, en el que
el servidor que selecciona el mecanismo también identifica un
servidor repetidor basándose en la carga de los servidores
repetidores.
4. Sistema según la reivindicación 1, en el que
el servidor que selecciona el mecanismo incluye una mapa de red
para utilizarlo al dirigir una petición de objeto incrustado
generada por un cliente.
5. Sistema según la reivindicación 1, que
comprende además:
- \quad
- al menos un servidor DNS para proporcionar resolución de nombre a dirección, de nombres de servidor en objetos URL incrustados.
6. Método para suministrar una página soportada
en un servidor origen, en el que dicho método hace funcionar un
sistema operativo en una red informática, comprendiendo el
sistema:
- \quad
- un conjunto de servidores (104a,...) repetidores, distintos de un servidor (102) origen, para alojar al menos algunos de los objetos incrustados de las páginas Web que normalmente son alojados por el servidor origen; y
- \quad
- un reflector (108) que comprende:
- \quad
- una rutina para hacer que al menos un localizador URL del objeto incrustado de una página Web se le indique a un servidor del conjunto de servidores repetidores, en lugar de al servidor origen; y comprendiendo además el reflector:
- \quad
- un mecanismo de selección de servidores construido y adaptado para identificar, para una determinada petición de cliente, un servidor repetidor adecuado del conjunto de servidores repetidores,
- \quad
- en el que el mecanismo de selección de servidores identifica un servidor repetidor en función de la dirección de red del cliente solicitante y de datos relativos a los costes de la conexión de red, incluyendo los mencionados costes de la conexión de red datos que se han determinado utilizando servicios de prueba que muestrean rutas de datos en la red, para obtener medidas que reflejen un coste relativo de transmitir datos desde servidores repetidores hasta otras localizaciones en la red,
- \quad
- comprendiendo la página un documento base que tiene objetos incrustados asociados, estando identificado cada objeto incrustado por un localizador de recursos uniformes (URL), comprendiendo el método:
- \quad
- modificar el localizador URL de un objeto incrustado para generar un localizador URL modificado, incluyendo el localizador URL modificado un nuevo nombre de anfitrión que hace referencia a un servidor repetidor del conjunto de servidores repetidores, según es identificado por el mecanismo selector de servidores;
- \quad
- como respuesta a una petición para suministrar una página, suministrar la página con el localizador URL modificado desde el reflector;
- \quad
- intentar suministrar el objeto incrustado desde un servidor repetidor según es identificado por el nuevo nombre de anfitrión;
- \quad
- si no está disponible una copia del objeto incrustado en el servidor repetidor, obtener por parte del servidor repetidor el objeto incrustado desde el servidor origen.
\vskip1.000000\baselineskip
7. Método según la reivindicación 6 en el que el
modificar el localizador URL comprende:
- \quad
- añadir un nuevo nombre de anfitrión al localizador URL original.
\vskip1.000000\baselineskip
8. Método según la reivindicación 7, en el que
el nombre de anfitrión original se mantiene como parte del
localizador URL modificado.
9. Método según la reivindicación 6, en el que
el localizador URL original incluye un nombre de servidor origen y
una ruta, y en el que el localizador URL modificado incluye un
nombre de servidor repetidor.
10. Método según la reivindicación 9, en el que
el localizador URL original tiene la forma:
"http://<servidor>/<ruta>"
donde "<servidor>" es el nombre del
servidor origen y donde "<ruta>" es una ruta al recurso
designado por el localizador URL, y en el que el localizador URL
modificado tiene la forma:
"http://<repetidor>/<servidor>/<ruta>"
donde "<repetidor>" es
el nombre de anfitrión del servidor
repetidor.
11. Método según la reivindicación 9, en el que
el localizador URL original tiene la forma:
"http://<servidor>/<ruta>"
donde "<servidor>" es el nombre del
servidor origen y donde "<ruta>" es una ruta al recurso
designado por el localizador URL, y en el que el localizador URL
modificado tiene la forma:
"http://<repetidor>/<servidor>/<ruta>"
donde "<repetidor>" es
un nombre de anfitrión de un conjunto de servidores
repetidores.
12. Método de suministrar una página según la
reivindicación 7, en el que
modificar el localizador URL comprende:
modificar el localizador URL para el objeto incrustado de la página
para que incluya un nombre de anfitrión adjuntado a una ruta y
nombre de dominio suministrados por un servidor origen;
- \quad
- suministrar la página comprende: suministrar la página con el localizador URL modificado desde el servidor origen a un navegador de cliente;
- \quad
- comprendiendo el método además:
- \quad
- enviar de nuevo al navegador del cliente una dirección IP del servidor repetidor identificado para permitirle al navegador intentar recuperar el objeto desde ese servidor de repetidor.
\vskip1.000000\baselineskip
13. Método en la reivindicación 12, en el que
las copias del objeto incrustado de la página se almacenan en un
subconjunto del conjunto de servidores repetidores.
\newpage
14. Método según la reivindicación 6, en el que
la modificación del localizador URL del objeto incrustado hace que
la dirección del objeto incrustado en la página indique una
dirección diferente de una dirección del servidor origen al añadir
determinados datos a una dirección suministrada por el servidor
origen para generar una dirección alternativa.
15. Método según la reivindicación 14, en el que
la red informática es Internet y la dirección del objeto es un
Localizador de Recursos Uniformes (URL).
16. Método según la reivindicación 15, en el que
la dirección alternativa está formada adjuntando los datos dados a
una parte de la dirección suministrada por el servidor origen.
17. Método según una cualquiera de las
reivindicaciones 14-16, en el que indicar la
dirección alternativa comprende:
- \quad
- utilizar una dirección de red del cliente solicitante y datos relacionados con los costes de la conexión de Internet, para identificar el servidor repetidor.
18. Método según la reivindicación 6,
comprendiendo el método adicionalmente:
- \quad
- duplicar un conjunto de objetos de página a través de una red de área amplia de servidores repetidores.
19. Método según se describe en la
reivindicación 6, que comprende además:
- \quad
- para cada localizador URL modificado del objeto incrustado, identificar al menos un servidor repetidor desde el que pueda recuperarse el objeto incrustado.
20. Método según la reivindicación 19, en el que
la identificación comprende:
- \quad
- indicar una petición para un objeto incrustado como una función de una dirección de red del cliente solicitante.
21. Método según la reivindicación 19, en el que
la identificación comprende:
- \quad
- decidir una petición para un objeto incrustado, como una función de una dirección de red del cliente solicitante y de los costes actuales de la conexión a Internet.
22. Método según la reivindicación 6 que
comprende además:
- \quad
- como respuesta a una petición para un objeto incrustado, indicar el nombre del anfitrión para una dirección IP de un determinado servidor repetidor.
23. Método según la reivindicación 22, en el que
indicar el nombre del anfitrión incluye:
- \quad
- identificar un subconjunto de servidores (104a,...) repetidores que puede ser capaz de suministrar el objeto incrustado; e identificar el servidor repetidor particular desde el subconjunto identificado de servidores repetidores.
24. Método según la reivindicación 23, en el que
la identificación del servidor repetidor concreto está basada en
una dirección de red de la máquina cliente y en los costes de la
conexión a Internet.
25. Método según la reivindicación 6, que
comprende además:
- \quad
- distribuir un conjunto de objetos de páginas a través de una red de servidores (104a, ...) repetidores, en el que la red de servidores repetidores está organizada en un conjunto de grupos de repetidores; como respuesta a una petición de un cliente de un objeto incrustado de una página:
- \quad
- decidir la petición del cliente como una función de una dirección de red del cliente y de los costes de la conexión a Internet, para identificar un grupo de repetidores determinado;
- \quad
- reenviar al cliente una dirección IP de un servidor particular de los servidores repetidores dentro del grupo de repetidores determinado.
26. Sistema según la reivindicación 1, en el que
la rutina para la modificación modifica un localizador URL para
incluir un nombre de anfitrión asignado a un nombre de dominio y a
una ruta.
27. Sistema según la reivindicación 1, en el que
la rutina para la modificación añade un nuevo nombre de anfitrión
al localizador URL original.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/021,506 US6185598B1 (en) | 1998-02-10 | 1998-02-10 | Optimized network resource location |
US21506 | 1998-02-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2206132T3 ES2206132T3 (es) | 2004-05-16 |
ES2206132T5 true ES2206132T5 (es) | 2009-10-06 |
Family
ID=21804620
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES99906680T Expired - Lifetime ES2328426T5 (es) | 1998-02-10 | 1999-02-09 | Localización optimizada de recursos de red |
ES00128346T Expired - Lifetime ES2206132T5 (es) | 1998-02-10 | 1999-02-09 | Localizacion optimizada de recursos de red. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES99906680T Expired - Lifetime ES2328426T5 (es) | 1998-02-10 | 1999-02-09 | Localización optimizada de recursos de red |
Country Status (11)
Country | Link |
---|---|
US (12) | US6185598B1 (es) |
EP (6) | EP1143337B2 (es) |
JP (2) | JP4413426B2 (es) |
AT (2) | ATE437399T1 (es) |
AU (1) | AU763539B2 (es) |
CA (1) | CA2320261C (es) |
DE (2) | DE69909839T3 (es) |
ES (2) | ES2328426T5 (es) |
HK (1) | HK1034784A1 (es) |
NO (1) | NO327863B1 (es) |
WO (1) | WO1999040514A1 (es) |
Families Citing this family (797)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189030B1 (en) * | 1996-02-21 | 2001-02-13 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US6112239A (en) | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US7058720B1 (en) * | 1997-06-30 | 2006-06-06 | Microsoft Corporation | Geographical client distribution methods, systems and computer program products |
US7949779B2 (en) * | 1998-02-10 | 2011-05-24 | Level 3 Communications, Llc | Controlling subscriber information rates in a content delivery network |
US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US7054935B2 (en) * | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
US6415289B1 (en) * | 1998-03-19 | 2002-07-02 | Williams Communications, Inc. | Network information control method utilizing a common command format and a centralized storage management system |
US20080034113A1 (en) | 1998-05-04 | 2008-02-07 | Frank Montero | Method of contextually determining missing components of an incomplete uniform resource locator |
JPH11338798A (ja) * | 1998-05-27 | 1999-12-10 | Ntt Communication Ware Kk | ネットワークシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3178419B2 (ja) * | 1998-06-18 | 2001-06-18 | 日本電気株式会社 | 情報提供サーバ、情報提供クライアントおよび記録媒体 |
US6108703A (en) * | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
EP1422640A3 (en) * | 1998-07-14 | 2014-12-24 | Massachusetts Institute Of Technology | Global document hosting system utilizing embedded content distributed ghost servers |
JP3786328B2 (ja) * | 1998-07-27 | 2006-06-14 | 株式会社日立製作所 | サーバおよび通信制御方法 |
JP3565720B2 (ja) * | 1998-08-20 | 2004-09-15 | 富士通株式会社 | 分散構成による仲介装置および仲介装置に用いるデュアルセル装置および仲介装置に用いる統合セル装置 |
US8010627B1 (en) * | 1998-09-25 | 2011-08-30 | Sprint Communications Company L.P. | Virtual content publishing system |
US6560611B1 (en) * | 1998-10-13 | 2003-05-06 | Netarx, Inc. | Method, apparatus, and article of manufacture for a network monitoring system |
US6304913B1 (en) * | 1998-11-09 | 2001-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Internet system and method for selecting a closest server from a plurality of alternative servers |
US6330605B1 (en) * | 1998-11-19 | 2001-12-11 | Volera, Inc. | Proxy cache cluster |
US6526448B1 (en) * | 1998-12-22 | 2003-02-25 | At&T Corp. | Pseudo proxy server providing instant overflow capacity to computer networks |
US6397255B1 (en) * | 1998-12-23 | 2002-05-28 | At&T Corp. | Method and apparatus for providing intelligent network services |
US6490589B1 (en) * | 1998-12-30 | 2002-12-03 | Microsoft Corporation | System and method for rewriting queries |
DE19900636B8 (de) | 1999-01-11 | 2005-04-07 | Gailer, Peter | Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung |
US7610607B1 (en) | 1999-02-19 | 2009-10-27 | Chaincast Networks, Inc. | Chaincast method and system for broadcasting information to multiple systems within the internet |
GB2346985B (en) * | 1999-02-19 | 2003-07-09 | Ibm | Client/server transaction data processing system with optimum selection of last agent |
US6249810B1 (en) * | 1999-02-19 | 2001-06-19 | Chaincast, Inc. | Method and system for implementing an internet radio device for receiving and/or transmitting media information |
US6901604B1 (en) * | 1999-02-19 | 2005-05-31 | Chaincast, Inc. | Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system |
US6275819B1 (en) * | 1999-03-16 | 2001-08-14 | Novell, Inc. | Method and apparatus for characterizing and retrieving query results |
GB9906628D0 (en) * | 1999-03-23 | 1999-05-19 | Koninkl Philips Electronics Nv | Data network load management |
JP4189076B2 (ja) * | 1999-03-26 | 2008-12-03 | 株式会社東芝 | 耐障害コンピュータシステム |
US6795860B1 (en) * | 1999-04-05 | 2004-09-21 | Cisco Technology, Inc. | System and method for selecting a service with dynamically changing information |
EP1049307A1 (en) * | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
US6757740B1 (en) | 1999-05-03 | 2004-06-29 | Digital Envoy, Inc. | Systems and methods for determining collecting and using geographic locations of internet users |
US7685311B2 (en) | 1999-05-03 | 2010-03-23 | Digital Envoy, Inc. | Geo-intelligent traffic reporter |
US7844729B1 (en) | 1999-05-03 | 2010-11-30 | Digital Envoy, Inc. | Geo-intelligent traffic manager |
US6650620B1 (en) * | 1999-05-04 | 2003-11-18 | Tut Systems, Inc. | Resource constrained routing in active networks |
US6493702B1 (en) | 1999-05-05 | 2002-12-10 | Xerox Corporation | System and method for searching and recommending documents in a collection using share bookmarks |
US6513062B1 (en) * | 1999-05-25 | 2003-01-28 | Grischa Corporation | Method, apparatus, and computer program product for efficient server response generation using intermediate state caching |
US6401077B1 (en) * | 1999-05-28 | 2002-06-04 | Network Commerce, Inc. | Method and system for providing additional behavior through a web page |
US7305473B2 (en) * | 1999-05-28 | 2007-12-04 | The Coca-Cola Company | Provision of transparent proxy services to a user of a client device |
US6601098B1 (en) * | 1999-06-07 | 2003-07-29 | International Business Machines Corporation | Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US20050108219A1 (en) * | 1999-07-07 | 2005-05-19 | Carlos De La Huerga | Tiered and content based database searching |
US7287084B1 (en) | 1999-07-15 | 2007-10-23 | F5 Networks, Inc. | Enabling encryption of application level persistence between a server and a client |
US6970933B1 (en) | 1999-07-15 | 2005-11-29 | F5 Networks, Inc. | Enabling application level persistence between a server and another resource over a network |
US6374300B2 (en) * | 1999-07-15 | 2002-04-16 | F5 Networks, Inc. | Method and system for storing load balancing information with an HTTP cookie |
US7346695B1 (en) | 2002-10-28 | 2008-03-18 | F5 Networks, Inc. | System and method for performing application level persistence |
JP3664917B2 (ja) * | 1999-08-06 | 2005-06-29 | シャープ株式会社 | ネットワーク情報の表示方法およびその方法をプログラムとして格納した記憶媒体ならびにそのプログラムを実行するコンピュータ |
US6516349B1 (en) * | 1999-09-07 | 2003-02-04 | Sun Microsystems, Inc. | System for updating a set of instantiated content providers based on changes in content provider directory without interruption of a network information services |
US6877036B1 (en) * | 1999-09-24 | 2005-04-05 | Akamba Corporation | System and method for managing connections between a client and a server |
US7072343B1 (en) | 1999-09-27 | 2006-07-04 | Cisco Technology, Inc. | Methods and apparatus for controlling a data stream using a host agent acting on behalf of a host computer |
US6772225B1 (en) * | 1999-09-30 | 2004-08-03 | International Business Machines Corporation | Policy enabled web caching |
US6826696B1 (en) * | 1999-10-12 | 2004-11-30 | Webmd, Inc. | System and method for enabling single sign-on for networked applications |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US7136930B1 (en) * | 1999-11-05 | 2006-11-14 | Nokia Corporation | System and method for effective use of air link between mobile stations and gateway servers |
US6507854B1 (en) * | 1999-11-05 | 2003-01-14 | International Business Machines Corporation | Enhanced network caching and mirroring system |
US6954783B1 (en) * | 1999-11-12 | 2005-10-11 | Bmc Software, Inc. | System and method of mediating a web page |
CN100336031C (zh) * | 1999-11-12 | 2007-09-05 | Bmc软件公司 | 用于重放预先确定的通过互联网的路径的方法 |
US6754699B2 (en) * | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
US6694358B1 (en) * | 1999-11-22 | 2004-02-17 | Speedera Networks, Inc. | Performance computer network method |
US7590739B2 (en) | 1999-11-22 | 2009-09-15 | Akamai Technologies, Inc. | Distributed on-demand computing system |
US7222161B2 (en) * | 1999-11-24 | 2007-05-22 | Yen Robert C | Method and system for facilitating usage of local content at client machine |
US6904455B1 (en) | 1999-11-24 | 2005-06-07 | Robert C. Yen | Method and system for providing local content for use in partially satisfying internet data requests from remote servers |
US9538386B2 (en) | 1999-11-24 | 2017-01-03 | Robert C. Yen | Wireless internet access with enhanced bandwidth capabilities |
US8516146B1 (en) | 1999-11-24 | 2013-08-20 | Robert C. Yen | Method and system for reduction of delay and bandwidth requirements in internet data transfer |
US7526533B1 (en) * | 1999-11-30 | 2009-04-28 | Cisco Technology, Inc. | Active call context reconstruction for primary/backup resource manager servers |
US7395353B1 (en) * | 1999-12-07 | 2008-07-01 | Telleo, Incorporated | Method and apparatus for processing internet site names through regular expression comparison |
US6826624B1 (en) * | 1999-12-09 | 2004-11-30 | International Business Machines Corporation | Method and apparatus for network resource access request redirection |
US7441045B2 (en) * | 1999-12-13 | 2008-10-21 | F5 Networks, Inc. | Method and system for balancing load distribution on a wide area network |
US6735186B1 (en) | 1999-12-22 | 2004-05-11 | Nokia Corporation | Method and system for optimizing usage of air link |
US6606643B1 (en) * | 2000-01-04 | 2003-08-12 | International Business Machines Corporation | Method of automatically selecting a mirror server for web-based client-host interaction |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US6826580B2 (en) * | 2000-01-20 | 2004-11-30 | Emc Corporation | Distributed storage resource management in a storage area network |
US7886023B1 (en) | 2000-01-21 | 2011-02-08 | Cisco Technology, Inc. | Method and apparatus for a minimalist approach to implementing server selection |
US7349348B1 (en) | 2000-01-24 | 2008-03-25 | Cisco Technologies, Inc. | Method and apparatus for determining a network topology in the presence of network address translation |
US8620286B2 (en) * | 2004-02-27 | 2013-12-31 | Synchronoss Technologies, Inc. | Method and system for promoting and transferring licensed content and applications |
US7505762B2 (en) * | 2004-02-27 | 2009-03-17 | Fusionone, Inc. | Wireless telephone data backup system |
US6694336B1 (en) * | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US8156074B1 (en) | 2000-01-26 | 2012-04-10 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
US20020046273A1 (en) * | 2000-01-28 | 2002-04-18 | Lahr Nils B. | Method and system for real-time distributed data mining and analysis for network |
US7013322B2 (en) * | 2000-01-28 | 2006-03-14 | Wiltel Communications Group, Llc | System and method for rewriting a media resource request and/or response between origin server and client |
AU2001236576A1 (en) * | 2000-01-28 | 2001-08-07 | Ibeam Broadcasting Corporation | A system and method for performing broadcast-enabled disk drive replication in adistributed data delivery network |
AU2001236577A1 (en) * | 2000-01-28 | 2001-08-07 | Williams Communications, Llc | A system and method for mirroring and caching compressed data in a content distribution system |
US7117263B1 (en) * | 2000-02-01 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | Apparatus and method for processing requests from an external queue in a TCP/IP-based application system |
AUPQ545600A0 (en) * | 2000-02-04 | 2000-03-02 | Geobytes Inc | Method and apparatus for identifying locale of internet users |
JP2001312484A (ja) * | 2000-05-02 | 2001-11-09 | Internatl Business Mach Corp <Ibm> | 高速ウェブサーバ選択方法およびシステム |
US6820133B1 (en) * | 2000-02-07 | 2004-11-16 | Netli, Inc. | System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
US6539030B1 (en) * | 2000-02-07 | 2003-03-25 | Qualcomm Incorporated | Method and apparatus for providing configurable layers and protocols in a communications system |
US6799214B1 (en) * | 2000-03-03 | 2004-09-28 | Nec Corporation | System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites |
US7340532B2 (en) * | 2000-03-10 | 2008-03-04 | Akamai Technologies, Inc. | Load balancing array packet routing system |
US7565450B2 (en) | 2000-03-16 | 2009-07-21 | Adara Networks Inc. | System and method for using a mapping between client addresses and addresses of caches to support content delivery |
US7162539B2 (en) | 2000-03-16 | 2007-01-09 | Adara Networks, Inc. | System and method for discovering information objects and information object repositories in computer networks |
US7552233B2 (en) | 2000-03-16 | 2009-06-23 | Adara Networks, Inc. | System and method for information object routing in computer networks |
WO2001071556A1 (en) * | 2000-03-22 | 2001-09-27 | British Telecommunications Public Limited Company | Data access |
US7020719B1 (en) | 2000-03-24 | 2006-03-28 | Netli, Inc. | System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
US7177901B1 (en) * | 2000-03-27 | 2007-02-13 | International Business Machines Corporation | Method, system, and computer program product to redirect requests from content servers to load distribution servers and to correct bookmarks |
US7650376B1 (en) | 2000-03-27 | 2010-01-19 | Blumenau Trevor I | Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content |
US6963908B1 (en) | 2000-03-29 | 2005-11-08 | Symantec Corporation | System for transferring customized hardware and software settings from one computer to another computer to provide personalized operating environments |
US7032011B2 (en) * | 2000-03-29 | 2006-04-18 | Symantec Corporation | Server based extraction, transfer, storage and processing of remote settings, files and data |
US6760745B1 (en) * | 2000-03-30 | 2004-07-06 | Aspect Communications Corporation | Web server replicated mini-filter |
US20050021862A1 (en) * | 2000-03-31 | 2005-01-27 | Dickens Coal Llc | Automatic selection of content-delivery provider using link mapping database |
US6684250B2 (en) * | 2000-04-03 | 2004-01-27 | Quova, Inc. | Method and apparatus for estimating a geographic location of a networked entity |
US7240100B1 (en) * | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
US20020002602A1 (en) * | 2000-04-17 | 2002-01-03 | Mark Vange | System and method for serving a web site from multiple servers |
US6996616B1 (en) * | 2000-04-17 | 2006-02-07 | Akamai Technologies, Inc. | HTML delivery from edge-of-network servers in a content delivery network (CDN) |
US6976090B2 (en) * | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
US6591298B1 (en) * | 2000-04-24 | 2003-07-08 | Keynote Systems, Inc. | Method and system for scheduling measurement of site performance over the internet |
US8239445B1 (en) * | 2000-04-25 | 2012-08-07 | International Business Machines Corporation | URL-based sticky routing tokens using a server-side cookie jar |
AU2001257424A1 (en) * | 2000-04-28 | 2001-11-12 | Cenus Technologies, Inc. | System and method for resolving network layer anycast addresses to network layerunicast addresses |
US7908337B2 (en) | 2000-04-28 | 2011-03-15 | Adara Networks, Inc. | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content |
US7577754B2 (en) | 2000-04-28 | 2009-08-18 | Adara Networks, Inc. | System and method for controlling access to content carried in a caching architecture |
WO2001084800A2 (en) * | 2000-04-28 | 2001-11-08 | Cenus Technologies, Inc. | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content |
US7725596B2 (en) | 2000-04-28 | 2010-05-25 | Adara Networks, Inc. | System and method for resolving network layer anycast addresses to network layer unicast addresses |
US7343422B2 (en) | 2000-04-28 | 2008-03-11 | Adara Networks, Inc. | System and method for using uniform resource locators to map application layer content names to network layer anycast addresses |
WO2001084802A2 (en) * | 2000-04-28 | 2001-11-08 | Cenus Technologies, Inc. | System and method for using uniform resource locators to map application layer content names to network layer anycast addresses |
US7028083B2 (en) * | 2000-05-26 | 2006-04-11 | Akomai Technologies, Inc. | Method for extending a network map |
JP4690628B2 (ja) * | 2000-05-26 | 2011-06-01 | アカマイ テクノロジーズ インコーポレイテッド | エンドユーザのコンテント要求を何れのミラーサイトが受信すべきかを決定する方法 |
US7251688B2 (en) * | 2000-05-26 | 2007-07-31 | Akamai Technologies, Inc. | Method for generating a network map |
US7103664B1 (en) * | 2000-05-31 | 2006-09-05 | International Business Machines Corporation | Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment |
US6879998B1 (en) | 2000-06-01 | 2005-04-12 | Aerocast.Com, Inc. | Viewer object proxy |
US7213062B1 (en) | 2000-06-01 | 2007-05-01 | General Instrument Corporation | Self-publishing network directory |
US20010049732A1 (en) * | 2000-06-01 | 2001-12-06 | Raciborski Nathan F. | Content exchange apparatus |
AR030286A1 (es) * | 2000-06-01 | 2003-08-20 | Aerocast Com Inc | Sistema de seguimiento de contenidos, metodo de seguimiento de contenidos para comunicar informacion a ubicaciones remotas y metodo de seguimiento de contenidos en un sistema de distribucion de contenidos. |
US6836806B1 (en) | 2000-06-01 | 2004-12-28 | Aerocast, Inc. | System for network addressing |
AR030285A1 (es) * | 2000-06-01 | 2003-08-20 | Aerocast Com Inc | SISTEMA DE ADMINISTRACIoN DE CONTENIDOS |
US6904460B1 (en) | 2000-06-01 | 2005-06-07 | Aerocast.Com, Inc. | Reverse content harvester |
US6658000B1 (en) | 2000-06-01 | 2003-12-02 | Aerocast.Com, Inc. | Selective routing |
US7149803B2 (en) * | 2000-06-08 | 2006-12-12 | At&T Corp. | Method for content distribution in a network supporting a security protocol |
US8204082B2 (en) | 2000-06-23 | 2012-06-19 | Cloudshield Technologies, Inc. | Transparent provisioning of services over a network |
US7003555B1 (en) * | 2000-06-23 | 2006-02-21 | Cloudshield Technologies, Inc. | Apparatus and method for domain name resolution |
US9444785B2 (en) * | 2000-06-23 | 2016-09-13 | Cloudshield Technologies, Inc. | Transparent provisioning of network access to an application |
US7032031B2 (en) * | 2000-06-23 | 2006-04-18 | Cloudshield Technologies, Inc. | Edge adapter apparatus and method |
US20020004819A1 (en) * | 2000-07-10 | 2002-01-10 | David Agassy | Device and method for data interception and updating |
US6941351B2 (en) * | 2000-07-11 | 2005-09-06 | Microsoft Corporation | Application program caching |
US20020059384A1 (en) * | 2000-07-13 | 2002-05-16 | Koninklijke Philips Electronics N.V. | Substituting URL for attachment in forwarding electronic content |
US7844513B2 (en) * | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US8341297B2 (en) | 2000-07-19 | 2012-12-25 | Akamai Technologies, Inc. | Latencies and weightings in a domain name service (DNS) system |
US7653706B2 (en) * | 2000-07-19 | 2010-01-26 | Akamai Technologies, Inc. | Dynamic image delivery system |
IL153953A0 (en) * | 2000-07-19 | 2003-07-31 | Incredimail Ltd | System and method for intelligent transmission of digital content embedded in electronic mail messages |
US8060581B2 (en) * | 2000-07-19 | 2011-11-15 | Akamai Technologies, Inc. | Dynamic image delivery system |
US7895334B1 (en) | 2000-07-19 | 2011-02-22 | Fusionone, Inc. | Remote access communication architecture apparatus and method |
US8073954B1 (en) | 2000-07-19 | 2011-12-06 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system |
US7484002B2 (en) * | 2000-08-18 | 2009-01-27 | Akamai Technologies, Inc. | Content delivery and global traffic management network system |
US7912978B2 (en) * | 2000-07-19 | 2011-03-22 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US7716367B1 (en) * | 2000-07-20 | 2010-05-11 | Akamai Technologies, Inc. | Network performance monitoring in a content delivery service |
US6829638B1 (en) * | 2000-08-03 | 2004-12-07 | International Business Machines Corporation | System and method for managing multiple proxy servers |
US7571217B1 (en) | 2000-08-16 | 2009-08-04 | Parallel Networks, Llc | Method and system for uniform resource locator transformation |
US6925476B1 (en) | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US8527639B1 (en) * | 2000-08-18 | 2013-09-03 | Cisco Technology, Inc. | Content server selection for accessing content in a content distribution network |
EP1410215A4 (en) * | 2000-08-22 | 2006-10-11 | Akamai Tech Inc | COMPILING DYNAMIC CONTENT ON EDGE-OF-NETWORK SERVER IN A CONTENT DELIVERY NETWORK |
EP1187016A1 (en) * | 2000-09-07 | 2002-03-13 | Matsushita Electric Industrial Co., Ltd. | Distributed processing job executing method and network system |
US6850984B1 (en) | 2000-09-08 | 2005-02-01 | Intel Corporation | System for isolating other clients that experience different connection performance than the client and directing the other clients to another different mirrored server |
EP1189161A1 (en) * | 2000-09-13 | 2002-03-20 | iMediation, S.A. | A method and system for managing network-based partner relationships |
US7010578B1 (en) | 2000-09-21 | 2006-03-07 | Akamai Technologies, Inc. | Internet content delivery service with third party cache interface support |
US8806326B1 (en) * | 2000-09-25 | 2014-08-12 | Nokia Inc. | User preference based content linking |
US7774455B1 (en) | 2000-09-26 | 2010-08-10 | Juniper Networks, Inc. | Method and system for providing secure access to private networks |
US7865569B1 (en) * | 2000-09-26 | 2011-01-04 | Juniper Networks, Inc. | Method and system for modifying script portions of requests for remote resources |
US7136896B1 (en) * | 2000-09-26 | 2006-11-14 | Juniper Networks, Inc. | Dynamic toolbar for markup language document |
US7085817B1 (en) | 2000-09-26 | 2006-08-01 | Juniper Networks, Inc. | Method and system for modifying requests for remote resources |
WO2002028021A2 (en) * | 2000-09-27 | 2002-04-04 | Yen Robert C | Wireless internet access with enhanced bandwidth capabilities |
US6865605B1 (en) * | 2000-10-04 | 2005-03-08 | Microsoft Corporation | System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system |
US6823391B1 (en) * | 2000-10-04 | 2004-11-23 | Microsoft Corporation | Routing client requests to back-end servers |
WO2002029599A1 (en) * | 2000-10-05 | 2002-04-11 | Redline Networks, Inc. | Connection management system and method |
US7263550B1 (en) | 2000-10-10 | 2007-08-28 | Juniper Networks, Inc. | Agent-based event-driven web server architecture |
US7203741B2 (en) | 2000-10-12 | 2007-04-10 | Peerapp Ltd. | Method and system for accelerating receipt of data in a client-to-client network |
JP2002125001A (ja) * | 2000-10-16 | 2002-04-26 | Nec Corp | 中継装置 |
US7720959B2 (en) | 2000-10-17 | 2010-05-18 | Avaya Inc. | Method and apparatus for characterizing the quality of a network path |
US7406539B2 (en) * | 2000-10-17 | 2008-07-29 | Avaya Technology Corp. | Method and apparatus for performance and cost optimization in an internetwork |
ATE459154T1 (de) * | 2000-10-17 | 2010-03-15 | Avaya Technology Corp | Verfahren und vorrichtung zur optimierung der leistung und des kosten in einem internetzwerk |
US7336613B2 (en) * | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
US8023421B2 (en) * | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
US7349994B2 (en) | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7756032B2 (en) | 2000-10-17 | 2010-07-13 | Avaya Inc. | Method and apparatus for communicating data within measurement traffic |
US7487237B2 (en) | 2000-10-17 | 2009-02-03 | Avaya Technology Corp. | Load optimization |
US7363367B2 (en) * | 2000-10-17 | 2008-04-22 | Avaya Technology Corp. | Systems and methods for robust, real-time measurement of network performance |
US7080161B2 (en) * | 2000-10-17 | 2006-07-18 | Avaya Technology Corp. | Routing information exchange |
WO2002044989A2 (en) * | 2000-10-19 | 2002-06-06 | Kirk Feathers | Method and system for dynamically maintaining internet associations |
US7111057B1 (en) * | 2000-10-31 | 2006-09-19 | Akamai Technologies, Inc. | Method and system for purging content from a content delivery network |
JP2002140194A (ja) * | 2000-10-31 | 2002-05-17 | Toshiba Corp | 情報処理方法および情報処理装置およびエージェントシステム |
US7587446B1 (en) | 2000-11-10 | 2009-09-08 | Fusionone, Inc. | Acquisition and synchronization of digital media to a personal information space |
US6848000B1 (en) * | 2000-11-12 | 2005-01-25 | International Business Machines Corporation | System and method for improved handling of client state objects |
WO2002049278A2 (en) * | 2000-11-22 | 2002-06-20 | Azoth Technologies, Inc. | Method, architecture, and apparatus for dynamic content translation and switching |
US20020103974A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Method and apparatus for economical cache population |
US20020065918A1 (en) * | 2000-11-30 | 2002-05-30 | Vijnan Shastri | Method and apparatus for efficient and accountable distribution of streaming media content to multiple destination servers in a data packet network (DPN) |
US7346928B1 (en) * | 2000-12-01 | 2008-03-18 | Network Appliance, Inc. | Decentralized appliance virus scanning |
US7778981B2 (en) * | 2000-12-01 | 2010-08-17 | Netapp, Inc. | Policy engine to control the servicing of requests received by a storage server |
US20020095458A1 (en) * | 2000-12-06 | 2002-07-18 | Daniel Silverstein | Method, system and computer program for enhanced access to content over a network |
US7818435B1 (en) * | 2000-12-14 | 2010-10-19 | Fusionone, Inc. | Reverse proxy mechanism for retrieving electronic content associated with a local network |
US6718331B2 (en) * | 2000-12-14 | 2004-04-06 | International Business Machines Corporation | Method and apparatus for locating inter-enterprise resources using text-based strings |
US20020144143A1 (en) * | 2000-12-15 | 2002-10-03 | International Business Machines Corporation | Method and system for network management capable of restricting consumption of resources along endpoint-to-endpoint routes throughout a network |
US20020111972A1 (en) * | 2000-12-15 | 2002-08-15 | Virtual Access Networks. Inc. | Virtual access |
US20020078191A1 (en) * | 2000-12-20 | 2002-06-20 | Todd Lorenz | User tracking in a Web session spanning multiple Web resources without need to modify user-side hardware or software or to store cookies at user-side hardware |
US6965683B2 (en) * | 2000-12-21 | 2005-11-15 | Digimarc Corporation | Routing networks for use with watermark systems |
US6751673B2 (en) * | 2001-01-03 | 2004-06-15 | Akamai Technologies, Inc. | Streaming media subscription mechanism for a content delivery network |
US7096266B2 (en) * | 2001-01-08 | 2006-08-22 | Akamai Technologies, Inc. | Extending an Internet content delivery network into an enterprise |
US7188145B2 (en) * | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US7035911B2 (en) | 2001-01-12 | 2006-04-25 | Epicrealm, Licensing Llc | Method and system for community data caching |
US7478148B2 (en) | 2001-01-16 | 2009-01-13 | Akamai Technologies, Inc. | Using virtual domain name service (DNS) zones for enterprise content delivery |
US8554940B2 (en) | 2001-01-19 | 2013-10-08 | Single Touch Interactive, Inc. | System and method for routing media |
US7054949B2 (en) | 2001-01-19 | 2006-05-30 | World Streaming Network, Inc. | System and method for streaming media |
US6937562B2 (en) | 2001-02-05 | 2005-08-30 | Ipr Licensing, Inc. | Application specific traffic optimization in a wireless link |
US20020123330A1 (en) * | 2001-02-06 | 2002-09-05 | Yen Robert C. | Wireless internet access with enhanced bandwidth capabilities |
US7274658B2 (en) * | 2001-03-01 | 2007-09-25 | Akamai Technologies, Inc. | Optimal route selection in a content delivery network |
US20020133420A1 (en) * | 2001-03-15 | 2002-09-19 | Mccoy Craig | System and method for installing a software product on a network server device |
US7454523B2 (en) * | 2001-03-16 | 2008-11-18 | Intel Corporation | Geographic location determination including inspection of network address |
US7499888B1 (en) | 2001-03-16 | 2009-03-03 | Fusionone, Inc. | Transaction authentication system and method |
US7146429B2 (en) * | 2001-03-16 | 2006-12-05 | The Aerospace Corporation | Cooperative adaptive web caching routing and forwarding web content data requesting method |
DE60110744D1 (de) * | 2001-03-23 | 2005-06-16 | Sun Microsystems Inc | Client- Abfragenumlenkung |
US8615566B1 (en) | 2001-03-23 | 2013-12-24 | Synchronoss Technologies, Inc. | Apparatus and method for operational support of remote network systems |
US7149797B1 (en) * | 2001-04-02 | 2006-12-12 | Akamai Technologies, Inc. | Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP) |
US20030018669A1 (en) * | 2001-04-02 | 2003-01-23 | International Business Machines Corporation | System and method for associating a destination document to a source document during a save process |
US7340505B2 (en) * | 2001-04-02 | 2008-03-04 | Akamai Technologies, Inc. | Content storage and replication in a managed internet content storage environment |
US7739327B2 (en) * | 2001-04-05 | 2010-06-15 | Playstream Inc. | Distributed link processing system for delivering application and multi-media content on the internet |
US20020165967A1 (en) * | 2001-05-02 | 2002-11-07 | Morgan Paul A. | Global personalization engine |
US20020184327A1 (en) | 2001-05-11 | 2002-12-05 | Major Robert Drew | System and method for partitioning address space in a proxy cache server cluster |
US7007089B2 (en) * | 2001-06-06 | 2006-02-28 | Akarnai Technologies, Inc. | Content delivery network map generation using passive measurement data |
US6986018B2 (en) * | 2001-06-26 | 2006-01-10 | Microsoft Corporation | Method and apparatus for selecting cache and proxy policy |
US6990497B2 (en) * | 2001-06-26 | 2006-01-24 | Microsoft Corporation | Dynamic streaming media management |
US7024477B2 (en) * | 2001-06-29 | 2006-04-04 | International Business Machines Corporation | Service time analysis methods for the WSM QOS monitor |
US7308501B2 (en) * | 2001-07-12 | 2007-12-11 | International Business Machines Corporation | Method and apparatus for policy-based packet classification using hashing algorithm |
US7743109B2 (en) * | 2001-08-01 | 2010-06-22 | Cisco Technology, Inc. | Reducing round trips across a wide area network for resource locking by extended locking and delayed unlocking |
JP4153990B2 (ja) * | 2001-08-02 | 2008-09-24 | 株式会社日立製作所 | データ配信方法およびシステム |
US7089290B2 (en) * | 2001-08-04 | 2006-08-08 | Kontiki, Inc. | Dynamically configuring network communication parameters for an application |
WO2003017123A1 (en) * | 2001-08-16 | 2003-02-27 | Redline Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
US7089233B2 (en) * | 2001-09-06 | 2006-08-08 | International Business Machines Corporation | Method and system for searching for web content |
US20060259607A1 (en) * | 2001-09-13 | 2006-11-16 | Network Foundation Technologies, Llc | System and method for distributing data over a computer network |
US7035933B2 (en) * | 2001-09-13 | 2006-04-25 | Network Foundation Technologies, Inc. | System of distributing content data over a computer network and method of arranging nodes for distribution of data over a computer network |
US20030074432A1 (en) * | 2001-09-26 | 2003-04-17 | Mazzitelli John Joseph | State data management method and system |
US7860964B2 (en) * | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
EP1436736B1 (en) * | 2001-09-28 | 2017-06-28 | Level 3 CDN International, Inc. | Configurable adaptive global traffic control and management |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US7155478B2 (en) * | 2001-10-03 | 2006-12-26 | International Business Machines Corporation | Selectively handling data processing requests in a computer communications network |
JP2003122658A (ja) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | データ配送方法 |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US20080279222A1 (en) * | 2001-10-18 | 2008-11-13 | Level 3 Communications Llc | Distribution of traffic across a computer network |
US20030079016A1 (en) * | 2001-10-23 | 2003-04-24 | Sheng (Ted) Tai Tsao | Using NAS appliance to build a non-conventional distributed video server |
JP3857105B2 (ja) * | 2001-10-30 | 2006-12-13 | 富士通株式会社 | データ転送装置 |
US7631084B2 (en) * | 2001-11-02 | 2009-12-08 | Juniper Networks, Inc. | Method and system for providing secure access to private networks with client redirection |
US7146403B2 (en) * | 2001-11-02 | 2006-12-05 | Juniper Networks, Inc. | Dual authentication of a requestor using a mail server and an authentication server |
US7310672B2 (en) * | 2001-11-13 | 2007-12-18 | Hewlett-Packard Development Company, L.P. | Method and system for exploiting service level objectives to enable resource sharing in a communication network having a plurality of application environments |
US7418509B2 (en) * | 2001-11-13 | 2008-08-26 | Nokia Corporation | Method and apparatus for a distributed server tree |
US20030093515A1 (en) * | 2001-11-14 | 2003-05-15 | Kauffman Marc W. | Quality of service control of streamed content delivery |
US20030099364A1 (en) * | 2001-11-28 | 2003-05-29 | Thompson Mark R. | Playback manipulation of HTTP streamed content objects |
JP2003228534A (ja) * | 2001-11-30 | 2003-08-15 | Ntt Docomo Inc | 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法 |
US20030105807A1 (en) * | 2001-11-30 | 2003-06-05 | Aerocast.Com, Inc. | URL munging |
US8429221B2 (en) * | 2001-12-13 | 2013-04-23 | Rockstar Consortium Us Lp | Content request routing method |
US6954456B2 (en) * | 2001-12-14 | 2005-10-11 | At & T Corp. | Method for content-aware redirection and content renaming |
US7069325B1 (en) * | 2001-12-21 | 2006-06-27 | Cisco Technology, Inc. | Method and apparatus for handling requests in a network |
US7231458B2 (en) * | 2001-12-27 | 2007-06-12 | Nortel Networks Limited | Method and apparatus for discovering client proximity using race type translations |
US6938182B2 (en) * | 2001-12-31 | 2005-08-30 | Cisco Technology, Inc. | System and method for providing reliable telephony web-based features |
US7139565B2 (en) | 2002-01-08 | 2006-11-21 | Seven Networks, Inc. | Connection architecture for a mobile network |
JP2006502465A (ja) * | 2002-01-11 | 2006-01-19 | アカマイ テクノロジーズ インコーポレイテッド | コンテンツ配信ネットワーク(CDN)で使用するためのJavaアプリケーションフレームワーク |
US7996517B2 (en) * | 2002-01-23 | 2011-08-09 | Novell, Inc. | Transparent network connection takeover |
US7076555B1 (en) | 2002-01-23 | 2006-07-11 | Novell, Inc. | System and method for transparent takeover of TCP connections between servers |
US7356592B2 (en) * | 2002-01-24 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for web farm traffic control |
US7376734B2 (en) * | 2002-02-14 | 2008-05-20 | Panduit Corp. | VOIP telephone location system |
US7519000B2 (en) * | 2002-01-30 | 2009-04-14 | Panduit Corp. | Systems and methods for managing a network |
US20030145087A1 (en) * | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Generating a list of addresses in a server |
US20030145065A1 (en) * | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Generating a list of document addresses on a local network |
US20030145112A1 (en) * | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Assisted entering of addresses |
US20040201631A1 (en) * | 2002-01-31 | 2004-10-14 | Keller S. Brandon | Generating a list of addresses in an index page |
US20030145046A1 (en) * | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Generating a list of addresses on a proxy server |
US7228359B1 (en) * | 2002-02-12 | 2007-06-05 | Cisco Technology, Inc. | Methods and apparatus for providing domain name service based on a client identifier |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US8204930B1 (en) | 2002-02-15 | 2012-06-19 | F5 Networks, Inc. | Method and system for controlling and accessing content servers |
US7260836B2 (en) * | 2002-02-26 | 2007-08-21 | Aol Llc | System and method for distributed authentication service |
US7228417B2 (en) * | 2002-02-26 | 2007-06-05 | America Online, Inc. | Simple secure login with multiple-authentication providers |
JP4080765B2 (ja) * | 2002-03-01 | 2008-04-23 | 株式会社日立製作所 | ネットワークシステム |
US8224986B1 (en) * | 2002-03-07 | 2012-07-17 | Cisco Technology, Inc. | Methods and apparatus for redirecting requests for content |
US7254634B1 (en) | 2002-03-08 | 2007-08-07 | Akamai Technologies, Inc. | Managing web tier session state objects in a content delivery network (CDN) |
US20030182410A1 (en) * | 2002-03-20 | 2003-09-25 | Sapna Balan | Method and apparatus for determination of optimum path routing |
US8484282B2 (en) * | 2002-03-21 | 2013-07-09 | International Business Machines Corporation | High-speed content transformation engine |
JP4596384B2 (ja) * | 2002-03-22 | 2010-12-08 | ブラザー工業株式会社 | クライアントサーバシステム、サーバ、サーバ組み込み機器及びプログラム |
US7707287B2 (en) * | 2002-03-22 | 2010-04-27 | F5 Networks, Inc. | Virtual host acceleration system |
US7340521B1 (en) | 2002-04-02 | 2008-03-04 | Blue Coat Systems, Inc. | Method for routing a request over a network to a content source that can most advantageous serve the request |
US7734778B2 (en) * | 2002-04-05 | 2010-06-08 | Sheng (Ted) Tai Tsao | Distributed intelligent virtual server |
US7133905B2 (en) * | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
US9137324B2 (en) * | 2002-04-10 | 2015-09-15 | International Business Machines Corporation | Capacity on-demand in distributed computing environments |
US7571251B2 (en) * | 2002-05-06 | 2009-08-04 | Sandvine Incorporated Ulc | Path optimizer for peer to peer networks |
WO2003105010A1 (en) | 2002-06-06 | 2003-12-18 | Neoteris, Inc. | Method and system for providing secure access to private networks |
US8086750B2 (en) * | 2002-06-17 | 2011-12-27 | Darby & Mohaine, L.L.C. | Method and system for delivering content over a network |
US7523170B1 (en) * | 2002-06-24 | 2009-04-21 | Cisco Technology, Inc. | Service locator technique implemented in a data network |
US20040003101A1 (en) * | 2002-06-26 | 2004-01-01 | Roth David J. | Caching control for streaming media |
US20040098229A1 (en) * | 2002-06-28 | 2004-05-20 | Brett Error | Efficient click-stream data collection |
US7395355B2 (en) * | 2002-07-11 | 2008-07-01 | Akamai Technologies, Inc. | Method for caching and delivery of compressed content in a content delivery network |
US20040010543A1 (en) * | 2002-07-15 | 2004-01-15 | Steven Grobman | Cached resource validation without source server contact during validation |
US7373347B2 (en) * | 2002-07-22 | 2008-05-13 | Ricoh Company, Ltd. | Information processing apparatus and information processing method |
US7565413B1 (en) * | 2002-08-05 | 2009-07-21 | Cisco Technology, Inc. | Content request redirection from a wed protocol to a file protocol |
US7565399B1 (en) * | 2002-08-26 | 2009-07-21 | Netapp, Inc. | Caching web objects transformed by a pipeline of adaptation services |
US7430755B1 (en) | 2002-09-03 | 2008-09-30 | Fs Networks, Inc. | Method and system for providing persistence in a secure network access |
ITTO20020785A1 (it) * | 2002-09-09 | 2004-03-10 | Telecom Italia Lab Spa | Procedimento e sistema per l'analisi e la valutazione |
JP3697437B2 (ja) * | 2002-10-10 | 2005-09-21 | 株式会社東芝 | ネットワークシステムおよびネットワークシステムの構築方法 |
US7136922B2 (en) * | 2002-10-15 | 2006-11-14 | Akamai Technologies, Inc. | Method and system for providing on-demand content delivery for an origin server |
US20040093419A1 (en) * | 2002-10-23 | 2004-05-13 | Weihl William E. | Method and system for secure content delivery |
US7353538B2 (en) * | 2002-11-08 | 2008-04-01 | Federal Network Systems Llc | Server resource management, analysis, and intrusion negation |
US7487224B2 (en) * | 2002-12-19 | 2009-02-03 | At&T Intelletual Property I, L.P. | Methods and systems for routing requests using edge network elements |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7707307B2 (en) | 2003-01-09 | 2010-04-27 | Cisco Technology, Inc. | Method and apparatus for constructing a backup route in a data communications network |
US7869350B1 (en) | 2003-01-15 | 2011-01-11 | Cisco Technology, Inc. | Method and apparatus for determining a data communication network repair strategy |
ES2348260T3 (es) | 2003-01-31 | 2010-12-02 | Visto Corporation | Recuperacion asincrona de datos en tiempo real. |
US20040158579A1 (en) * | 2003-02-12 | 2004-08-12 | Palamalai Gopalakrishnan | Server side play-list |
US7739233B1 (en) * | 2003-02-14 | 2010-06-15 | Google Inc. | Systems and methods for replicating data |
US20040260710A1 (en) * | 2003-02-28 | 2004-12-23 | Marston Justin P. | Messaging system |
US7404002B1 (en) | 2003-03-06 | 2008-07-22 | Nvidia Corporation | Method and system for broadcasting live data over a network |
US20040205162A1 (en) * | 2003-04-11 | 2004-10-14 | Parikh Jay G. | Method of executing an edge-enabled application in a content delivery network (CDN) |
US7373416B2 (en) * | 2003-04-24 | 2008-05-13 | Akamai Technologies, Inc. | Method and system for constraining server usage in a distributed network |
US8423662B1 (en) | 2003-04-28 | 2013-04-16 | Akamai Technologies, Inc. | Forward request queuing in a distributed edge processing environment |
JP2005102133A (ja) * | 2003-04-28 | 2005-04-14 | Ricoh Co Ltd | 画像形成装置及び宛先情報参照方法 |
US7143170B2 (en) * | 2003-04-30 | 2006-11-28 | Akamai Technologies, Inc. | Automatic migration of data via a distributed computer network |
US7386616B1 (en) * | 2003-05-09 | 2008-06-10 | Google Inc. | System and method for providing load balanced processing |
US7305479B1 (en) | 2003-05-13 | 2007-12-04 | Cisco Technology, Inc. | Methods and apparatus for delivery of content requests within a content delivery network |
US8473635B1 (en) | 2003-05-19 | 2013-06-25 | Akamai Technologies, Inc. | Provisioning tool for a distributed computer network |
US7330440B1 (en) * | 2003-05-20 | 2008-02-12 | Cisco Technology, Inc. | Method and apparatus for constructing a transition route in a data communications network |
US7792795B1 (en) * | 2003-06-17 | 2010-09-07 | Microsoft Corporation | Context service system |
US7398304B2 (en) * | 2003-06-23 | 2008-07-08 | Microsoft Corporation | General dependency model for invalidating cache entries |
US7912954B1 (en) * | 2003-06-27 | 2011-03-22 | Oesterreicher Richard T | System and method for digital media server load balancing |
US20040267875A1 (en) * | 2003-06-30 | 2004-12-30 | Hennessey Wade L. | Method and apparatus for establishing peering rules for distributed content delivery |
US7450524B2 (en) * | 2003-06-30 | 2008-11-11 | Kontiki, Inc. | Method and apparatus for determining network topology in a peer-to-peer network |
US8122014B2 (en) * | 2003-07-02 | 2012-02-21 | Vibrant Media, Inc. | Layered augmentation for web content |
US7257585B2 (en) * | 2003-07-02 | 2007-08-14 | Vibrant Media Limited | Method and system for augmenting web content |
US7633948B2 (en) * | 2003-07-07 | 2009-12-15 | Panasonic Corporation | Relay device and server, and port forward setting method |
WO2005010715A2 (en) * | 2003-07-21 | 2005-02-03 | Fusionone, Inc. | Device message management system |
US20050044192A1 (en) * | 2003-07-28 | 2005-02-24 | Applin John R. | Web site management system with link management functionality |
US20050141431A1 (en) | 2003-08-06 | 2005-06-30 | Caveney Jack E. | Network managed device installation and provisioning technique |
US20050050212A1 (en) * | 2003-08-29 | 2005-03-03 | International Business Machines Corporation | Methods and apparatus for access control |
US20050060410A1 (en) * | 2003-09-11 | 2005-03-17 | Nokia Corporation | System and method for proxy-based redirection of resource requests |
US20050097185A1 (en) * | 2003-10-07 | 2005-05-05 | Simon Gibson | Localization link system |
US7580360B2 (en) | 2003-10-14 | 2009-08-25 | Cisco Technology, Inc. | Method and apparatus for generating routing information in a data communications network |
US7554921B2 (en) | 2003-10-14 | 2009-06-30 | Cisco Technology, Inc. | Method and apparatus for generating routing information in a data communication network |
US7834904B2 (en) * | 2003-10-22 | 2010-11-16 | Sam Systems, Inc. | Video surveillance system |
US20050111491A1 (en) * | 2003-10-23 | 2005-05-26 | Panduit Corporation | System to guide and monitor the installation and revision of network cabling of an active jack network |
US20050144242A1 (en) * | 2003-10-31 | 2005-06-30 | Justin Marston | Caching in an electronic messaging system |
US7634509B2 (en) * | 2003-11-07 | 2009-12-15 | Fusionone, Inc. | Personal information space management system and method |
US7340510B1 (en) | 2003-11-18 | 2008-03-04 | Cisco Technology, Inc. | Content delivery network (CDN) replication status reporter |
US7207846B2 (en) * | 2003-11-24 | 2007-04-24 | Panduit Corp. | Patch panel with a motherboard for connecting communication jacks |
US20050198168A1 (en) * | 2003-12-04 | 2005-09-08 | Justin Marston | Messaging protocol discovery |
US20050138049A1 (en) * | 2003-12-22 | 2005-06-23 | Greg Linden | Method for personalized news |
US7562143B2 (en) * | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US7406691B2 (en) * | 2004-01-13 | 2008-07-29 | International Business Machines Corporation | Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment |
US7464159B2 (en) * | 2004-01-14 | 2008-12-09 | International Business Machines Corporation | Managing analysis of a degraded service in a grid environment |
US7552437B2 (en) * | 2004-01-14 | 2009-06-23 | International Business Machines Corporation | Maintaining application operations within a suboptimal grid environment |
US7318165B2 (en) | 2004-01-15 | 2008-01-08 | International Business Machines Corporation | Apparatus for managing a cache in a distributed caching environment having an event auditor and a cache auditor |
US8782024B2 (en) * | 2004-02-12 | 2014-07-15 | International Business Machines Corporation | Managing the sharing of logical resources among separate partitions of a logically partitioned computer system |
EP1566940A1 (en) * | 2004-02-20 | 2005-08-24 | Alcatel Alsthom Compagnie Generale D'electricite | A method, a service system, and a computer software product of self-organizing distributing services in a computing network |
US7710882B1 (en) | 2004-03-03 | 2010-05-04 | Cisco Technology, Inc. | Method and apparatus for computing routing information for a data communications network |
EP1769381A4 (en) * | 2004-03-04 | 2012-02-22 | Quova Inc | GEOLOCATION AND GEOCONFORMITY EXERCISED BY A CLIENT AGENT |
US8140694B2 (en) * | 2004-03-15 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for effecting secure communications |
US8010783B1 (en) | 2004-04-15 | 2011-08-30 | Aol Inc. | Service provider invocation |
US20050235036A1 (en) * | 2004-04-19 | 2005-10-20 | Nielsen Jim R | Intelligent URL redirector |
ATE524929T1 (de) * | 2004-05-03 | 2011-09-15 | Panduit Corp | Elektrisch angetriebene schalttafel |
US8089972B2 (en) | 2004-05-03 | 2012-01-03 | Level 3 Communications, Llc | Registration redirect server |
US20060031352A1 (en) * | 2004-05-12 | 2006-02-09 | Justin Marston | Tamper-proof electronic messaging |
US9542076B1 (en) | 2004-05-12 | 2017-01-10 | Synchronoss Technologies, Inc. | System for and method of updating a personal profile |
US8073911B2 (en) * | 2004-05-12 | 2011-12-06 | Bluespace Software Corporation | Enforcing compliance policies in a messaging system |
WO2005112586A2 (en) * | 2004-05-12 | 2005-12-01 | Fusionone, Inc. | Advanced contact identification system |
US20080082421A1 (en) * | 2004-05-12 | 2008-04-03 | Richard Onyon | Monetization of an advanced contact identification system |
US20060048157A1 (en) * | 2004-05-18 | 2006-03-02 | International Business Machines Corporation | Dynamic grid job distribution from any resource within a grid environment |
US8019735B2 (en) * | 2004-05-21 | 2011-09-13 | Oracle International Corporation | Systems and methods for query caching |
US7848240B2 (en) * | 2004-06-01 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus for forwarding data in a data communications network |
US20050278537A1 (en) * | 2004-06-10 | 2005-12-15 | Dustin Kirkland | Logging off a user from a website |
US7711647B2 (en) * | 2004-06-10 | 2010-05-04 | Akamai Technologies, Inc. | Digital rights management in a distributed network |
US7266547B2 (en) | 2004-06-10 | 2007-09-04 | International Business Machines Corporation | Query meaning determination through a grid service |
US7584274B2 (en) * | 2004-06-15 | 2009-09-01 | International Business Machines Corporation | Coordinating use of independent external resources within requesting grid environments |
US8477627B2 (en) * | 2004-07-19 | 2013-07-02 | Solace Systems, Inc. | Content routing in digital communications networks |
US7509422B2 (en) * | 2004-07-21 | 2009-03-24 | Microsoft Corporation | System and method for locating web services |
US7650392B1 (en) * | 2004-08-02 | 2010-01-19 | F5 Networks, Inc. | Dynamic content processing in a reverse proxy service |
US20060181026A1 (en) * | 2005-02-14 | 2006-08-17 | Wong Jacob Y | Chinese poker deck |
US7840707B2 (en) * | 2004-08-18 | 2010-11-23 | International Business Machines Corporation | Reverse proxy portlet with rule-based, instance level configuration |
KR101088007B1 (ko) * | 2004-08-24 | 2011-12-01 | 팬듀트 코포레이션 | 네트워크 관리를 위한 시스템 및 그 방법 |
CA2549577A1 (en) * | 2004-09-09 | 2006-03-16 | Avaya Technology Corp. | Methods of and systems for network traffic security |
US7808925B2 (en) * | 2004-09-10 | 2010-10-05 | Digital Envoy, Inc. | Methods and systems for determining reverse DNS entries |
US7712100B2 (en) * | 2004-09-14 | 2010-05-04 | International Business Machines Corporation | Determining a capacity of a grid environment to handle a required workload for a virtual grid job request |
US20060064374A1 (en) * | 2004-09-17 | 2006-03-23 | David Helsper | Fraud risk advisor |
US7497374B2 (en) * | 2004-09-17 | 2009-03-03 | Digital Envoy, Inc. | Fraud risk advisor |
US7543740B2 (en) * | 2004-09-17 | 2009-06-09 | Digital Envoy, Inc. | Fraud analyst smart cookie |
US20060069700A1 (en) * | 2004-09-22 | 2006-03-30 | Justin Marston | Generating relational structure for non-relational messages |
US7490197B2 (en) * | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US7630298B2 (en) * | 2004-10-27 | 2009-12-08 | Cisco Technology, Inc. | Method and apparatus for forwarding data in a data communications network |
US8346956B2 (en) | 2004-10-29 | 2013-01-01 | Akamai Technologies, Inc. | Dynamic image delivery system |
US20060168066A1 (en) * | 2004-11-10 | 2006-07-27 | David Helsper | Email anti-phishing inspector |
US8032594B2 (en) | 2004-11-10 | 2011-10-04 | Digital Envoy, Inc. | Email anti-phishing inspector |
US8903760B2 (en) * | 2004-11-12 | 2014-12-02 | International Business Machines Corporation | Method and system for information workflows |
US7587396B2 (en) * | 2004-11-24 | 2009-09-08 | Oracle International Corporation | Encoding data to be sorted |
EP1669899A1 (fr) * | 2004-12-08 | 2006-06-14 | France Telecom | Procédé de traitement de requêtes HTTP et de pages HTML émises ou reçues par un navigateur vers ou en provenance d'au moins un serveur Web et serveur associé |
US7734019B1 (en) | 2004-12-09 | 2010-06-08 | Level 3 Communications, Llc | Systems and methods for third party emergency call termination |
US9843557B2 (en) | 2004-12-09 | 2017-12-12 | Level 3 Communications, Llc | Systems and methods for dynamically registering endpoints in a network |
US7634572B2 (en) * | 2004-12-22 | 2009-12-15 | Slipstream Data Inc. | Browser-plugin based method for advanced HTTPS data processing |
US7206582B2 (en) * | 2004-12-27 | 2007-04-17 | Newstep Networks Inc. | Method, system and apparatus for call path reconfiguration |
US7793308B2 (en) * | 2005-01-06 | 2010-09-07 | International Business Machines Corporation | Setting operation based resource utilization thresholds for resource use by a process |
US7668741B2 (en) * | 2005-01-06 | 2010-02-23 | International Business Machines Corporation | Managing compliance with service level agreements in a grid environment |
US7502850B2 (en) * | 2005-01-06 | 2009-03-10 | International Business Machines Corporation | Verifying resource functionality before use by a grid job submitted to a grid environment |
US7533170B2 (en) * | 2005-01-06 | 2009-05-12 | International Business Machines Corporation | Coordinating the monitoring, management, and prediction of unintended changes within a grid environment |
US7590623B2 (en) * | 2005-01-06 | 2009-09-15 | International Business Machines Corporation | Automated management of software images for efficient resource node building within a grid environment |
US7707288B2 (en) * | 2005-01-06 | 2010-04-27 | International Business Machines Corporation | Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment |
US20060149652A1 (en) * | 2005-01-06 | 2006-07-06 | Fellenstein Craig W | Receiving bid requests and pricing bid responses for potential grid job submissions within a grid environment |
US7761557B2 (en) * | 2005-01-06 | 2010-07-20 | International Business Machines Corporation | Facilitating overall grid environment management by monitoring and distributing grid activity |
US7467196B2 (en) * | 2005-01-12 | 2008-12-16 | International Business Machines Corporation | Managing network errors communicated in a message transaction with error information using a troubleshooting agent |
US7562035B2 (en) * | 2005-01-12 | 2009-07-14 | International Business Machines Corporation | Automating responses by grid providers to bid requests indicating criteria for a grid job |
US7571120B2 (en) | 2005-01-12 | 2009-08-04 | International Business Machines Corporation | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms |
US7472079B2 (en) * | 2005-01-12 | 2008-12-30 | International Business Machines Corporation | Computer implemented method for automatically controlling selection of a grid provider for a grid job |
US7933197B2 (en) | 2005-02-22 | 2011-04-26 | Cisco Technology, Inc. | Method and apparatus for constructing a repair path around a non-available component in a data communications network |
US20060206586A1 (en) * | 2005-03-09 | 2006-09-14 | Yibei Ling | Method, apparatus and system for a location-based uniform resource locator |
DE102005010690B4 (de) * | 2005-03-09 | 2007-04-12 | Knorr-Bremse Systeme für Schienenfahrzeuge GmbH | Öleingespritzter Verdichter mit Temperaturschalter |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US20070016650A1 (en) * | 2005-04-01 | 2007-01-18 | Gilbert Gary J | System and methods for collaborative development of content over an electronic network |
US20060286536A1 (en) * | 2005-04-01 | 2006-12-21 | Sherman Mohler | System and method for regulating use of content and content styles in a distributed learning system |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
GB0508624D0 (en) * | 2005-04-28 | 2005-06-08 | Ibm | Reverse proxy system and method |
WO2006125112A2 (en) * | 2005-05-19 | 2006-11-23 | Fusionone, Inc. | Remote cell phone auto destruct |
WO2006125183A2 (en) * | 2005-05-19 | 2006-11-23 | Fusionone, Inc. | Mobile device address book builder |
US8719396B2 (en) | 2005-05-20 | 2014-05-06 | Vibrant Media Limited | Fraud prevention and detection for online advertising |
US7848765B2 (en) | 2005-05-27 | 2010-12-07 | Where, Inc. | Location-based services |
EP1886232A1 (en) * | 2005-06-02 | 2008-02-13 | Thomson Licensing | Content timing method and system |
US7647424B2 (en) * | 2005-06-15 | 2010-01-12 | Hostway Corporation | Multi-level redirection system |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US7848224B2 (en) | 2005-07-05 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus for constructing a repair path for multicast data |
EP1750202A1 (en) * | 2005-07-11 | 2007-02-07 | Nvidia Corporation | Combining packets for a packetized bus |
US7835312B2 (en) * | 2005-07-20 | 2010-11-16 | Cisco Technology, Inc. | Method and apparatus for updating label-switched paths |
US8537997B2 (en) * | 2005-07-27 | 2013-09-17 | Cisco Technology, Inc. | RFID for available resources not connected to the network |
US20070038681A1 (en) * | 2005-08-10 | 2007-02-15 | Spare Backup, Inc. | System and method of remote storage of data through connection from a server to a client |
US20070061282A1 (en) * | 2005-09-14 | 2007-03-15 | Nec Laboratories America, Inc. | Data network information distribution |
US20070112938A1 (en) * | 2005-11-17 | 2007-05-17 | Nokia Corporation | Intermediary, source and methods for sharing content |
US7707314B2 (en) * | 2005-11-21 | 2010-04-27 | Limelight Networks, Inc. | Domain name resolution resource allocation |
US20070118667A1 (en) * | 2005-11-21 | 2007-05-24 | Limelight Networks, Inc. | Domain name resolution based dynamic resource assignment |
US7730187B2 (en) * | 2006-10-05 | 2010-06-01 | Limelight Networks, Inc. | Remote domain name service |
EP1802032B1 (en) * | 2005-12-22 | 2010-02-17 | Axis AB | Monitoring system and method for connecting a monitoring device to a service server |
US8447837B2 (en) * | 2005-12-30 | 2013-05-21 | Akamai Technologies, Inc. | Site acceleration with content prefetching enabled through customer-specific configurations |
US7716217B2 (en) * | 2006-01-13 | 2010-05-11 | Bluespace Software Corporation | Determining relevance of electronic content |
US7659905B2 (en) | 2006-02-22 | 2010-02-09 | Ebay Inc. | Method and system to pre-fetch data in a network |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
CA2607568C (en) * | 2006-03-23 | 2012-05-29 | Slipstream Data Inc. | A browser-plugin based method for advanced https data processing |
US8190682B2 (en) * | 2006-03-31 | 2012-05-29 | Amazon Technologies, Inc. | Managing execution of programs by multiple computing systems |
US7801128B2 (en) | 2006-03-31 | 2010-09-21 | Amazon Technologies, Inc. | Managing communications between computing nodes |
US7792944B2 (en) * | 2006-03-31 | 2010-09-07 | Amazon Technologies, Inc. | Executing programs based on user-specified constraints |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US20070282959A1 (en) * | 2006-06-02 | 2007-12-06 | Stern Donald S | Message push with pull of information to a communications computing device |
US20100138301A1 (en) * | 2006-07-04 | 2010-06-03 | Richard Affannato | Method of controlling or accessing digital content |
US8601162B1 (en) | 2006-07-27 | 2013-12-03 | Aol Inc. | Sharing network addresses |
US8566452B1 (en) | 2006-08-03 | 2013-10-22 | F5 Networks, Inc. | Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels |
US8255489B2 (en) * | 2006-08-18 | 2012-08-28 | Akamai Technologies, Inc. | Method of data collection among participating content providers in a distributed network |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US8185564B1 (en) | 2006-11-21 | 2012-05-22 | Google Inc. | Redirection of embedded content |
US20080140668A1 (en) * | 2006-12-08 | 2008-06-12 | Corrion Bradley W | Dedicated storage and background backup of stored contents |
JP4216876B2 (ja) * | 2006-12-21 | 2009-01-28 | 株式会社東芝 | 通信端末を認証する装置、方法およびプログラム |
BRPI0807406A2 (pt) * | 2007-01-26 | 2014-05-27 | Fusionone Inc | Sistema e método para recuperação de conteúdo para uso em dispositivo móvel. |
US20080208961A1 (en) * | 2007-02-23 | 2008-08-28 | Hostway Corporation | Parallel retrieval system |
WO2008129597A1 (ja) * | 2007-04-04 | 2008-10-30 | Fujitsu Limited | 負荷分散システム、ノード装置、負荷分散装置、負荷分散制御プログラム、負荷分散プログラム及び負荷分散方法 |
KR101409991B1 (ko) | 2007-04-16 | 2014-06-20 | 삼성전자주식회사 | P2p 통신 환경에서의 데이터 전송 방법 및 장치 |
US20080294619A1 (en) * | 2007-05-23 | 2008-11-27 | Hamilton Ii Rick Allen | System and method for automatic generation of search suggestions based on recent operator behavior |
US7756860B2 (en) * | 2007-05-23 | 2010-07-13 | International Business Machines Corporation | Advanced handling of multiple form fields based on recent behavior |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
US7940776B2 (en) * | 2007-06-13 | 2011-05-10 | Cisco Technology, Inc. | Fast re-routing in distance vector routing protocol networks |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US9294345B2 (en) * | 2007-07-06 | 2016-03-22 | Lg Electronics Inc. | Wireless network management procedure, station supporting the procedure, and frame format for the procedure |
US8332375B2 (en) * | 2007-08-29 | 2012-12-11 | Nirvanix, Inc. | Method and system for moving requested files from one storage location to another |
WO2009030643A2 (en) * | 2007-09-06 | 2009-03-12 | Edgeware Ab | An apparatus and a method for data streaming applications |
US20090083422A1 (en) * | 2007-09-25 | 2009-03-26 | Network Connectivity Solutions Corp. | Apparatus and method for improving network infrastructure |
US7783666B1 (en) | 2007-09-26 | 2010-08-24 | Netapp, Inc. | Controlling access to storage resources by using access pattern based quotas |
US8904002B2 (en) * | 2007-09-28 | 2014-12-02 | International Business Machines Corporation | Reducing overhead in component interactions |
US8949423B2 (en) * | 2007-09-28 | 2015-02-03 | International Business Machines Corporation | Autonomically co-locating first and second components on a select server |
US7853558B2 (en) | 2007-11-09 | 2010-12-14 | Vibrant Media, Inc. | Intelligent augmentation of media content |
US8301776B2 (en) * | 2007-11-19 | 2012-10-30 | Arris Solutions, Inc. | Switched stream server architecture |
US9014155B2 (en) * | 2007-11-19 | 2015-04-21 | Rajarshi Gupta | Access point configuration schemes |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8181111B1 (en) | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US8769660B2 (en) * | 2008-01-26 | 2014-07-01 | Citrix Systems, Inc. | Systems and methods for proxying cookies for SSL VPN clientless sessions |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US7594035B2 (en) * | 2008-02-22 | 2009-09-22 | Tactara, Llc | Methods of providing published content |
US8683062B2 (en) * | 2008-02-28 | 2014-03-25 | Microsoft Corporation | Centralized publishing of network resources |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US8321568B2 (en) * | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8930538B2 (en) | 2008-04-04 | 2015-01-06 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US7962650B2 (en) * | 2008-04-10 | 2011-06-14 | International Business Machines Corporation | Dynamic component placement in an event-driven component-oriented network data processing system |
US20090259757A1 (en) * | 2008-04-15 | 2009-10-15 | Microsoft Corporation | Securely Pushing Connection Settings to a Terminal Server Using Tickets |
US8533280B1 (en) * | 2008-05-02 | 2013-09-10 | BitGravity, Inc. | Distributed origin content delivery network |
CN101599951A (zh) | 2008-06-06 | 2009-12-09 | 阿里巴巴集团控股有限公司 | 一种发布网站信息的方法、装置及系统 |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US9747340B2 (en) * | 2008-06-19 | 2017-08-29 | Microsoft Technology Licensing, Llc | Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
US8612862B2 (en) | 2008-06-27 | 2013-12-17 | Microsoft Corporation | Integrated client for access to remote resources |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US7925782B2 (en) * | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US8180896B2 (en) | 2008-08-06 | 2012-05-15 | Edgecast Networks, Inc. | Global load balancing on a content delivery network |
GB2463078B (en) * | 2008-09-02 | 2013-04-17 | Extas Global Ltd | Distributed storage |
US8756519B2 (en) * | 2008-09-12 | 2014-06-17 | Google Inc. | Techniques for sharing content on a web page |
EP2169914B1 (en) * | 2008-09-19 | 2014-04-02 | Limelight Networks, Inc. | Content delivery network and related method |
US8122124B1 (en) | 2008-09-29 | 2012-02-21 | Amazon Technologies, Inc. | Monitoring performance and operation of data exchanges |
US7930393B1 (en) | 2008-09-29 | 2011-04-19 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US8316124B1 (en) | 2008-09-29 | 2012-11-20 | Amazon Technologies, Inc. | Managing network data display |
US8051166B1 (en) | 2008-09-29 | 2011-11-01 | Amazon Technologies, Inc. | Service provider optimization of content management |
US8117306B1 (en) | 2008-09-29 | 2012-02-14 | Amazon Technologies, Inc. | Optimizing content management |
US8286176B1 (en) | 2008-09-29 | 2012-10-09 | Amazon Technologies, Inc. | Optimizing resource configurations |
US7865594B1 (en) | 2008-09-29 | 2011-01-04 | Amazon Technologies, Inc. | Managing resources consolidation configurations |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
CA2743050C (en) * | 2008-11-12 | 2015-03-17 | Level 3 Communications, Llc | User authentication in a content delivery network |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8359402B2 (en) * | 2008-11-19 | 2013-01-22 | Seachange International, Inc. | Intercept device for providing content |
US8135840B2 (en) * | 2008-11-20 | 2012-03-13 | At&T Intellectual Property I, Lp | Systems and methods for directing content requests to servers |
BRPI0921978A2 (pt) | 2008-11-26 | 2019-01-15 | Calgary Scient Inc | método de fornecimento de acesso remoto a estado de programa de aplicativo e meios de armazenamento. |
US7930429B2 (en) * | 2008-12-18 | 2011-04-19 | At&T Intellectual Property I, Lp | System and method for obtaining content from a content delivery network |
US8103780B2 (en) | 2008-12-18 | 2012-01-24 | At&T Intellectual Property I, Lp | Systems and methods for determining the location of a request on a content delivery network |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
JP5735480B2 (ja) | 2009-03-20 | 2015-06-17 | アド−バンテージ ネットワークス,インコーポレイテッド | コンテンツを検索、選択、及び表示する方法及びシステム |
US9391825B1 (en) * | 2009-03-24 | 2016-07-12 | Amazon Technologies, Inc. | System and method for tracking service results |
US7917618B1 (en) * | 2009-03-24 | 2011-03-29 | Amazon Technologies, Inc. | Monitoring web site content |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
EP2416530B1 (en) * | 2009-03-30 | 2015-05-06 | Huawei Technologies Co., Ltd. | Method, network system and device for realizing data retransmission |
JP5321221B2 (ja) * | 2009-04-22 | 2013-10-23 | 富士通株式会社 | 管理装置、管理方法、およびプログラム |
US8346870B2 (en) * | 2009-05-06 | 2013-01-01 | Microsoft Corporation | Low-privilege debug channel |
ATE543324T1 (de) | 2009-05-06 | 2012-02-15 | Alcatel Lucent | Verfahren zur optimierung der lieferung von inhalten aus einem cache mit bezug auf kosten |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US20110015996A1 (en) * | 2009-07-14 | 2011-01-20 | Anna Kassoway | Systems and Methods For Providing Keyword Related Search Results in Augmented Content for Text on a Web Page |
JP5090408B2 (ja) * | 2009-07-22 | 2012-12-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク通信において送信データの宛先を動的に制御する方法及び機器 |
US9836783B2 (en) * | 2009-07-24 | 2017-12-05 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for content selection, delivery and payment |
US20110055312A1 (en) * | 2009-08-28 | 2011-03-03 | Apple Inc. | Chunked downloads over a content delivery network |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US20110066676A1 (en) * | 2009-09-14 | 2011-03-17 | Vadim Kleyzit | Method and system for reducing web page download time |
US20110082902A1 (en) * | 2009-10-01 | 2011-04-07 | Apple Inc. | Systems and methods for providing media pools in a communications network |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
US8255006B1 (en) | 2009-11-10 | 2012-08-28 | Fusionone, Inc. | Event dependent notification system and method |
US9781197B2 (en) | 2009-11-30 | 2017-10-03 | Samsung Electronics Co., Ltd. | Methods and apparatus for selection of content delivery network (CDN) based on user location |
US8700773B2 (en) * | 2009-12-07 | 2014-04-15 | Microsoft Corporation | Load balancing using redirect responses |
US8331370B2 (en) | 2009-12-17 | 2012-12-11 | Amazon Technologies, Inc. | Distributed routing architecture |
US8331371B2 (en) * | 2009-12-17 | 2012-12-11 | Amazon Technologies, Inc. | Distributed routing architecture |
US8325730B2 (en) * | 2009-12-17 | 2012-12-04 | Amazon Technologies, Inc. | Distributed routing architecture |
US9137302B1 (en) * | 2009-12-29 | 2015-09-15 | The Directv Group, Inc. | Content distribution network selector |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US8769139B2 (en) * | 2010-01-29 | 2014-07-01 | Clarendon Foundation, Inc. | Efficient streaming server |
US20110202634A1 (en) * | 2010-02-12 | 2011-08-18 | Surya Kumar Kovvali | Charging-invariant and origin-server-friendly transit caching in mobile networks |
US8355389B2 (en) * | 2010-03-12 | 2013-01-15 | Nokia Corporation | Simultaneous transmissions during a transmission opportunity |
US9331909B2 (en) * | 2010-03-22 | 2016-05-03 | Koninklijke Kpn N.V. | System and method for handling a configuration request |
US9634993B2 (en) | 2010-04-01 | 2017-04-25 | Cloudflare, Inc. | Internet-based proxy service to modify internet responses |
US9049247B2 (en) | 2010-04-01 | 2015-06-02 | Cloudfare, Inc. | Internet-based proxy service for responding to server offline errors |
US9002895B2 (en) | 2010-06-29 | 2015-04-07 | Vibrant Media, Inc. | Systems and methods for providing modular configurable creative units for delivery via intext advertising |
US9348935B2 (en) | 2010-06-29 | 2016-05-24 | Vibrant Media, Inc. | Systems and methods for augmenting a keyword of a web page with video content |
WO2012012334A2 (en) | 2010-07-19 | 2012-01-26 | Movik Networks | Content pre-fetching and cdn assist methods in a wireless mobile network |
EP3407673B1 (en) | 2010-07-26 | 2019-11-20 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
US8542578B1 (en) | 2010-08-04 | 2013-09-24 | Cisco Technology, Inc. | System and method for providing a link-state path to a node in a network environment |
EP2609517B1 (en) | 2010-08-24 | 2020-04-01 | BlackBerry Limited | Constant access gateway and de-duplicated data cache server |
CN102375866B (zh) * | 2010-08-24 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 一种转播消息呈现方法和系统 |
US8756272B1 (en) | 2010-08-26 | 2014-06-17 | Amazon Technologies, Inc. | Processing encoded content |
US8533141B2 (en) | 2010-08-31 | 2013-09-10 | Vibrant Media, Inc. | Systems and methods for rule based inclusion of pixel retargeting in campaign management |
US8745128B2 (en) | 2010-09-01 | 2014-06-03 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
US8639748B2 (en) | 2010-09-01 | 2014-01-28 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
US9037712B2 (en) * | 2010-09-08 | 2015-05-19 | Citrix Systems, Inc. | Systems and methods for self-loading balancing access gateways |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9083561B2 (en) | 2010-10-06 | 2015-07-14 | At&T Intellectual Property I, L.P. | Automated assistance for customer care chats |
CN103229167A (zh) | 2010-10-06 | 2013-07-31 | 星汇数据解决方案公司 | 用于为电子发现数据编索引的系统和方法 |
US9483313B2 (en) * | 2010-10-19 | 2016-11-01 | Microsoft Technology Licensing, Llc | Availability management for reference data services |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8943428B2 (en) | 2010-11-01 | 2015-01-27 | Synchronoss Technologies, Inc. | System for and method of field mapping |
US8903954B2 (en) | 2010-11-22 | 2014-12-02 | Seven Networks, Inc. | Optimization of resource polling intervals to satisfy mobile device requests |
US8694981B2 (en) * | 2010-11-17 | 2014-04-08 | Apple Inc. | Shared resource dependencies |
WO2012071283A1 (en) | 2010-11-22 | 2012-05-31 | Michael Luna | Aligning data transfer to optimize connections established for transmission over a wireless network |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
US8626950B1 (en) | 2010-12-03 | 2014-01-07 | Amazon Technologies, Inc. | Request routing processing |
US9377876B2 (en) * | 2010-12-15 | 2016-06-28 | Hillcrest Laboratories, Inc. | Visual whiteboard for television-based social network |
CN102143509B (zh) * | 2010-12-16 | 2014-04-02 | 华为终端有限公司 | Ap管理无线中继器的方法、装置及系统 |
WO2012088023A2 (en) * | 2010-12-20 | 2012-06-28 | Akamai Technologies, Inc. | Methods and systems for delivering content to differentiated client devices |
EP3518504B1 (en) | 2010-12-30 | 2020-09-16 | Peerapp, Ltd. | Methods and systems for transmission of data over computer networks |
JP6086871B2 (ja) | 2010-12-30 | 2017-03-01 | ピーラップ リミテッド | コンピュータネットワークによるデータ通信をキャッシュする方法及びシステム |
US9741084B2 (en) | 2011-01-04 | 2017-08-22 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
WO2012097030A1 (en) | 2011-01-12 | 2012-07-19 | Level 3 Communications, Llc | Customized domain names in a content delivery network (cdn) |
US8539036B2 (en) * | 2011-03-18 | 2013-09-17 | Juniper Networks, Inc. | Modular transparent proxy cache |
CA2734860A1 (en) | 2011-03-21 | 2012-09-21 | Calgary Scientific Inc. | Method and system for providing a state model of an application program |
EP2700021A4 (en) | 2011-04-19 | 2016-07-20 | Seven Networks Llc | MANAGEMENT OF COMMON RESOURCES AND VIRTUAL RESOURCES IN A NETWORKED ENVIRONMENT |
US8621075B2 (en) | 2011-04-27 | 2013-12-31 | Seven Metworks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
GB2493473B (en) | 2011-04-27 | 2013-06-19 | Seven Networks Inc | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
EP2523423B1 (en) | 2011-05-10 | 2019-01-02 | Deutsche Telekom AG | Method and system for providing a distributed scalable hosting environment for web services |
US8584211B1 (en) | 2011-05-18 | 2013-11-12 | Bluespace Software Corporation | Server-based architecture for securely providing multi-domain applications |
US10120897B2 (en) * | 2011-06-06 | 2018-11-06 | International Business Machines Corporation | Interception of database queries for delegation to an in memory data grid |
US8688799B2 (en) * | 2011-06-30 | 2014-04-01 | Nokia Corporation | Methods, apparatuses and computer program products for reducing memory copy overhead by indicating a location of requested data for direct access |
ES2539259T3 (es) * | 2011-06-30 | 2015-06-29 | Huawei Technologies Co., Ltd. | Método, aparato y sistema para la transmisión de datos multimedia sobre la base de un servidor de nivel superior (OTT) |
US9843601B2 (en) | 2011-07-06 | 2017-12-12 | Nominum, Inc. | Analyzing DNS requests for anomaly detection |
WO2013015994A1 (en) | 2011-07-27 | 2013-01-31 | Seven Networks, Inc. | Monitoring mobile application activities for malicious traffic on a mobile device |
AU2012296247B2 (en) | 2011-08-15 | 2017-06-22 | Calgary Scientific Inc. | Non-invasive remote access to an application program |
US8510807B1 (en) * | 2011-08-16 | 2013-08-13 | Edgecast Networks, Inc. | Real-time granular statistical reporting for distributed platforms |
US9262766B2 (en) | 2011-08-31 | 2016-02-16 | Vibrant Media, Inc. | Systems and methods for contextualizing services for inline mobile banner advertising |
US9286384B2 (en) * | 2011-09-21 | 2016-03-15 | Sonos, Inc. | Methods and systems to share media |
JP6322140B2 (ja) | 2011-09-30 | 2018-05-09 | カルガリー サイエンティフィック インコーポレイテッド | 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張 |
US8738766B1 (en) | 2011-11-01 | 2014-05-27 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
US8745177B1 (en) | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
KR101953942B1 (ko) * | 2011-11-11 | 2019-03-04 | 모보파일스 인코포레이티드 디비에이 모보라이즈 | 전용 캐시 관리 시스템 및 방법 |
US10021696B2 (en) * | 2011-11-16 | 2018-07-10 | International Business Machines Corporation | Data caching at the edge of a mobile data network |
WO2013076554A1 (en) | 2011-11-23 | 2013-05-30 | Calgary Scientific Inc. | Methods ans systems for collaborative remote application sharing and conferencing |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
EP2789138B1 (en) | 2011-12-06 | 2016-09-14 | Seven Networks, LLC | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
GB2498064A (en) | 2011-12-07 | 2013-07-03 | Seven Networks Inc | Distributed content caching mechanism using a network operator proxy |
EP3249546B1 (en) | 2011-12-14 | 2022-02-09 | Level 3 Communications, LLC | Content delivery network |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
US9832095B2 (en) | 2011-12-14 | 2017-11-28 | Seven Networks, Llc | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
EP2792188B1 (en) | 2011-12-14 | 2019-03-20 | Seven Networks, LLC | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
US8719196B2 (en) | 2011-12-19 | 2014-05-06 | Go Daddy Operating Company, LLC | Methods for monitoring computer resources using a first and second matrix, and a feature relationship tree |
US8600915B2 (en) | 2011-12-19 | 2013-12-03 | Go Daddy Operating Company, LLC | Systems for monitoring computer resources |
US8909202B2 (en) | 2012-01-05 | 2014-12-09 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
US8959591B2 (en) * | 2012-01-06 | 2015-02-17 | Elastic Path Software, Inc. | Follow location handler and selector functionality in a stateless microkernel web server architecture |
KR20130087810A (ko) * | 2012-01-30 | 2013-08-07 | 삼성전자주식회사 | 이동통신 시스템에서 협력적 캐슁 방법 및 장치 |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US9760541B2 (en) | 2012-03-15 | 2017-09-12 | Jason Richman | Systems and methods for delivery techniques of contextualized services on mobile devices |
US9083743B1 (en) | 2012-03-21 | 2015-07-14 | Amazon Technologies, Inc. | Managing request routing information utilizing performance information |
US9118618B2 (en) | 2012-03-29 | 2015-08-25 | A10 Networks, Inc. | Hardware-based packet editor |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
WO2013155208A1 (en) | 2012-04-10 | 2013-10-17 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
US20130282890A1 (en) * | 2012-04-18 | 2013-10-24 | Azuki Systems, Inc. | In-stream collection of analytics information in a content delivery system |
US10013237B2 (en) | 2012-05-30 | 2018-07-03 | Ncino, Inc. | Automated approval |
US10282461B2 (en) * | 2015-07-01 | 2019-05-07 | Ncino, Inc. | Structure-based entity analysis |
US10192262B2 (en) | 2012-05-30 | 2019-01-29 | Ncino, Inc. | System for periodically updating backings for resource requests |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
JP6102108B2 (ja) | 2012-07-24 | 2017-03-29 | 富士通株式会社 | 情報処理装置、データ提供方法、及びデータ提供プログラム |
US9052955B2 (en) | 2012-07-25 | 2015-06-09 | Cisco Technology, Inc. | System and method for seamless application hosting and migration in a network environment |
US8356074B1 (en) | 2012-08-09 | 2013-01-15 | Limelight Networks, Inc. | Inter point of presence split architecture |
US9525659B1 (en) * | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9135048B2 (en) | 2012-09-20 | 2015-09-15 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9172584B1 (en) * | 2012-09-21 | 2015-10-27 | Emc Corporation | Method and system for high-availability cluster data protection |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US8447854B1 (en) * | 2012-12-04 | 2013-05-21 | Limelight Networks, Inc. | Edge analytics query for distributed content network |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US9634904B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Framework supporting content delivery with hybrid content delivery services |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
US20140337472A1 (en) | 2012-12-13 | 2014-11-13 | Level 3 Communications, Llc | Beacon Services in a Content Delivery Framework |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US9241314B2 (en) | 2013-01-23 | 2016-01-19 | Seven Networks, Llc | Mobile device with application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
GB2510192A (en) * | 2013-01-29 | 2014-07-30 | Openwave Mobility Inc | Intermediate proxy server caching buffer searched with key (URI hash) |
US9491223B2 (en) * | 2013-02-17 | 2016-11-08 | Onavo Mobile Ltd. | Techniques for determining a mobile application download attribution |
US20160006645A1 (en) * | 2013-02-19 | 2016-01-07 | Teridion Technologies Ltd. | Increased data transfer rate method and system for regular internet user |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9549035B2 (en) | 2013-03-13 | 2017-01-17 | Apple Inc. | Automatic updating of redirected location references |
WO2014158707A1 (en) | 2013-03-14 | 2014-10-02 | Apple Inc. | Media delivery service protocol to support large numbers of client with error failover processes |
US10164989B2 (en) | 2013-03-15 | 2018-12-25 | Nominum, Inc. | Distinguishing human-driven DNS queries from machine-to-machine DNS queries |
WO2014144837A1 (en) | 2013-03-15 | 2014-09-18 | A10 Networks, Inc. | Processing data packets using a policy based network path |
US10038693B2 (en) | 2013-05-03 | 2018-07-31 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9721116B2 (en) * | 2013-06-24 | 2017-08-01 | Sap Se | Test sandbox in production systems during productive use |
US9015348B2 (en) | 2013-07-19 | 2015-04-21 | Limelight Networks, Inc. | Dynamically selecting between acceleration techniques based on content request attributes |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US10313299B2 (en) * | 2013-08-26 | 2019-06-04 | Jeong Hoan Seo | Domain name system (DNS) and domain name service method based on user information |
US9241044B2 (en) * | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US10187283B2 (en) * | 2013-11-19 | 2019-01-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Testing the performance of a layer 3 proxy device using traffic amplification |
EP3075111B1 (en) | 2013-11-29 | 2017-12-20 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US9253545B2 (en) * | 2013-12-04 | 2016-02-02 | Wowza Media Systems, LLC | Routing media content based on monetary cost |
JP2015108970A (ja) * | 2013-12-04 | 2015-06-11 | ソニー株式会社 | サーバ装置、及び、情報処理方法 |
US9113182B2 (en) * | 2013-12-04 | 2015-08-18 | Wowza Media Systems, LLC | Selecting a media content source based on monetary cost |
US9467461B2 (en) | 2013-12-21 | 2016-10-11 | Akamai Technologies Inc. | Countering security threats with the domain name system |
US9544385B1 (en) * | 2014-02-24 | 2017-01-10 | Google Inc. | Providing second content items in association with first content items |
US9819558B2 (en) | 2014-03-03 | 2017-11-14 | Microsoft Technology Licensing, Llc | Streaming query resource control |
WO2015134669A1 (en) | 2014-03-04 | 2015-09-11 | Mobophiles, Inc., Dba Mobolize | Dynamic cache allocation and network management |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
US20150281367A1 (en) * | 2014-03-26 | 2015-10-01 | Akamai Technologies, Inc. | Multipath tcp techniques for distributed computing systems |
WO2015172274A1 (zh) * | 2014-05-10 | 2015-11-19 | 苏州阔地网络科技有限公司 | 一种负载均衡处理方法及系统 |
US10341458B2 (en) * | 2014-06-30 | 2019-07-02 | EMC IP Holding Company LLC | Predicting a sub-set of resources to be migrated to a new location based on a mobile device's interactions with resources at a first location and a predicted period of time the mobile device is to be in the new location |
US9237204B1 (en) | 2014-07-30 | 2016-01-12 | Iboss, Inc. | Web redirection for caching |
KR20160035709A (ko) * | 2014-09-23 | 2016-04-01 | 삼성전기주식회사 | 전자 라벨의 정보 검색 방법 및 그에 따른 시스템 |
US9395970B2 (en) * | 2014-09-30 | 2016-07-19 | Sony Interactive Entertainment America Llc | Method and apparatus for providing a time period for starting an application |
US10268467B2 (en) | 2014-11-11 | 2019-04-23 | A10 Networks, Inc. | Policy-driven management of application traffic for providing services to cloud-based applications |
JP6378057B2 (ja) * | 2014-11-13 | 2018-08-22 | 株式会社東芝 | 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム |
US10430385B1 (en) | 2014-12-05 | 2019-10-01 | EMC IP Holding Company LLC | Limited deduplication scope for distributed file systems |
US10021212B1 (en) * | 2014-12-05 | 2018-07-10 | EMC IP Holding Company LLC | Distributed file systems on content delivery networks |
US10936494B1 (en) | 2014-12-05 | 2021-03-02 | EMC IP Holding Company LLC | Site cache manager for a distributed file system |
US10951705B1 (en) | 2014-12-05 | 2021-03-16 | EMC IP Holding Company LLC | Write leases for distributed file systems |
US9826000B2 (en) * | 2014-12-12 | 2017-11-21 | Microsoft Technology Licensing, Llc | Effecting communication events |
US9769248B1 (en) | 2014-12-16 | 2017-09-19 | Amazon Technologies, Inc. | Performance-based content delivery |
US10027739B1 (en) | 2014-12-16 | 2018-07-17 | Amazon Technologies, Inc. | Performance-based content delivery |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10311372B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10311371B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10225365B1 (en) | 2014-12-19 | 2019-03-05 | Amazon Technologies, Inc. | Machine learning based content delivery |
EP3241342A4 (en) | 2014-12-31 | 2018-07-04 | Level 3 Communications, LLC | Network address resolution |
SG11201705147UA (en) | 2014-12-31 | 2017-07-28 | Level 3 Communications Llc | Network address resolution |
KR102264992B1 (ko) | 2014-12-31 | 2021-06-15 | 삼성전자 주식회사 | 무선 통신 시스템에서 서버 할당 방법 및 장치 |
KR20170110612A (ko) * | 2015-01-30 | 2017-10-11 | 캘거리 싸이언티픽 인코포레이티드 | 고 확장가능한, 고장 저항력이 있는 원격 액세스 아키텍처 및 접속 방법 |
US10313243B2 (en) | 2015-02-24 | 2019-06-04 | Commvault Systems, Inc. | Intelligent local management of data stream throttling in secondary-copy operations |
EP3262820B1 (en) | 2015-02-27 | 2020-02-19 | Level 3 Communications, LLC | Network address resolution |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US10403022B1 (en) * | 2015-05-06 | 2019-09-03 | Amazon Technologies, Inc. | Rendering of a virtual environment |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
CN106302608B (zh) * | 2015-06-08 | 2020-02-04 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
US9813500B2 (en) | 2015-06-12 | 2017-11-07 | Cisco Technology, Inc. | Allocating cloud storage based on storage attributes |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
EP3348038B1 (en) | 2015-09-10 | 2021-09-08 | Vimmi Communications Ltd. | Content delivery network |
US10298680B1 (en) * | 2015-09-23 | 2019-05-21 | Cohesity, Inc. | Dynamic throughput ingestion of backup sources |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10098082B2 (en) | 2015-12-16 | 2018-10-09 | Sonos, Inc. | Synchronization of content between networked devices |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10116698B1 (en) * | 2016-04-06 | 2018-10-30 | Amazon Technologies, Inc. | Managing network firewall configuration utilizing source lists |
US10122539B2 (en) | 2016-04-13 | 2018-11-06 | Facebook, Inc. | URL replication for live broadcast streaming |
US10798205B2 (en) * | 2016-04-13 | 2020-10-06 | Facebook, Inc. | Cache system for live broadcast streaming |
US10375159B2 (en) * | 2016-04-28 | 2019-08-06 | Fastly, Inc. | Load balancing origin server requests |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US9967689B1 (en) | 2016-09-29 | 2018-05-08 | Sonos, Inc. | Conditional content enhancement |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
CN107968812A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 同步本地资源与网络资源的方法及装置 |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10324849B2 (en) * | 2017-02-13 | 2019-06-18 | International Business Machines Corporation | Headless resilient backup and restore software ecosystem selecting server based on historical client latency, workload and metadata presence in cache |
US11098918B2 (en) * | 2017-02-20 | 2021-08-24 | Lutron Technology Company Llc | Integrating and controlling multiple load control systems |
US11088940B2 (en) | 2017-03-07 | 2021-08-10 | Akamai Technologies, Inc. | Cooperative multipath |
GB2561822B (en) * | 2017-04-13 | 2020-02-19 | Arm Ip Ltd | Reduced bandwidth handshake communication |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US11048660B2 (en) * | 2017-06-20 | 2021-06-29 | Netflix, Inc. | Acceleration system for facilitating processing of API calls |
US10021429B1 (en) | 2017-07-18 | 2018-07-10 | Wowza Media Systems, LLC | Selection of a content source based on performance data |
US10592293B2 (en) | 2017-08-31 | 2020-03-17 | Cisco Technology, Inc. | Tenant-specific policy generation and enforcement within containers |
US10764391B2 (en) | 2017-09-14 | 2020-09-01 | Akamai Technologies, Inc. | Origin and cache server cooperation for compute-intensive content delivery |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10574624B2 (en) | 2017-10-09 | 2020-02-25 | Level 3 Communications, Llc | Staged deployment of rendezvous tables for selecting a content delivery network (CDN) |
US10749945B2 (en) * | 2017-10-09 | 2020-08-18 | Level 3 Communications, Llc | Cross-cluster direct server return with anycast rendezvous in a content delivery network (CDN) |
LU100580B1 (en) * | 2017-12-18 | 2019-06-28 | Luxembourg Inst Science & Tech List | Profiling proxy |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US10554701B1 (en) | 2018-04-09 | 2020-02-04 | Amazon Technologies, Inc. | Real-time call tracing in a service-oriented system |
US10743036B1 (en) * | 2018-05-30 | 2020-08-11 | Amazon Technologies, Inc. | Automatically augmenting user resources dedicated to serving content to a content delivery network |
US10944843B2 (en) * | 2018-11-05 | 2021-03-09 | International Business Machines Corporation | Topology aware computing device to reduce network latency |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
CN111355685A (zh) * | 2018-12-21 | 2020-06-30 | 杭州登虹科技有限公司 | 一种低功耗产品双链保活方案 |
US10812352B2 (en) | 2019-02-17 | 2020-10-20 | International Business Machines Corporation | System and method for associating network domain names with a content distribution network |
US11025713B2 (en) * | 2019-04-15 | 2021-06-01 | Adobe Inc. | Dynamic allocation of execution resources |
CN110457285A (zh) * | 2019-06-06 | 2019-11-15 | 福建奇点时空数字科技有限公司 | 一种基于直接映射标准的结构化信息数据映射方法 |
US11171720B1 (en) * | 2019-06-28 | 2021-11-09 | Amazon Technologies, Inc. | Content and compute delivery platform using satellites |
US11201939B1 (en) * | 2019-06-28 | 2021-12-14 | Amazon Technologies, Inc. | Content and compute delivery platform using satellites |
US10904027B1 (en) * | 2020-03-31 | 2021-01-26 | Amazon Technologies, Inc. | Usage-based device naming and grouping |
US11546374B2 (en) * | 2020-06-22 | 2023-01-03 | Cloudflare, Inc. | Selective traffic processing in a distributed cloud computing network |
US12038919B2 (en) * | 2020-08-20 | 2024-07-16 | Sap Se | System models that support the traceability of activities |
US11620264B2 (en) * | 2021-08-27 | 2023-04-04 | Rohde & Schwarz Gmbh & Co. Kg | Log file processing apparatus and method for processing log file data |
WO2023039341A1 (en) | 2021-09-08 | 2023-03-16 | Level 3 Communications, Llc | Systems and methods for configuration of sequence handlers |
US20240275761A1 (en) * | 2022-10-17 | 2024-08-15 | Rakuten Mobile, Inc. | Kubeflow network protocol compatibility implementation |
Family Cites Families (275)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US449570A (en) * | 1891-03-31 | Rail-chair | ||
US604405A (en) * | 1898-05-24 | Pneumatic-despatch apparatus | ||
US643622A (en) * | 1898-01-05 | 1900-02-20 | Wesley S Block | Package-wrapping machine. |
US4495570A (en) | 1981-01-14 | 1985-01-22 | Hitachi, Ltd. | Processing request allocator for assignment of loads in a distributed processing system |
FR2555388B1 (fr) | 1983-11-23 | 1986-02-21 | Cit Alcatel | Dispositif de secours d'un terminal d'abonne dans un concentrateur numerique |
US4803641A (en) * | 1984-06-06 | 1989-02-07 | Tecknowledge, Inc. | Basic expert system tool |
US4591983A (en) * | 1984-07-09 | 1986-05-27 | Teknowledge, Inc. | Hierarchical knowledge system |
JPS61114363A (ja) | 1984-11-07 | 1986-06-02 | Hitachi Ltd | 計算機システム間ジヨブ転送方式 |
US4726017A (en) | 1985-05-21 | 1988-02-16 | Fla. | Multidrop data concentrator communication network |
US5287537A (en) | 1985-11-15 | 1994-02-15 | Data General Corporation | Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command |
US4922417A (en) | 1986-10-24 | 1990-05-01 | American Telephone And Telegraph Company | Method and apparatus for data hashing using selection from a table of random numbers in combination with folding and bit manipulation of the selected random numbers |
US4943932A (en) | 1986-11-25 | 1990-07-24 | Cimflex Teknowledge Corporation | Architecture for composing computational modules uniformly across diverse developmental frameworks |
US4847784A (en) | 1987-07-13 | 1989-07-11 | Teknowledge, Inc. | Knowledge based tutor |
DE3876617T2 (de) | 1987-09-04 | 1993-04-08 | Digital Equipment Corp | Verbindungssteuerung in einem netzwerk fuer ein digitaldatenverarbeitungssystem, das mehrfache uebertragungsprotokolle unterstuetzt. |
US4920432A (en) | 1988-01-12 | 1990-04-24 | Eggers Derek C | System for random access to an audio video data library with independent selection and display at each of a plurality of remote locations |
US5191573A (en) * | 1988-06-13 | 1993-03-02 | Hair Arthur R | Method for transmitting a desired digital video or audio signal |
US4949248A (en) | 1988-07-15 | 1990-08-14 | Caro Marshall A | System for shared remote access of multiple application programs executing in one or more computers |
CA1341310C (en) | 1988-07-15 | 2001-10-23 | Robert Filepp | Interactive computer network and method of operation |
US4949187A (en) | 1988-12-16 | 1990-08-14 | Cohen Jason M | Video communications system having a remotely controlled central source of video and audio data |
US5029232A (en) | 1989-01-12 | 1991-07-02 | Cycle-Sat., Inc. | Satellite communications network |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
US5287499A (en) | 1989-03-22 | 1994-02-15 | Bell Communications Research, Inc. | Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table |
US5471622A (en) | 1989-10-04 | 1995-11-28 | Paralogic, Inc. | Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks |
US5130792A (en) | 1990-02-01 | 1992-07-14 | Usa Video Inc. | Store and forward video system |
US5633999A (en) | 1990-11-07 | 1997-05-27 | Nonstop Networks Limited | Workstation-implemented data storage re-routing for server fault-tolerance on computer networks |
US5172413A (en) | 1990-12-20 | 1992-12-15 | Sasktel | Secure hierarchial video delivery system and method |
US5253275A (en) | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
US5132992A (en) | 1991-01-07 | 1992-07-21 | Paul Yurt | Audio and video transmission and receiving system |
US6002720A (en) | 1991-01-07 | 1999-12-14 | H. Lee Browne, D/B/A Greenwich Information Technologies Llc | Audio and video transmission and receiving system |
US5253341A (en) | 1991-03-04 | 1993-10-12 | Rozmanith Anthony I | Remote query communication system |
US5590288A (en) | 1991-07-30 | 1996-12-31 | Restaurant Technology, Inc. | Distributed data processing system and method utilizing peripheral device polling and layered communication software |
DE69232164T2 (de) | 1991-08-22 | 2002-07-18 | Sun Microsystems, Inc. | Netzwerkvideoanbietergerät und-verfahren |
US5247347A (en) | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5528281A (en) | 1991-09-27 | 1996-06-18 | Bell Atlantic Network Services | Method and system for accessing multimedia data over public switched telephone network |
US5185664A (en) * | 1991-10-31 | 1993-02-09 | North American Philips Corporation | Method and apparatus for combining field and frame recursive noise reduction for video signals |
US5522070A (en) | 1992-03-19 | 1996-05-28 | Fujitsu Limited | Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network |
US5371532A (en) | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
US5291554A (en) | 1992-05-28 | 1994-03-01 | Tv Answer, Inc. | Shared-price custom video rentals via interactive TV |
CA2095755C (en) | 1992-08-17 | 1999-01-26 | Mark J. Baugher | Network priority management |
US5442389A (en) | 1992-12-28 | 1995-08-15 | At&T Corp. | Program server for interactive television system |
US5508732A (en) | 1993-03-22 | 1996-04-16 | International Business Machines Corporation | Data server, control server and gateway architecture system and method for broadcasting digital video on demand |
DE69317267T2 (de) | 1993-05-19 | 1998-06-25 | Alsthom Cge Alcatel | Netzwerk für Video auf Anfrage |
US5550982A (en) | 1993-06-24 | 1996-08-27 | Starlight Networks | Video application server |
US5414455A (en) | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
US5442390A (en) | 1993-07-07 | 1995-08-15 | Digital Equipment Corporation | Video on demand with memory accessing and or like functions |
GB2281793A (en) | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
US5446736A (en) | 1993-10-07 | 1995-08-29 | Ast Research, Inc. | Method and apparatus for connecting a node to a wireless network using a standard protocol |
US5542087A (en) | 1993-10-15 | 1996-07-30 | Hewlett-Packard Company | Linear hashing for distributed records |
US5475615A (en) | 1993-12-23 | 1995-12-12 | U S West Advanced Technologies, Inc. | Method and system for sizing interactive video delivery systems |
US5515510A (en) | 1994-01-14 | 1996-05-07 | Consilium Overseas Limited | Communications internetwork system connecting a client node array to a resource array |
US5644714A (en) | 1994-01-14 | 1997-07-01 | Elonex Plc, Ltd. | Video collection and distribution system with interested item notification and download on demand |
US5544327A (en) | 1994-03-01 | 1996-08-06 | International Business Machines Corporation | Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied |
US6185619B1 (en) | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
US5544313A (en) | 1994-05-11 | 1996-08-06 | International Business Machines Corporation | Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system |
JP2601189B2 (ja) | 1994-05-20 | 1997-04-16 | 日本電気株式会社 | ビデオ・オン・デマンドシステム |
US5434994A (en) | 1994-05-23 | 1995-07-18 | International Business Machines Corporation | System and method for maintaining replicated data coherency in a data processing system |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5515511A (en) | 1994-06-06 | 1996-05-07 | International Business Machines Corporation | Hybrid digital/analog multimedia hub with dynamically allocated/released channels for video processing and distribution |
JPH0844643A (ja) * | 1994-07-27 | 1996-02-16 | Fujitsu Ltd | ゲートウェイ装置 |
US5884028A (en) | 1994-07-29 | 1999-03-16 | International Business Machines Corporation | System for the management of multiple time-critical data streams |
US6038310A (en) * | 1994-08-01 | 2000-03-14 | British Telecommunications Public Limited Company | Service node for a telephony network |
US5519435A (en) | 1994-09-01 | 1996-05-21 | Micropolis Corporation | Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate |
US5838906A (en) | 1994-10-17 | 1998-11-17 | The Regents Of The University Of California | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
WO1996015505A2 (en) * | 1994-11-08 | 1996-05-23 | Vermeer Technologies, Inc. | An online service development tool with fee setting capabilities |
US5638443A (en) | 1994-11-23 | 1997-06-10 | Xerox Corporation | System for controlling the distribution and use of composite digital works |
US5619648A (en) | 1994-11-30 | 1997-04-08 | Lucent Technologies Inc. | Message filtering techniques |
US5845303A (en) | 1994-12-06 | 1998-12-01 | Netpodium, Inc. | Document processing using frame-based templates with hierarchical tagging |
US5603026A (en) * | 1994-12-07 | 1997-02-11 | Xerox Corporation | Application-specific conflict resolution for weakly consistent replicated databases |
US5623656A (en) | 1994-12-15 | 1997-04-22 | Lucent Technologies Inc. | Script-based data communication system and method utilizing state memory |
US5594940A (en) * | 1994-12-22 | 1997-01-14 | Motorola, Inc. | Statistically robust traffic modeling method and apparatus |
US5920701A (en) * | 1995-01-19 | 1999-07-06 | Starburst Communications Corporation | Scheduling data transmission |
US5592611A (en) | 1995-03-14 | 1997-01-07 | Network Integrity, Inc. | Stand-in computer server |
JP4008049B2 (ja) | 1995-03-20 | 2007-11-14 | 富士通株式会社 | アドレス送信装置、アドレス送信方法およびアドレス送信システム |
US5802291A (en) | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
US5699513A (en) | 1995-03-31 | 1997-12-16 | Motorola, Inc. | Method for secure network access via message intercept |
US5680619A (en) | 1995-04-03 | 1997-10-21 | Mfactory, Inc. | Hierarchical encapsulation of instantiated objects in a multimedia authoring system |
WO1996032685A1 (en) * | 1995-04-11 | 1996-10-17 | Kinetech, Inc. | Identifying data in a data processing system |
US5742762A (en) | 1995-05-19 | 1998-04-21 | Telogy Networks, Inc. | Network management gateway |
US5646676A (en) | 1995-05-30 | 1997-07-08 | International Business Machines Corporation | Scalable interactive multimedia server system for providing on demand data |
US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
US5708780A (en) | 1995-06-07 | 1998-01-13 | Open Market, Inc. | Internet server access control and monitoring systems |
EP0830774B1 (en) * | 1995-06-07 | 2004-10-06 | divine technology ventures | Internet server access control and monitoring systems |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US6003030A (en) | 1995-06-07 | 1999-12-14 | Intervu, Inc. | System and method for optimized storage and retrieval of data on a distributed computer network |
US5710918A (en) * | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for distributed task fulfillment of web browser requests |
US6181867B1 (en) | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US5799141A (en) | 1995-06-09 | 1998-08-25 | Qualix Group, Inc. | Real-time data protection system and method |
US5682512A (en) | 1995-06-30 | 1997-10-28 | Intel Corporation | Use of deferred bus access for address translation in a shared memory clustered computer system |
US5896533A (en) | 1995-07-06 | 1999-04-20 | Intel Corporation | Accessing internets world-wide web through object linking and embedding technology |
US5666362A (en) | 1995-07-25 | 1997-09-09 | 3Com Corporation | Method and apparatus for asynchronous PPP and synchronous PPP conversion |
US6311214B1 (en) | 1995-07-27 | 2001-10-30 | Digimarc Corporation | Linking of computers based on optical sensing of digital data |
US5878212A (en) | 1995-07-31 | 1999-03-02 | At&T Corp. | System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy |
US5649186A (en) | 1995-08-07 | 1997-07-15 | Silicon Graphics Incorporated | System and method for a computer-based dynamic information clipping service |
US5721914A (en) | 1995-09-14 | 1998-02-24 | Mci Corporation | System and method for hierarchical data distribution |
US6154753A (en) | 1995-09-15 | 2000-11-28 | Cable & Wireless, Inc. | Document management system and method for business quality modeling |
US5712979A (en) | 1995-09-20 | 1998-01-27 | Infonautics Corporation | Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page |
US5812769A (en) | 1995-09-20 | 1998-09-22 | Infonautics Corporation | Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators |
US5925142A (en) * | 1995-10-06 | 1999-07-20 | Micron Technology, Inc. | Self-test RAM using external synchronous clock |
US5913028A (en) | 1995-10-06 | 1999-06-15 | Xpoint Technologies, Inc. | Client/server data traffic delivery system and method |
US5572643A (en) | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
US6029175A (en) | 1995-10-26 | 2000-02-22 | Teknowledge Corporation | Automatic retrieval of changed files by a network software agent |
US5625781A (en) | 1995-10-31 | 1997-04-29 | International Business Machines Corporation | Itinerary list for interfaces |
US5764906A (en) * | 1995-11-07 | 1998-06-09 | Netword Llc | Universal electronic resource denotation, request and delivery system |
US5671279A (en) | 1995-11-13 | 1997-09-23 | Netscape Communications Corporation | Electronic commerce using a secure courier system |
US5777989A (en) | 1995-12-19 | 1998-07-07 | International Business Machines Corporation | TCP/IP host name resolution for machines on several domains |
US5903723A (en) | 1995-12-21 | 1999-05-11 | Intel Corporation | Method and apparatus for transmitting electronic mail attachments with attachment references |
US5740423A (en) | 1995-12-28 | 1998-04-14 | Csg Systems, Inc. | System and method for accessing distributed data on a plurality of databases |
US6098078A (en) | 1995-12-29 | 2000-08-01 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US6081829A (en) | 1996-01-31 | 2000-06-27 | Silicon Graphics, Inc. | General purpose web annotations without modifying browser |
US5751961A (en) | 1996-01-31 | 1998-05-12 | Bell Communications Research, Inc. | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
US5659729A (en) | 1996-02-01 | 1997-08-19 | Sun Microsystems, Inc. | Method and system for implementing hypertext scroll attributes |
US5913024A (en) | 1996-02-09 | 1999-06-15 | Secure Computing Corporation | Secure server utilizing separate protocol stacks |
US5856974A (en) | 1996-02-13 | 1999-01-05 | Novell, Inc. | Internetwork address mapping gateway |
EP0790559B1 (en) | 1996-02-14 | 2002-05-15 | Hitachi, Ltd. | Method of monitoring a computer system, featuring performance data distribution to plural monitoring processes |
US6189030B1 (en) | 1996-02-21 | 2001-02-13 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US5751956A (en) * | 1996-02-21 | 1998-05-12 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US5761507A (en) | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
GB9604987D0 (en) | 1996-03-08 | 1996-05-08 | Ibm | Data management system and method for replicated data |
US6128660A (en) | 1996-03-21 | 2000-10-03 | Hearme | Network match maker |
US5832506A (en) | 1996-03-29 | 1998-11-03 | Intel Corporation | Directory for network servers |
US6081835A (en) | 1996-04-04 | 2000-06-27 | British Telecommunications Public Limited Company | Internet server and method of controlling an internet server |
US5867799A (en) | 1996-04-04 | 1999-02-02 | Lang; Andrew K. | Information system and method for filtering a massive flow of information entities to meet user information classification needs |
US5925106A (en) * | 1996-04-05 | 1999-07-20 | Sun Microsystems, Inc. | Method and apparatus for obtaining and displaying network server information |
US5835718A (en) | 1996-04-10 | 1998-11-10 | At&T Corp | URL rewriting pseudo proxy server |
US6044405A (en) * | 1996-04-12 | 2000-03-28 | Wam!Net Inc. | Service network incorporating geographically-remote hubs linked by high speed transmission paths |
US5777988A (en) | 1996-04-17 | 1998-07-07 | Bell Communications Research, Inc. | System and method for equalizing delay in a dynamic packet switching network |
ES2214516T3 (es) | 1996-04-17 | 2004-09-16 | Siemens Aktiengesellschaft | Instalacion de control en la red inteligente. |
US5790548A (en) | 1996-04-18 | 1998-08-04 | Bell Atlantic Network Services, Inc. | Universal access multimedia data network |
US5828847A (en) | 1996-04-19 | 1998-10-27 | Storage Technology Corporation | Dynamic server switching for maximum server availability and load balancing |
US5894554A (en) * | 1996-04-23 | 1999-04-13 | Infospinner, Inc. | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests |
US5734831A (en) | 1996-04-26 | 1998-03-31 | Sun Microsystems, Inc. | System for configuring and remotely administering a unix computer over a network |
US7266686B1 (en) | 1996-05-09 | 2007-09-04 | Two-Way Media Llc | Multicasting method and apparatus |
US5778187A (en) | 1996-05-09 | 1998-07-07 | Netcast Communications Corp. | Multicasting method and apparatus |
US5784058A (en) | 1996-05-28 | 1998-07-21 | Sun Microsystems, Inc. | User-controllable persistent browser display pages |
US5715453A (en) | 1996-05-31 | 1998-02-03 | International Business Machines Corporation | Web server mechanism for processing function calls for dynamic data queries in a web page |
US5935207A (en) * | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
US5826031A (en) | 1996-06-10 | 1998-10-20 | Sun Microsystems, Inc. | Method and system for prioritized downloading of embedded web objects |
JP3178342B2 (ja) | 1996-06-17 | 2001-06-18 | 松下電器産業株式会社 | ネットワークを利用した情報提供システム |
WO1997049039A1 (en) * | 1996-06-21 | 1997-12-24 | Bell Communications Research, Inc. | Apparatus and methods for highly available directory services in the distributed computing environment |
US5832514A (en) * | 1996-06-26 | 1998-11-03 | Microsoft Corporation | System and method for discovery based data recovery in a store and forward replication process |
US6094680A (en) * | 1996-06-27 | 2000-07-25 | Microsoft Corporation | System and method for managing distributed resources on networks |
US6014598A (en) * | 1996-06-28 | 2000-01-11 | Arcelik A.S. | Model-based fault detection system for electric motors |
US6134583A (en) | 1996-07-01 | 2000-10-17 | Sun Microsystems, Inc. | Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16) |
US6360256B1 (en) * | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
US6154777A (en) | 1996-07-01 | 2000-11-28 | Sun Microsystems, Inc. | System for context-dependent name resolution |
US6222856B1 (en) * | 1996-07-02 | 2001-04-24 | Murali R. Krishnan | Adaptive bandwidth throttling for individual virtual services supported on a network server |
US6061738A (en) * | 1997-06-27 | 2000-05-09 | D&I Systems, Inc. | Method and system for accessing information on a network using message aliasing functions having shadow callback functions |
US5862339A (en) | 1996-07-09 | 1999-01-19 | Webtv Networks, Inc. | Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server |
US5794253A (en) * | 1996-07-12 | 1998-08-11 | Microsoft Corporation | Time based expiration of data objects in a store and forward replication enterprise |
US6038610A (en) | 1996-07-17 | 2000-03-14 | Microsoft Corporation | Storage of sitemaps at server sites for holding information regarding content |
US5919247A (en) | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
CA2267953C (en) * | 1996-07-25 | 2011-10-18 | Mark Kriegsman | Web serving system with primary and secondary servers |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5890171A (en) | 1996-08-06 | 1999-03-30 | Microsoft Corporation | Computer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document |
GB2316200A (en) | 1996-08-08 | 1998-02-18 | Ibm | Accessing information about executable code |
JPH11514769A (ja) | 1996-08-08 | 1999-12-14 | アグラナット・システムス・インコーポレーテッド | 埋め込み形ウェブサーバ |
US6347085B2 (en) * | 1996-08-16 | 2002-02-12 | Netspeak Corporation | Method and apparatus for establishing communications between packet-switched and circuit-switched networks |
JPH1069423A (ja) * | 1996-08-28 | 1998-03-10 | Nec Corp | ハイパーメディアシステムおよびそのディレクトリデータ管理方法 |
JP4025379B2 (ja) | 1996-09-17 | 2007-12-19 | 株式会社ニューズウオッチ | 検索システム |
US5893116A (en) * | 1996-09-30 | 1999-04-06 | Novell, Inc. | Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network |
US6092204A (en) * | 1996-10-01 | 2000-07-18 | At&T Corp | Filtering for public databases with naming ambiguities |
US5931904A (en) | 1996-10-11 | 1999-08-03 | At&T Corp. | Method for reducing the delay between the time a data page is requested and the time the data page is displayed |
SE9603753L (sv) | 1996-10-14 | 1998-04-06 | Mirror Image Internet Ab | Förfarande och anordning för informationsöverföring på Internet |
US5958008A (en) | 1996-10-15 | 1999-09-28 | Mercury Interactive Corporation | Software system and associated methods for scanning and mapping dynamically-generated web documents |
US5870559A (en) | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US6138141A (en) | 1996-10-18 | 2000-10-24 | At&T Corp | Server to client cache protocol for improved web performance |
US6038216A (en) * | 1996-11-01 | 2000-03-14 | Packeteer, Inc. | Method for explicit data rate control in a packet communication environment without data rate supervision |
US6049831A (en) * | 1996-11-08 | 2000-04-11 | Gte Laboratories Incorporated | System for transmitting network-related information where requested network information is separately transmitted as definitions and display information |
US5802106A (en) | 1996-12-06 | 1998-09-01 | Packeteer, Inc. | Method for rapid data rate detection in a packet communication environment without data rate supervision |
US6202085B1 (en) | 1996-12-06 | 2001-03-13 | Microsoft Corportion | System and method for incremental change synchronization between multiple copies of data |
US6046980A (en) * | 1996-12-09 | 2000-04-04 | Packeteer, Inc. | System for managing flow bandwidth utilization at network, transport and application layers in store and forward network |
US5913033A (en) | 1996-12-20 | 1999-06-15 | International Business Machines Corporation | Apparatus and method for retrieving information using standard objects |
US6272523B1 (en) * | 1996-12-20 | 2001-08-07 | International Business Machines Corporation | Distributed networking using logical processes |
US6424992B2 (en) * | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US6052718A (en) | 1997-01-07 | 2000-04-18 | Sightpath, Inc | Replica routing |
US6052730A (en) | 1997-01-10 | 2000-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Method for monitoring and/or modifying web browsing sessions |
US6026440A (en) * | 1997-01-27 | 2000-02-15 | International Business Machines Corporation | Web server account manager plug-in for monitoring resources |
US6078943A (en) * | 1997-02-07 | 2000-06-20 | International Business Machines Corporation | Method and apparatus for dynamic interval-based load balancing |
WO1998037473A2 (en) | 1997-02-07 | 1998-08-27 | General Internet, Inc. | Collaborative internet data mining system |
US6173311B1 (en) * | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
US6108673A (en) | 1997-02-25 | 2000-08-22 | International Business Machines Corporation | System for creating a form from a template that includes replication block |
US6370571B1 (en) * | 1997-03-05 | 2002-04-09 | At Home Corporation | System and method for delivering high-performance online multimedia services |
US6104711A (en) | 1997-03-06 | 2000-08-15 | Bell Atlantic Network Services, Inc. | Enhanced internet domain name server |
US6012090A (en) | 1997-03-14 | 2000-01-04 | At&T Corp. | Client-side parallel requests for network services using group name association |
US6470389B1 (en) | 1997-03-14 | 2002-10-22 | Lucent Technologies Inc. | Hosting a network service on a cluster of servers using a single-address image |
US6421726B1 (en) | 1997-03-14 | 2002-07-16 | Akamai Technologies, Inc. | System and method for selection and retrieval of diverse types of video data on a computer network |
US5987606A (en) * | 1997-03-19 | 1999-11-16 | Bascom Global Internet Services, Inc. | Method and system for content filtering information retrieved from an internet computer network |
US5796952A (en) | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5945989A (en) | 1997-03-25 | 1999-08-31 | Premiere Communications, Inc. | Method and apparatus for adding and altering content on websites |
US6189039B1 (en) | 1997-04-10 | 2001-02-13 | International Business Machines Corporation | Selective tunneling of streaming data |
CA2202572C (en) | 1997-04-14 | 2004-02-10 | Ka Lun Eddie Law | A scaleable web server and method of efficiently managing multiple servers |
US5884038A (en) | 1997-05-02 | 1999-03-16 | Whowhere? Inc. | Method for providing an Internet protocol address with a domain name server |
US5944780A (en) | 1997-05-05 | 1999-08-31 | At&T Corp | Network with shared caching |
US6256675B1 (en) * | 1997-05-06 | 2001-07-03 | At&T Corp. | System and method for allocating requests for objects and managing replicas of objects on a network |
US6292905B1 (en) | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6014698A (en) * | 1997-05-19 | 2000-01-11 | Matchlogic, Inc. | System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals |
US6314565B1 (en) | 1997-05-19 | 2001-11-06 | Intervu, Inc. | System and method for automated identification, retrieval, and installation of multimedia software components |
US6286045B1 (en) * | 1997-05-19 | 2001-09-04 | Matchlogic, Inc. | Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered |
US6119143A (en) | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US6351775B1 (en) * | 1997-05-30 | 2002-02-26 | International Business Machines Corporation | Loading balancing across servers in a computer network |
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6125394A (en) | 1997-06-06 | 2000-09-26 | At&T Corporation | Computer system having a plurality of resources and utilizing a selection mechanism to select the resources based upon historical loading |
US5983227A (en) | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US6112239A (en) | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US6243760B1 (en) * | 1997-06-24 | 2001-06-05 | Vistar Telecommunications Inc. | Information dissemination system with central and distributed caches |
US6105028A (en) * | 1997-06-26 | 2000-08-15 | Digital Equipment Corporation | Method and apparatus for accessing copies of documents using a web browser request interceptor |
US6115357A (en) | 1997-07-01 | 2000-09-05 | Packeteer, Inc. | Method for pacing data flow in a packet-based network |
US6345293B1 (en) * | 1997-07-03 | 2002-02-05 | Microsoft Corporation | Personalized information for an end user transmitted over a computer network |
US6181690B1 (en) * | 1997-07-18 | 2001-01-30 | At&T Corp. | Toll-free internet service |
US6442549B1 (en) | 1997-07-25 | 2002-08-27 | Eric Schneider | Method, product, and apparatus for processing reusable information |
US6021426A (en) | 1997-07-31 | 2000-02-01 | At&T Corp | Method and apparatus for dynamic data transfer on a web page |
US6006264A (en) | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
US5968121A (en) | 1997-08-13 | 1999-10-19 | Microsoft Corporation | Method and apparatus for representing and applying network topological data |
US5987430A (en) | 1997-08-28 | 1999-11-16 | Atcom, Inc. | Communications network connection system and method |
US6167437A (en) | 1997-09-02 | 2000-12-26 | Silicon Graphics, Inc. | Method, system, and computer program product for page replication in a non-uniform memory access system |
US6112240A (en) | 1997-09-03 | 2000-08-29 | International Business Machines Corporation | Web site client information tracker |
US6226642B1 (en) * | 1997-09-11 | 2001-05-01 | International Business Machines Corporation | Content modification of internet web pages for a television class display |
US6085193A (en) * | 1997-09-29 | 2000-07-04 | International Business Machines Corporation | Method and system for dynamically prefetching information via a server hierarchy |
US6163779A (en) | 1997-09-29 | 2000-12-19 | International Business Machines Corporation | Method of saving a web page to a local hard drive to enable client-side browsing |
US6223209B1 (en) * | 1997-09-30 | 2001-04-24 | Ncr Corporation | Distributed world wide web servers |
US6418461B1 (en) | 1997-10-06 | 2002-07-09 | Mci Communications Corporation | Intelligent call switching node in an intelligent distributed network architecture |
US6425005B1 (en) | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6035332A (en) | 1997-10-06 | 2000-03-07 | Ncr Corporation | Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants |
JPH11110324A (ja) | 1997-10-07 | 1999-04-23 | Hitachi Ltd | 代理サーバ選択装置および代理サーバ |
US6070191A (en) | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US5996025A (en) | 1997-10-31 | 1999-11-30 | International Business Machines Corp. | Network transparent access framework for multimedia serving |
US6230196B1 (en) * | 1997-11-12 | 2001-05-08 | International Business Machines Corporation | Generation of smart HTML anchors in dynamic web page creation |
US6275266B1 (en) * | 1997-11-12 | 2001-08-14 | Philips Electronics North America Corporation | Apparatus and method for automatically detecting and configuring a television display for a personal computer |
US6018516A (en) * | 1997-11-14 | 2000-01-25 | Packeteer, Inc. | Method for minimizing unneeded retransmission of packets in a packet communication environment supporting a plurality of data link rates |
US6041324A (en) | 1997-11-17 | 2000-03-21 | International Business Machines Corporation | System and method for identifying valid portion of computer resource identifier |
US6360262B1 (en) * | 1997-11-24 | 2002-03-19 | International Business Machines Corporation | Mapping web server objects to TCP/IP ports |
WO1999027684A1 (en) | 1997-11-25 | 1999-06-03 | Packeteer, Inc. | Method for automatically classifying traffic in a packet communications network |
US6591299B2 (en) | 1997-11-25 | 2003-07-08 | Packeteer, Inc. | Method for automatically classifying traffic with enhanced hierarchy in a packet communications network |
US6029176A (en) * | 1997-11-25 | 2000-02-22 | Cannon Holdings, L.L.C. | Manipulating and analyzing data using a computer system having a database mining engine resides in memory |
US6167427A (en) | 1997-11-28 | 2000-12-26 | Lucent Technologies Inc. | Replication service system and method for directing the replication of information servers based on selected plurality of servers load |
WO1999030450A1 (en) | 1997-12-08 | 1999-06-17 | Packeteer, Inc. | Method for data rate control for heterogenous or peer internetworking |
US6065062A (en) * | 1997-12-10 | 2000-05-16 | Cisco Systems, Inc. | Backup peer pool for a routed computer network |
US7283561B1 (en) | 1997-12-12 | 2007-10-16 | Level 3 Communications, Llc | Secure network architecture with quality of service |
US6178160B1 (en) | 1997-12-23 | 2001-01-23 | Cisco Technology, Inc. | Load balancing of client connections across a network using server based algorithms |
US6041307A (en) | 1998-01-23 | 2000-03-21 | Lucent Technologies Inc. | Technique for effectively managing resources in a network |
US6151624A (en) | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
US7949779B2 (en) * | 1998-02-10 | 2011-05-24 | Level 3 Communications, Llc | Controlling subscriber information rates in a content delivery network |
US7047300B1 (en) * | 1998-02-10 | 2006-05-16 | Sprint Communications Company L.P. | Survivable and scalable data system and method for computer networks |
US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US7054935B2 (en) * | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
US6154738A (en) | 1998-03-27 | 2000-11-28 | Call; Charles Gainor | Methods and apparatus for disseminating product information via the internet using universal product codes |
US6065051A (en) | 1998-04-15 | 2000-05-16 | Hewlett-Packard Company | Apparatus and method for communication between multiple browsers |
GB2336408B (en) * | 1998-04-17 | 2002-07-24 | Rolls Royce Plc | A seal arrangement |
US6144996A (en) | 1998-05-13 | 2000-11-07 | Compaq Computer Corporation | Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network |
US6115752A (en) | 1998-05-21 | 2000-09-05 | Sun Microsystems, Inc. | System and method for server selection for mirrored sites |
US6108703A (en) † | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6195680B1 (en) | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6226618B1 (en) | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US7110984B1 (en) | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
US6859791B1 (en) | 1998-08-13 | 2005-02-22 | International Business Machines Corporation | Method for determining internet users geographic region |
US6144375A (en) | 1998-08-14 | 2000-11-07 | Praja Inc. | Multi-perspective viewer for content-based interactivity |
US6324580B1 (en) * | 1998-09-03 | 2001-11-27 | Sun Microsystems, Inc. | Load balancing for replicated services |
US6327622B1 (en) | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6272566B1 (en) | 1998-11-18 | 2001-08-07 | International Business Machines Corporation | System for maintaining proper buffering within video play list |
WO2000052594A2 (en) * | 1999-03-03 | 2000-09-08 | Ultradns, Inc. | Scalable and efficient domain name resolution |
US6463454B1 (en) | 1999-06-17 | 2002-10-08 | International Business Machines Corporation | System and method for integrated load distribution and resource management on internet environment |
US6460082B1 (en) | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
US6463508B1 (en) | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
US6785704B1 (en) | 1999-12-20 | 2004-08-31 | Fastforward Networks | Content distribution system for operation over an internetwork including content peering arrangements |
US6557055B1 (en) * | 1999-10-06 | 2003-04-29 | Apple Computer, Inc. | Adaptive throughput optimization |
US6963910B1 (en) | 2000-03-03 | 2005-11-08 | International Business Machines Corporation | Graphical user interface for creating assets |
US6763377B1 (en) | 2000-03-03 | 2004-07-13 | International Business Machines Corporation | Asset management and scheduling graphical user interface for media streamer |
US7117259B1 (en) | 2000-03-03 | 2006-10-03 | International Business Machines Corporation | Server time window for multiple selectable servers in a graphical user interface |
JP3617406B2 (ja) | 2000-03-30 | 2005-02-02 | 日本電気株式会社 | マルチドメインに対応した品質保証型通信サービス提供方式およびサービス提供方法並びにサービス仲介装置 |
US7562153B2 (en) | 2000-05-12 | 2009-07-14 | AT&T Intellectual Property II, L. P. | Method and apparatus for content distribution network brokering and peering |
US7103564B1 (en) | 2000-08-17 | 2006-09-05 | International Business Machines Corporation | Method and apparatus for performing personalization based on classification |
US7478148B2 (en) * | 2001-01-16 | 2009-01-13 | Akamai Technologies, Inc. | Using virtual domain name service (DNS) zones for enterprise content delivery |
US7188085B2 (en) | 2001-07-20 | 2007-03-06 | International Business Machines Corporation | Method and system for delivering encrypted content with associated geographical-based advertisements |
US20030149581A1 (en) | 2002-08-28 | 2003-08-07 | Imran Chaudhri | Method and system for providing intelligent network content delivery |
-
1998
- 1998-02-10 US US09/021,506 patent/US6185598B1/en not_active Expired - Lifetime
-
1999
- 1999-02-09 WO PCT/US1999/001477 patent/WO1999040514A1/en active IP Right Grant
- 1999-02-09 DE DE69909839T patent/DE69909839T3/de not_active Expired - Lifetime
- 1999-02-09 EP EP00128346A patent/EP1143337B2/en not_active Expired - Lifetime
- 1999-02-09 EP EP10012966A patent/EP2287736A2/en not_active Withdrawn
- 1999-02-09 DE DE69941146T patent/DE69941146D1/de not_active Expired - Lifetime
- 1999-02-09 EP EP10010927A patent/EP2287735A2/en not_active Withdrawn
- 1999-02-09 AT AT99906680T patent/ATE437399T1/de not_active IP Right Cessation
- 1999-02-09 EP EP08005349A patent/EP1975793A3/en not_active Withdrawn
- 1999-02-09 ES ES99906680T patent/ES2328426T5/es not_active Expired - Lifetime
- 1999-02-09 EP EP99906680A patent/EP1053524B2/en not_active Expired - Lifetime
- 1999-02-09 AT AT00128346T patent/ATE245834T1/de not_active IP Right Cessation
- 1999-02-09 ES ES00128346T patent/ES2206132T5/es not_active Expired - Lifetime
- 1999-02-09 AU AU26529/99A patent/AU763539B2/en not_active Expired
- 1999-02-09 EP EP07024629A patent/EP1926286A3/en not_active Withdrawn
- 1999-02-09 JP JP2000530860A patent/JP4413426B2/ja not_active Expired - Lifetime
- 1999-02-09 CA CA2320261A patent/CA2320261C/en not_active Expired - Lifetime
-
2000
- 2000-08-09 NO NO20004010A patent/NO327863B1/no not_active IP Right Cessation
-
2001
- 2001-05-22 HK HK01103543.5A patent/HK1034784A1/xx not_active IP Right Cessation
- 2001-08-17 US US09/930,975 patent/US20010056500A1/en not_active Abandoned
- 2001-12-06 US US10/004,430 patent/US6654807B2/en not_active Expired - Lifetime
-
2005
- 2005-02-23 US US11/065,412 patent/US8478903B2/en not_active Expired - Lifetime
-
2006
- 2006-05-26 US US11/441,253 patent/US8281035B2/en not_active Expired - Fee Related
-
2007
- 2007-05-30 US US11/806,152 patent/US8683076B2/en not_active Expired - Fee Related
- 2007-05-30 US US11/806,153 patent/US8572208B2/en not_active Expired - Lifetime
- 2007-05-30 US US11/806,147 patent/US8468245B2/en not_active Expired - Fee Related
- 2007-05-30 US US11/806,154 patent/US8291046B2/en not_active Expired - Lifetime
- 2007-08-17 JP JP2007212908A patent/JP4583420B2/ja not_active Expired - Lifetime
- 2007-10-31 US US11/980,356 patent/US8572210B2/en not_active Expired - Fee Related
- 2007-10-31 US US11/980,684 patent/US7945693B2/en not_active Expired - Fee Related
-
2011
- 2011-05-16 US US13/108,063 patent/US8473613B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2206132T5 (es) | Localizacion optimizada de recursos de red. | |
US7054935B2 (en) | Internet content delivery network | |
US8060613B2 (en) | Resource invalidation in a content delivery network |