ES2258800T3 - Sistema de computacion distribuido y metodo para distribuir peticiones de usuario a servidores de red duplicados. - Google Patents
Sistema de computacion distribuido y metodo para distribuir peticiones de usuario a servidores de red duplicados.Info
- Publication number
- ES2258800T3 ES2258800T3 ES97953118T ES97953118T ES2258800T3 ES 2258800 T3 ES2258800 T3 ES 2258800T3 ES 97953118 T ES97953118 T ES 97953118T ES 97953118 T ES97953118 T ES 97953118T ES 2258800 T3 ES2258800 T3 ES 2258800T3
- Authority
- ES
- Spain
- Prior art keywords
- servers
- server
- content
- network
- select
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/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
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
- Hardware Redundancy (AREA)
Abstract
Un sistema para encamina solicitudes de objetos de datos desde una pluralidad de clientes por una red (200) basado en una directriz sobre los estados de red, comprendiendo: una pluralidad de encaminadores (222, 224, 226, 228); una pluralidad de servidores de contenido (232, 234, 236, 238) para servir los objetos de datos solicitados por los clientes; una pluralidad de servidores de extremo frontal (212, 214, 216, 218) para recibir las solicitudes de objetos de datos desde los clientes y encaminar las solicitudes de objetos de datos a los servidores de contenido (232, 234, 236, 238) por vía de la red (200); un director (250) para monitorizar periódicamente los estados de red y para identificar combinaciones de los servidores de contenido (232, 234, 236, 238) y los encaminadores (222, 224, 226, 228) como aspirantes a solicitudes de objetos de datos particulares de servicio, con el director (250) seleccionando unos de los aspirantes basado en los estados monitorizados de red y notificando a los servidores de extremo frontal (212, 214, 216, 218) para encaminar las solicitudes de objetos de datos particulares a los servidores de contenido de los aspirantes seleccionados; en el que los estados de red incluyen información sobre un tiempo para recorrer un trayecto por la red a cada uno de los servidores de contenido (232, 234, 236, 238), seleccionando el director (250) los aspirantes que tiene los servidores de contenido con un trayecto que puede ser recorrido en una cantidad mínima de tiempo; en el que el tiempo para recorrer el trayecto es determinado por una respuesta de eco ICMP.
Description
Sistema de computación distribuido y método para
distribuir peticiones de usuario a servidores de red duplicados.
La presente invención se refiere generalmente al
campo de sistemas de ordenadores distribuidos y, más
específicamente, a sistemas y métodos informáticos para asignar
solicitudes a uno de una multiplicidad de servidores de red basados
en criterios óptimos tales como la velocidad de red fundamental.
El crecimiento explosivo de la World Wide Web
(WWW) necesita poca introducción. No solo los miembros de la
comunidad técnica están hallando un número cada vez mayor de
recursos técnicos e informativos disponibles en la WWW sino también
la mayoría de las personas están hallando restaurantes favoritos,
marcas de coches e iglesias que ostentan sitios Web nuevos. La
popularidad de la World Wide Web (WWW) como un medio de
comunicación está basada en la riqueza de su contenido de
información y la facilidad de uso. La información en este medio
existe como objetos en una colección distribuida ampliamente de
servidores interconectados por redes, siendo cada objeto
unívocamente direccionable por su propio localizador uniforme de
recursos (URL: uniform resource locator). Desde su comienzo, la WWW
ha conseguido una importancia global en la vida y el comercio
cotidianos.
No obstante, este crecimiento explosivo no ha
sido conseguido sin dificultad. La proliferación de aplicaciones
comerciales trae consigo un número siempre creciente de usuarios que
efectúan números siempre creciente de preguntas. Los problemas de
limitaciones de anchura de banda y latencia se manifiestan en
retardo, información perdida y los clientes consternados.
Los arquitectos de red responden usando un
conjunto de soluciones. Muchas respuestas caen dentro de la
categoría de soluciones basadas en suministrar más potencia de
computación. Esto puede abarcar alternativas tales como software de
servidor Web, hardware de servidor Web o plataforma diferentes,
aumentos en memoria RAM de acceso aleatorio o UCP (unidad central de
procesamiento) en el servidor, reescrituras de aplicaciones, o
aumentar la anchura de banda de red mejorando el hardware. Otra
clase de soluciones implica usar servidores múltiples o situar
servidores estratégicamente. Un método en esta clase es situar el
servidor en el proveedor de servicios de Internet. Seleccionando un
proveedor de servicios con un capacidad óptima de emparejamiento,
colocar el servidor en el sitio de proveedor de servicios puede
producir una conexión mucho mejor con el resto de Internet. Otro
método es el uso de servidores distribuidos. Situar servidores de
contenido idénticos en lugares estratégicos alrededor del mundo, por
ejemplo, uno en Nueva York, uno en San Francisco y uno en Londres.
Esto distribuye la carga en servidores múltiples y mantiene el
tráfico más próximo al solicitante. Otro método es agrupar
servidores. El agrupamiento permite compartir conjuntos de unidades
de discos duros entre servidores múltiples. Otro método es la
granja de servidores. Esto supone el uso de servidores Web múltiples
con contenido idéntico o la segmentación basada en la funcionalidad.
Por ejemplo, dos servidores para funciones Web, dos para FTP (File
Transfer Protocol = Protocolo de Transferencia de Archivos), dos
como una base de datos, etc. Una variación en la granja de
servidores es la granja de servidores distribuidos. Esta coloca las
granjas de servidores en lugares estratégicos, combinando
esencialmente la granja de servidores con el método de servidores
distribuidos.
Los métodos de servidores múltiples y
distribuidos resuelven un problema a costa de crear otro. Si hay
servidores múltiples, ¿cómo localiza tu emplazamiento el usuario
final?. Actualmente, nombres y localizadores uniformes de recursos
(URLs: Uniform Resource Locators) son separados en direcciones
aisladas únicas por un servicio de nombres de dominios (DNS: domain
name service). Los servidores de servicio de nombres de dominios
mantienen una lista de nombres de dominios con referencias cruzadas
a direcciones individuales IP (Internet Protocolo). Sin embargo, si
son usados servidores Web múltiples o granjas de servidores, el
sistema de servicio de nombres de dominios debe ser modificado. Una
aproximación común a este problema es modificar el sistema de
servicio de nombres de dominios a una correspondencia de uno con
muchos de nombres con direcciones IP. Así, el servicio de nombres de
dominios devolverá una lista de direcciones IP para cualquier objeto
Web particular. Entonces, estas pueden ser distribuidas a los
diversos clientes en una forma de asignación cíclica secuencial. Sin
embargo, hay varios inconvenientes en este método. El paradigma de
asignación cíclica secuencial devuelve direcciones IP en un orden
estricto con poca consideración a la situación del solicitante o del
servidor. El esquema no conoce la carga o la arquitectura de
servidor. La selección progresa simplemente por una lista sencilla.
Un servidor puede recibir a todos los usuarios con servicio intenso.
Adicionalmente, el enlace más débil determina el comportamiento
funcional global, así que las plataformas de servidores precisan ser
mantenidas en paridad relativamente. Otro problema es que el
servicio de nombres de dominios devuelve simplemente direcciones IP
sin considerar si está en funcionamiento el servidor al que
corresponde la dirección. Por consiguiente, si ocurre que uno de los
servidores de asignación cíclica secuencial está fuera de línea para
mantenimiento, el servicio de nombres de dominios continúa
distribuyendo la dirección, y los usuarios potenciales continúan
recibiendo respuestas de errores de período de espera. Así, la
modificación de asignación cíclica secuencial de servicio de nombres
de dominios efectúa un intento amplio para resolver el problema de
servidores distribuidos. Sin embargo, no se consideran cuestiones de
tráfico de red, equilibrio reducido entre servidores ni
fiabilidad.
fiabilidad.
Varios productos en el mercado pretenden
aplicarse a estos problemas pero todos estos esfuerzos anteriores
sufren el inconveniente de que requieren que el entorno de software
de usuarios sea modificado para facilitar la selección de servidores
reproducidos. Un esquema que requiere modificaciones de software de
usuarios es menos deseable debido a los problemas prácticos de
asegurar la distribución extendida de software. En el mejor de los
casos, tales esquemas son útiles como técnicas de optimización.
Una clase tal de métodos son los que confían en
la selección explícita de usuario para asignar una solicitud de
usuario a un servidor. La aplicación de usuario puede incluir pasos
adicionales que requieren que el usuario tenga conocimiento,
sofisticación y paciencia suficientes para efectuar su propia
selección de servidor. Tales esquemas no siempre son deseables por
un número de razones.
Una técnica basada en el encaminamiento
selectivo de ordenador anfitrión (host) usa servidores reproducidos
múltiples, todos con la misma dirección de red, situados en puntos
diferentes en la topología de red. Un encaminador asociado con cada
servidor capta el tráfico entrante de red a la dirección compartida
de servidores y expide el tráfico al servidor específico. Esta
técnica solo puede distribuir estáticamente la carga de solicitudes
de clientes al servidor próximo, sin considerar la carga de servidor
ni otras características de red.
La implementación BIND (VINCULAR) del servidor
de sistema de nombres de dominios puede incluir técnicas para
vincular nombres de servidores con direcciones diferentes de red,
donde una de un conjunto de direcciones múltiples diferentes es
asignada secuencial o aleatoriamente. Los proveedores de servicios
asignan una dirección diferente a cada servidor reproducido, y BIND
(VINCULAR) dirige solicitudes de usuarios a los servidores
alternativos. Esta técnica solo puede distribuir estáticamente la
carga de solicitudes de clientes a un servidor arbitrario, sin
considerar la carga de servidor ni otras características de red.
SONAR es un protocolo emergente de IETF
(Internet Engineering Task Force) para distribuir características de
red, en particular para proximidad topológica. SONAR incluye un
formato de datos para representar solicitudes y respuestas de
consultas pero no especifica un mecanismo para determinar las
características de red.
El Director Local Cisco es un producto que
funciona como un multiplexor de tráfico de red que se asienta
enfrente de servidores locales múltiples, y distribuye conexiones
nuevas de transporte a cada servidor basado en la cantidad de
tráfico que circula a los servidores. Este producto no considera
características de red en su decisión, y requiere además que los
servidores reproducidos sean colocados. Cisco Systems es una empresa
que tiene su cuartel general en San José, California.
El Director Distribuido Cisco reenvía las
solicitudes de usuarios a servidores topológicamente distantes
basado en información obtenida de protocolos de encaminamiento de
red. El Director Distribuido intercepta las solicitudes entrantes
del servicio de nombres de dominios o las solicitudes entrantes de
HTTP (Hypertext Transfer Protocol) y proporciona la respuesta
apropiada para reenvío. Este producto no considera la carga de
servidor y solo considera el conjunto restringido de información
obtenible de protocolos de encaminamiento; esta información también
es limitada en precisión por las técnicas de agregación requeridas
para permitir el encaminamiento cambiable en escala de Internet.
El documento
EP-A-0 648 038 describe un sistema
de procesamiento de datos para facilitar una conexión de un programa
en un ordenador de cliente con ordenadores de servidores con
recursos compartidos. Todos estos componentes
residen en una red lógica. Lógica de decisión es usada para estudiar el ordenador de servidor a intervalos usando cri-
terios de ensayos específicos. Esto significa que solo los ordenadores de servidores son monitorizados y no toda la red.
residen en una red lógica. Lógica de decisión es usada para estudiar el ordenador de servidor a intervalos usando cri-
terios de ensayos específicos. Esto significa que solo los ordenadores de servidores son monitorizados y no toda la red.
El documento
US-A-5 452 294 describe una red de
comunicación que tiene rutas múltiples disponibles. La selección
adaptable de ruta es usada para hallar la ruta óptima entre un nodo
de origen y un nodo de destino monitorizando las variables de estado
de enlaces.
Aunque estos productos, tomados conjuntamente,
consideran las características de red y carga de servidor, no
efectúan una selección integrada de servidor. No obstante, a pesar
de todos estos esfuerzos, la crítica de los eruditos todavía parece
verdadera, todavía es la "espera mundial" ("world wide
wait"). Por esta razón, lo que se precisa es un sistema que
seleccione automáticamente un servidor apropiado del que recuperar
un objeto de datos para un usuario basado en la solicitud de
usuario, y las capacidades y la topología de la red fundamental.
La presente invención proporciona la capacidad
de asignar solicitudes de objetos de datos efectuadas por clientes
entre servidores de red múltiples. La invención proporciona un
sistema y métodos informáticos distribuidos para asignar solicitudes
de usuarios a servidores reproducidos contenidos por el sistema
informático distribuidos de una manera que intenta satisfacer los
objetivos de una directriz particular de encaminamiento. Las
directrices pueden incluir minimizar la cantidad de tiempo para que
la solicitud sea completada. Por ejemplo, un sistema según la
invención puede ser configurado para servir objetos de datos a
usuarios según el trayecto más corto disponible de red.
Específicamente, la invención proporciona un
sistema para encaminar solicitudes de objetos de datos procedentes
de cualquier número de clientes, basado en una directriz de
encaminamiento de "servidor óptimo", a uno de servidores de
contenido múltiples. Los servidores de contenido sirven objetos de
datos en respuesta a solicitudes de clientes por vía de uno o más
puntos de acceso a la red, de acuerdo con la decisión de un
director. Basado en la directriz de encaminamiento, el director
determina el encaminamiento de dichas solicitudes de objetos de
datos a un servidor particular de contenido.
De acuerdo con un aspecto particular de la
invención, las directrices de encaminamiento pueden comprender
cualesquiera de los siguientes, una combinación de cualesquiera de
los siguientes o ninguno de los siguientes: 1) el número mínimo de
conexiones TCP (Transmission Control Protocol) abiertas, 2) la
memoria RAM de acceso aleatorio libre más disponible, 3) la memoria
SWAP (INTERCAMBIO) libre más disponible (memoria virtual), 4) la
cantidad máxima de tiempo inactivo de unidad central de
procesamiento (UCP), 5) la ruta ICMP (Internet Control Message
Protocolo) más rápida a la máquina de cliente.
Ventajas de los métodos según la invención son
la tolerancia incrementada de averías producidas en el hardware
fundamental y la fiabilidad respecto a los servidores Web de técnica
anterior. La invención será comprendida mejor por referencia a la
descripción detallada siguiente y sus dibujos adjuntos.
La Figura 1A representa una relación
cliente-servidor representativa de acuerdo con una
realización particular de la invención;
la Figura 1B representa una perspectiva
funcional de la relación cliente-servidor
representativa de acuerdo con una realización particular de la
invención;
la Figura 1C representa un entorno
representativo de interconexión de redes de acuerdo con una
realización particular de la invención;
la Figura 1D representa un diagrama de relación
de las capas del paquete integrado de protocolo TCP/IP (Transmission
Control Protocol/Internet Protocol);
la Figura 2A representa un entorno informático
distribuido de acuerdo con una realización particular de la
invención;
la Figura 2B representa un entorno informático
distribuido de acuerdo con una realización alternativa de la
invención;
La Figura 3A representa la relación de procesos
de acuerdo con una realización representativa de la invención;
la Figura 3B representa la relación de procesos
de acuerdo con una realización alternativa de la invención;
la Figura 3C representa la relación de procesos
de acuerdo con una realización preferible de la invención;
la Figura 4A representa pasos de proceso de
acuerdo con una realización particular de la invención;
la Figura 4B representa pasos de proceso de
acuerdo con una realización alternativa de la invención;
la Figura 4C representa pasos de proceso de
acuerdo con una realización preferible de la invención; y
las Figuras 5A a 5C representan organigramas del
proceso de optimización dentro de un componente de director según
una realización particular de la invención.
Una realización preferible de un sistema
equilibrador de cargas de servidores según la invención ha sido
reducida a la práctica y será hecha disponible con el nombre
comercial "HOPSCOTCH^{TM}".
Es indicada una palabra sobre nomenclatura. Los
sistemas según la presente invención comprenden una multiplicidad de
procesos que pueden existir en realizaciones alternativas en
cualquiera de una multiplicidad de ordenadores en un entorno de red
distribuida o como procesos concurrentes que se ejecutan en máquinas
virtuales o espacios de direcciones en el mismo ordenador. Para
limitar el crecimiento exponencial de nombres, las convenciones
siguientes han sido empleadas para mejorar la legilibilidad. Las
desviaciones individuales serán observadas donde ocurran. Un
"servidor xyz" es un ordenador o máquina virtual que aloja una
colección de procesos que constituyen xyz. Un "componente xyz"
es una colección de procesos que realizan un conjunto de funciones
designadas colectivamente como xyz. Un "xyz" es el conjunto de
funciones que son realizadas por el componente xyz en la máquina
xyz.
El sistema informático distribuido para
equilibrar las cargas de servidores (el "sistema") de la
presente invención es implementado en el lenguaje de programación
Perl (Practical Extraction and Report Language) y es capaz de
funcionar en un sistema de ordenadores tal como se muestra en la
Figura 1A. Esta invención puede ser implementada en un entorno de
cliente-servidor, pero un entorno de
cliente-servidor no es esencial. La Figura 1A
muestra un sistema convencional de ordenadores de
cliente-servidor que incluye un servidor 20 y
numerosos clientes, uno de los cuales es mostrado como cliente 25.
El uso del término "servidor" es usado en el contexto de la
invención, en el que el servidor recibe consultas de clientes
(típicamente remotos), efectúa sustancialmente todo el procesamiento
necesario para formular respuestas a las consultas, y proporciona
estas respuestas a los clientes. Sin embargo, el servidor 20 puede
actuar por sí mismo en la capacidad de un cliente cuando accede a
bases de datos remotas situadas en otro nodo que actúa como un
servidor de bases de datos.
Las configuraciones de hardware son estándares
en general y serán descritas solo brevemente. De acuerdo con la
práctica conocida, el servidor 20 incluye uno o más procesadores 30
que comunican con un número de dispositivos periféricos por vía de
un subsistema 32 de bus. Estos dispositivos periféricos incluyen
típicamente un subsistema 35 de almacenamiento, compuesto por el
subsistema 35a de memoria y el subsistema 35b de almacenamiento de
archivos, que contiene programas de ordenador (por ejemplo, código o
instrucciones) y datos, conjunto de dispositivos 37 de entrada y
salida de interfaz de usuario y una interfaz con redes exteriores,
que pueden emplear Ethernet, red en anillo con testigo (Token
Ring), ATM (Asynchronous Transfer Mode = Modo de Transferencia
Asíncrona), IEEE 802.3, ITU X.25, SLIP (Serial Link Internet
Protocolo = Protocolo Internet de Enlace en Serie) o la red
telefónico conmutada pública. Esta interfaz es mostrada
esquemáticamente en un bloque 40 de "interfaz de red". Está
acoplada a dispositivos de interfaz correspondientes en ordenadores
de clientes por vía de una conexión 45 de red.
El cliente 25 tiene la misma configuración
general aunque típicamente con menos capacidad de almacenamiento y
procesamiento. Así, mientras el ordenador de cliente podría ser un
terminal o un ordenador personal de gama baja, el ordenador de
servidor es generalmente un puesto de trabajo o macroordenador de
gama alta, tal como un servidor SUN SPARC^{TM}. Elementos y
subsistemas correspondientes en el ordenador de cliente son
mostrados con números de referencia correspondientes pero con
apóstrofos.
Los dispositivos de entrada de interfaz de
usuario incluyen típicamente un teclado y pueden incluir además un
dispositivo apuntador y un escáner. El dispositivo apuntador puede
ser un dispositivo apuntador indirecto tal como un ratón, bola de
seguimiento, tablilla táctil o tableta gráfica, o un dispositivo
apuntador directo tal como una pantalla táctil incluida en la
presentación visual. También son posibles otros tipos de sistemas de
entrada de interfaz de usuario tales como sistemas de reconocimiento
de voz.
Los dispositivos de salida de interfaz de
usuario incluyen típicamente una impresora y un subsistema de
presentación visual que incluye un controlador de presentación
visual y un dispositivo de presentación visual acoplado al
controlador. El dispositivo de presentación visual puede ser un tubo
de rayos catódicos, un dispositivo de panel plano tal como una
pantalla de cristal líquido, o un dispositivo de proyección. El
controlador de presentación visual proporciona señales de control al
dispositivo de presentación visual e incluye normalmente una
memoria de presentación visual para almacenar los píxeles que
aparecen en el dispositivo de presentación visual. El subsistema de
presentación visual también puede proporcionar presentación no
visual tal como salida de audio.
El subsistema de memoria incluye típicamente un
número de memorias incluyendo una memoria de acceso aleatorio (RAM)
principal, para almacenamiento de instrucciones y datos durante la
ejecución de programa, y una memoria de solo lectura (ROM) en la que
son almacenadas instrucciones fijas. En el caso de ordenadores
personales compatibles con Macintosh, la memoria ROM incluiría
porciones del sistema operativo, en el caso de ordenadores
personales compatibles con IBM, esta incluiría el sistema básico de
entrada/salida (BIOS: Basic input/output
system).
system).
El subsistema de almacenamiento de archivos
proporciona almacenamiento permanente (no volátil) para archivos de
datos y programa, e incluye típicamente al menos una unidad de disco
duro y al menos una unidad de disco flexible (con soportes
separables asociados). También puede haber otros dispositivos tales
como una unidad de CD-ROM y unidades ópticas (todas
con sus soportes separables asociados). Adicionalmente, el sistema
de ordenadores puede incluir unidades del tipo con cartuchos de
soportes separables. Por ejemplo, los cartuchos de soportes
separables pueden ser cartuchos de disco duro, tales como los
comercializados por Syquest y otros, y cartuchos de disco flexible
tales como los comercializados por Iomega. Una o más de las unidades
pueden ser situadas en una posición remota, tal como en un servidor
en una red de área local o en sitio de la World Wide Web (WWW) de
Internet.
En este contexto, la expresión "subsistema de
buses" es usada genéricamente a fin de incluir cualquier
mecanismo para permitir que los diversos componentes y subsistemas
comuniquen entre sí como se pretende. A excepción de los
dispositivos de entrada y la presentación visual, los otros
componentes no precisan estar en la misma ubicación física. Así, por
ejemplo, porciones del sistema de almacenamiento de archivos podrían
ser conectadas por vía de diversos medios de red de área local o red
de área extensa, incluyendo líneas telefónicas. De modo similar, los
dispositivos de entrada y la presentación visual no precisan estar
en la misma ubicación que el procesador aunque se prevé que la
presente invención será implementada más frecuentemente en el
contexto de sistemas de ordenadores personales (PCS: personal
computer system) y puestos de trabajo.
El subsistema 32 de buses es mostrado
esquemáticamente como un solo bus pero un sistema típico tiene un
número de buses tales como un bus local y uno o más buses de
ampliación (por ejemplo, ADB (Apple Desktop Bus, SCSI (Small
Computer System Interface, ISA (Industry Standard Architecture),
EISA (Extended ISA), MEC (Micro Channel Architecture), NuBus, o PCI
(Peripheral Component Interconnect)) y así como puertos en serie y
en paralelo. Las conexiones de red son establecidas usualmente a
través de un dispositivo tal como un adaptador de red en uno de
estos buses de ampliación o un módem en un puerto en serie. El
ordenador de cliente puede ser un sistema de sobremesa o un sistema
portátil.
El usuario interacciona con el sistema usando
dispositivos 37' de interfaz (o dispositivos 37 en un sistema
autónomo). Por ejemplo, las consultas de cliente son introducidas
por medio de un teclado, comunicadas al procesador 30' de cliente y
desde allí a la interfaz 40' de red por el subsistema 32' de buses.
La consulta es comunicada entonces al servidor 20 por vía de la
conexión 45 de red. De modo similar, los resultados de la consulta
son comunicados desde el servidor al cliente por vía de la conexión
45 de red para salida en uno de los dispositivos 37' (supóngase una
presentación visual o una impresora), o pueden ser almacenados en el
subsistema 35' de almacenamiento.
La Figura 1B es un esquema funcional del sistema
de ordenadores de la Figura 1A. La Figura 1B representa un servidor
20 y un cliente representativo 25 de una multiplicidad de clientes
que pueden interaccionar con el servidor 20 por vía de Internet 45 o
cualquier otro método de comunicaciones. Los bloques a la derecha
del servidor son indicativos de los componentes y funciones de
procesamiento que ocurren en el almacenamiento de datos y programa
de servidor indicado por el bloque 35a en la Figura 1A. Una
"pila" 44 de TCP/IP (Transmission Control Protocol/Internet
Protocol) funciona en conjunción con el sistema operativo 42 para
comunicar con procesos por una red o conexión en serie que une el
servidor 20 con Internet 45. El software 46 de servidor Web se
ejecuta concurrente y cooperativamente con otros procesos en el
servidor 20 para hacer que los objetos 50 y 51 de datos estén
disponibles para los clientes solicitantes. Un guión 55 de CGI
(Common Gateway Interface = Interfaz de Pasarela Común) permite que
el servidor Web 46 actúe sobre la información procedente de clientes
de usuarios, u otros procesos dentro del servidor 20. Las respuestas
a las consultas de clientes pueden ser devueltas a los clientes en
forma de salidas de un documento en HTML (Hypertext Markup Language
= Lenguaje de Marcación de Hipertexto) que entonces son comunicadas
por Internet 45 de vuelta al usuario.
El cliente 25 en la Figura 1B posee software que
implementa procesos funcionales dispuestos operativamente en su
almacenamiento de programa y datos como es indicado por el bloque
35a' en la Figura 1A. La pila 44' de TCP/IP funciona en conjunción
con el sistema operativo 42' para comunicar con procesos por una red
o conexión en serie que une el cliente 25 con Internet 45. El
software que implementa la función de un explorador Web 46' se
ejecuta concurrente y cooperativamente con otros procesos en el
cliente 25 para efectuar solicitudes al servidor 20 de objetos 50 y
51 de datos. El usuario del cliente puede interaccionar por vía del
explorador Web 46' para efectuar tales consultas al servidor 20 por
vía de Internet 45 y observar las respuestas procedentes del
servidor 20, por vía de Internet 45, en el explorador Web 46'.
La Figura 1C es ilustrativa de la interconexión
por redes de una pluralidad de clientes, tales como el cliente 25 de
las Figuras 1A y 1B, y una multiplicidad de servidores tales como el
servidor 20 de las Figuras 1A y 1B como se describió antes en la
presente. En la Figura 1C, una red 70 es un ejemplo de una red en
anillo con testigo (Token Ring) o red orientada a cuadros. La red 70
enlaza un ordenador anfitrión 71, tal como un puesto de trabajo IBM
RS 6000 RISC (Reduced Instruction Set Compunter) que puede estar
ejecutando el sistema operativo AIX (Advanced Interactive
Executive), con un ordenador anfitrión 72, que es un ordenador
personal que puede estar ejecutando el sistema operativo Windows 95
o IBM OS/2 (o 1), y un ordenador anfitrión 73 que puede ser un
ordenador IBM AS/400 que puede estar ejecutando el sistema operativo
OS/400. La red 70 está interconectada con una red 60 por una
pasarela del sistema que es representada aquí como el encaminador
75, pero que también puede ser una pasarela que tiene un cortafuegos
o un puente de redes. La red 60 es un ejemplo de una red Ethernet
que interconecta un ordenador anfitrión 61, que es un puesto de
trabajo SPARC (Scalable Processor Architecture) que puede estar
ejecutando el sistema operativo SUNOS, con un ordenador anfitrión 62
que puede ser un ordenador Digital Equipment VAX (Virtual Address
Extensión) 600 que puede estar ejecutando el sistema operativo VMS
(Virtual Memory System).
El encaminador 75 es un punto de acceso a red de
la red 70 y la red 60. El encaminador 75 emplea un adaptador de red
en anillo con testigo (Token Ring) y un adaptador de red Ethernet.
Esto permite que el encaminador 75 interconecte con las dos redes
heterogéneas. El encaminador 75 también está enterado de los
protocolos de interconexión de redes, tales como ICMP (Internet
Control Message Protocol), ARP (Adress Resolution Protocol) y RIP
(Routing Information Protocol), que son descritos después.
La Figura 1D es ilustrativa de los
constituyentes del paquete integrado de protocolos TCP/IP
(Transmission Control Protocol/Internet Protocol). La capa base del
paquete integrado de protocolos TCP/IP es la capa física 80 que
define las normas mecánicas, eléctricas, funcionales y de
procedimiento para la transmisión física de datos por medios de
comunicaciones tales como, por ejemplo, la conexión 45 de red de la
Figura 1A. La capa física puede comprender normas eléctricas,
mecánicas o funcionales tales como si una red es de conmutación de
paquetes o de conmutación de cuadros, o si una red está basada en
CSMA/CD (Carrier Sense Multiple Access/Collision Detection = acceso
múltiple por percepción de portadora con detección de colisión) o en
un paradigma de retransmisión de cuadros.
La capa 82 de enlace de datos está superpuesta a
la capa física. La capa de enlace de datos proporciona la función y
los protocolos para transferir datos entre recursos de red y
detectar los errores que pueden ocurrir en la capa física. Los modos
operativos en la capa de enlace de datos comprenden topologías de
red estandarizadas tales como IEEE 802.3 Ethernet, IEIEE 802.5 Token
Ring (red en anillo con testigo), ITU X.25 o protocolos en serie
(SLIP: Serial Link Internet Protocol = Protocolo de Internet de
Enlace en Serie).
Los protocolos 84 de capa de red se superponen a
la capa de enlace de datos y proporcionan los medios para establecer
conexiones entre redes. Las normas de protocolos de capa de red
proporcionan procedimientos de control de funcionamiento para
interconectar comunicaciones por redes y encaminar información a
través de redes heterogéneas múltiples. Ejemplos de protocolos de
capa de red son el Internet Protocolo (IP) y el Internet Control
Message Protocol (ICMP). El Address Resolution Protocol (ARP) es
usado para correlacionar una dirección de Internet y un Media Access
Control (MAC) de un ordenador anfitrión particular. El Routing
Information Protocol (RIP) es un protocolo de encaminamiento
dinámico para pasar información de encaminamiento entre ordenadores
anfitriones en redes. El Internet Control Message Protocol (ICMP) es
un protocolo interno para pasar mensajes de control entre
ordenadores anfitriones en diversas redes. Los mensajes ICMP
proporcionan realimentación sobre sucesos en el entorno de red o
pueden ayudar a determinar si existe un trayecto a un ordenador
anfitrión particular en el entorno de red. Este último es denominado
un "ping" (packet Internet groper). El Internet Protocol (IP)
proporciona el mecanismo básico para encaminar paquetes de
información en Internet. IP es un protocolo de comunicación no
fiable. Proporciona un servicio de suministro de "esfuerzos
óptimos" y no compromete recursos de red a una transacción
particular, ni realiza retransmisiones ni proporciona acuses de
recibo.
Los protocolos 86 de capa de transporte
proporcionan servicio de transporte de extremo a extremo a través de
redes heterogéneas múltiples. El User Datagram Protocol (UDP)
proporciona un servicio sin conexión, orientado a datagramas que
proporciona un mecanismo de suministro no fiable para flujos de
información. El Transmisión Control Protocol (TCP) proporciona un
servicio fiable basado en sesiones para suministro de paquetes en
secuencia de información a través de Internet. El TCP proporciona un
mecanismo fiable orientado a conexiones para suministro de
información.
La capa 88 de sesiones o aplicaciones
proporciona una lista de aplicaciones y utilidades de red, unas
pocas de las cuales son ilustradas aquí. Por ejemplo, el File
Transfer Protocol (FTP) es un protocolo TCP/IP estándar para
transferir archivos desde una máquina a otra. Los clientes FTP
establecen sesiones a través de conexiones TCP con servidores FTP
para obtener archivos. Telnet es un protocolo TCP/IP estándar para
conexión de terminales remotos. Un cliente Telnet actúa como un
emulador de terminal y establece una conexión usando TCP como el
mecanismo de transporte con un servidor Telnet. El Simple Network
Management Protocol (SNMP) es una norma para gestionar redes TCP/IP.
Tareas SNMP, denominadas "agentes", monitorizan los parámetros
de estatus de red y transmiten estos parámetros de estatus a tareas
SNMP denominadas "gestores". Los gestores siguen el estatus de
las redes asociadas. Una RPC (Remote Procedure Call = llamada de
procedimiento remoto) es una interfaz de programación que permite a
los programas invocar funciones remotas en máquinas de servidores.
El Hypertext Transfer Protocol (HTTP) facilita la transferencia de
objetos de datos a través de redes por vía de un sistema de
indicadores uniformes de recursos (URI: uniform resource
indicators).
El Hypertext Transfer Protocol (HTTP) es un
protocolo sencillo construido encima del Transmisión Control
Protocol (TCP). El HTTP proporciona un método para que los usuarios
obtengan objetos de datos desde diversos ordenadores anfitriones que
actúan como servidores en Internet. Las solicitudes de usuarios para
objetos de datos son efectuadas por medio de una solicitud GET
(OBTENER) de HTTP. Como se representa después, una solicitud GET
(OBTENER) comprende 1) una cabecera HTTP del formato
"http://"; seguida por 2) un identificador del servidor
en el que reside el objeto de datos; seguido por 3) el trayecto
completo del objeto de datos; seguido por 4) el nombre del objeto de
datos. En la solicitud GET (OBTENER) mostrada después, una solicitud
está siendo efectuada al servidor "www.w3.org" para el
objeto de datos con un nombre de trayecto de "/pub/" y un
nombre de "MyData.html"
\vskip1.000000\baselineskip
(1)GET
http://www.w3.org/pub/MyData.html
\vskip1.000000\baselineskip
El procesamiento de una solicitud GET (OBTENER)
implica el establecimiento de una conexión TCP/IP con el nombre de
servidor en la solicitud GET (OBTENER) y la recepción desde el
servidor del objeto de datos especificado. Después de recibir e
interpretar un mensaje de solicitud, un servidor responde en la
forma de un mensaje RESPONSE (RESPUESTA) de HTTP.
Los mensajes de respuesta empiezan con una línea
de estatus (Status Line) que comprende una versión de protocolo
seguida por un código de estatus (Status Code) numérico y una frase
de razón (Reason Phrase) textual asociada. Estos elementos están
separados por caracteres de separación. El formato de una línea de
estatus (Status Line) es representado en la línea (2):
\vskip1.000000\baselineskip
(2)Status-Line=HTTP-Version
Status-Code
Reason-Phrase
\vskip1.000000\baselineskip
La línea de estatus empieza siempre con una
versión de protocolo y el código de estatus (Status Code), por
ejemplo "http/1.0 200". El elemento de código de estatus es un
código de resultado entero de tres dígitos del intento para
comprender y satisfacer el mensaje de solicitud anterior. La frase
de razón está destinada a proporcionar una descripción textual breve
del código de estatus. El primer dígito del código de estatus define
la clase de respuesta. Hay cinco categorías para el primer dígito.
1XX es una respuesta de información; no es usada actualmente. 2XX es
una respuesta satisfactoria; la acción fue recibida, comprendida y
aceptada satisfactoriamente. 3XX es una indicación de respuesta de
reenvío, acción adicional debe ser emprendida para completar la
solicitud. Esta respuesta es la que es usada por ciertas
realizaciones de la presente invención para hacer que un cliente
reenvíe a un sitio de servidor seleccionado. 4XX es una respuesta de
error de cliente; esta indica una mala sintaxis en la solicitud.
Finalmente, 5XX es un error de servidor; este indica que el servidor
falló en satisfacer una solicitud aparentemente válida.
Formatos particulares de mensajes HTTP son
descritos en "Norma para el formato de mensajes de texto Internet
de ARPA" de Crocker, D., STD II, RFC (Request for Comments) 822,
UDEL, Agosto de 1.982, que es incluido por referencia en la presente
para todos los fines.
La Figura 2A representa un sistema informático
distribuido representativo según la presente invención. En la Figura
2A, una red 200 interconecta una pluralidad de máquinas de
servidores entre sí y con un entorno externo de interconexión de
redes por medio de una pluralidad de puntos de acceso a red (NAPs:
Network Access Points). La topología de esta red interna es
completamente arbitraria con respecto a la invención. Puede ser
Ethernet, red en anillo con testigo (Token Ring), ATM (Asynchronous
Transfer Mode = Modo de Transferencia Asíncrona) o cualquier otra
topología de red conveniente. Los puntos de acceso a red son puntos
de conexión entre redes grandes, y pueden comprender encaminadotes,
pasarelas, puentes u otros métodos para unir redes de acuerdo con
topologías de redes particulares.
Los puntos 202, 204, 206 y 208 de acceso a red
proporcionan accesibilidad a las redes externas A, B, C y D para
comunicación con máquinas de clientes por vía de una pluralidad de
trayectos de redes externas. En una realización particular, estos
puntos de acceso a red alojan una porción del componente de
configuración de encaminamiento. En una realización preferible,
estos puntos de acceso a red son encaminadores 222, 224, 226 y 228
que interconectan con otras redes y son conscientes del algoritmo de
encaminamiento OSPF (Open Shortest Path First = abrir primero el
trayecto más corto). El algoritmo OSPF es capaz de admitir el caso
donde varias máquinas tienen exactamente la misma dirección IP,
encaminando paquetes a la máquina más próxima. En contraste, un
mecanismo de encaminamiento alternativo, el Routing Information
Protocol (RIP), no manejaría este caso.
Además, estos encaminadores emplean técnicas de
tunelización IP, como son bien conocidas por las personas de
calificación ordinaria en la técnica, y son capaces de
encaminamiento por directriz, o sea, capaces de encaminar paquetes
basados parcialmente en su dirección de origen. Cada uno está
configurado para usar tunelización IP para encaminar paquetes fuera
de la red a través de un encaminador particular en un punto
particular de acceso a red, basado en direcciones de origen de
paquetes y en la disponibilidad de servidores.
La Figura 2A también muestra los servidores de
extremo frontal 212, 214, 216 y 218 que están colocados en los
puntos de acceso a red. Estos servidores de extremo frontal alojan
un proceso de componentes de extremo frontal. En una realización
preferible, los servidores de extremo frontal también alojan un
proceso de componentes de retransmisor IP. Las funciones de estos
procesos son descritos en lo sucesivo.
Un servidor 250 de director aloja varios
componentes de software que, en la realización preferible, incluyen
un componente de director, un componente de gestor de ping y un
componente de gestor de carga, cada uno de los cuales será descrito
en lo sucesivo.
Uno o más servidores de contenido 232, 234, 236
y 238 realizan el servicio real de contenido, o sea, páginas Web o
archivos FTP. Cada uno tiene asociado con él uno o más casos de
componente de servidor de contenido capaz de servir datos tal que
los paquetes salientes tienen una dirección de origen que es
seleccionable por el componente de director.
Cada servidor de contenido tiene una dirección
IP de alias de red para cada encaminador controlado por el sistema.
Por ejemplo, en un sistema con cuatro encaminadores, un servidor de
contenido particular tendrá cuatro direcciones IP de alias de red
distintas. El encaminador dentro del sistema está configurado para
"encaminamiento por directriz", o sea, encaminamiento basado en
la dirección de origen de paquetes, de modo que dependiendo de que
dirección IP de alias de red proceden los paquetes, serán
encaminados a través de un encaminador específico del sistema
elegido por el director. Una serie de túneles IP seleccionables
permiten que los servidores de contenido envíen datos a clientes
usando una "ruta óptima". Los túneles IP están configurados tal
que cada servidor puede servir datos de salida a través de un punto
elegido de acceso a red. En contraste, los sistemas conocidos
corrientemente en la técnica sirven datos encaminados fuera de la
red a través de un punto de interconexión por defecto, o sea, puntos
de salida de red que pueden encaminar a las otras redes que forman
Internet. Típicamente, el punto de interconexión por defecto es el
único punto de interconexión para la red. Cada túnel IP está
configurado para enviar todos los datos a un encaminador diferente
de interconexión. Cada túnel IP empieza en un encaminador y termina
en otro encaminador (remoto). Esto permite que una granja de
servidores de contenido (uno o más servidores de contenido en la
misma ubicación física, sirviendo detrás de un encaminador) sirva
datos a través de un encaminador diferente de granja de servidores
de contenido si el director ha determinado que este es el trayecto
óptimo.
\newpage
Los encaminadores están configurados
estáticamente para enviar paquetes por un túnel IP cuando los
paquetes tienen una dirección de origen que está asociada con ese
túnel. Por ejemplo, en una red que tiene tres puntos de
interconexión, el encaminador en un primer punto de interconexión,
denominado "A", tendría dos túneles salientes, el "túnel
1" y el "túnel 2". Estos túneles salientes conducen a los
otros dos encaminadores, residiendo cada uno en uno de los otros dos
puntos de interconexión, B y C. El encaminador en el punto A de
interconexión estaría configurado de modo que encamina todos los
paquetes que tienen una dirección de origen 1.1.1.1 por el túnel 1 y
todos los paquetes que tienen una dirección de origen 2.2.2.2 por el
túnel 2. El túnel 1 envía todos los paquetes a un segundo punto B de
interconexión, y el túnel 2 envía todos los paquetes a un tercer
punto C de interconexión. Este es un encaminamiento basado en
origen, conocido corrientemente como "encaminamiento por
directriz".
Un servidor de contenido asociado con el
encaminador en el punto A de interconexión ejecuta el software de
servidor que vincula el lado local de sus conectores hembra de
servidor con las direcciones 1.1.1. y 2.2.2.2, permitiéndole servir
desde cualquiera de las direcciones. El software de director posee
información de configuración sobre este servidor de contenido y sus
direcciones de servidor. Esto permite que el director determine que
cuando el servidor de contenido sirve desde la dirección 1.1.1.1,
todos los paquetes son servidos por vía del túnel 1 al punto B de
acceso a red, y cuando el servidor de contenido sirve desde la
dirección 2.2.2.2, todos los paquetes son servidos por vía del túnel
2 al punto C de acceso a red. El software de director es capaz de
seleccionar el punto de acceso a red a través del cual cada servidor
de contenido servirá sus datos informando al cliente a que nombre de
dominio totalmente calificado, correspondiente a una dirección IP,
acceder para servicio, puesto que será la dirección de origen de los
paquetes de respuesta a la solicitud. Los paquetes de respuesta son
encaminados automáticamente a través del punto de acceso a red
elegido por el software de director.
Esta configuración de encaminamiento por
directriz es establecida una vez para cada sistema durante la
instalación. El director tiene acceso a una tabla de direcciones IP
para cada servidor de contenido, y al encaminador de sistema
correspondiente para cada una de las direcciones IP de un servidor
de contenido particular. Esto permite que el director seleccione una
dirección IP de servidor de contenido que encaminará a través del
encaminador de sistema que elija el director. El director debe
decidir primero que servidor de contenido tiene la carga mínima.
Formula esto a partir de los datos que le han proporcionado el
gestor de carga (que, a su vez, recogió los datos desde cada uno de
los demonios de carga). Una vez que el director ha elegido la
máquina de servidor de contenido menos cargado, elegirá una
dirección, a partir del conjunto de máquina de direcciones IP de
alias de red, que encamina a través de un encaminador teniendo el
tiempo óptimo de recorrido unidireccional ICMP al cliente
explorador. Toma esta decisión basado en datos que le han
proporcionado el gestor de ping (que a su vez recogió sus datos
desde los demonios de ping).
La Figura 2B representa una realización
alternativa de un sistema informático distribuido según la presente
invención. La realización de la Figura 2B difiere principalmente de
la realización de la Figura 2A en que la realización de la Figura 2B
no tiene un servidor separado de director. Más bien, en la
realización alternativa de la Figura 2B, los procesos que residían
en el servidor 250 de director en la Figura 2A están distribuidos
entre los servidores de extremo frontal 212, 214, 216 y 218 en la
Figura 2B.
La Figura 3A representa los componentes de
procesos de una realización representativa según la presente
invención.
El extremo frontal - Una realización de
un componente 360 de extremo frontal recibe solicitudes de clientes
para objetos de datos. Esta puede ser una solicitud HTTP entrante en
la realización preferible. A continuación, el extremo frontal
solicita "consejo" al componente 362 de director, si está
disponible, enviando inmediatamente la dirección IP de cliente
explorador al director y esperando que el director seleccione el
servidor "optimo". Finalmente, envía una respuesta al cliente
solicitante que dirige al cliente a contactar con un servidor
específico para procesamiento de solicitud adicional. El extremo
frontal debe comprender el protocolo de la solicitud de cliente, y
usará mecanismos específicos de aplicación para dirigir el cliente
al servidor específico. En una realización particular, el extremo
frontal envía al cliente explorador una respuesta de reenvío HTTP al
localizador uniforme de recursos (URL) del servidor óptimo. Una
realización de esta invención puede comprender componentes de
extremo frontal múltiples que comprenden uno o más protocolos a
nivel de usuario.
El director - Una realización de un
componente 362 de director recibe consultas de datos desde los
componentes 360 de extremo frontal y, usando datos sobre el origen
del cliente, preferiblemente la dirección IP de cliente explorador,
así como el estatus de servidor reproducido y las características de
trayecto de red, preferiblemente tiempos de respuesta de ecos ICMP,
recibidas desde los componentes de colector, tales como el gestor
364 de ping y el gestor 366 de carga, devuelve información que
permite que los extremos frontales dirijan solicitudes de usuarios.
La decisión tiene en cuenta todos los datos y envía al extremo
frontal la dirección IP del servidor "óptimo". Los componentes
de director incluyen los métodos de decisión para evaluar
selecciones alternativas de servidor, y proporcionan coordinación
para todo el sistema. Una realización de esta invención comprende
uno o más componentes de director.
Los componentes de colector - Una
realización de un componente de colector monitoriza una o más
características de trayectos de red o carga de servidor de contenido
y hace esta información disponible para el componente de director
para uso en la decisión de selección de servidor. Una realización de
esta invención comprende uno o más componentes del colector,
preferiblemente un componente 364 de gestor de ping, un componente
de demonio de ping (no mostrado), un componente 366 de gestor de
carga y un componente de demonio de carga (no mostrado).
El gestor de ping le dice al director que
servidor de contenido tiene el trayecto de eco ICMP más rápido. Este
dato es recogido por el gestor 364 de ping. El gestor de ping recibe
sus datos de tiempo de ping desde máquinas de servidores
individuales cada una de las cuales está usando pings ICMP para
determinar el tiempo de encaminamiento ICMP entre ellas y la máquina
de cliente explorador. El gestor de ping almacena entonces esta
información y la comunica al director, que la usa para tomar
decisiones sobre la ruta óptima.
El demonio de ping ejecuta en máquinas de
servidores asociadas con cada grupo de máquinas de servidores de
contenido. Una máquina de servidor de contenido (o grupo de ellas)
reside cerca de cada uno de los puntos de acceso a red. El demonio
de ping espera una solicitud de ping (y su dirección IP
correspondiente que es la dirección IP de cliente explorador) y
entonces hace ping a la dirección IP de cliente explorador para
grabar el tiempo de encaminamiento ICMP a través de su propio
encaminador fronterizo más próximo. Entonces, devuelve este dato al
gestor de
ping.
ping.
El software de gestor de carga es similar al
gestor de ping pero comunica y almacena información pendiente del
demonio de carga sobre la carga actual de cada una de las máquinas
de servidores de contenido. También expide este dato al
director.
El demonio de carga ejecuta en conjunción con
cada servidor 368 de contenido y vuelve a informar periódicamente al
gestor de carga. Envía datos sobre el número de conexiones TCP
abiertas actualmente, memoria RAM libre, memoria SWAP libre y tiempo
inactivo de UCP.
La Figura 3B representa los componentes de
software de una realización alternativa según la presente invención.
Comparando el esquema de componentes de software de la realización
alternativa de la Figura 3B con el de la realización en la Figura
3A, la diferencia principal entre las dos realizaciones es que en la
realización alternativa representada por la Figura 3B, el proceso
362 de director está distribuido entre diversos servidores. Así, en
la Figura 3B el proceso 362 de director es mostrado como tres casos
separados de proceso de director. Mientras que en la Figura 3A el
proceso 362 de director es mostrado como un proceso singular de
director que interconecta con otros procesos en servidores
múltiples.
La Figura 3C representa los componentes de
software de una realización preferible según la presente invención.
Comparando el esquema de componentes de software de la realización
de la Figura 3B con el de la realización en la Figura 3C, la
diferencia principal entre las dos realizaciones es que en la
realización representada por la Figura 3C, el proceso 360 de extremo
frontal incluye una función de retransmisor IP.
El extremo frontal/retransmisor IP- Una
realización de un componente 360 de extremo frontal/retransmisor IP
recibe paquetes IP entrantes para cualquier tráfico IP. Como en las
realizaciones de las Figuras 3A y 3B, a continuación el extremo
frontal pide "consejo" a los componentes 362 de director, si
está disponible, enviando inmediatamente la dirección IP de cliente
y esperando que el director seleccione el servidor "óptimo".
Sin embargo, más bien que dirigir al cliente a hacer contacto con un
servidor específico para procesamiento de solicitud adicional, como
es realizado por los componentes de extremo frontal en las
realizaciones de las Figuras 3A y 3B, el retransmisor IP expide los
paquetes al "servidor óptimo" elegido de acuerdo con al
determinación efectuada por el director. Una realización de esta
invención puede comprender componentes múltiples de extremo frontal
que funcionan en la capa
IP.
IP.
La Figura 4A representa un conjunto de pasos que
ocurren en el proceso de recibir, evaluar y contestar una solicitud
de cliente en una realización particular de la invención. En un paso
402, un proceso de demonio de carga residente en un servidor de
contenido, tal como el 232 de la Figura 2A, está actualizando
periódicamente información directamente a un proceso 366 de gestor
de carga que reside en un servidor 250 de director.
Subsiguientemente, en un paso 404, el proceso de gestor de carga
actualiza la información de carga recogida desde todos los
servidores de contenido que tienen procesos de demonio de carga.
Esto permite que el proceso 362 de director elija la máquina de
servidor de contenido menos cargada en respuesta a una solicitud
entrante tal como en los pasos 410 y 412.
En el paso 410, una solicitud entrante de
cliente, que puede ser una solicitud HTTP procedente, por ejemplo,
de un explorador Web, o una solicitud FTP procedente de un cliente
FTP, es encaminada por vía de un trayecto externo arbitrario a una
pasarela fronteriza del sistema, típicamente un encaminador en un
punto de acceso a red. En este punto, la solicitud de cliente
resulta una entrada a la carga de servidor que equilibra el sistema
informático distribuido de la presente invención. Es enviada a un
componente 360 de extremo frontal por IP que actúa de acuerdo con la
tabla de encaminamiento asociada con un encaminador situado en este
punto de acceso a red. En el paso 412, el componente de extremo
frontal, en respuesta a la llegada de la solicitud de aplicación de
cliente, hace una solicitud al componente 362 de director de un
servidor preferido. El director, habiendo recibido una solicitud de
extremo frontal para información sobre la solicitud de cliente en el
paso 412, solicita información, tal como el trayecto más conveniente
entre servidores y clientes, procedente de un componente de
colector, tal como un gestor 364 de ping, en un paso 413. En la
realización de la Figura 4A, el trayecto más conveniente es el
trayecto con la respuesta de eco ICMP más rápido (ping) determinada
por un componente 364 de colector de gestor de ping que actúa en
conjunción con uno o más componentes de demonio de ping ubicados
conjuntamente en los diversos puntos de acceso a red en la red del
sistema, en un paso 414. Estos demonios de ping determinan el
trayecto de eco ICMP más rápido entre su servidor de extremo frontal
particular y el cliente transmitiendo pings sucesivos al cliente por
vía de su punto de acceso a red asociado de servidor de extremo
frontal particular, y midiendo el tiempo de la respuesta, como se
representa en un paso 415. Cada demonio de ping transmite de vez en
cuando el tiempo a un cliente, por vía de su punto de acceso a red
particular, al gestor de ping en un paso 416. El componente de
gestor de ping devuelve valores de ida y vuelta, para trayectos
asociados con los puntos de acceso a red del sistema, al cliente en
un paso 417. En realizaciones específicas, el componente de gestor
de ping puede iniciar consultas de estatus preactivas (no
representadas), o puede devolver información de estatus en cualquier
momento, sin solicitudes explícitas procedentes del componente de
director. El componente de director indica el servidor correcto de
contenido que ha de ser usado para el cliente al componente de
extremo frontal en un paso 418. El componente de extremo frontal
dirige el cliente al servidor correcto de contenido usando un
protocolo de capa de aplicación, preferiblemente una respuesta de
reenviar HTTP en un paso 419. La respuesta de extremo frontal es
expedida por vía de un punto de acceso a red a la máquina de cliente
por la interconexión de redes usando, por ejemplo, el protocolo IP.
Subsiguientemente, como se muestra en el paso 420, las solicitudes
procedentes del cliente serán efectuadas al servidor óptimo de
contenido, por un ejemplo 362, por la ruta óptima a su máquina (que
también es el lugar óptimo para entrar en la red externa para llegar
al propio proveedor de red del cliente
explorador).
explorador).
La Figura 4B representa un conjunto de pasos que
ocurren en el proceso de recibir, evaluar y contestar una solicitud
de cliente en una realización alternativa de la invención.
Comparando los pasos de procesamiento de la realización representada
en la Figura 4B con los de la realización representada en la Figura
4A, es claro que los pasos particulares son idénticos. Sin embargo,
es digno de mención que los pasos 412, 414, 416 y 418 no son
transacciones de red, como lo eran en la Figura 4A, sino más bien
transacciones entre procesos residentes en el mismo lugar dentro de
una máquina de servidor.
La Figura 4C representa un conjunto de pasos que
ocurren en el proceso de recibir, evaluar y contestar una solicitud
de cliente en una realización preferible de la invención. Comparando
los pasos de procesamiento de la realización representada en la
Figura 4B con los de la realización representa en la Figura 4C, es
claro que la diferencia principal es que los pasos 419 y 420 de la
Figura 4B, la respuesta de reenviar y los pasos de conversación HTTP
subsiguientes, respectivamente, han sido sustituidos por un paso
nuevo 422. En el paso 422, el tráfico IP procedente del cliente es
retransmitido al "servidor óptimo" de acuerdo con la
determinación del director. Este toma el lugar del paso 419 de
respuesta de reenviar que es efectuado por el proceso de extremo
frontal al cliente, como es mostrado en la Figura 4B. Es digno de
mención que los pasos 402, 404, 410, 412, 413, 414, 415, 416, 417 y
418 permanecen iguales en la realización preferible de la Figura 4C
que en las realizaciones de las Figuras 4A y 4B.
La Figura 4C representa los pasos de
procesamiento en la realización preferible. En un paso 410, un
extremo frontal/retransmisor 360 intercepta los paquetes que entran
en la red. Basado en la información de dirección contenida dentro de
la cabecera IP, el extremo frontal/retransmisor determina el
servidor de destino original del paquete. A continuación, en un paso
412, el extremo frontal/retransmisor invita al director 362 a tomar
la decisión de encaminamiento de "servidor óptimo". En los
pasos 413, 414, 415, 416, 417 y 418, el director, en conjunción con
los componentes de gestor 366 de carga, gestor 364 de ping, demonio
de carga y demonio ping, determina un "servidor óptimo" para
el tráfico IP y comunica esta dirección de máquina al extremo
frontal/retransmisor. El proceso de decisión es idéntico que el de
las realizaciones de las Figuras 4A y 4B. En un paso 422, el extremo
frontal/retransmisor retransmite todos los paquetes desde ese
cliente a la máquina de "servidor óptimo". Como la
retransmisión de paquetes tiene lugar en el nivel IP, los paquetes
para cualquier servicio que funciona sobre la capa IP pueden ser
encaminados por los métodos de la presente invención.
El director toma decisiones sobre que servidor
de contenido y que encaminador son mejores para cada solicitud por
un cliente. La Figura 5A representa un organigrama 500 de los pasos
de proceso emprendidos por un director en una realización específica
de la invención. En un paso 501, una métrica de red es calculada
para cada combinación de "servidor de contenido" y
"encaminador saliente". Una lista clasificada es construida con
estas métricas, teniendo el formato:
\vskip1.000000\baselineskip
(3)(sitio 1
frontera 1 métrica, ..., sitio N frontera N métrico
N)
\vskip1.000000\baselineskip
En un paso 502, los servidores aspirantes para
los sitios óptimos son seleccionados a partir de la lista producida
en el paso 501 anterior. El procesamiento recorre la lista,
seleccionando la métrica de categoría superior así como cualesquier
aspirantes que estén dentro de un cierto porcentaje (digamos X%) de
la métrica de categoría superior. Obsérvese que cada servidor de
contenido será listado con todas las combinaciones de encaminadores
salientes en la lista. Puesto que no es necesario considerar las
combinaciones de servidor-encaminador que sean
absurdas, por ejemplo desde el servidor de LA (Los Angeles) yendo a
través de la frontera de NY (Nueva York) no precisa ser considerada
si hay una combinación de servidor de LA yendo a través de la
frontera de LA, o sea, considérese solo la "óptima". Por
ejemplo, con X=5 y la lista clasificada de combinaciones (sitio,
frontera, métrica) como es representada en las líneas (4):
\vskip1.000000\baselineskip
(4)@network =
(ny ny 300 sj la 305 sj sj 312 ny sj 380 dc ny 400
...)
\vskip1.000000\baselineskip
Las tres primeras entradas son:
ny ny 300
sj la 305
sj sj 312
Puesto que todas estas están dentro del 5% entre
sí, el sistema considerará las tres. Sin embargo, obsérvese que San
José (SJ) es listada dos veces y que el tiempo del segundo listado
es mayor que el tiempo del primero. Por tanto, la primera aparición
del servidor de San José (SJ) es preferida a la segunda, así que la
segunda es desechada a favor de la primera. Es seleccionado un
servidor en Nueva York, (NY) o San José (SJ). Si es elegido un
servidor en NY, entonces también será seleccionada la frontera en
NY. Si es elegido un servidor en SJ, la frontera en LA es
"óptima".
En un paso 503, el servidor "óptimo" es
seleccionado a partir de los aspirantes. Hacer una lista de todas
las métricas para servidores aspirantes y aplicar un algoritmo
estadístico para seleccionar el servidor óptimo a partir de los
aspirantes. El resultado de este paso es el sitio para el servidor
seleccionado y un identificador para el servidor específico (puede
haber servidores múltiples en cada sitio).
En un paso 504, a partir del sitio del servidor
seleccionado anteriormente, el sistema recupera que frontera ha de
ser usada para el sitio conservado en el paso 502. Entonces, a
partir del identificador de servidor y de la frontera saliente, es
determinado el nombre de dominio correcto cualificado completamente
que tiene la dirección IP apropiada para el encaminamiento por
directriz interno.
El gestor de ping solicita constantemente
información de ping desde uno o más demonios de ping. El gestor de
ping envía al director una secuencia de valores representativos del
tiempo de ida y vuelta hacia y desde cada sitio de cliente. Los
sitios de clientes que no responden son representados por un valor
grande arbitrario si un demonio de ping no responde. En una
realización particular, un gestor de ping enviará a un director una
secuencia tal como es representada por las líneas (5) y (6)
siguientes:
\vskip1.000000\baselineskip
(5)"client_address
metric_site_1 metric_site2...metric_
site:N/n"
\vskip1.000000\baselineskip
- "128.9.192.443009999999 280 450\n"
- (6)
\vskip1.000000\baselineskip
En una realización preferida, las métricas de
sitios son ordenadas.
\vskip1.000000\baselineskip
- @incoming_metric_order=('ny','la','dc','sj')
- (7)
\vskip1.000000\baselineskip
La Figura 5B representa un organigrama 510 de
los pasos de proceso realizados por el director en respuesta a
recibir desde el gestor de ping la secuencia de información
representada en las líneas (5) y (6) anteriores. En un paso 512 del
organigrama 510, el director realiza el procesamiento sobre la
información entrante procedente del gestor de ping para almacenar la
información en un formato utilizable como es representado por el
pseudocódigo en las líneas (8) siguientes.
A continuación, en un paso 514, en respuesta a
una solicitud recibida desde un proceso de extremo frontal, el
director recuperará información sobre la solicitud que ha de ser
contestada. Las líneas (9) representa el pseudocódigo para el paso
514 de procesamiento.
En un paso 516, el director calcula métricas
unidireccionales a partir de las métricas bidireccionales
proporcionadas por el gestor de ping según el pseudocódigo siguiente
en las líneas (10):
\newpage
A continuación, en un paso 518, el director
calcula métricas de trayectos para todas las combinaciones de sitio
y frontera según el pseudocódigo siguiente en las líneas (11):
\newpage
A continuación, en un paso 520, el director
clasifica las métricas y construye una lista ordenada usando el
pseudocódigo siguiente en las líneas (12):
En este punto, la variable @sorted_list contiene
toda la información necesaria para seleccionar pares de sitios y
servidores aspirantes.
El gestor de carga envía mensajes al director
una vez cada dos segundos aproximadamente, en el formato
representado en la línea (13):
(13)"servidor1 carga1 servidor2
carga2 ... servidorN
cargaN";
La Figura 5C representa un organigrama 521 de
pasos de proceso de listas realizados por el director al seleccionar
un servidor "óptimo", usando la información recibida desde el
gestor de carga, representada en la línea (13) anterior, y el gestor
de ping, representada en las líneas (5) y (6) anteriores.
El director mantiene varias estructuras de datos
internos, incluyendo un conjunto asociativo de cargas de servidores,
empareja valores de cargas con identificadores de servidores:
- \textdollarload_array{\textdollarserverID}=\textdollarload;
una lista de servidores en cada sitio:
- \textdollarservers{'la'}="www.lal.test.com www.1a2.test.com";
- \textdollarservers{'dc'}="www.dcl.test.com www.dc2.test.com";
una correspondencia de servidores y fronteras en
un nombre correcto que tiene una dirección de origen
correspondiente:
- \textdollarserver_map{"www.lal.test.com la"}="www.lal-la.test.com";
- \textdollarserver_map{"www.lal.test.com dc"}="www.lal-dc.test.com";
La variable @sorted-list,
generada anteriormente, contiene triples de sitios, fronteras y
métricas de trayectos. A partir de estas estructuras de datos, el
director puede elegir un servidor óptimo usando los pasos mostrados
en la Figura 5C. Un paso de decisión verifica que todas las entradas
en la @sorted_list no han sido procesadas, e inicializa la variable
"best_metric" a la métrica del primer elemento de la
@sorted_list. Estos pasos son representados en el pseudocódigo
siguiente:
Como se muestra en la Figura 5C, un paso 522 de
decisión, un paso 524 de proceso, un paso 526 de decisión y un paso
528 de proceso implementan una construcción de bucle para
seleccionar triples de sitio, frontera y métrica a partir de la
@sorted_list y añadir la información de frontera a una lista de
fronteras de sitios y el sitio a una lista de servidores. Esto es
representado también en el pseudocódigo siguiente:
Una vez que este bucle ha procesado todos los
elementos de la @sorted_list, el paso 522 de decisión tomará el
trayecto "si" y el procesamiento continuará con un paso 530 de
decisión que, junto con los pasos 532 y 534 de proceso, implementa
una construcción de bucle para procesar todos los servidores en la
lista de servidores generada anteriormente, y añadir cada carga de
servidor a una lista de cargas de servidores, y sumar las cargas de
todos los servidores en una variable \textdollartotal. Esto es
representado también en el pseudocódigo siguiente:
Una vez que este bucle ha procesado todos los
elementos de la @server_list, el paso 530 de decisión de la Figura
5C tomará el trayecto "si" y el procesamiento continuará con un
paso 536 de proceso que determina un número aleatorio entre 1 y la
carga total de servidores. A continuación, el procesamiento continúa
en el bucle formado por los pasos 538 y 544 de decisión y los pasos
540, 542 y 546 de procesamiento. Este bucle pasa por los servidores
en la @server_list, sumando sus cargas hasta que este total
acumulado supera el número aleatorio seleccionado en el paso 536 de
proceso, o hasta que ha sido procesado el último elemento de la
@server_list. En cualquier caso, el servidor que es examinado cuando
cualquiera de estas dos condiciones es satisfecha es el servidor
seleccionado por el director como el servidor "óptimo". Esto
también es representado en el pseudocódigo siguiente:
Una vez que el director ha seleccionado un
servidor "óptimo", el procesamiento continúa como es descrito
por el paso 504 de la Figura 5A, y el pseudocódigo siguiente.
En conclusión, puede verse que la presente
invención proporciona un sistema de redes interconectadas en el que
los objetos de datos son servidos a los usuarios según el trayecto
de red disponible más corto. Una ventaja adicional de los métodos
según la invención es que estos métodos exhiben tolerancia de los
fallos que ocurren en el hardware fundamental. Adicionalmente, la
fiabilidad de sistemas según la invención es incrementada respecto a
los servidores Web de técnica anterior. Otras realizaciones de la
presente invención y sus componentes individuales resultarán
fácilmente evidentes para los expertos en la técnica a partir de la
descripción detallada anterior, en la que son descritas
realizaciones de la invención por medio de ilustrar el modo óptimo
considerado para llevar a cabo la invención. Como se comprenderá, la
invención es capaz de otras realizaciones diferentes y sus varios
detalles son capaces de modificaciones en diversos aspectos
evidentes, todo sin apartarse del alcance de la presente invención.
Por consiguiente, los dibujos y la descripción detallada han de ser
consideradas como de naturaleza ilustrativa y no como restrictiva.
Por tanto, no se pretende que la invención sea limitada excepto como
es indicado por las reivindicaciones adjuntas.
Claims (23)
1. Un sistema para encamina solicitudes de
objetos de datos desde una pluralidad de clientes por una red (200)
basado en una directriz sobre los estados de red, comprendiendo:
una pluralidad de encaminadores (222, 224, 226,
228);
una pluralidad de servidores de contenido (232,
234, 236, 238) para servir los objetos de datos solicitados por los
clientes;
una pluralidad de servidores de extremo frontal
(212, 214, 216, 218) para recibir las solicitudes de objetos de
datos desde los clientes y encaminar las solicitudes de objetos de
datos a los servidores de contenido (232, 234, 236, 238) por vía de
la red (200);
un director (250) para monitorizar
periódicamente los estados de red y para identificar combinaciones
de los servidores de contenido (232, 234, 236, 238) y los
encaminadores (222, 224, 226, 228) como aspirantes a solicitudes de
objetos de datos particulares de servicio, con el director (250)
seleccionando unos de los aspirantes basado en los estados
monitorizados de red y notificando a los servidores de extremo
frontal (212, 214, 216, 218) para encaminar las solicitudes de
objetos de datos particulares a los servidores de contenido de los
aspirantes seleccionados;
en el que los estados de red incluyen
información sobre un tiempo para recorrer un trayecto por la red a
cada uno de los servidores de contenido (232, 234, 236, 238),
seleccionando el director (250) los aspirantes que tiene los
servidores de contenido con un trayecto que puede ser recorrido en
una cantidad mínima de tiempo;
en el que el tiempo para recorrer el trayecto es
determinado por una respuesta de eco ICMP.
2. El sistema de la reivindicación 1, en el que
el director (250) recibe una pregunta desde los servidores de
extremo frontal (212, 214, 216, 218) y contesta la pregunta con un
reenvío de respuesta a los servidores de contenido (232, 234, 236,
238) de los aspirantes seleccionados.
3. El sistema de la reivindicación 1 o 2, en el
que los estados de red incluyen información sobre una carga para
cada uno de los servidores de contenido (232, 234, 236, 238),
seleccionando el director (250) los aspirantes que tienen los
servidores de contenido con la carga mínima.
4. El sistema de cualquiera de las
reivindicaciones 1 a 3, en el que la respuesta de reenvío es una
respuesta de reenvío HTTP.
5. El sistema de cualquiera de las
reivindicaciones 1 a 4, en el que la carga de los servidores de
contenido (232, 234, 236, 238) es determinada por el número de
conexiones TCP abiertas para cada uno de los servidores de
contenido, seleccionando el director (250) los aspirantes que tienen
los servidores de contenido con el número mínimo de conexiones TCP
abiertas.
6. El sistema de cualquiera de las
reivindicaciones 1 a 5, en el que la carga de los servidores de
contenido (232, 234, 236, 238) es determinada por la cantidad de
memoria RAM libre disponible para cada uno de los servidores de
contenido, seleccionando el director (250) los aspirantes que tienen
los servidores de contenido con la cantidad máxima de memoria RAM
libre disponible.
7. El sistema de cualquiera de las
reivindicaciones 1 a 6, en el que la carga de los servidores de
contenido (232, 234, 236, 238) es determinada por la cantidad de
memoria SWAP (INTERCAMBIO) libre disponible para cada uno de los
servidores de contenido, seleccionando el director (250) los
aspirantes que tienen los servidores de contenido con la cantidad
máxima de memoria SWAP (INTERCAMBIO) libre disponible.
8. El sistema de cualquiera de las
reivindicaciones 1 a 7, en el que la carga de los servidores de
contenido (232, 234, 236, 238) es determinada por la cantidad de
tiempo inactivo de UCP para cada uno de los servidores de contenido,
seleccionando el director (250) los aspirantes que tienen los
servidores de contenido con la cantidad máxima de tiempo inactivo de
UCP.
9. Un método para encaminar solicitudes de
objetos de datos por una red (200) desde una pluralidad de clientes
a una pluralidad de servidores de contenido (232, 234, 236, 238) por
vía de una pluralidad de encaminadores (222, 224, 226, 228), basado
en una directriz sobre los estados de red, comprendiendo los pasos
de:
monitorizar periódicamente los estados de
red;
identificar combinaciones de los servidores de
contenido (232, 234, 236, 238) y los encaminadores (222, 224, 226,
228) como aspirantes para atender las solicitudes de objetos de
datos;
\newpage
seleccionar un aspirante óptimo de entre los
aspirantes a una de las solicitudes de objetos de de datos basado en
los estados de red monitorizados; y
encaminar la una solicitud de objeto de datos al
servidor de contenido del aspirante óptimo seleccionado por la red
(200);
en el que el paso de monitorizar incluye el
subpaso de:
determinar un tiempo para recorrer una ruta
entre cada uno de los servidores de contenido y uno particular de
los clientes; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con un trayecto que puede ser recorrido en una
cantidad mínima de tiempo;
en el que la cantidad de tiempo para recorrer el
trayecto es determinada por una respuesta de eco ICMP.
10. El método de la reivindicación 9, en el que
el paso de encaminar incluye los subpasos de:
recibir una pregunta sobre el servidor de
contenido del aspirante óptimo, y
responder la pregunta con un reenvío de
respuesta al servidor de contenido del aspirante óptimo seleccionado
en el paso de seleccionar.
11. El método de la reivindicación 9 o 10, en el
que el paso de monitorizar incluye el subpaso de:
determinar una carga de cada uno de los
servidores de contenido; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con la carga mínima.
12. El método de cualquiera de las
reivindicaciones 9 a 11, en el que la respuesta de reenvío es una
respuesta de reenvío HTTP.
13. El método de cualquiera de las
reivindicaciones 9 a 12, en el que el paso de monitorizar incluye el
subpaso de:
determinar el número de conexiones TCP abiertas
para cada uno de los servidores de contenido; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con un número mínimo de conexiones TCP
abiertas.
14. El método de cualquiera de las
reivindicaciones 9 a 13, en el que el paso de monitorizar incluye el
subpaso de:
determinar una cantidad de memoria RAM libre
disponible para cada uno de los servidores de contenido; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con la cantidad máxima de memoria RAM libre
disponible.
15. El método de cualquiera de las
reivindicaciones 9 a 14, en el que el paso de monitorizar incluye el
subpaso de:
determinar una cantidad de memoria SWAP
(INTERCAMBIO) libre disponible para cada uno de los servidores de
contenido; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con una cantidad máxima de memoria SWAP
(INTERCAMBIO) libre disponible.
16. El método de cualquiera de las
reivindicaciones 9 a 15, en el que el paso de monitorizar incluye el
subpaso de:
determinar una cantidad de tiempo inactivo de
UCP para cada uno de los servidores de contenido; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con una cantidad máxima de tiempo inactivo de
UCP.
17. Un método para encaminar información desde
una pluralidad de clientes entre una pluralidad de servidores (232,
234, 236, 238) por vía de una pluralidad de encaminadores (222, 224,
226, 228) basado en una directriz sobre un tiempo de respuesta en un
entorno de enlace por red de paquetes, comprendiendo los pasos
de:
monitorizar el tiempo de respuesta de red;
identificar combinaciones de los servidores
(232, 234, 236, 238) y los encaminadores (222, 224, 226, 228) como
aspirantes a recibir la información;
seleccionar un aspirante óptimo de entre los
aspirantes basado en el tiempo monitorizado de respuesta de red;
retransmitir la información desde un cliente
particular en una pluralidad de clientes al servidor del aspirante
óptimo;
en el que el paso de monitorizar incluye el
subpaso de:
determinar un tiempo para recorrer una ruta
entre cada uno de los servidores y uno particular de los clientes;
y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor con un trayecto que puede ser recorrido en una cantidad
mínima de tiempo;
en el que la cantidad de tiempo para recorrer el
trayecto es determinada por una respuesta de eco ICMP.
18. El método de la reivindicación 17, en el que
el paso de retransmitir incluye el subpaso de:
expedir la información al servidor del aspirante
óptimo usando protocolos de capa de red.
19. El método de la reivindicación 17 o 18, en
el que el paso de monitorizar incluye el subpaso de:
determinar una carga de cada uno de los
servidores; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor con la carga mínima.
20. El método de cualquiera de las
reivindicaciones 17 a 19, en que el paso de monitorizar incluye el
subpaso de:
determinar el número de conexiones TCP abiertas
para cada uno de los servidores; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor con un número mínimo de conexiones TCP abiertas.
21. El método de cualquiera de las
reivindicaciones 17 a 20, en el que el paso de monitorizar incluye
el subpaso de:
determinar una cantidad de memoria RAM libre
disponible para cada uno de los servidores; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor con la cantidad máxima de memoria RAM libre disponible.
22. El método de cualquiera de las
reivindicaciones 17 a 21, en el que el paso de monitorizar incluye
el subpaso de:
determinar una cantidad de memoria SWAP
(INTERCAMBIO) libre disponible para cada uno de los servidores;
y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor de contenido con una cantidad máxima de memoria SWAP
(INTERCAMBIO) libre disponible.
23. El método de cualquiera de las
reivindicaciones 17 a 22, en el que el paso de monitorizar incluye
el subpaso de:
determinar una cantidad de tiempo inactivo de
UCP para cada uno de los servidores; y
en el que el paso de seleccionar incluye el
subpaso de:
seleccionar el aspirante óptimo que tiene el
servidor con la cantidad máxima de tiempo inactivo de UCP.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US3248496P | 1996-12-09 | 1996-12-09 | |
| US32484P | 1996-12-09 | ||
| US08/965,848 US6185619B1 (en) | 1996-12-09 | 1997-11-07 | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
| US965848 | 1997-11-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2258800T3 true ES2258800T3 (es) | 2006-09-01 |
Family
ID=26708484
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES97953118T Expired - Lifetime ES2258800T3 (es) | 1996-12-09 | 1997-12-09 | Sistema de computacion distribuido y metodo para distribuir peticiones de usuario a servidores de red duplicados. |
Country Status (12)
| Country | Link |
|---|---|
| US (2) | US6185619B1 (es) |
| EP (1) | EP1016253B1 (es) |
| JP (1) | JP4354532B2 (es) |
| AT (1) | ATE297628T1 (es) |
| AU (1) | AU724096B2 (es) |
| CA (1) | CA2274496C (es) |
| DE (1) | DE69733498T2 (es) |
| DK (1) | DK1016253T3 (es) |
| ES (1) | ES2258800T3 (es) |
| NZ (1) | NZ336187A (es) |
| PT (1) | PT1016253E (es) |
| WO (1) | WO1998026559A1 (es) |
Families Citing this family (388)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6473793B1 (en) * | 1994-06-08 | 2002-10-29 | Hughes Electronics Corporation | Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users |
| US7188352B2 (en) | 1995-07-11 | 2007-03-06 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
| US8661477B2 (en) * | 1994-10-12 | 2014-02-25 | Touchtunes Music Corporation | System for distributing and selecting audio and video information and method implemented by said system |
| WO1996012255A1 (fr) | 1994-10-12 | 1996-04-25 | Technical Maintenance Corporation | Systeme de reproduction audio-visuelle numerique intelligent |
| US7424731B1 (en) * | 1994-10-12 | 2008-09-09 | Touchtunes Music Corporation | Home digital audiovisual information recording and playback system |
| US6317775B1 (en) | 1995-11-03 | 2001-11-13 | Cisco Technology, Inc. | System for distributing load over multiple servers at an internet site |
| US5991809A (en) * | 1996-07-25 | 1999-11-23 | Clearway Technologies, Llc | Web serving system that coordinates multiple servers to optimize file transfers |
| FR2753868A1 (fr) * | 1996-09-25 | 1998-03-27 | Technical Maintenance Corp | Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede |
| SE507720C2 (sv) | 1997-06-12 | 1998-07-06 | Telia Ab | Arrangemang för lastbalansering i datornät |
| 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 |
| US6760746B1 (en) | 1999-09-01 | 2004-07-06 | Eric Schneider | Method, product, and apparatus for processing a data request |
| US6775692B1 (en) | 1997-07-31 | 2004-08-10 | Cisco Technology, Inc. | Proxying and unproxying a connection using a forwarding agent |
| FR2769165B1 (fr) | 1997-09-26 | 2002-11-29 | Technical Maintenance Corp | Systeme sans fil a transmission numerique pour haut-parleurs |
| US7054935B2 (en) * | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
| US6735631B1 (en) | 1998-02-10 | 2004-05-11 | Sprint Communications Company, L.P. | Method and system for networking redirecting |
| US8296396B2 (en) | 1998-02-10 | 2012-10-23 | Level 3 Communications, Llc | Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions |
| US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
| US6330617B1 (en) * | 1998-02-27 | 2001-12-11 | Sabre Inc | System, method and computer program product for data conversion in a computer network |
| US6681327B1 (en) * | 1998-04-02 | 2004-01-20 | Intel Corporation | Method and system for managing secure client-server transactions |
| JP3734206B2 (ja) * | 1998-05-01 | 2006-01-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | エージェント対話管理方法、コンピュータ及び記憶媒体 |
| US20030191717A1 (en) * | 1998-06-05 | 2003-10-09 | Johnson Teddy C. | High performance server data delivery system and method |
| US6446109B2 (en) * | 1998-06-29 | 2002-09-03 | Sun Microsystems, Inc. | Application computing environment |
| US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
| US6249801B1 (en) * | 1998-07-15 | 2001-06-19 | Radware Ltd. | Load balancing |
| US6665702B1 (en) * | 1998-07-15 | 2003-12-16 | Radware Ltd. | Load balancing |
| FR2781582B1 (fr) * | 1998-07-21 | 2001-01-12 | Technical Maintenance Corp | Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels |
| FR2781580B1 (fr) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent |
| FR2781591B1 (fr) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | Systeme de reproduction audiovisuelle |
| US8028318B2 (en) * | 1999-07-21 | 2011-09-27 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
| US6327622B1 (en) | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
| US6324580B1 (en) | 1998-09-03 | 2001-11-27 | Sun Microsystems, Inc. | Load balancing for replicated services |
| US6092178A (en) * | 1998-09-03 | 2000-07-18 | Sun Microsystems, Inc. | System for responding to a resource request |
| US6181692B1 (en) * | 1998-09-03 | 2001-01-30 | Genesys Telecommunications Laboratories Inc | Method and apparatus for data routing, delivery, and authentication in a packet data network |
| US6535509B2 (en) | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
| US6993591B1 (en) * | 1998-09-30 | 2006-01-31 | Lucent Technologies Inc. | Method and apparatus for prefetching internet resources based on estimated round trip time |
| US20020126135A1 (en) * | 1998-10-19 | 2002-09-12 | Keith Ball | Image sharing for instant messaging |
| US7339595B2 (en) | 1998-10-19 | 2008-03-04 | Lightsurf Technologies, Inc. | Method and system for improved internet color |
| 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 |
| US6691165B1 (en) | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
| US7664864B2 (en) * | 1998-11-13 | 2010-02-16 | Verisign, Inc. | Meta content distribution network |
| US6931446B1 (en) * | 1998-12-14 | 2005-08-16 | International Business Machines Corporation | Methods, systems and computer program products for policy based network control of characteristics of user sessions |
| US6912590B1 (en) * | 1998-12-18 | 2005-06-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Single IP-addressing for a telecommunications platform with a multi-processor cluster using a distributed socket based internet protocol (IP) handler |
| JP2000196677A (ja) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | ネットワ―クシステムに用いられる中継装置 |
| 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 |
| US7099848B1 (en) | 1999-02-16 | 2006-08-29 | Listen.Com, Inc. | Audio delivery and rendering method and apparatus |
| 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 |
| US8726330B2 (en) * | 1999-02-22 | 2014-05-13 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
| US6760775B1 (en) * | 1999-03-05 | 2004-07-06 | At&T Corp. | System, method and apparatus for network service load and reliability management |
| US6314465B1 (en) * | 1999-03-11 | 2001-11-06 | Lucent Technologies Inc. | Method and apparatus for load sharing on a wide area network |
| US7188138B1 (en) | 1999-03-22 | 2007-03-06 | Eric Schneider | Method, product, and apparatus for resource identifier registration and aftermarket services |
| USRE43690E1 (en) | 1999-03-22 | 2012-09-25 | Esdr Network Solutions Llc | Search engine request method, product, and apparatus |
| US8037168B2 (en) | 1999-07-15 | 2011-10-11 | Esdr Network Solutions Llc | Method, product, and apparatus for enhancing resolution services, registration services, and search services |
| US6338082B1 (en) | 1999-03-22 | 2002-01-08 | Eric Schneider | Method, product, and apparatus for requesting a network resource |
| US9141717B2 (en) | 1999-03-22 | 2015-09-22 | Esdr Network Solutions Llc | Methods, systems, products, and devices for processing DNS friendly identifiers |
| GB9906628D0 (en) * | 1999-03-23 | 1999-05-19 | Koninkl Philips Electronics Nv | Data network load management |
| US6801949B1 (en) | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
| US7299294B1 (en) | 1999-11-10 | 2007-11-20 | Emc Corporation | Distributed traffic controller for network data |
| WO2000062502A2 (en) * | 1999-04-12 | 2000-10-19 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
| 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 |
| CN1206602C (zh) * | 1999-06-17 | 2005-06-15 | 国际商业机器公司 | 因特网环境下综合负载分配和资源管理的系统和方法 |
| US6275470B1 (en) * | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
| US6628654B1 (en) * | 1999-07-01 | 2003-09-30 | Cisco Technology, Inc. | Dispatching packets from a forwarding agent using tag switching |
| US6549516B1 (en) | 1999-07-02 | 2003-04-15 | Cisco Technology, Inc. | Sending instructions from a service manager to forwarding agents on a need to know basis |
| US6687222B1 (en) | 1999-07-02 | 2004-02-03 | Cisco Technology, Inc. | Backup service managers for providing reliable network services in a distributed environment |
| US6742045B1 (en) | 1999-07-02 | 2004-05-25 | Cisco Technology, Inc. | Handling packet fragments in a distributed network service environment |
| US7051066B1 (en) | 1999-07-02 | 2006-05-23 | Cisco Technology, Inc. | Integrating service managers into a routing infrastructure using forwarding agents |
| US6650641B1 (en) | 1999-07-02 | 2003-11-18 | Cisco Technology, Inc. | Network address translation using a forwarding agent |
| US6735169B1 (en) | 1999-07-02 | 2004-05-11 | Cisco Technology, Inc. | Cascading multiple services on a forwarding agent |
| US6704278B1 (en) | 1999-07-02 | 2004-03-09 | Cisco Technology, Inc. | Stateful failover of service managers |
| US6633560B1 (en) | 1999-07-02 | 2003-10-14 | Cisco Technology, Inc. | Distribution of network services among multiple service managers without client involvement |
| US6606316B1 (en) | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Gathering network statistics in a distributed network service environment |
| US6606315B1 (en) | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Synchronizing service instructions among forwarding agents using a service manager |
| US6970913B1 (en) * | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
| US6400710B1 (en) * | 1999-07-09 | 2002-06-04 | Enron Warspeed Services, Inc. | Network with hot button for providing switched broadband multipoint/multimedia intercommunication |
| FR2796482B1 (fr) | 1999-07-16 | 2002-09-06 | Touchtunes Music Corp | Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles |
| WO2001013583A2 (en) | 1999-08-16 | 2001-02-22 | Iready Corporation | Internet jack |
| USRE44207E1 (en) | 1999-09-01 | 2013-05-07 | Esdr Network Solutions Llc | Network resource access method, product, and apparatus |
| JP3782265B2 (ja) | 1999-09-07 | 2006-06-07 | 株式会社日立製作所 | オンラインサービス提供の取次装置 |
| CA2318622A1 (en) * | 1999-09-13 | 2001-03-13 | Nortel Networks Limited | Call control server selection with load sharing mechanisms |
| US6810411B1 (en) * | 1999-09-13 | 2004-10-26 | Intel Corporation | Method and system for selecting a host in a communications network |
| US6857106B1 (en) | 1999-09-15 | 2005-02-15 | Listen.Com, Inc. | Graphical user interface with moveable, mergeable elements |
| US6957247B1 (en) * | 1999-09-22 | 2005-10-18 | Ates Gorkem I | Internet system |
| US6667980B1 (en) | 1999-10-21 | 2003-12-23 | Sun Microsystems, Inc. | Method and apparatus for providing scalable services using a packet distribution table |
| US6957254B1 (en) * | 1999-10-21 | 2005-10-18 | Sun Microsystems, Inc | Method and apparatus for reaching agreement between nodes in a distributed system |
| US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
| US6724733B1 (en) | 1999-11-02 | 2004-04-20 | Sun Microsystems, Inc. | Method and apparatus for determining approximate network distances using reference locations |
| AU4347600A (en) * | 1999-11-10 | 2001-06-06 | Rainfinity, Inc. | Distributed traffic controlling system and method for network data |
| US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
| WO2001042900A2 (en) | 1999-12-08 | 2001-06-14 | Tune To Com Inc. | Scheduled retrieval, storage and access of media data |
| US7441045B2 (en) * | 1999-12-13 | 2008-10-21 | F5 Networks, Inc. | Method and system for balancing load distribution on a wide area network |
| US6742023B1 (en) * | 2000-04-28 | 2004-05-25 | Roxio, Inc. | Use-sensitive distribution of data files between users |
| US6799202B1 (en) | 1999-12-16 | 2004-09-28 | Hachiro Kawaii | Federated operating system for a server |
| SE517217C2 (sv) * | 1999-12-29 | 2002-05-07 | Ericsson Telefon Ab L M | Metod och system för kommunikation mellan olika nätverk |
| US7230944B1 (en) | 1999-12-30 | 2007-06-12 | Geologic Solutions, Inc. | System and method of host routing when host computer is within a home network and/or a complementary network |
| US7068992B1 (en) | 1999-12-30 | 2006-06-27 | Motient Communications Inc. | System and method of polling wireless devices having a substantially fixed and/or predesignated geographic location |
| US7024199B1 (en) | 1999-12-30 | 2006-04-04 | Motient Communications Inc. | System and method of querying a device, checking device roaming history and/or obtaining device modem statistics when device is within a home network and/or complementary network |
| US7162238B1 (en) | 1999-12-30 | 2007-01-09 | Massie Rodney E | System and method of querying a device, checking device roaming history and/or obtaining device modem statistics when device is within a home network and/or a complementary network |
| WO2001050331A2 (en) * | 2000-01-06 | 2001-07-12 | L90, Inc. | Method and apparatus for selecting and delivering internet based advertising |
| US6862613B1 (en) | 2000-01-10 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus for managing operations of clustered computer systems |
| US6748429B1 (en) | 2000-01-10 | 2004-06-08 | Sun Microsystems, Inc. | Method to dynamically change cluster or distributed system configuration |
| US6735206B1 (en) | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for performing a fast service lookup in cluster networking |
| US6587866B1 (en) * | 2000-01-10 | 2003-07-01 | Sun Microsystems, Inc. | Method for distributing packets to server nodes using network client affinity and packet distribution table |
| US6769008B1 (en) | 2000-01-10 | 2004-07-27 | Sun Microsystems, Inc. | Method and apparatus for dynamically altering configurations of clustered computer systems |
| US6789213B2 (en) * | 2000-01-10 | 2004-09-07 | Sun Microsystems, Inc. | Controlled take over of services by remaining nodes of clustered computing system |
| US6735205B1 (en) | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for fast packet forwarding in cluster networking |
| US6757836B1 (en) | 2000-01-10 | 2004-06-29 | Sun Microsystems, Inc. | Method and apparatus for resolving partial connectivity in a clustered computing system |
| US6748437B1 (en) | 2000-01-10 | 2004-06-08 | Sun Microsystems, Inc. | Method for creating forwarding lists for cluster networking |
| 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 |
| US7508753B2 (en) * | 2000-01-31 | 2009-03-24 | At&T Intellectual Property, Ii, L.P. | Packet redirection and message stream management |
| FR2805377B1 (fr) * | 2000-02-23 | 2003-09-12 | Touchtunes Music Corp | Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede |
| JP4982651B2 (ja) * | 2000-02-04 | 2012-07-25 | リアルネットワークス・インコーポレイテッド | 分散型メディアネットワーク及びメタデータサーバを含んだシステム |
| FR2805072B1 (fr) | 2000-02-16 | 2002-04-05 | Touchtunes Music Corp | Procede d'ajustement du volume sonore d'un enregistrement sonore numerique |
| FR2805060B1 (fr) | 2000-02-16 | 2005-04-08 | Touchtunes Music Corp | Procede de reception de fichiers lors d'un telechargement |
| 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 |
| US7552233B2 (en) * | 2000-03-16 | 2009-06-23 | Adara Networks, Inc. | System and method for information object routing in computer networks |
| 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 |
| US20020032905A1 (en) * | 2000-04-07 | 2002-03-14 | Sherr Scott Jeffrey | Online digital video signal transfer apparatus and method |
| US20020154157A1 (en) * | 2000-04-07 | 2002-10-24 | Sherr Scott Jeffrey | Website system and process for selection and delivery of electronic information on a network |
| WO2001078303A1 (en) * | 2000-04-07 | 2001-10-18 | Movielink, Llc. | Secure digital content licensing system and method |
| US7155415B2 (en) | 2000-04-07 | 2006-12-26 | Movielink Llc | Secure digital content licensing system and method |
| US20020073033A1 (en) * | 2000-04-07 | 2002-06-13 | Sherr Scott Jeffrey | Online digital video signal transfer apparatus and method |
| US7024466B2 (en) * | 2000-04-07 | 2006-04-04 | Movielink, Llc | Network configured for delivery of content for download to a recipient |
| US7240100B1 (en) * | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
| US7120662B2 (en) * | 2000-04-17 | 2006-10-10 | Circadence Corporation | Conductor gateway prioritization parameters |
| US6618705B1 (en) * | 2000-04-19 | 2003-09-09 | Tiejun (Ronald) Wang | Method and system for conducting business in a transnational e-commerce network |
| 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 |
| 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 |
| 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 |
| US7577754B2 (en) * | 2000-04-28 | 2009-08-18 | Adara Networks, Inc. | System and method for controlling access to content carried in a caching architecture |
| US7752024B2 (en) * | 2000-05-05 | 2010-07-06 | Computer Associates Think, Inc. | Systems and methods for constructing multi-layer topological models of computer networks |
| US7237138B2 (en) * | 2000-05-05 | 2007-06-26 | Computer Associates Think, Inc. | Systems and methods for diagnosing faults in computer networks |
| AU2001261258A1 (en) * | 2000-05-05 | 2001-11-20 | Aprisma Management Technologies, Inc. | Help desk systems and methods for use with communications networks |
| AU2001261275A1 (en) * | 2000-05-05 | 2001-11-20 | Aprisma Management Technologies, Inc. | Systems and methods for isolating faults in computer networks |
| US7500143B2 (en) * | 2000-05-05 | 2009-03-03 | Computer Associates Think, Inc. | Systems and methods for managing and analyzing faults in computer networks |
| FR2808906B1 (fr) | 2000-05-10 | 2005-02-11 | Touchtunes Music Corp | Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles |
| 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 |
| US7062642B1 (en) * | 2000-05-20 | 2006-06-13 | Ciena Corporation | Policy based provisioning of network device resources |
| US6976066B1 (en) * | 2000-05-22 | 2005-12-13 | Microsoft Corporation | Network and method for implementing network platform services for a computing device |
| WO2001091382A1 (en) | 2000-05-22 | 2001-11-29 | Nokia Corporation | System and method for providing a connection in a communication network |
| US7020698B2 (en) * | 2000-05-31 | 2006-03-28 | Lucent Technologies Inc. | System and method for locating a closest server in response to a client domain name request |
| US6836806B1 (en) | 2000-06-01 | 2004-12-28 | Aerocast, Inc. | System for network addressing |
| 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 |
| US6658000B1 (en) * | 2000-06-01 | 2003-12-02 | Aerocast.Com, Inc. | Selective routing |
| US6904460B1 (en) | 2000-06-01 | 2005-06-07 | Aerocast.Com, Inc. | Reverse content harvester |
| AR028658A1 (es) * | 2000-06-01 | 2003-05-21 | Aerocast Com Inc | Metodo de indicacion de buen estado holistico y aparato de distribucion de posibilidad de indicacion. |
| US7039691B1 (en) * | 2000-06-02 | 2006-05-02 | Sun Microsystems, Inc. | Java virtual machine configurable to perform as a web server |
| US20020095498A1 (en) * | 2000-06-05 | 2002-07-18 | Accordion Networks | Network architecture for multi-client units |
| US7047196B2 (en) | 2000-06-08 | 2006-05-16 | Agiletv Corporation | System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery |
| US20020049760A1 (en) * | 2000-06-16 | 2002-04-25 | Flycode, Inc. | Technique for accessing information in a peer-to-peer network |
| IL153298A0 (en) | 2000-06-20 | 2003-07-06 | Nds Ltd | Unicast/multicast architecture |
| FR2811175B1 (fr) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles |
| FR2811114B1 (fr) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement |
| US7089301B1 (en) * | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
| US8527639B1 (en) * | 2000-08-18 | 2013-09-03 | Cisco Technology, Inc. | Content server selection for accessing content in a content distribution network |
| US6836462B1 (en) | 2000-08-30 | 2004-12-28 | Cisco Technology, Inc. | Distributed, rule based packet redirection |
| FR2814085B1 (fr) | 2000-09-15 | 2005-02-11 | Touchtunes Music Corp | Procede de divertissement base sur les jeux concours a choix multiples |
| US7657629B1 (en) | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
| US9130954B2 (en) | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
| US7454500B1 (en) * | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
| JP2002109366A (ja) * | 2000-09-29 | 2002-04-12 | Mori Seiki Co Ltd | 製品情報提供システム |
| 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 |
| US20020040391A1 (en) * | 2000-10-04 | 2002-04-04 | David Chaiken | Server farm formed of systems on a chip |
| US20020042839A1 (en) | 2000-10-10 | 2002-04-11 | Christopher Peiffer | HTTP multiplexor/demultiplexor |
| US20020083170A1 (en) * | 2000-10-26 | 2002-06-27 | Metilinx | System-wide optimization integration model |
| US7379994B2 (en) * | 2000-10-26 | 2008-05-27 | Metilinx | Aggregate system resource analysis including correlation matrix and metric-based analysis |
| US20020178248A1 (en) * | 2000-10-26 | 2002-11-28 | Metilinx | Application program interface for optimization integration model |
| US7039717B2 (en) * | 2000-11-10 | 2006-05-02 | Nvidia Corporation | Internet modem streaming socket method |
| US7353277B1 (en) * | 2000-11-14 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Dynamic load balancing of video requests |
| US6980521B1 (en) | 2000-11-29 | 2005-12-27 | Cisco Technology, Inc. | Method and apparatus for per session load balancing with improved load sharing in a packet switched network |
| US7546369B2 (en) * | 2000-12-21 | 2009-06-09 | Berg Mitchell T | Method and system for communicating a request packet in response to a state |
| US20020116397A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
| US20020116532A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet and identifying a data structure |
| US20020116605A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for initiating execution of software in response to a state |
| US7418522B2 (en) * | 2000-12-21 | 2008-08-26 | Noatak Software Llc | Method and system for communicating an information packet through multiple networks |
| US7287090B1 (en) | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
| US7512686B2 (en) * | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
| US7421505B2 (en) * | 2000-12-21 | 2008-09-02 | Noatak Software Llc | Method and system for executing protocol stack instructions to form a packet for causing a computing device to perform an operation |
| US20020087722A1 (en) * | 2000-12-29 | 2002-07-04 | Ragula Systems D/B/A/ Fatpipe Networks | Domain name resolution making IP address selections in response to connection status when multiple connections are present |
| US7421489B2 (en) * | 2000-12-29 | 2008-09-02 | Nortel Network Limited | Network protocols for distributing functions within a network |
| US7131140B1 (en) | 2000-12-29 | 2006-10-31 | Cisco Technology, Inc. | Method for protecting a firewall load balancer from a denial of service attack |
| US7587500B2 (en) * | 2001-01-10 | 2009-09-08 | Xcelera | Distributed selection of a content server |
| US7379475B2 (en) * | 2002-01-25 | 2008-05-27 | Nvidia Corporation | Communications processor |
| US8095370B2 (en) * | 2001-02-16 | 2012-01-10 | Agiletv Corporation | Dual compression voice recordation non-repudiation system |
| US7274658B2 (en) * | 2001-03-01 | 2007-09-25 | Akamai Technologies, Inc. | Optimal route selection in a content delivery network |
| US20020133597A1 (en) * | 2001-03-14 | 2002-09-19 | Nikhil Jhingan | Global storage system |
| US20020143946A1 (en) * | 2001-03-28 | 2002-10-03 | Daniel Crosson | Software based internet protocol address selection method and system |
| 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) |
| US7340505B2 (en) * | 2001-04-02 | 2008-03-04 | Akamai Technologies, Inc. | Content storage and replication in a managed internet content storage environment |
| US8218555B2 (en) * | 2001-04-24 | 2012-07-10 | Nvidia Corporation | Gigabit ethernet adapter |
| US7203747B2 (en) * | 2001-05-25 | 2007-04-10 | Overture Services Inc. | Load balancing system and method in a multiprocessor system |
| US7000006B1 (en) * | 2001-05-31 | 2006-02-14 | Cisco Technology, Inc. | Implementing network management policies using topology reduction |
| US8175257B1 (en) | 2001-05-31 | 2012-05-08 | Cisco Technology, Inc. | Method and apparatus for scheduling automatic call distribution system callers |
| GB0115996D0 (en) * | 2001-06-29 | 2001-08-22 | Nokia Corp | Circuit-switched and packet-switched communications |
| US7290059B2 (en) * | 2001-08-13 | 2007-10-30 | Intel Corporation | Apparatus and method for scalable server load balancing |
| US6772224B2 (en) * | 2001-08-22 | 2004-08-03 | Spatial Communications Technologies, Inc. | Method and system for processing load distribution for a packetized telecommunication network entity |
| WO2003023640A2 (en) * | 2001-09-07 | 2003-03-20 | Sanrad | Load balancing method for exchanging data between multiple hosts and storage entities, in ip based storage area network |
| WO2003023607A1 (en) * | 2001-09-10 | 2003-03-20 | Cenus Technologies, Inc. | System and method for information object routing in computer networks |
| US7228337B1 (en) * | 2001-09-11 | 2007-06-05 | Cisco Technology, Inc. | Methods and apparatus for providing a network service to a virtual machine |
| US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
| CN1575582A (zh) * | 2001-09-28 | 2005-02-02 | 塞维斯通讯公司 | 可配置的自适应全球通信控制和管理 |
| US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
| 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 |
| US6938031B1 (en) | 2001-10-19 | 2005-08-30 | Data Return Llc | System and method for accessing information in a replicated database |
| US7000016B1 (en) | 2001-10-19 | 2006-02-14 | Data Return Llc | System and method for multi-site clustering in a network |
| US7984110B1 (en) * | 2001-11-02 | 2011-07-19 | Hewlett-Packard Company | Method and system for load balancing |
| WO2003043276A1 (en) * | 2001-11-13 | 2003-05-22 | Matsushita Electric Industrial Co., Ltd. | Provider connection system, packet exchange apparatus thereof, dns server, packet exchange method, and computer program thereof |
| US7082531B1 (en) | 2001-11-30 | 2006-07-25 | Cisco Technology, Inc. | Method and apparatus for determining enforcement security devices in a network topology |
| US20030115153A1 (en) * | 2001-12-19 | 2003-06-19 | Chen Li | Identifier management in message transmission system |
| US20070061472A1 (en) * | 2001-12-19 | 2007-03-15 | Chen Li | Identifier management in message transmission system |
| US7565402B2 (en) | 2002-01-05 | 2009-07-21 | Eric Schneider | Sitemap access method, product, and apparatus |
| US7636937B1 (en) | 2002-01-11 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for comparing access control lists for configuring a security policy on a network |
| US7426515B2 (en) * | 2002-01-15 | 2008-09-16 | International Business Machines Corporation | Edge deployed database proxy driver |
| US20030149755A1 (en) * | 2002-02-06 | 2003-08-07 | Emek Sadot | Client-controlled load balancer |
| US9167036B2 (en) * | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
| US7535913B2 (en) * | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
| US20030177173A1 (en) * | 2002-03-15 | 2003-09-18 | Petros Belimpasakis | System and method for the reception of content items |
| JP2003281008A (ja) * | 2002-03-26 | 2003-10-03 | Toshiba Corp | サーバー計算機負荷分配装置、サーバー計算機負荷分配方法、サーバー計算機負荷分配プログラム及びサーバー計算機システム |
| US7337234B2 (en) * | 2002-04-05 | 2008-02-26 | Oracle International Corporation | Retry technique for multi-tier network communication systems |
| US20030217149A1 (en) * | 2002-05-20 | 2003-11-20 | International Business Machines Corporation | Method and apparatus for tunneling TCP/IP over HTTP and HTTPS |
| US7516194B1 (en) | 2002-05-21 | 2009-04-07 | Microsoft Corporation | Method for downloading high-volumes of content from the internet without adversely effecting the source of the content or being detected |
| US7222178B2 (en) * | 2002-05-31 | 2007-05-22 | Unisys Corporation | Transaction-processing performance by preferentially reusing frequently used processes |
| EP1540461A4 (en) * | 2002-05-31 | 2007-10-03 | Unisys Corp | PREFERENTIAL REUSE OF FREQUENTLY USED PROCESSES TO IMPROVE THE EFFICIENCY OF TRANSACTION PROCESSING |
| US20040059777A1 (en) * | 2002-05-31 | 2004-03-25 | Palazzo Craig M. | System and method for distributed component object model load balancing |
| US20030236813A1 (en) * | 2002-06-24 | 2003-12-25 | Abjanic John B. | Method and apparatus for off-load processing of a message stream |
| US7010596B2 (en) * | 2002-06-28 | 2006-03-07 | International Business Machines Corporation | System and method for the allocation of grid computing to network workstations |
| US20040006622A1 (en) * | 2002-07-03 | 2004-01-08 | Burkes Don L. | Optimized process for balancing load for data mirroring |
| US7180862B2 (en) | 2002-07-18 | 2007-02-20 | Intel Corporation | Apparatus and method for virtual output queue feedback |
| US7620699B1 (en) * | 2002-07-26 | 2009-11-17 | Paltalk Holdings, Inc. | Method and system for managing high-bandwidth data sharing |
| US7086061B1 (en) * | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
| US7565413B1 (en) * | 2002-08-05 | 2009-07-21 | Cisco Technology, Inc. | Content request redirection from a wed protocol to a file protocol |
| US7574508B1 (en) | 2002-08-07 | 2009-08-11 | Foundry Networks, Inc. | Canonical name (CNAME) handling for global server load balancing |
| DE10238291A1 (de) * | 2002-08-21 | 2004-03-04 | Siemens Ag | Effizientes Intra-Domain Routing in Paketnetzen |
| US7266607B2 (en) * | 2002-08-27 | 2007-09-04 | International Business Machines Corporation | Quasi-high availability hosted applications |
| US10373420B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
| US8332895B2 (en) | 2002-09-16 | 2012-12-11 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
| US11029823B2 (en) | 2002-09-16 | 2021-06-08 | Touchtunes Music Corporation | Jukebox with customizable avatar |
| US12100258B2 (en) | 2002-09-16 | 2024-09-24 | Touchtunes Music Company, Llc | Digital downloading jukebox with enhanced communication features |
| US8584175B2 (en) | 2002-09-16 | 2013-11-12 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
| US7822687B2 (en) | 2002-09-16 | 2010-10-26 | Francois Brillon | Jukebox with customizable avatar |
| US8151304B2 (en) * | 2002-09-16 | 2012-04-03 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
| US8103589B2 (en) | 2002-09-16 | 2012-01-24 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
| US9646339B2 (en) * | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
| US8392609B2 (en) * | 2002-09-17 | 2013-03-05 | Apple Inc. | Proximity detection for media proxies |
| US20040153440A1 (en) * | 2003-01-30 | 2004-08-05 | Assaf Halevy | Unified management of queries in a multi-platform distributed environment |
| JP4428934B2 (ja) * | 2003-03-24 | 2010-03-10 | 富士通株式会社 | 映像選択サーバ、映像配信システム、および映像選択方法 |
| US7293059B2 (en) * | 2003-04-04 | 2007-11-06 | Sun Microsystems, Inc. | Distributed computing system using computing engines concurrently run with host web pages and applications |
| US7222195B2 (en) * | 2003-04-22 | 2007-05-22 | Cisco Technology, Inc. | System and method for distributing information in a network environment |
| US7379988B2 (en) * | 2003-04-23 | 2008-05-27 | International Business Machines Corporation | Autonomic performance tuning of a distributed virtual storage server |
| US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
| US7650402B1 (en) | 2003-06-25 | 2010-01-19 | Cisco Technology, Inc. | System and method for tracking end users in a loadbalancing environment |
| US7912954B1 (en) * | 2003-06-27 | 2011-03-22 | Oesterreicher Richard T | System and method for digital media server load balancing |
| US9525566B2 (en) * | 2003-07-31 | 2016-12-20 | Cloudsoft Corporation Limited | Self-managed mediated information flow |
| US8909726B1 (en) | 2003-08-27 | 2014-12-09 | Cisco Technology, Inc. | Priority based anycast routing |
| US9584360B2 (en) | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
| US20050097185A1 (en) * | 2003-10-07 | 2005-05-05 | Simon Gibson | Localization link system |
| US7756040B1 (en) | 2003-10-08 | 2010-07-13 | Cisco Technology, Inc. | System and method for relaying information in order to enable services in a network environment |
| US8050275B1 (en) | 2003-11-18 | 2011-11-01 | Cisco Technology, Inc. | System and method for offering quality of service in a network environment |
| JP2005173823A (ja) * | 2003-12-09 | 2005-06-30 | Canon Inc | Webアプリケーション及びそのデータ共有方法、並びにプログラム |
| US7899913B2 (en) * | 2003-12-19 | 2011-03-01 | Nvidia Corporation | Connection management system and method for a transport offload engine |
| US8176545B1 (en) | 2003-12-19 | 2012-05-08 | Nvidia Corporation | Integrated policy checking system and method |
| US7624198B1 (en) | 2003-12-19 | 2009-11-24 | Nvidia Corporation | Sequence tagging system and method for transport offload engine data lists |
| US7260631B1 (en) | 2003-12-19 | 2007-08-21 | Nvidia Corporation | System and method for receiving iSCSI protocol data units |
| US8549170B2 (en) * | 2003-12-19 | 2013-10-01 | Nvidia Corporation | Retransmission system and method for a transport offload engine |
| US8065439B1 (en) | 2003-12-19 | 2011-11-22 | Nvidia Corporation | System and method for using metadata in the context of a transport offload engine |
| US7596107B1 (en) | 2004-01-26 | 2009-09-29 | Cisco Technology, Inc. | System and method for enabling multicast group services in a network environment |
| US7206872B2 (en) * | 2004-02-20 | 2007-04-17 | Nvidia Corporation | System and method for insertion of markers into a data stream |
| US7249306B2 (en) * | 2004-02-20 | 2007-07-24 | Nvidia Corporation | System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity |
| US7698413B1 (en) | 2004-04-12 | 2010-04-13 | Nvidia Corporation | Method and apparatus for accessing and maintaining socket control information for high speed network connections |
| US8089972B2 (en) | 2004-05-03 | 2012-01-03 | Level 3 Communications, Llc | Registration redirect server |
| US20060064478A1 (en) * | 2004-05-03 | 2006-03-23 | Level 3 Communications, Inc. | Geo-locating load balancing |
| US7584301B1 (en) | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
| US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
| US7020090B2 (en) * | 2004-06-21 | 2006-03-28 | Cisco Technology, Inc. | System and method for loadbalancing in a network environment using feedback information |
| US20060015596A1 (en) * | 2004-07-14 | 2006-01-19 | Dell Products L.P. | Method to configure a cluster via automatic address generation |
| US20060021920A1 (en) * | 2004-08-02 | 2006-02-02 | Forbes Robert C | Pond filters |
| US7423977B1 (en) | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
| US7805517B2 (en) * | 2004-09-15 | 2010-09-28 | Cisco Technology, Inc. | System and method for load balancing a communications network |
| US7957379B2 (en) * | 2004-10-19 | 2011-06-07 | Nvidia Corporation | System and method for processing RX packets in high speed network applications using an RX FIFO buffer |
| US9843557B2 (en) | 2004-12-09 | 2017-12-12 | Level 3 Communications, Llc | Systems and methods for dynamically registering endpoints in a network |
| US8768350B2 (en) | 2004-12-09 | 2014-07-01 | Level 3 Communications, Llc | Systems and methods for locating endpoints in a communication network |
| US7734019B1 (en) * | 2004-12-09 | 2010-06-08 | Level 3 Communications, Llc | Systems and methods for third party emergency call termination |
| DE102005010690B4 (de) * | 2005-03-09 | 2007-04-12 | Knorr-Bremse Systeme für Schienenfahrzeuge GmbH | Öleingespritzter Verdichter mit Temperaturschalter |
| US7340744B2 (en) * | 2005-04-08 | 2008-03-04 | Cisco Technology, Inc. | System and method for optimizing sessions and network resources in a loadbalancing environment |
| US7693071B2 (en) * | 2005-05-27 | 2010-04-06 | Microsoft Corporation | System and method for routing messages within a messaging system |
| US7496037B2 (en) * | 2005-06-14 | 2009-02-24 | International Business Machines Corporation | Apparatus, system, and method for facilitating delivery of asynchronous response messages |
| US20070008974A1 (en) * | 2005-07-07 | 2007-01-11 | International Business Machines Corporation | Method, apparatus and computer program product for network services |
| US8009676B2 (en) * | 2005-07-26 | 2011-08-30 | Cisco Technology, Inc. | Dynamically providing a quality of service for a mobile node |
| US7945678B1 (en) | 2005-08-05 | 2011-05-17 | F5 Networks, Inc. | Link load balancer that controls a path for a client to connect to a resource |
| US9191396B2 (en) * | 2005-09-08 | 2015-11-17 | International Business Machines Corporation | Identifying source of malicious network messages |
| US7630486B2 (en) * | 2005-09-20 | 2009-12-08 | Cisco Technology, Inc. | Method and system for handling a queued automatic call distributor call |
| EP1949214B1 (en) * | 2005-10-28 | 2012-12-19 | Network Appliance, Inc. | System and method for optimizing multi-pathing support in a distributed storage system environment |
| US7779098B1 (en) | 2005-12-20 | 2010-08-17 | At&T Intellectual Property Ii, L.P. | Methods for identifying and recovering stranded and access-no-revenue network circuits |
| US8307057B1 (en) | 2005-12-20 | 2012-11-06 | At&T Intellectual Property Ii, L.P. | Methods for identifying and recovering non-revenue generating network circuits established outside of the united states |
| US8447837B2 (en) * | 2005-12-30 | 2013-05-21 | Akamai Technologies, Inc. | Site acceleration with content prefetching enabled through customer-specific configurations |
| ITTO20060149A1 (it) | 2006-03-01 | 2007-09-02 | Cisco Tech Inc | Tecnica per l'instradamento ottimizzato di flussi di dati su una dorsale ip in una rete di computer. |
| US7519734B1 (en) | 2006-03-14 | 2009-04-14 | Amazon Technologies, Inc. | System and method for routing service requests |
| US8312120B2 (en) * | 2006-08-22 | 2012-11-13 | Citrix Systems, Inc. | Systems and methods for providing dynamic spillover of virtual servers based on bandwidth |
| US8493858B2 (en) * | 2006-08-22 | 2013-07-23 | Citrix Systems, Inc | Systems and methods for providing dynamic connection spillover among virtual servers |
| JP2008077428A (ja) * | 2006-09-21 | 2008-04-03 | Fujitsu Ltd | 負荷分散装置、負荷分散方法及び負荷分散プログラム |
| US8433730B2 (en) | 2006-10-31 | 2013-04-30 | Ariba, Inc. | Dynamic data access and storage |
| US20080140826A1 (en) * | 2006-12-08 | 2008-06-12 | Microsoft Corporation | Monitoring and controlling electronic message distribution |
| US8462799B2 (en) * | 2006-12-13 | 2013-06-11 | The Boeing Company | Distributed application communication routing system for internet protocol networks |
| KR101221473B1 (ko) * | 2007-01-11 | 2013-01-14 | 삼성전자주식회사 | 메타 데이터 정보 제공 서버, 클라이언트 장치, 메타데이터 정보 제공 방법 및 콘텐츠 제공 방법 |
| US9794310B2 (en) | 2007-01-11 | 2017-10-17 | Samsung Electronics Co., Ltd. | Meta data information providing server, client apparatus, method of providing meta data information, and method of providing content |
| US12450978B2 (en) | 2007-01-17 | 2025-10-21 | Touchtunes Music Company Llc. | Coin operated entertainment system |
| US9330529B2 (en) * | 2007-01-17 | 2016-05-03 | Touchtunes Music Corporation | Game terminal configured for interaction with jukebox device systems including same, and/or associated methods |
| US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
| CN101123527B (zh) * | 2007-02-25 | 2010-10-27 | 华为技术有限公司 | 一种流媒体系统、信令转发设备以及流媒体发送方法 |
| US8209417B2 (en) * | 2007-03-08 | 2012-06-26 | Oracle International Corporation | Dynamic resource profiles for clusterware-managed resources |
| US9953481B2 (en) * | 2007-03-26 | 2018-04-24 | Touchtunes Music Corporation | Jukebox with associated video server |
| US20080307114A1 (en) * | 2007-03-30 | 2008-12-11 | Canon Kabushiki Kaisha | Network assignment method and apparatus |
| US8159961B1 (en) | 2007-03-30 | 2012-04-17 | Amazon Technologies, Inc. | Load balancing utilizing adaptive thresholding |
| US8285870B2 (en) * | 2007-09-05 | 2012-10-09 | Echostar Technologies L.L.C. | Systems and methods for statistical resolution of domain name service (DNS) requests |
| US10290006B2 (en) * | 2008-08-15 | 2019-05-14 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
| US8332887B2 (en) | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
| US8055795B2 (en) * | 2007-10-02 | 2011-11-08 | Echostar Technologies Llc | Systems and methods for proxy resolution of domain name service (DNS) requests |
| WO2009123868A2 (en) | 2008-04-04 | 2009-10-08 | 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) |
| US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
| WO2009141269A1 (en) * | 2008-05-20 | 2009-11-26 | Thomson Licensing | System and method for distributing a map of content available at multiple receivers |
| WO2010005569A1 (en) | 2008-07-09 | 2010-01-14 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
| WO2010037128A1 (en) * | 2008-09-29 | 2010-04-01 | Kabushiki Kaisha Toshiba | Pre-evaluation of multiple network access points |
| US8613072B2 (en) * | 2009-02-26 | 2013-12-17 | Microsoft Corporation | Redirection of secure data connection requests |
| US20100228824A1 (en) * | 2009-03-06 | 2010-09-09 | Cisco Technology, Inc. | Distributed server selection for online collaborative computing sessions |
| US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
| EP2409273A4 (en) | 2009-03-18 | 2016-05-11 | Touchtunes Music Corp | ENTERTAINMENT SERVER AND RELATED SOCIAL NETWORK SERVICES |
| US12112093B2 (en) | 2009-03-18 | 2024-10-08 | Touchtunes Music Company, Llc | Entertainment server and associated social networking services |
| US10564804B2 (en) | 2009-03-18 | 2020-02-18 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
| US10719149B2 (en) | 2009-03-18 | 2020-07-21 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
| US20100313262A1 (en) * | 2009-06-03 | 2010-12-09 | Aruba Networks, Inc. | Provisioning remote access points |
| US10402834B2 (en) | 2009-09-30 | 2019-09-03 | Verizon Patent And Licensing Inc | Advertisements within television advertisements |
| US9141513B2 (en) | 2009-10-01 | 2015-09-22 | Kryterion, Inc. | Maintaining a secure computing device in a test taking environment |
| US9280907B2 (en) * | 2009-10-01 | 2016-03-08 | Kryterion, Inc. | Proctored performance analysis |
| CN105374380A (zh) | 2010-01-26 | 2016-03-02 | 踏途音乐公司 | 具有改进的用户界面的数字点播设备和相关方法 |
| US10672286B2 (en) * | 2010-03-14 | 2020-06-02 | Kryterion, Inc. | Cloud based test environment |
| US20120077177A1 (en) * | 2010-03-14 | 2012-03-29 | Kryterion, Inc. | Secure Online Testing |
| EP3232610B1 (en) * | 2010-03-22 | 2020-03-04 | Koninklijke KPN N.V. | System and method for handling a configuration request |
| US8219646B2 (en) * | 2010-03-31 | 2012-07-10 | Oracle International Corporation | Dynamic intelligent mirror host selection |
| US8521697B2 (en) * | 2010-05-19 | 2013-08-27 | Cleversafe, Inc. | Rebuilding data in multiple dispersed storage networks |
| US8958439B2 (en) | 2010-08-03 | 2015-02-17 | F5 Networks, Inc. | Mediating method and system between signaling network peers |
| US8713130B2 (en) | 2010-08-04 | 2014-04-29 | Kryterion, Inc. | Peered proctoring |
| US9137163B2 (en) * | 2010-08-04 | 2015-09-15 | Kryterion, Inc. | Optimized data stream upload |
| US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
| JP5724494B2 (ja) * | 2011-03-17 | 2015-05-27 | 富士通株式会社 | 監視装置、状態監視システム及び装置設定方法 |
| KR101544483B1 (ko) * | 2011-04-13 | 2015-08-17 | 주식회사 케이티 | 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법 |
| US8959222B2 (en) * | 2011-05-19 | 2015-02-17 | International Business Machines Corporation | Load balancing system for workload groups |
| US8819425B2 (en) | 2011-06-30 | 2014-08-26 | True[X] Media Inc. | Privacy protected interactions with third parties |
| GB2526955B (en) | 2011-09-18 | 2016-06-15 | Touchtunes Music Corp | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
| US9154549B2 (en) * | 2011-10-27 | 2015-10-06 | Cisco Technology, Inc. | Dynamic server farms |
| US11151224B2 (en) | 2012-01-09 | 2021-10-19 | Touchtunes Music Corporation | Systems and/or methods for monitoring audio inputs to jukebox devices |
| US20130325612A1 (en) * | 2012-06-04 | 2013-12-05 | WebLinc LLC | Methods and systems for interfacing e-commerce platforms with brick and mortar presences |
| JP5975745B2 (ja) * | 2012-06-11 | 2016-08-23 | フェリカネットワークス株式会社 | 情報処理装置及び情報処理方法、情報通信システム、並びにコンピューター・プログラム |
| US9672567B2 (en) * | 2012-06-29 | 2017-06-06 | Estimatics In The Fourth Dimensions, Llc | Damage assessment and reporting system |
| CN103634737A (zh) * | 2012-08-23 | 2014-03-12 | 环达电脑(上海)有限公司 | 以位置和外部情况选择相关广告之移动装置及其选择方法 |
| CN103678311B (zh) * | 2012-08-31 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 基于中转模式的网页访问方法及系统、抓取路径服务器 |
| US20130262238A1 (en) * | 2012-09-06 | 2013-10-03 | Mikhail Leonidovich Liubachev | System and method for customer involvement |
| US9712402B2 (en) * | 2012-10-10 | 2017-07-18 | Alcatel Lucent | Method and apparatus for automated deployment of geographically distributed applications within a cloud |
| US20140365299A1 (en) * | 2013-06-07 | 2014-12-11 | Open Tv, Inc. | System and method for providing advertising consistency |
| WO2015070070A1 (en) | 2013-11-07 | 2015-05-14 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
| US10237373B2 (en) * | 2013-12-02 | 2019-03-19 | Amazon Technologies, Inc. | Performance-based determination of request modes |
| US10694000B2 (en) | 2013-12-02 | 2020-06-23 | Amazon Technologies, Inc. | Browser-based analysis of content request mode performance |
| US10242322B2 (en) | 2013-12-02 | 2019-03-26 | Amazon Technologies, Inc. | Browser-based selection of content request modes |
| US10956937B1 (en) | 2013-12-13 | 2021-03-23 | Groupon, Inc. | Systems, apparatus, and methods for providing promotion newsfeeds |
| US9391884B2 (en) | 2014-01-31 | 2016-07-12 | Google Inc. | Consistent hashing using exact matching with application to hardware load balancing |
| CA2943616A1 (en) | 2014-03-25 | 2015-10-01 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
| US10432711B1 (en) * | 2014-09-15 | 2019-10-01 | Amazon Technologies, Inc. | Adaptive endpoint selection |
| US9489242B2 (en) * | 2014-09-30 | 2016-11-08 | Telefonaktiebolaget L M Ericsson (Publ) | Algorithm for faster convergence through affinity override |
| US9699088B2 (en) * | 2014-11-10 | 2017-07-04 | Hughes Network Systems, Llc | Service plan based flow control |
| US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
| US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
| US12464021B1 (en) | 2016-01-20 | 2025-11-04 | F5, Inc. | Methods for providing secure access using preemptive measures and devices thereof |
| US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
| CN107786604B (zh) * | 2016-08-30 | 2020-04-28 | 华为数字技术(苏州)有限公司 | 一种确定内容服务器的方法及装置 |
| US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
| US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
| US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
| US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
| US11522897B2 (en) * | 2018-07-25 | 2022-12-06 | International Business Machines Corporation | Detecting and patching network vulnerabilities |
| US11362889B2 (en) * | 2018-10-15 | 2022-06-14 | Cdw Llc | System and method for automated information technology services management |
| US11516116B2 (en) * | 2020-03-30 | 2022-11-29 | EMC IP Holding Company LLC | Domain name system multipathing distributed applications |
| US11055196B1 (en) | 2020-06-12 | 2021-07-06 | Bank Of America Corporation | System and method for optimizing technology stack architecture |
| US11010281B1 (en) | 2020-10-12 | 2021-05-18 | Coupang Corp. | Systems and methods for local randomization distribution of test datasets |
| CN116074282A (zh) * | 2023-01-17 | 2023-05-05 | 北京有竹居网络技术有限公司 | 数据报文的响应方法、装置、电子设备及存储介质 |
Family Cites Families (58)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4399531A (en) * | 1980-09-29 | 1983-08-16 | Rockwell International Corporation | Distributed digital data communications network |
| US4587651A (en) | 1983-05-04 | 1986-05-06 | Cxc Corporation | Distributed variable bandwidth switch for voice, data, and image communications |
| JPH0831876B2 (ja) * | 1985-09-20 | 1996-03-27 | 株式会社日立製作所 | パケツト交換網におけるル−チング制御方式 |
| US5001472A (en) * | 1988-02-11 | 1991-03-19 | Datapoint Corporation | Uneven token distribution technique for token based local area network |
| US4958341A (en) | 1988-03-31 | 1990-09-18 | At&T Bell Laboratories | Integrated packetized voice and data switching system |
| US4873517A (en) | 1988-06-23 | 1989-10-10 | International Business Machines Corporation | Method for selecting least weight end node to end node route in a data communications network |
| US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
| US5231631A (en) | 1989-08-15 | 1993-07-27 | At&T Bell Laboratories | Arrangement for regulating traffic in a high speed data network |
| CA2032620C (en) * | 1989-12-22 | 1995-08-15 | Takafumi Chujo | Method for searching for alternate path in communication network |
| US5404451A (en) | 1990-02-06 | 1995-04-04 | Nemirovsky; Paul | System for identifying candidate link, determining underutilized link, evaluating addition of candidate link and removing of underutilized link to reduce network cost |
| JP2644624B2 (ja) | 1990-11-30 | 1997-08-25 | 株式会社日立製作所 | 網間ルーティング制御方式 |
| US5278829A (en) | 1991-01-10 | 1994-01-11 | Digital Equipment Corporation | Reduced broadcast algorithm for address resolution protocol |
| US5347633A (en) | 1991-04-30 | 1994-09-13 | International Business Machines, Inc. | System for selectively intercepting and rerouting data network traffic |
| US5442630A (en) | 1991-05-24 | 1995-08-15 | Gagliardi; Ugo O. | ISDN interfacing of local area networks |
| GB9117172D0 (en) | 1991-08-08 | 1991-09-25 | British Telecomm | Communication system |
| US5434863A (en) | 1991-08-30 | 1995-07-18 | Hitachi, Ltd. | Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected |
| IL99923A0 (en) | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
| JPH07504071A (ja) | 1991-12-23 | 1995-04-27 | ネットワーク・エクスプレス・インコーポレイテッド | 交換デジタルネットワークを介してデータターミナル装置をインターネットワーク化するシステム |
| US5357510A (en) | 1992-02-19 | 1994-10-18 | Fujitsu Limited | Apparatus and a method for supervising and controlling ATM traffic |
| US5323394A (en) | 1992-04-07 | 1994-06-21 | Digital Equipment Corporation | Selecting optimal routes in source routing bridging without exponential flooding of explorer packets |
| US5276735A (en) | 1992-04-17 | 1994-01-04 | Secure Computing Corporation | Data enclave and trusted path system |
| JP2826416B2 (ja) | 1992-06-05 | 1998-11-18 | 日本電気株式会社 | ローカルエリアネットワーク間の接続ルータ |
| WO1993026109A1 (en) | 1992-06-17 | 1993-12-23 | The Trustees Of The University Of Pennsylvania | Apparatus for providing cryptographic support in a network |
| US5452330A (en) | 1992-07-06 | 1995-09-19 | Digital Equipment Corporation | Bus-oriented switching system for asynchronous transfer mode |
| US5490252A (en) | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
| US5398012A (en) | 1992-11-24 | 1995-03-14 | International Business Machines Corporation | Distributed processing of route selection across networks and subnetworks |
| US5361259A (en) | 1993-02-19 | 1994-11-01 | American Telephone And Telegraph Company | Wide area network (WAN)-arrangement |
| US5444782A (en) | 1993-03-09 | 1995-08-22 | Uunet Technologies, Inc. | Computer network encryption/decryption device |
| US5548724A (en) * | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
| JP2520563B2 (ja) | 1993-05-19 | 1996-07-31 | 日本電気株式会社 | パケット交換網 |
| CA2124974C (en) | 1993-06-28 | 1998-08-25 | Kajamalai Gopalaswamy Ramakrishnan | Method and apparatus for link metric assignment in shortest path networks |
| GB2281793A (en) | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
| US5475685A (en) | 1993-10-27 | 1995-12-12 | International Business Machines Corporation | Multi-media flow control over FDDI synchronous networks |
| US5721904A (en) * | 1993-12-20 | 1998-02-24 | Hitachi, Ltd. | Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL |
| US5485455A (en) | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
| US5519836A (en) | 1994-03-25 | 1996-05-21 | At&T Corp. | Method of on-line permanent virtual circuit routing |
| US5436902A (en) | 1994-04-05 | 1995-07-25 | First Pacific Networks | Ethernet extender |
| JP2721303B2 (ja) | 1994-05-12 | 1998-03-04 | 古河電気工業株式会社 | 接続装置の経路情報伝達方法 |
| US5416842A (en) | 1994-06-10 | 1995-05-16 | Sun Microsystems, Inc. | Method and apparatus for key-management scheme for use with internet protocols at site firewalls |
| US5455826A (en) | 1994-06-28 | 1995-10-03 | Oezveren; Cueneyt M. | Method and apparatus for rate based flow control |
| US5452294A (en) | 1994-07-05 | 1995-09-19 | Motorola, Inc. | Method and apparatus for adaptive route selection in communication networks |
| JPH0887473A (ja) | 1994-09-16 | 1996-04-02 | Toshiba Corp | データ処理装置 |
| US5548533A (en) | 1994-10-07 | 1996-08-20 | Northern Telecom Limited | Overload control for a central processor in the switching network of a mobile communications system |
| CA2160393C (en) | 1994-12-30 | 1999-05-04 | Anwar Elwalid | Method for integrated congestion control in networks |
| US5546452A (en) | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
| US5581552A (en) * | 1995-05-23 | 1996-12-03 | At&T | Multimedia server |
| US5627971A (en) * | 1995-06-01 | 1997-05-06 | Northern Telecom Limited | Machine method for determining the eligibility of links in a network |
| 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 |
| US5603029A (en) * | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
| US5617540A (en) * | 1995-07-31 | 1997-04-01 | At&T | System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection |
| 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 |
| US5600794A (en) | 1995-08-04 | 1997-02-04 | Bay Networks, Inc. | Method and apparatus for managing exchange of metrics in a computer network by exchanging only metrics used by a node in the network |
| US5572643A (en) * | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
| GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
| CA2170564A1 (en) * | 1996-02-28 | 1997-08-29 | Frank Michael Kappe | Method of propagating data through a distributed information network |
| US5828847A (en) * | 1996-04-19 | 1998-10-27 | Storage Technology Corporation | Dynamic server switching for maximum server availability and load balancing |
| 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 |
| 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 |
-
1997
- 1997-11-07 US US08/965,848 patent/US6185619B1/en not_active Expired - Lifetime
- 1997-12-09 CA CA002274496A patent/CA2274496C/en not_active Expired - Fee Related
- 1997-12-09 WO PCT/US1997/022542 patent/WO1998026559A1/en not_active Ceased
- 1997-12-09 ES ES97953118T patent/ES2258800T3/es not_active Expired - Lifetime
- 1997-12-09 DK DK97953118T patent/DK1016253T3/da active
- 1997-12-09 PT PT97953118T patent/PT1016253E/pt unknown
- 1997-12-09 JP JP52688698A patent/JP4354532B2/ja not_active Expired - Fee Related
- 1997-12-09 AT AT97953118T patent/ATE297628T1/de active
- 1997-12-09 AU AU56924/98A patent/AU724096B2/en not_active Ceased
- 1997-12-09 DE DE69733498T patent/DE69733498T2/de not_active Expired - Lifetime
- 1997-12-09 NZ NZ336187A patent/NZ336187A/en not_active IP Right Cessation
- 1997-12-09 EP EP97953118A patent/EP1016253B1/en not_active Expired - Lifetime
-
2000
- 2000-11-16 US US09/714,150 patent/US8683075B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CA2274496A1 (en) | 1998-06-18 |
| EP1016253A1 (en) | 2000-07-05 |
| CA2274496C (en) | 2007-07-03 |
| EP1016253B1 (en) | 2005-06-08 |
| US8683075B1 (en) | 2014-03-25 |
| PT1016253E (pt) | 2005-09-30 |
| NZ336187A (en) | 2001-02-23 |
| DE69733498T2 (de) | 2005-11-03 |
| US6185619B1 (en) | 2001-02-06 |
| ATE297628T1 (de) | 2005-06-15 |
| DK1016253T3 (da) | 2005-09-19 |
| WO1998026559A1 (en) | 1998-06-18 |
| DE69733498D1 (de) | 2005-07-14 |
| AU5692498A (en) | 1998-07-03 |
| JP2001509925A (ja) | 2001-07-24 |
| JP4354532B2 (ja) | 2009-10-28 |
| AU724096B2 (en) | 2000-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2258800T3 (es) | Sistema de computacion distribuido y metodo para distribuir peticiones de usuario a servidores de red duplicados. | |
| US11868824B2 (en) | Single node and multiple node datastore architecture in a network routing environment | |
| TWI398149B (zh) | 網域名稱解析之方法、裝置、系統、指令及軟體 | |
| US6061349A (en) | System and method for implementing multiple IP addresses on multiple ports | |
| US7992201B2 (en) | Dynamic network tunnel endpoint selection | |
| US7640253B2 (en) | Method and system for managing data records on a computer network | |
| US6178453B1 (en) | Virtual circuit switching architecture | |
| US7143184B1 (en) | System and method for measuring round trip times in a network using a TCP packet | |
| US7349348B1 (en) | Method and apparatus for determining a network topology in the presence of network address translation | |
| US6182224B1 (en) | Enhanced network services using a subnetwork of communicating processors | |
| JPH0936910A (ja) | パケット通信ネットワークにおける経路指定の管理 | |
| US7965630B1 (en) | Load balancing port proxy for dynamically controlling routing of query requests | |
| CN108173976A (zh) | 域名解析方法及装置 | |
| EP1236329A1 (en) | Optimal request routing by exploiting packet routers topology information | |
| EP1185041B1 (en) | OSPF autonomous system with a backbone divided into two sub-areas | |
| Andersen | Improving end-to-end availability using overlay networks | |
| CN217789687U (zh) | 回源请求的传输系统 | |
| AU4022001A (en) | Identyfying a failed device in a network | |
| CN119814644B (zh) | 网络性能状态的确定方法、装置、电子设备及存储介质 | |
| CN114726859A (zh) | 回源请求的传输方法、电子设备及存储介质 | |
| CN106254433A (zh) | 一种建立tcp通信连接的方法及装置 | |
| US20030061304A1 (en) | Method and apparatus for discovering client proximity using in-line translations | |
| CN116260886A (zh) | 通信方法、系统、设备及存储介质 | |
| Adjie-Winoto | A Self-Configuring Resolver Architecture for Resource Discovery and Routing in Device Networks | |
| Press et al. | Cisco CID Exam Certification Guide |