MXPA03010864A - Sistema y metodo para modificar un flujo de datos usando analisis sintactico elemental. - Google Patents
Sistema y metodo para modificar un flujo de datos usando analisis sintactico elemental.Info
- Publication number
- MXPA03010864A MXPA03010864A MXPA03010864A MXPA03010864A MXPA03010864A MX PA03010864 A MXPA03010864 A MX PA03010864A MX PA03010864 A MXPA03010864 A MX PA03010864A MX PA03010864 A MXPA03010864 A MX PA03010864A MX PA03010864 A MXPA03010864 A MX PA03010864A
- Authority
- MX
- Mexico
- Prior art keywords
- super
- user
- network
- application data
- server
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/10—Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Se proporcionan un sistema y un metodo para incrementar la eficiencia de transferencia de informacion en una red y para modificar datos en un flujo de datos de un servidor a un usuario. Los datos de aplicacion, por ejemplo, HTML, XML, SGML, documentos de iniciacion, u otro codigo de programas y sistemas de programacion, proveniente de un servidor de la red a peticion del usuario, puede ser analizado sintacticamente en elementos por un servidor intermediario localizado entre la PC del usuario y el servidor de la red. El servidor intermediario puede modificar, suprimir, agregar, buscar, filtrar, o reemplazar uno o mas de los elementos sobre la base de un conjunto de reglas definidas por el usuario (1016) y enviar los datos de aplicacion cambiados (1024) al usuario.
Description
SISTEMA Y METODO PARA MODIFICAR UN FLUJO DE DATOS USANDO ANALISIS SINTACTICO ELEMENTAL
CAMPO DE LA INVENCION La invención se relaciona, de manera general, con el campo de las comunicaciones, y en particular con la transferencia eficiente- de información sobre una red de computadoras .
ANTECEDENTES DE LA INVENCION La Internet ha crecido considerablemente en su alcance de uso en las últimas décadas a partir de una red de investigación entre los gobiernos y las universidades sobre medios para conducir transacciones tanto personales como comerciales por empresas e individuos . La Internet fue diseñada originalmente en forma no estructurada, de modo que en el caso de la falla la probabilidad de completar una comunicación fuera alta. El método de transferir información se basaba en un concepto similar al de enviar cartas a través del correo. Un mensaje puede ser dividido en paquetes TCP/IP múltiples, (es decir, cartas) , y ser enviado a un destinatario. Al igual que las cartas, cada paquete puede tomar una trayectoria diferente para llegar al destinatario. Aunque los muchos paquetes pequeños sobre muchas trayectorias de -aproximación proporcionan un acceso relativamente barato para un usuario a, por ejemplo, muchos sitios en la red, esta es considerablemente más lenta que una conexión punto a punto entre un usuario y un sitio en la red. La FIGURA.. 1 es un diagrama de bloques que muestra una conexión de usuario a la Internet de la técnica anterior. En general un usuario 110 se conecta a la Internet vía un punto de presencia (PoP) 112 tradicionalmente operado por un Proveedor de Servicios de Internet (ISP) . El PoP es conectado a la red central del ISP 114, por ejemplo, el ISP1. Redes centrales de ISP múltiples, por ejemplo, ISP1 e ISP2, están conectadas en conjunto por Puntos de Acceso a la Red, por ejemplo el NAP 170, para formar la "nube" de la Internet 160. De manera más específica, un solo usuario en una computadora personal (PC) 120 tiene varias elecciones para conectarse al PoP 112, como un módem 'de línea de abonado directa (DSL) 122, un módem de TV por cable 124, un módem de marcación estándar 126, o un transceptor inalámbrico 128 sobre, por ejemplo, una PC inalámbrica fija o un teléfono móvil . El término computadora personal o PC se usa aquí para describir cualquier dispositivo con un procesador y una memoria y no se limita a una PC de escritorio tradicional . En el PoP 112 existirá un dispositivo de acceso correspondiente para cada tipo de módem (o transceptor) para recibir/enviar los datos de/al usuario 110. Para el módem DSL 122, el PoP 112 tiene un multiplexor de acceso de línea de abonado digital (DSLAM) como su dispositivo de acceso. Para el módem de cable 124, el PoP 112 tiene una sección de entrada al sistema de terminación de módem de cable (CTMS) como su dispositivo de acceso. Las conexiones del DSL y módem de cable permiten cientos de kilo bits por segundo (Kbps) y son considerablemente más rápidas que el módem de marcación estándar 126 cuyos datos son recibidos en el PoP 112 por un servidor de acceso remoto de marcación (RAS) 134. El transceptor inalámbrico 128 podría ser parte de un asistente digital personal (PDA) o teléfono móvil y está conectado a un transceptor inalámbrico 136, por ejemplo, una estación base, en el PoP 112. Un usuario comercial (o una persona con una oficina en casa) puede tener una red de área local (LAN) , por ejemplo PC 140 y 142 conectadas al servidor de la LAM 144 por enlaces de Eternet. El usuario comercial puede tener una conexión TI (1.544 Mbps) , una TI fraccional o una conexión más rápida al PoP 112. Los datos del servidor de la LAN 144 son enviados vía un encaminador (no mostrado) a un dispositivo de conexión digital, por ejemplo una unidad de servicio de canal/ unidad servicio de datos (CSU/DSU) 146, la cual a su vez envía los datos digitales vía una línea TI (o TI fraccional) 148 a una CSU/DSU en el PoP 112. El PoP 112 puede incluir un servidor de ISP 152 al cual el DSLAM 130, la Sección de Entrada CTMS 132, el RAS 134, el transceptor inalámbrico 136, o la CSU/DSU 150, esté conectada. El servidor 152 de ISP puede proporcionar servicios de usuario como correo electrónico, Usenet (Uso de red) , o Servicio de Nombre de Dominio (DNS) . De manera alternativa, el DSLAM 130, la Sección de Entrada de CTMS 132, el RAS 134, el transceptor inalámbrico 136, o al CSU/DSU 150 puede evitar al servidor de ISP 152 y ser conectada directamente al encaminador 154 (lineas discontinuas) . El servidor 152 está, conectado al encaminador 154 el cual conecta la PoP 112 a la red central del ISP1 que tiene, por ejemplo, encaminadores 162, 164, 166 y 168. La red central del ISP1 está conectada a otra red central de ISP (ISP 2) , que tiene, por ejemplo, encaminadores 172, 174 y 176, vía la NAP 170. El ISP2 tiene un servidor ISP2 de 180 el cual ofrece servicios de usuario competitivos, como correo electrónico y alojamiento en la Red. Conectadas a la "nube" de Internet 160 se encuentran servidores de red 182 y 184, los cuales proporcionan contenido en línea al usuario 110. Aunque la Internet proporciona básicamente funcionalidad ' para efectuar transacciones comerciales e individuales, el retraso de tiempo significativo en la transferencia de información entre, por ejemplo, un servidor de red y un usuario comercial o individual es un problema sustancial. Por ejemplo un usuario en la PC 120 desea información de un sitio en la Red en un servidor de red 182.
Existen muchas "esperanzas" de que los datos se desplacen nuevamente del servidor de la red 182 a la PC del usuario 120. También debido a que la información está siendo "enviada" de regreso en paquetes, los paquetes se desplazan de regreso típicamente a través de diferentes trayectorias. Esas diferentes trayectorias son compartidas con otros paquetes de usuario y algunas trayectorias pueden ser lentas . En consecuencia existe un retraso de tiempo significativo aún cuando existiera capacidad suficiente en todos los enlaces entre un servidor de la red 182 y el usuario 120. Sin embargo, debido a que también existen puntos de estrangulación es decir, donde el tráfico excede la capacidad, existe retraso aún mayor. Los dos puntos de estrangulación principales son la última y la' segunda hasta los últimos 1.609 kilómetros (última milla) . Los 1.609 kilómetros (última milla) es del PoP 112 al usuario 110." Esto es fácilmente evidente cuando el usuario 120 está usando un módem de marcación con una velocidad máxima de 56 bps . Aún cuando un módem DSL de aproximadamente 512 Kbps la descarga de gráficos puede ser desagradablemente lenta. La segunda hasta la última milla es entre los ISP. Un ISP con un PoP 112 puede conectarse vía su red central 114 a un ISP de nivel superior (no mostrado) para obtener cobertura regional/nacional/global. El incremento en el ancho de banda al ISP del nivel superior incrementa los costos del ISP local, el ISP local con, por ejemplo el PoP 112 puede en su lugar reducir la cantidad de ancho de banda disponible al usuario 110. El efecto es que existe más tráfico que la capacidad del enlace entre el servidor de la red 182 y la PC 120 y en consecuencia un problema de retraso significativo. En el mundo vertiginoso actual este problema está impidiendo en gran medida el uso de la Internet como vehículo comercial. Además de los ' puntos de estrangulación y las ineficiencias del tráfico TCP/IP tradicional, existe mucho tráfico de ruido. Con el correo chatarra las rutas de tráfico se obstruyen y el usuario es inundado con información indeseable. Puesto que los sitios de la red y los ISP pueden recibir fondos de anunciantes, sus intereses pueden divergir de los usuarios comerciales quienes buscan información dirigida y no necesitan ni desean distracciones. La filtración o "bloqueo de anuncios" por visualizador de la red de un usuario de, por ejemplo, ventanas de salto, anuncios en forma de pancartas, y otros anuncios molestos, es bien conocida en la técnica. Y aunque un servidor corporativo puede bloquear direcciones de URL e IP seleccionadas, el trabajo recae aún en visualizador del usuario para hacer la filtración. Por lo tanto no únicamente existe la necesidad de mejorar la eficiencia de la transferencia de información sobre una red de comunicación, por ejemplo, la Internet, sino que existe la necesidad de una forma de reducir el tráfico de datos indeseable a un usuario.
SUMARIO DE LA INVENCION La presente invención proporciona un sistema y un método para incrementar la eficiencia de la transferencia de información en una red para modificar datos de aplicación en un flujo de datos de un servidor a un usuario. En una modalidad ejemplar los datos de aplicación, por ejemplo, HTML, XML, SGML, documentos de iniciación u otro código de programas y sistemas de programación, que proviene de un servidor de la Red a petición de un usuario, pueden ser analizados sintácticamente en elementos por un servidor intermediario localizado entre la PC del usuario y el servidor de la Red. El servidor intermediario puede modificar, borrar, agregar, buscar, filtrar, o reemplazar uno o más de los elementos sobre la base de un conjunto de reglas definidas por el usuario y enviar los datos de aplicación modificados al usuario. Cuando el servidor intermediario está cerca del servidor de la red y filtra la mayoría de los datos específicos indeseables por el usuario, por ejemplo, anuncios en forma de pancarta, el ancho de banda efectivo total de la red también se incrementa. Una modalidad de la presente invención incluye un método para cambiar datos de aplicación enviados por un primer sistema de computadora a un segundo sistema de computadora vía una red de comunicaciones, donde la segunda computadora tiene un visualizador para presentar los datos de aplicación. El método incluye: analizar sintácticamente los datos de aplicación en elementos por la primera computadora; si el elemento de los elementos satisface una condición del usuario predeterminada, cambiar el elemento de acuerdo a una acción predeterminada, donde el cambio incluye reemplazar, modificar, y agregar; y enviar el elemento modificado al visualizador. Otra modalidad de la presente invención incluye un método para cambiar datos de aplicación por medio de una computadora intermediaria en un flujo de datos de una primera computadora a una segunda computadora. El método incluye: extraer datos de aplicación recibidos de al menos un paquete de IP; determinar si una parte de los datos de aplicación satisfacen una condición predefinida por el usuario; responder a la parte que satisface la condición predefinida por el usuario, cambiar la parte de acuerdo a una regla predefinida por el usuario; combinar la parte cambiada con otros datos de aplicación y formar al menos un nuevo paquete de IP; y enviar el nuevo paquete de IP/ Otra modalidad más de la presente invención incluye un sistema para modificar elementos de datos de aplicación en un flujo de datos. El sistema incluye: un primer súper módulo para recibir al menos algunos elementos de los datos de aplicación en el flujo de datos; un módulo de decisión para analizar el elemento de los datos de aplicación de acuerdo a un conjunto de reglas predeterminadas por el usuario y para modificar el elemento de los datos de aplicación cuando sean satisfechas las condiciones predeterminadas; un módulo de reempaquetamiento para crear- un paquete de mensajería usando el elemento de los datos modificado; y un segundo súper módulo para recibir el paquete de mensajería. Esas y otras modalidades, características, aspectos y ventajas de la invención serán comprendidas mejor con respecto a la siguiente descripción, las reivindicaciones anexas y los dibuj os acompañantes .
BREVE DESCRIPCION DE LOS DIBUJOS La FIGURA 1 es un diagrama de bloques que muestra una conexión de usuario a la Internet de la técnica anterior; La FIGURA 2 es un diagrama de bloques simplificado, pero expandido, de la FIGURA 1 y se usa para ayudar a explicar la presente invención. La FIGURA 3 muestra la pila del protocolo del TCP/IP y las unidades de datos asociadas para cada capa. La FIGURA 4 es un diagrama de bloques de la trayectoria de comunicación entre un visualizador y un servidor de la red de una modalidad de la presente invención. La' FIGURA 5 es un diagrama de bloques de los súper módulos insertados en el sistema convencional de la FIGURA 2 de una modalidad de la presente invención. La FIGURA 6 es un diagrama de flujo para reempaquetar una pluralidad de unidades de datos de aplicación en un Súper Usuario de una modalidad de la presente invención. La FIGURA 7 es un diagrama de flujo para reempaquetar una pluralidad de paquetes de IP recibidos en un súper módulo de otra modalidad de la presente invención. La FIGURA 8 explica con mayor detalle los pasos 922 y 924 de la FIGURA 7. En el paso 932 las unidades de datos de aplicación son extraídas de los paquetes de IP. La FIGURA 9 muestra un ejemplo de paquetes de mensajería de un Súper Usuario a un Súper Hospedero de un aspecto de la presente invención. La FIGURA 10 es un diagrama de flujo para cambiar las unidades de datos de aplicación en un súper módulo de una modalidad de la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION En la siguiente descripción, se exponen numerosos detalles específicos para proporcionar una descripción más completa de las modalidades específicas de la invención. Es evidente, sin embargo, a un experto en la técnica, que la invención puede ser practicada sin todos los detalles específicos dados a continuación. En otros casos, no han sido descritas con detalle características bien conocidas para no oscurecer la invención. Para que los individuos y empresas usen la Internet como un vehículo comercial efectivo, el tiempo para que un usuario solicite y reciba información debe ser reducido significativamente en comparación con los tiempos típicos que ocurren hoy en día. La presente invención proporciona un "súper" sistema que puede ser superpuesto sobre partes de la infraestructura de la Internet y técnicas para incrementar el flujo de información en la red, el cual, ya sea separada o en combinación, reduce significativamente el tiempo de espera del usuario para información de, por ejemplo, sitios en la red u otros usuarios . La FIGURA 2 es un diagrama de bloques simplificado, pero expandido, de la FIGURA 1 y es usado para ayudar á explicar la presente invención. Donde sea aplicable se usaron las mismas marcas en la FIGURA 2 como en la FIGURA 1. El módem 210 incluye el módem DSL 122, el módem de cable 124, el módem de marcación 126, y el transceptor inalámbrico 128 de la FIGURA 1. De igual modo el dispositivo de acceso 220 incluye el DSLAM correspondiente 130, la sección de entrada de CMTS 132, el RAS 134, y el transceptor inalámbrico 136 de la FIGURA 1. Los dispositivos de conexión digital 212 y 222 incluyen los dispositivos de CSU/DSU 146 y 150, y además incluyen, dispositivos de conexión de satélite, ISDN o ATM. La FIGURA 2 tiene una conexión adicional entre el servidor de la LAN 144 y el módem 210, para ilustrar otra porción para que una LAN se conecte al PoP 112 además del dispositivo de conexión digital 212. La mayoría de los sistemas de computadora y red mostrados en la FIGURA 2, se comunican usando el Protocolo de Comunicación de Transporte/Protocolo de Internet estandarizado (TCP/IP) . La FIGURA 3 muestra la pila del protocolo de TCP/IP y las unidades de datos asociadas para cada capa. La pila del protocolo de TCP/IP 310 incluye una capa de aplicación 312, la capa de transporte 314, la capa de Internet 316, la capa de acceso a la red 318. La capa de aplicación recibe datos de aplicación o de usuario 320, un bloque o unidad de datos, la cual llamaremos unidad de datos de aplicación. Por ejemplo, un usuario que solicite una página de la Red sería una unidad de datos de aplicación. Existen numerosos protocolos de nivel de aplicación en el TCP/IP, incluyendo el Protocolo de Transferencia de Correo Simple (SMTP) y Protocolo de Oficina Postal (POP) usado para el correo electrónico, Protocolo de Transferencia de Hipertexto- (HTTP) usado para la Red Mundial ( "World Wide Web" ) , y el Protocolo de Transferencia de Archivos (FTP) .
La capa de transporte 314 incluye el Protocolo de Control de Transmisión (TCP) y el Protocolo de Datagrama de Usuario (UDP) . El TCP es un protocolo orientado a la conexión que proporciona un circuito virtual confiable entre la fuente y el destino. El TCP garantiza que las aplicaciones que use este para entregar el flujo de bytes en el orden en que fueron enviados sin duplicación o pérdida de datos aún si el servicio de entrega de paquetes de IP no es confiable. La capa de ' transporte agrega información de control vía un encabezado de TCP 322 a los datos 320 y esta es la llamada unidad de datos de TCP. El UDP no garantiza la entrega de paquetes y las aplicaciones que usan el UDP deben proporcionar sus propios medios para verificar la entrega. La capa de Internet 316 es nombrada así debido al énfasis de interconexión del TCP/IP. Esta es una capa sin conexión que envía y recibe los paquetes del Protocolo de Internet (IP) . Aunque el paquete de IP. tiene la dirección de la fuente original y la dirección del destino final del paquete de IP, la capa de IP en el nodo particular encamina el paquete de IP al siguiente nodo sin ningún conocimiento, si el paquete alcanza su destino final. El paquete de IP incluye un encabezado de IP 324 sumado a la unidad de datos de TCP (encabezado de TCP 322 y datos 320) . La capa de acceso a la red 318 es la capa inferior que trata la transferencia física de los paquetes de IP. La capa de acceso a la red 318 agrupa juntos los estándares de la Capa de Enlace de Datos y Física existente en lugar de definir los propios. Esta capa define los componentes físicos de computación de la red y los controladores de dispositivos. Un encabezado 326 y una cola (no mostrada) son agregadas al paquete de IP para permitir la transferencia física del paquete de IP sobre una línea de comunicación. Un ejemplo del uso del protocolo de TCP/IP en la FIGURA 2 es un usuario en la PC 140 solicitando una página de la red del servidor de la red 182. El usuario, a través de su visualizador crea una petición de usuario de una página de la red, es decir, unidad de datos de aplicación 320 (FIGURA 3), en la capa de aplicación 312. La pila de TCP/IP 310 crea una o más unidades de datos de TCP donde cada unidad de datos de TCP tiene parte de la unidad de datos de aplicación 320 con un encabezado de TCP 322 anexo a éste. La capa de transporte 314 en la PC 140 establece una conexión de igual a igual, es decir un circuito virtual, con la capa de transporte de TCP 314 en un servidor de la red 182. Cada unidad de datos de TCP está dividido en uno o más paquetes de IP. Los paquetes de IP son enviados al servidor de la LAN 144 y entonces al servidor del PoP 152 , donde son enviados fuera de la Internet ¦ 154 vía el encaminador de PoP 154. Los paquetes de IP proceden a través de trayectorias múltiples sobre la Internet 160 y arriban al servidor de la red 182. La capa de transporte 314 en el servidor de la red 182 monta entonces nuevamente las unidades de datos de TCP de los paquetes de IP y pasa las unidades de datos de TCP a la capa de aplicación 312 para montar nuevamente la petición del usuario. La petició del usuario de obtener la página de la red es entonces ejecutada. Para enviar la página de la red de regreso al usuario, puede ser usado el mismo circuito virtual de TCP entre las capas de transporte del servidor de la red 182 y la PC 140. La página de la red es entonces dividida en unidades de datos de TCP, las cuales a su vez son divididas en paquetes de IP y enviados vía la Internet 160, el encaminador de PoP 154, el servidor de PoP 152, el servidor LAN 144, a la PC 140. La Figura 4 es un diagrama de bloques de la trayectoria de comunicación entre un visualizador y un servidor de la red de una modalidad de la presente invención. El intercambio convencional entre el visualizador 512 y el servidor de la red 182, cuando un usuario que usa el visualizador 512 solicita una página de la red 514 de un servidor de la red 182 fue descrito anteriormente. La modalidad de la presente invención crea una modalidad de "súper" módulos, incluyendo el Súper Usuario 540, la Súper Aplicación 532, el Súper Servidor de Oficina Central (CO) 534, el Súper Concentrador de CO 536, y el Súper Hospedero 538, que proporciona una Súper Trayectoria libre alternativa para intercambiar datos entre el visualizador 512 y el servidor de la red 182. La petición del usuario de página de la red 514 es enviada por el visualizador 512, ejecutándose en la PC 140, a los programas y sistemas de programación del Súper Usuario 530 también ejecutándose en la PC 140. El Súper Usuario 530 envía entonces la petición del usuario a los programas y sistemas de programación de la Súper Aplicación 532 ejecutándose en el servidor de la LAN 144 (o en una modalidad alternativa ejecutándose en su propio servidor) . La Súper Aplicación 532 envía entonces la petición del usuario al Súper Servidor de CO 534, el cual envía la petición al Súper Concentrador de CO 536. El Súper Servidor de CO 534 y el Súper Concentrador de CO 536 pueden ser servidores autónomos o pueden ser programas y sistemas de programación que se ejecuten en el servidor de PoP 152. El Súper Concentrador de CO 536 envía la petición del usuario vía la Internet 160 al Súper Hospedero 538 el cual puede tener su propio servidor (o en una modalidad alternativa el Súper Hospedero 538 son los programas y sistemas de programación que se ejecutan en el servidor de la red 182) . La petición del usuario procede del Súper Hospedero 548 al servidor de la red 182, el cual recupera la página de la red 154 de un sitio en la red que se ejecute .en el servidor de la red 182 (el servidor de la red.182 puede incluir una granja de servidores de la red y sitios de la red múltiples) . La página de la red 514 procede entonces de regreso al visualizador 512 vía el Súper Hospedero 538, el Súper Concentrador de CO 536, el Súper Servidor de CO 534, la Súper Aplicación 532, y el Súper Usuario 530. En otras modalidades, uno o más de los Súper Módulos pueden estar ausentes, por ejemplo, la Súper Aplicación 532. En el caso de una Súper Aplicación ausente 532, el Súper Servidor de CO 534 intercambia información con el Súper Usuario 530 a través del servidor de la LAN 144. Otro ejemplo es si el Súper Hospedero 548 no estuviera presente, entonces el servidor de la red 182 intercambia información con el Súper Concentrador de CO 536. De este modo si un Súper Módulo está ausente, el módulo normal correspondiente, por ejemplo, la PC 140, el servidor de la LAN 144, el servidor de PoP 150, el encaminador de PoP 154, y el servidor de la red 182, es usado en su lugar. Todos o algunos de los Súper Módulos pueden ser usados en tanto exista al menos un enlace de comunicación entre al menos dos Súper Módulos diferentes, el flujo de información a través del enlace mejora significativamente. Adicionalmente, pueden ser desplegados más Súper Módulos para extender la granularidad de súper capas sobre la red. La Figura 5 es un diagrama de bloques de los Súper Módulos insertados en el sistema convencional de la Figura 2 de una modalidad de la presente invención. Se usaron las mismas marcas en la Figura 4 que en la Figura 2, donde los dispositivos, son. los mismos o similares. El Súper Usuario 540 es conectado a través del módulo 210, es conectado al servidor de PoP 152 vía el dispositivo de acceso 220. Una red de área local que tiene el Súper Usuario 530, el Súper Usuario 542 y la Súper Aplicación 532 es conectada al módem 210 o un dispositivo de conexión digital 212, donde el dispositivo de conexión digital 212 es conectado al servidor de PoP 152 por el dispositivo de. conexión digital 222. La Súper Aplicación 532 incluye programas y sistemas de programación que se ejecutan en el servidor de la LAN 144. El ¦servidor 152 es colocado al encaminador 154 vía el conmutador 420, el cual desvía el tráfico de paquetes al Súper Servidor de CO 534 y el Súper Concentrador de CO 536. El encaminador 154 es conectado a la nube de Internet 160. De la Internet 160, el tráfico puede ir al Súper Hospedero 538 conectado al servidor de la red 182 o al Súper Hospedero 550 conectado al servidor de la red 184 o al Súper Hospedero 552 conectado al servidor de ISP 180.
Componentes del Súper Sistema A continuación se describe la modalidad de cada uno de los componentes del Súper Sistema de la Figura 5, incluyendo el Súper Usuario 540, la Súper Aplicación 532, el Súper Servidor de CO 534, el Súper Concentrador de CO 536 y el Súper Hospedero 538.
El Súper Usuario 530 incluye programas y sistemas de programación que residen en la PC del usuario, por ejemplo, la PC 140. Un visualizador, por ejemplo el Internet Explorer de Microsoft, es instalado cerca del Súper Usuario 530, de modo que todas las peticiones de datos del visualizador sean proporcionadas desde el Súper Usuario 530. Además, todas las peticiones de usuario vía el visualizador son enviadas al Súper Usuario 530. En consecuencia, el visualizador es aislado del resto de la red por el Súper Usuario. El Súper Usuario captura todos los datos que el usuario ha solicitado en una memoria reservada local en la PC del usuario, de modo que cuando el usuario solicite los datos nuevamente, esos puedan ser recuperados localmente, si están disponibles, de la memoria reservada local. Si los datos que están en la memoria reservada exceden un tamaño del archivo predeterminado, entonces el Súper Usuario analiza todos los datos en la memoria reservada local y borra de los datos que probablemente son los menos usados. Por ejemplo, un algoritmo al menos recientemente usado convencional puede ser usado para desechar datos viejos. Algunas de las funciones de los programas y sistemas de programación del Súper Usuario 540 son: 1. Almacenar en la memoria reservada: Si el visualizador solicita datos que existen en la memoria reservada local y los datos satisfacen los requerimientos de vida de la memoria reservada, entonces los datos son suministrados desde la memoria reservada local. De otro modo los datos son recuperados de la memoria reservada del súper módulo más cercano, por ejemplo, la Súper Aplicación 532 o el Súper Servidor de CO 534, el Súper Concentrador de CO 536, o el Súper Hospedero 538, donde los datos actualizados están disponibles o si no están disponibles de cualquier Súper Memoria reservada entonces el servidor de la red. Cada elemento de datos tiene una vida de memoria reservada, que es que tanto puede ser usado de una memoria reservada antes de que necesite ser regenerada. 2. Renovación de la memoria reservada: Cuando la PC del Súper Usuario está libre (sin recuperar activamente datos de la Internet) , el Súper Usuario verifica la memoria reservada local y renueva automáticamente los datos que están alcanzando su vida de almacenamiento en la memoria reservada. El Súper Usuario, usando inteligencia artificial (AI) u otras técnicas, da prioridad a la renovación sobre la base de los que determine el usuario y solicite con mayor probabilidad. Por ejemplo, el Súper Usuario puede mantener un conteo de que tan frecuentemente un usuario tiene acceso a una página de la red. Un conteo alto indicaría que el usuario muy probablemente solicite esa página de la red en el futuro, y el Súper Usuario automáticamente renovarla esa pagina.
3. Prerrecuperación: usando AI u otras técnicas el Súper Usuario, durante los tiempo libres, prerrecupera páginas de la red (es decir, recupera páginas de la red que el usuario no ha solicitado aún) que tienen una alta probabilidad de ser necesitadas por el usuario. Por ejemplo, si un usuario está viendo algunas páginas en un sitio de catálogos, entonces existe una alta probabilidad de que el usuario vea otras páginas en el sitio de la misma categoría. El Súper Usuario prerrecuperaría entonces esas páginas . La prerrecuperación incrementa la probabilidad de que el usuario obtenga los datos de la memoria reservada local . 4. Los paquetes de mensajería (descritos más adelante) són empaquetados y los datos empaquetados comprimidos por el Súper Usuario antes de ser enviados a la Súper Aplicación o Súper Servidor de CO. Los paquetes de mensajería son desempaquetados y los datos desempaquetados descomprimidos por el Súper Usuario antes de ser enviados al visualizador. La Súper Aplicación 532 incluye programas y sistemas de programación que se ejecutan en el servidor de la LAN 144. Algunas de las funciones efectuadas por la Súper Aplicación 532 incluyen, seguridad de pared de fuego, almacenamiento en la memoria reservada global, agrupamiento, alojamiento inteligente, y administración de correo electrónico. Las funciones adicionales efectuadas por los programas y sistemas de programas de la Súper Aplicación incluyen : ' 1. Si la Súper Aplicación está unida a un Súper Servidor de CO, .entonces todos los datos transmitidos entre ellos son comprimidos y empaquetados en paquetes de mensajería, de otro modo se utilizan peticiones de Internet estándar y las respuestas son empaquetadas en paquetes de mensajería antes de que las respuestas sean enviadas al Súper Usuario . 2. La Súper . Aplicación también copia y mantiene automáticamente los sitios de la red que son usados frecuentemente por sus usuarios . 3. Si la Súper Aplicación está unida al Súper Servidor de CO, entonces esta actualiza su copia de los sitios de la red únicamente cuando son notificados cambios desde el Súper Servidor de CO . Si la Súper Aplicación no está unida al Súper Servidor de CO entonces verifica para actualizar los sitios de la red durante los tiempos libres y/o durante intervalos predeterminados periódicamente. 4. Si los Súper Usuarios están unidos a la Súper Aplicación entonces todas las respuestas de datos son transmitidas en formato comprimido a .los Súper Usuarios. Si los usuarios regulares están unidos a la Súper Aplicación, entonces las respuestas de datos son descomprimidas en la Súper Aplicación y enviadas a - los usuarios. Si el Súper Usuario está manteniendo sitios de la red, entonces en cualquier momento una página de la red es actualizada en la Súper Aplicación y es enviada una notificación al Súper Usuario, de' modo que el Súper Usuario pueda solicitar el cambio. 5. El Súper Usuario también notificará a la Súper Aplicación de información a cerca de la densidad del monitor de la PC del usuario de modo que puedan hacerse los ajustes a los gráficos transmitidos sobre la red de área local. El envío de gráficos de alta densidad a un monitor que no puede presentar los gráficos es un derroche de recursos de la red. Los programas y sistemas de programación en la Súper Aplicación ajustan la densidad de los gráficos antes de transmitir los datos. 6. Si más de un Súper Usuario solicita los mismos datos, entonces la Súper Aplicación hace implotar la petición y envia únicamente una petición al siguiente Súper Módulo, por ejemplo, el Súper Servidor de CO. Si no existe otro Súper Módulo entre la Súper Aplicación y el sitio en la red, entonces la petición está aún implotada y se hace una petición de TCP/IP estándar. Cuando la respuesta a la petición implotada es recibida entonces los datos son explotados por la Súper Aplicación y los datos son enviados a los Súper Usuarios apropiados .
A más los sitios en la red que sean mantenido en la Súper Aplicación más se aproxima la velocidad de acceso a páginas de la red a la velocidad de la red de área local. A más páginas en la red mantenidas en el Súper Usuario más se aproxima la velocidad de acceso a la red a la velocidad de acceso al disco duro. A más páginas de la red que puedan ser copiadas y mantenidas en la Súper Aplicación y el Súper Usuario, menos obstruida se vuelve el último 1.6 kilómetros (milla) para el tiempo de respuesta. El Súper Servidor de CO 534 es el puente entre la red central de la Internet 114 y el usuario 110. Un objetivo del Súper Servidor de CO 534 es minimizar el tráfico entre el usuario y la Internet . El Súper Servidor de CO efectúa esto copiando los sitios en la red a los que tuvo acceso el Súper Usuario o usuario normal vía el Súper Servidor de CO. A más los sitios en la red que sean alojados en un Súper Servidor de CO, más optimizada es la red reduciendo el movimiento de datos a través de la red. Si los sitios de la red que son alojados en los Súper Servidores de CO provienen de sitios en la red almacenados en un Súper Concentrador de CO 536, el Súper Servidor de CO 534 solicita páginas de la red actualizadas cuando es notificado por el Súper Concentrador de CO 536 de que las páginas de la red han cambiado. Las páginas- de la red del Súper Concentrador de · CO 536 son almacenadas en formato comprimido y reempaquetadas . Si los sitios de la red están alojados en el Súper Servidor de CO no están almacenados en el Súper Concentrador de CO, entonces el Súper Servidor de CO verifica a intervalos predeterminados para determinar cambios en el sitio en la red en el servidor de la red hospedero. El Súper Servidor de CO mantiene un registro lógico de los sitios da la red que están alojados en •cada memoria reservada de la Súper Aplicación 532. Cuando ocurren cambios en los sitios de la red que existen una memoria reservada de Súper Aplicación, es enviada una notificación a esa Súper Aplicación de que han ocurrido cambios y de que la Súper Aplicación deberá solicitar copias actualizadas de las páginas en la red que cambiaron. Cuando son recibidos datos de un sitio diferente al Súper Concentrador de CO estos son comprimidos, empaquetados y almacenados en el Súper Servidor de CO. El Súper Servidor de CO determinada de este registros lógicos solicitados los sitios en la red a los que están teniendo acceso sus usuarios y determina cuales sitios en la red copiar y mantener en la memoria reservada del Súper Servidor de CO 534. El Súper Servidor de CO también borrará los sitios que no estén siendo usados . Si el sitio en la red no está siendo almacenado y mantenido, la página de la red es mantenida en una memoria reservada global separada, de modo que si este es solicitado nuevamente pueda ser proporcionada desde la memoria reservada global. Necesita ser mantenido un equilibrio correcto entre la memoria reservada global y el alojamiento en la red. La memoria reservada global y el Súper Servidor de CO pueden ser implementados como una memoria reservada y manejados por separado o implementados como dos memorias reservadas separadas . Si una página de la red es solicitada desde una Súper Aplicación, entonces la página de la red es enviada en un formato súper comprimido y reempaquetado, de otro modo la página de la red es descomprimida y enviada al usuario solicitante. El súper módulo más cercano al usuario desempaqueta cualquier formato reempaquetado y descomprime los datos de modo que puedan ser enviados al usuario en forma nativa. El súper .módulo más cercano al usuario también almacena en la memoria reservada la información en un formato no comprimido y no empaquetado. Las optimizaciones usadas están relacionadas con la cantidad de compresión aplicada a los datos variables (usualmente texto) y la cantidad de datos variables en la página de la red. Más formatos ricos en datos sean usados ' en la Internet mayor es la optimización lograda. Los programas y sistemas de programación instantáneos, archivos, y programas de Java, documentos de iniciación de Java, etc. están todos almacenados en el Súper Servidor de CO. Las solicitudes de datos de las Súper Aplicaciones que no son satisfechas por la memoria reservada del Súper Servidor de CO son enviadas al Súper Concentrador de CO 536 que es responsable de servir el URL (sitio en la red) solicitado. Las peticiones son empaquetadas, comprimidas e implotadas de acuerdo a los esquemas de optimización. En una modalidad, el primer nivel de implosión de datos ocurre en el Súper Servidor de CO. En una modalidad alternativa la implosión es efectuada por la Súper Aplicación. El Súper Servidor de CO está organizado por geografía de ISP, de modo que las características de uso duplicadas que estén orientadas regionalmente pueden ser implotadas a petición y explotadas en respuesta. Todas las peticiones y peticiones implotadas que no puedan ser respondidas por datos en la memoria reservada del Súper Servidor de CO son pasadas al Súper Concentrador de CO. El Súper Concentrador de CO 536 es reorganizado por los sitios en la red (URL) . Esto incrementa la probabilidad que los datos del sitio . de la red que el usuario necesite estén en la memoria reservada del concentrador de CO. Esto también incrementa la probabilidad de que las peticiones puedan ser implotadas y pueda ser reducido el tráfico de la red. Cada Súper -Concentrador de CO es responsable de almacenamiento en la memoria reservada y la interconexión con los Súper Hospederos, por ejemplo 538, y otros sitios en la red diferentes a los del Súper Hospedero. Para sitios en la red diferentes a los del Súper Hospedero, el Súper Concentrador de CO 536 es el primer súper módulo encontrado y que ocurre el reempaquetamiento inicial, la primera compresión, la implosión final, la primera explosión, la conversión de todos los gráficos en un formato de compresión optimizado, como el PNG o algoritmos de compresión patentados , y el primer nivel de Súper Almacenamiento en la memoria reservada ocurre. Esto ocurre también donde ocurre toda la verificación y renovación para los otros súper módulos . Cuando los datos de los sitios de la red son renovados y actualizados los Súper Servidores de CO son notificados, de modo que todas las memorias reservadas puedan ser actualizadas y renovadas. El servidor de la red aloja uno o más sitios de la red que están unidos a la Internet. El Súper Hospedero, es decir, el Súper Hospedero 538, responde a peticiones hechas desde los Súper Concentradores de CO, por ejemplo, 536. Cada vez que es hecha una petición para descargar cualquier sitio en la red alojado en el servidor de la red, el Súper Hospedero 538 recibe las páginas de la red del servidor de la red y comprime y empaqueta el contenido antes de enviarlo al Súper Concentrador de CO solicitante. Esto mejora la eficiencia del transporte de la red debido a la velocidad de compresión efectiva y al envío en un solo bloque de datos para todos los datos de la página de la red solicitada. Cada pieza de información es analizada y comprimida usando técnicas que funcionan mejor para el tipo específico de datos. Cuando cada petición del Súper Concentrador de CO es recibida, el Súper Hospedero registra la dirección de IP del Súper Concentrador de CO. El Súper Hospedero verifica los sitios en la red contenidos en el servidor de la red y envía notificaciones de cualesquier páginas en la red cambiadas a cualquier Súper Concentrador de CO que haya solicitado datos de los sitios de la red históricamente. Esto permite al Súper Concentrador de CO saber cuando " necesita renovar su versión del sitio en la. red y minimiza el tráfico de la red permitiendo que el Súper Concentrador de CO de servicio a peticiones del usuario de páginas de la red directamente de su versión de la página de la red en la memoria reservada del Súper Concentrador de CO. El único momento cuando la versión del Súper Concentrador de CO de la página de la red necesita ser renovada es cuando ha cambiado. Esto permite un tráfico minimizado de los sitios de alojamiento de la red a los sitios de ISP. Existen muchos sitios de ISP que tienen acceso a datos en cada sitio en la red. Este es un paso del movimiento de los sitios de la red hacia el limite externo de la Internet y para llevar la compresión y el empaquetamiento a los trabajos internos de la Internet. El desafío de mover los sitios de la red a los límites externos de la Internet es asegurar que los datos sean actuales, la interconexión de las memorias reservadas del súper módulo asegura esto.
Reempaquetamiento Las páginas de la red típicas hoy en día contienen un documento de Lenguaje de la Marcación de Hipertexto (HTML) , y muchas imágenes incluidas . El comportamiento convencional para un visualizador es recuperar el documento HTML base, y entonces, después de recibir el documento HTML base, el visualizador efectúa una segunda recuperación de los muchos objetos incluidos, los cuales están típicamente localizados en el mismo servidor de red. Cada objeto incluido, por ejemplo, una unidad de datos de aplicación es puesto en una unidad de datos TCP y cada -unidad de datos TCP es dividida en uno o más paquetes IP. Enviando muchos paquetes TCP/IP para los muchos objetos incluidos en lugar de, por ejemplo, un paquete de TCP/IP grande, lo que significa que la red invierte más tiempo del necesario en enviar los datos de control, en otras palabras, la relación de datos/tiempo de control a datos/tiempo de aplicación es mayor. Es más eficiente combinar los muchos objetos incluidos en una unidad de datos de aplicación grande y entonces crear una (o al menos un número mínimo de) unidades. de datos de TCP grandes . Para la unidad de datos de TCP grande es usada la unidad de transmisión máxima (MTU) para el enlace entre este súper módulo emisor y el siguiente súper módulo receptor para los paquetes de IP. El súper módulo emisor tratará de minimizar el número de paquetes de IP enviados tratando de hacer cada paquete de IP tan cercano a la MTU como sea practico. Para cada enlace entre un súper módulo emisor y un súper módulo receptor es determinada la MTU para ese enlace y el tamaño de los paquetes de IP puede cambiar. A diferencia de la técnica anterior donde normalmente se usa la MTU denominadora común más baja entre todas las MTU de enlaces de comunicación entre el usuario y el servidor de red, en esta modalidad, se usa la MTU de cada enlace. En una modalidad de la presente invención las unidades de datos de aplicación, por ejemplo, peticiones de usuario y respuestas del servidor de la red, son reempaquetadas (o desempaquetadas) en unidades de datos de aplicación modificadas más grandes (o más pequeñas múltiples) , cuando es necesario, en cada súper módulo, por ejemplo, el Súper Usuario, la Súper Aplicación, el Súper Servidor de Oficina Central (CO) , el Súper Concentrador de CO, y el Súper Hospedero. Por ejemplo, sea la combinación de dos paquetes IP un paquete de IP, el cual es un ejemplo del paquete de "mensajería"; El primer paquete de IP tiene un primer encabezado de IP, un primer encabezado del TCP, y una primera unidad de datos de aplicación. El segundo paquete de IP tiene un segundo encabezado de IP, un segundo encabezado de TCP, y una segunda unidad de datos de aplicación. Se crea una primera unidad de datos de aplicación modificada la cual tiene la primera unidad de datos de aplicación y un primer pseudoencabezado que tiene datos de control del primer encabezado de IP y el primer encabezado de TCP, como la dirección de origen, los puertos de origen y destino y otra información de control necesaria para reconstruir el primer paquete de IP. Se crea una segunda unidad de datos de aplicación modificada la cual tiene la segunda unidad de datos de aplicación y un segundo pseudoencabezado que tiene datos de control del segundo encabezado de IP y el segundo encabezado de TCP,, como la dirección de origen, los puertos de origen y destino y otra información de control necesaria para reconstruir el segundo paquete que IP. Se produce una unidad de datos de aplicación combinada que tiene la primera unidad de datos de aplicación modificada concatenada a la segunda unidad de datos de aplicación modificada. Se agrega un nuevo encabezado de TCP y encabezado de IP a la unidad de datos de aplicación combinada y se forma el paquete de mensajería. De este modo la información de .control necesario es incluida en la unidad de datos de aplicación combinada y el protocolo de TCP/IP es usado para mover la unidad de datos de aplicación combinada entre un súper módulo emisor y un súper módulo receptor. Cuando el receptor no es un súper módulo la unidad de datos de aplicación combinada es agrupada y el primer paquete de IP y el segundo paquete de IP son recreados y enviados al receptor normal por el súper módulo emisor.
La FIGURA 6 es un diagrama de flujo para reempaquetar una pluralidad de unidades de datos de aplicación en un Súper Usuario de una modalidad de la presente invención. En el paso 910 un Súper Usuario combina una pluralidad de datos de aplicación al mismo destino en una unidad de datos de aplicación. Por ejemplo, peticiones de usuario múltiples a un servidor de la red, son combinadas. En el paso 912 se forma una unidad de datos de TCP (o un número mínimo de unidades de datos de TCP) a partir de una unidad de datos de aplicación. En el paso 914 se crea un paquete de IP (o el número mínimo de paquetes de IP) , es decir, paquetes de mensajería, donde cada paquete de IP es llenado tan cerca como sea posible del número de bytes de MTU para el enlace o hasta que haya expirado el temporizador T de envío. En el paso 916 los paquetes de mensajería son enviados al siguiente súper módulo, por ejemplo, la Súper Aplicación o el Súper Servidor de CO, en la trayectoria de destino. La FIGURA 7 es un diagrama de flujo para reempaquetar una pluralidad de paquetes de IP recibidos en un súper módulo de otra modalidad de la presente invención. En el paso 920 el súper módulo recibe una pluralidad de paquetes de IP con el mismo destino. En el paso 922 la información de aplicación es extraída de la pluralidad de paquetes de IP. En el paso 924 la aplicación extraída es usada para formar paquetes reempaquetados (es decir, paquetes de mensajería) .
En el paso 924 los paquetes reempaquetados son enviados en su camino hacia el siguiente súper módulo en la trayectoria al destino común. La FIGURA 8 explica con mayor detalle los pasos 922 y 924 de la FIGURA 7. En el paso 932 las unidades de datos de aplicación son extraídas de los paquetes de IP . Por cada unidad de datos de aplicación es examinada la información de control del encabezado de TCP y el encabezado de IP relacionada. Y la información de control aplicable, por ejemplo, el origen, los puertos de origen y destino, y la longitud de datos, es agregada a la unidad de datos de aplicación correspondiente para formar una unidad de datos de aplicación modificada (paso 934) . En el paso 936 las unidades de datos de aplicación modificada son agregadas para formar una unidad de datos de TCP (o un número mínimo de unidades de datos de TCP) . En el paso 938 se forman nuevos paquetes de IP reempaquetados a partir de la unidad de datos de TCP usando la MTU del enlace, entre los súper módulos emisor y receptor. La decisión si se forma en el paso 936 una unidad de datos de TCP grande o unidades de datos de TCP pequeñas múltiples es determinada dinámicamente, dependiendo de la carga de tráfico sobre el enlace qué abandona el súper módulo emisor. Por ejemplo, si el enlace está cerca de su capacidad entonces es más eficiente enviar unidades de datos de TCP pequeñas múltiples, y en consecuencia paquetes de IP pequeños, entonces uno (o varios) paquetes de IP grande, tendrán que esperar . La FIGURA 9 muestra un ejemplo de paquetes de mensajería de un Súper Usuario a un Súper Hospedero de un aspecto de la presente invención. Un Súper Usuario 530 combina peticiones de usuario 1020 y 1022, es decir, unidades de datos de aplicación DI y D2 , en un paquete de mensajería 1024 de acuerdo al diagrama de flujo de la FIGURA 6. El Súper Usuario 1010 tiene su petición de, usuario D3 en el paquete de IP 1026 y el Súper Usuario 1012 tienes una petición de usuario D5 en el paquete de IP 1028. Ambas de esas peticiones de Súper Usuario únicas son reempaquetadas a paquetes de mensajería y enviadas a la Súper Aplicación apropiada. En la primera Súper Aplicación 530, el paquete de mensajería 1024 y el paquete de IP 1026 son recibidos y reempaquetados de acuerdo al diagrama de flujo de la FIGURA 7 para formar el paquete de mensajería de aplicación más grande 1030. El paquete de mensajería de aplicación 1030 tiene, por ejemplo, la unidad de datos de aplicación DI la cual ha sido modificada (DIA) para incluir información de control del encabezado de TCP e IP Hl del paquete de IP 1024. La segunda Súper Aplicación 1014 recibe el paquete de mensajería 1028-1, no cambia éste (1028-2) y envía éste al Súper Servidor de GO 534. El Súper Servidor - de CO 534 recibe el paquete de mensajería de aplicación 1030 de la Súper Aplicación 532 y el paquete de mensajería 1028-2 de la Súper Aplicación 1014. Los paquetes de mensajería 1030 y 1028-2 son reempaquetados de acuerdo al diagrama de flujo de., la FIGURA 7 para formar el paquete de mensajería de CO 1034, el cual es enviado al Súper Concentrador de CO 536. El Súper Servidor CO 1036 tiene el paquete de mensajería de CO 1038 el cual también es enviado al Súper Concentrador de CO 536. EL Súper Concentrador de CO 536 reempaqueta paquetes de mensajería de CO 1034 y 1038 al paquete de mensajería del Concentrador de CO 1040, el cual es enviado al Súper Hospedero 538. El Súper Hospedero desempaqueta el paquete de mensajería del concentrador de CO 1040 para obtener las peticiones de usuario DI, D2, D3 , D4 , D5, D6 y D7 (por ejemplo, peticiones de HTTP o FTP) y las peticiones son enviadas al servidor de la red. El reempaquetamiento de acuerdo a las FIGURAS 6, 7 y 8 también ocurre para las respuestas de datos del servidor de la red al Súper Hospedero 538 de regreso al Súper Usuario 530 vía el Súper Concentrador de CO 536, el Súper Servidor de CO 534 y la Súper Aplicación 532.
Cambio de los Datos de Aplicación Como puede observarse de la discusión anterior del reempaquetamiento, las unidades de datos de aplicación son examinadas muchas veces cuando proceden de regreso como paquetes de mensajería del Súper Hospedero 533 al Súper Usuario, por ejemplo, 530. Puesto que entre cualesquier paquetes de mensajería de dos súper módulos son usados los diagramas de flujo dados en las FIGURAS 7 y 8 para recibir paquetes de mensajería y, si es necesario, reempaquetarlos como nuevos paquetes de mensajería. En cada caso son extraídos los datos de aplicación. Si los datos de aplicación son HTML, entonces los datos de aplicación pueden ser analizados sintácticamente en elementos de programación y reglas aplicadas IF-THEN (SI-ENTONCES) (es decir, si se mantiene una condición entonces se efectúa una acción predeterminada) . Otra modalidad puede usar un lenguaje de documento de iniciación como el Perl (Lenguaje de Extracción y Reporte Práctico) el cual buscaría patrones en los datos de aplicación y efectuaría ciertas acciones como supresión, modificación, reemplazo, o adición a los datos que se ajusten al patrón. Las reglas para suprimir, agregar, modificar, o reemplazar elementos pueden basarse en cualquier criterio de usuario deseable, incluyendo el contenido, publicidad, audiencia pretendida, usuario, recursos humanos, temporización, contexto, legal, geografía, dirección de IP, fuente, tamaño de archivo o tipo o contenido político. Para propósitos de ilustración, se usa el código HTML para un aviso en forma de pancarta que gira a través de varias imágenes como un ejemplo de datos de aplicación que pueden ser regresados como respuesta a la petición de un usuario de una página de la red . Existe un código para manej ar o activar la presentación de la pancarta sobre la base de un evento , como ir a la página de la Red : <cuerpo en Carga= "girar Pancarta"
( ? imágenes/Pancartal . pg' ) " > A continuación existe código para presentar la primera imagen en pancarta (es decir, Pancartal .jpg) : <tabla> <trxtdxnombre img= "pancarta" src=
"imágenes/Pancartal . jpgx/ td> </tr> </ tabla> Finalmente existe una función de girarPancarta ( ) la cual se recupera recursivamente en sí cada 5 segundos y cambia la propiedad " src" anterior, presentando de este modo la nueva imagen de la pancarta : función de girarPancarta (PancartaSrc) {var ID de Temporizador //barrer la imagen documento . ancarta . src=PancartaSrc ; //esperar retraso y prepararse para barrer la siguiente imagen if ( PancartaSrc= =imágenes/Pancartal . j pg" ) ID de Temporizador= fijarRetraso
( "girarPancarta ( "imágenes/Pancarta2. jpg" ) " , 5000 ) ;
else if (PancartaSrc= =imágenes/Pancarta2. pg") ID de Temporizador= fijarRetraso
("girarPancarta("imágenes/Pancarta3.jpg") " , 5000) ;
} El ejemplo anterior muestra constructos de programación estándar y puede ser analizado sintácticamente por numerosos programas y sistemas de programación disponibles a un experto en la técnica. Una vez analizados sintácticamente los constructos y variables de programación, esos elementos pueden ser manipulados por reglas definidas por el usuario. De este modo el usuario tiene la capacidad de filtrar o modificar los datos ' que el/ella solicitó usando cualquier súper módulo en la trayectoria del servidor de la red al visualizador . ! Aunque los programas y sistemas de programación de modificación de flujo de datos de aplicación pueden ser parte de cualquier súper módulo, en una modalidad preferida estos se localizan en el Súper Servidor de CO 534, el Súper Concentrador de CO 536, o el Súper Hospedero 538 (Figura 4), es decir, en la Internet del lado del último 1.6 kilómetros (milla) (entre el servidor de POP 152 y el servidor de la LAN 144) . Removiendo los avisos en forma de pancarta y los gráficos superfluos, el tráfico sobre el último 1.6 kilómetros (milla) se reduce. Removiendo los avisos en forma de pancarta en el Súper Hospedero ' 538, por ejemplo, se ahorraría el tráfico de datos innecesario sobre la Internet 160. Además existe' la necesidad de que el Súper Servidor de CO 534 use otras reglas de cambio además 'del usuario. Por ejemplo, una entidad gubernamental puede desear reemplazar avisos en forma de pancarta con anuncios de servicios públicos . La Figura 10 es un diagrama de flujo para cambiar las unidades de datos de aplicación en un súper módulo en una modalidad de la presente invención. En el paso 1010, las unidades de datos de aplicación son extraídas de los paquetes de IP entrantes (véase el paso 932 de la Figura 8) , los cuales podrían ser paquetes de IP normales provenientes de un módulo normal, o paquetes de mensajería provenientes de otro súper módulo. En el paso 1012 es analizada una unidad de datos de aplicación y el conjunto de reglas IF-THEN (SI-ENTONCES) del usuario es verificado. Cuando la unidad de datos aplicación satisface la condición "IF" ("SI") de las reglas del usuario "THEN" ("ENTONCES") los datos pueden ser suprimidos, modificados o reemplazados (paso 1016) . Si existe más de una unidad de datos de aplicación en el paquete de mensajería, entonces se repite el paso 1012. De otro modo, en el paso 1022, la información del seudoencabezado del TCP e IP extraída previamente es agregada a cada unidad de datos de aplicación. Esas unidades de datos de aplicación son entonces agregadas, y se agrega un nuevo encabezado de TCP e IP para formar un nuevo paquete de mensajería (paso 1024) . El nuevo paquete de mensajería es enviado al siguiente súper modulo. Por lo tanto, cuando los datos de aplicación y los paquetes de mensajería pasan a través de cada súper módulo, ellos son evaluados y cambiados dinámicamente de acuerdo a reglas definidas por el usuario. En otra modalidad los datos de aplicación son examinados · y cambiados de acuerdo a las reglas definidas por el usuario en una o más de las súper memorias reservadas del súper módulo.
Conclusión Aunque han sido descritas modalidades específicas de la invención, también son abarcadas varias modificaciones, alteraciones, construcciones alternativas y equivalentes dentro del alcance de la invención. La invención descrita no se restringe a la operación con ciertos ambientes de procesamiento de datos específicos, sino que está libre para operar dentro de una pluralidad de ambientes de procesamiento de datos. Adicionalmente, aunque la invención ha sido descrita usando una serie particular de transacciones y pasos, será evidente a aquellos expertos en la técnica que el alcance de la invención no se limita a las series descritas de transacciones y pasos.
Además, aunque la invención no sea descrita usando una combinación particular de componentes físicos de computación y programas y sistemas de programación, se reconocerá que otras combinaciones de componentes físicos de computación y programas y sistemas de programación también están dentro del alcance de la invención. La invención puede ser im lementada únicamente en componentes físicos de computación o únicamente en programas y sistemas de programación o usando combinaciones de los mismos. La especificación de los dibujos, en consecuencia, debe ser considerados ilustrativos más que en un sentido restrictivo. Sin embargo, será evidente que pueden hacerse adiciones, sustracciones, supresiones y otras modificaciones y cambios a estos sin apartarse del espíritu y alcance más amplio de la invención como se expone en las reivindicaciones .
Claims (8)
- REIVINDICACIONES 1. Un método para cambiar datos de aplicación enviados por un primer sistema de computadora a un segundo sistema de computadora vía una red de comunicaciones, donde la segunda computadora tiene un visualizador para presentar los datos de aplicación, el método se caracteriza porque comprende : analizar sintácticamente los datos de aplicación en elementos por medio de la primera computadora; si un elemento de esos elementos satisface una condición predeterminada, cambiar el elemento de acuerdo a una acción predeterminada, donde el cambio incluye reemplazar, modificar y enviar; y enviar el elemento cambiado al visualizador.
- 2. El método de conformidad con la reivindicación 1, caracterizado porque el cambio incluye además la supresión y filtración.
- 3. El método de conformidad con la reivindicación 1, caracterizado porque la condición y acción predeterminada por el usuario se basan en el contenido, publicidad, audiencia pretendida, usuario, recursos humanos, temporización, contexto, legal, geografía, dirección de IP, fuente, tamaño o tipo de archivo o contenido político.
- 4. Un método para cambiar datos de aplicación por medio de una computadora intermediaria en un flujo de datos de una primera computadora a una segunda computadora, caracterizado porque comprende: extraer los datos de aplicación recibidos de al menos un paquete de IP; determinar si una parte de los datos de aplicación satisface una condición de usuario predefinida; responder a la parte que satisface la condición predeterminada por el usuario, cambiando esa parte de acuerdo a una regla predefinida por el usuario; , combinar la parte cambiada con otros datos de aplicación y formar al menos un paquete de IP nuevo; y enviar el nuevo paquete de IP.
- 5. El método de conformidad con la reivindicación 4, caracterizado porque los datos de aplicación son información de HTML.
- 6. El método de conformidad con la reivindicación 4, caracterizado porque la condición predefinida por el usuario incluye la existencia del código de HTML para un aviso en forma de pancarta, y la regla predefinida por el usuario es seleccionada del grupo que consiste de suprimir el código de HTML, sustituir un aviso en forma de pancarta por otro producto, y agregar un anuncio público.
- 7. Un sistema para modificar ' elementos de datos de aplicación en un flujo de datos, caracterizado porque comprende -. un primer súper módulo para recibir al menos un elemento de datos de aplicación en el flujo de datos; un módulo de decisión para analizar el elemento de datos de aplicación de acuerdo a un conjunto de reglas predeterminadas por el usuario para modificar el elemento de los datos de aplicación cuando se satisfagan condiciones predeterminadas; un módulo de reempaquetamiento para crear un paquete de mensajería usando los elementos de datos modificado; y un segundo súper módulo para recibir el paquete de mensajería.
- 8. El sistema de conformidad con la reivindicación 7, caracterizado porque el conjunto de reglas de usuario predeterminadas se basa en el contenido, publicidad, audiencia pretendida, usuario, recursos humanos, temporización, contexto, legal, geografía, dirección de IP, fuente, tamaño o tipo de archivo o contenido político.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29567601P | 2001-06-04 | 2001-06-04 | |
US29572101P | 2001-06-04 | 2001-06-04 | |
US29567201P | 2001-06-04 | 2001-06-04 | |
US29567101P | 2001-06-04 | 2001-06-04 | |
US29572001P | 2001-06-04 | 2001-06-04 | |
PCT/US2002/017932 WO2002099677A1 (en) | 2001-06-04 | 2002-06-04 | System and method for modifying a data stream using element parsing |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA03010864A true MXPA03010864A (es) | 2004-11-22 |
Family
ID=27540798
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA03011150A MXPA03011150A (es) | 2001-06-04 | 2002-06-04 | Sistema y metodo para incrementar el ancho de banda efectivo de una red de comunicaciones. |
MXPA03010864A MXPA03010864A (es) | 2001-06-04 | 2002-06-04 | Sistema y metodo para modificar un flujo de datos usando analisis sintactico elemental. |
MXPA03011152A MXPA03011152A (es) | 2001-06-04 | 2002-06-04 | Un sistema y metodo para reducir el tiempo de entrega de informacion de una red de comunicaciones a un usuario. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA03011150A MXPA03011150A (es) | 2001-06-04 | 2002-06-04 | Sistema y metodo para incrementar el ancho de banda efectivo de una red de comunicaciones. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA03011152A MXPA03011152A (es) | 2001-06-04 | 2002-06-04 | Un sistema y metodo para reducir el tiempo de entrega de informacion de una red de comunicaciones a un usuario. |
Country Status (9)
Country | Link |
---|---|
US (3) | US20030051055A1 (es) |
EP (3) | EP1402391A4 (es) |
JP (2) | JP2004535631A (es) |
KR (5) | KR20040032106A (es) |
CN (3) | CN1513144A (es) |
BR (2) | BR0210159A (es) |
CA (3) | CA2447787A1 (es) |
MX (3) | MXPA03011150A (es) |
WO (3) | WO2002099677A1 (es) |
Families Citing this family (276)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990678B2 (en) * | 2001-03-27 | 2015-03-24 | At&T Intellectual Property I, L.P. | Systems and methods for automatically providing alerts of web site content updates |
US7043727B2 (en) * | 2001-06-08 | 2006-05-09 | Micromuse Ltd. | Method and system for efficient distribution of network event data |
US7602716B1 (en) * | 2001-12-20 | 2009-10-13 | Cisco Technology, Inc. | Load sharing on DOCSIS |
EP1466435B1 (en) | 2002-01-08 | 2019-05-22 | Seven Networks, LLC | Secure transport for mobile communication network |
SE0200696D0 (sv) * | 2002-03-06 | 2002-03-06 | Ericsson Telefon Ab L M | Method and system of load control |
FR2841079B1 (fr) * | 2002-06-14 | 2005-02-25 | Canal Plus Technologies | Procede de diffusion d'application html |
US8050970B2 (en) * | 2002-07-25 | 2011-11-01 | Google Inc. | Method and system for providing filtered and/or masked advertisements over the internet |
US7551575B1 (en) * | 2002-11-05 | 2009-06-23 | Marvell Israel (M.I.S.L.) Ltd. | Context-switching multi channel programmable stream parser |
MXPA05004988A (es) * | 2002-11-08 | 2005-12-05 | Arbitration Forums Inc | Un sistema y procedimiento para subrogacion electronica, manejo de flujo de trabajo entre organizaciones, procesamiento de transaccion entre organizaciones e interaccion de usuario con en una red informatica optimizada. |
US7818506B1 (en) | 2002-12-13 | 2010-10-19 | Vignette Software Llc | Method and system for cache management |
US8463998B1 (en) | 2002-12-13 | 2013-06-11 | Open Text S.A. | System and method for managing page variations in a page delivery cache |
US8380932B1 (en) | 2002-12-13 | 2013-02-19 | Open Text S.A. | Contextual regeneration of pages for web-based applications |
US8312222B1 (en) | 2002-12-13 | 2012-11-13 | Open Text, S.A. | Event-driven regeneration of pages for web-based applications |
US7360025B1 (en) * | 2002-12-13 | 2008-04-15 | O'connell Conleth | Method and system for automatic cache management |
US7188216B1 (en) * | 2002-12-13 | 2007-03-06 | Vignette Corporation | Method and system for an extensible caching framework |
US8335860B2 (en) * | 2002-12-19 | 2012-12-18 | Nokia Corporation | Filtering application services |
US7278114B2 (en) * | 2002-12-30 | 2007-10-02 | Viewspace Technologies | Method and apparatus for managing display of popup windows |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
WO2004114581A2 (en) * | 2003-06-17 | 2004-12-29 | Bytemobile, Inc. | Method and system for dynamic interleaving |
US7765196B2 (en) * | 2003-06-23 | 2010-07-27 | Dell Products L.P. | Method and apparatus for web cache using database triggers |
US7076500B2 (en) * | 2003-06-30 | 2006-07-11 | David Gallant | Selective file caching method |
US7942897B2 (en) | 2003-07-10 | 2011-05-17 | Boston Scientific Scimed, Inc. | System for closing an opening in a body cavity |
US9525566B2 (en) * | 2003-07-31 | 2016-12-20 | Cloudsoft Corporation Limited | Self-managed mediated information flow |
US8266294B2 (en) | 2003-08-13 | 2012-09-11 | Microsoft Corporation | Routing hints |
US7882251B2 (en) | 2003-08-13 | 2011-02-01 | Microsoft Corporation | Routing hints |
US7542476B2 (en) * | 2003-08-29 | 2009-06-02 | Flash Networks Ltd | Method and system for manipulating IP packets in virtual private networks |
JP4117656B2 (ja) * | 2003-11-26 | 2008-07-16 | 株式会社日立製作所 | アクセスパターンを学習する記憶装置 |
FI117218B (fi) * | 2003-12-29 | 2006-07-31 | Nokia Corp | Menettely tietoelementin lataamiseksi langattomaan päätelaitteeseen |
DE102004004345A1 (de) * | 2004-01-29 | 2005-08-18 | Abb Research Ltd. | System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern |
US20050198401A1 (en) * | 2004-01-29 | 2005-09-08 | Chron Edward G. | Efficiently virtualizing multiple network attached stores |
US7448022B1 (en) | 2004-02-10 | 2008-11-04 | Prasad Ram | Dynamic software composition in a component-based software system |
US8606876B2 (en) * | 2004-02-11 | 2013-12-10 | Flash Networks Ltd. | Method and system for accelerating data communication that is using multipart |
US7421602B2 (en) | 2004-02-13 | 2008-09-02 | Marvell World Trade Ltd. | Computer with low-power secondary processor and secondary display |
US20050193341A1 (en) * | 2004-02-27 | 2005-09-01 | Hayward Anthony D. | System for aggregating, processing and delivering video footage, documents, audio files and graphics |
WO2005091594A1 (en) * | 2004-03-17 | 2005-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for efficiently transferring data within a telecommunications network |
US20050216524A1 (en) * | 2004-03-23 | 2005-09-29 | Integrated Data Corporation | Smart and selective synchronization between databases in a document management system |
US20050240574A1 (en) * | 2004-04-27 | 2005-10-27 | International Business Machines Corporation | Pre-fetching resources based on a resource lookup query |
US7730335B2 (en) * | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
US8224964B1 (en) | 2004-06-30 | 2012-07-17 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US7437364B1 (en) | 2004-06-30 | 2008-10-14 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US8676922B1 (en) | 2004-06-30 | 2014-03-18 | Google Inc. | Automatic proxy setting modification |
US7558822B2 (en) * | 2004-06-30 | 2009-07-07 | Google Inc. | Accelerating user interfaces by predicting user actions |
US20060031560A1 (en) * | 2004-06-30 | 2006-02-09 | Seth Warshavsky | Method and system for transferring a file between data processing devices using a communication or instant messaging program |
JP2006023827A (ja) * | 2004-07-06 | 2006-01-26 | Fujitsu Ltd | 文書データ管理装置、文書データ管理方法および文書データ管理プログラム |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7571112B2 (en) * | 2004-08-04 | 2009-08-04 | Verizon Business Global Llc | Virtual private radio station via virtual private network |
US7475424B2 (en) * | 2004-09-02 | 2009-01-06 | International Business Machines Corporation | System and method for on-demand dynamic control of security policies/rules by a client computing device |
US7782789B2 (en) * | 2004-09-23 | 2010-08-24 | Harris Corporation | Adaptive bandwidth utilization for telemetered data |
US7496642B2 (en) * | 2004-09-29 | 2009-02-24 | International Business Machines Corporation | Adaptive vicinity prefetching for filesystem metadata |
WO2006045102A2 (en) | 2004-10-20 | 2006-04-27 | Seven Networks, Inc. | Method and apparatus for intercepting events in a communication system |
US8156429B2 (en) | 2004-10-22 | 2012-04-10 | Flash Networks. Ltd | Method and system for accelerating downloading of web pages |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7441060B2 (en) * | 2004-10-29 | 2008-10-21 | International Business Machines Corporation | System, method and storage medium for providing a service interface to a memory system |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7331010B2 (en) * | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7512762B2 (en) * | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US20060095620A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for merging bus data in a memory subsystem |
US7395476B2 (en) * | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
JP2006146839A (ja) * | 2004-11-25 | 2006-06-08 | Hitachi Ltd | 装置を管理するシステム及び方法 |
FI117152B (fi) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
US20060130042A1 (en) * | 2004-12-15 | 2006-06-15 | Dias Daniel M | Method and apparatus for dynamic application upgrade in cluster and grid systems for supporting service level agreements |
US7729363B2 (en) * | 2005-01-24 | 2010-06-01 | Research In Motion Limited | System and method for managing communication for component applications |
US7818666B2 (en) | 2005-01-27 | 2010-10-19 | Symyx Solutions, Inc. | Parsing, evaluating leaf, and branch nodes, and navigating the nodes based on the evaluation |
US8458125B1 (en) | 2005-01-31 | 2013-06-04 | Oracle America, Inc. | Dynamic creation of replicas of streaming data from a storage device without added load |
EP1844612B1 (en) * | 2005-02-04 | 2017-05-10 | Barco NV | Method and device for image and video transmission over low-bandwidth and high-latency transmission channels |
US7664870B2 (en) * | 2005-02-25 | 2010-02-16 | Microsoft Corporation | Method and system for providing users a lower fidelity alternative until a higher fidelity experience is available |
US20080022343A1 (en) * | 2006-07-24 | 2008-01-24 | Vvond, Inc. | Multiple audio streams |
US8904463B2 (en) * | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US7191215B2 (en) * | 2005-03-09 | 2007-03-13 | Marquee, Inc. | Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines |
US8219635B2 (en) * | 2005-03-09 | 2012-07-10 | Vudu, Inc. | Continuous data feeding in a distributed environment |
US7937379B2 (en) * | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US7698451B2 (en) * | 2005-03-09 | 2010-04-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US9176955B2 (en) * | 2005-03-09 | 2015-11-03 | Vvond, Inc. | Method and apparatus for sharing media files among network nodes |
US7877703B1 (en) | 2005-03-14 | 2011-01-25 | Seven Networks, Inc. | Intelligent rendering of information in a limited display environment |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US20060242571A1 (en) * | 2005-04-21 | 2006-10-26 | Xiaofan Lin | Systems and methods for processing derivative featurees in input files |
US7490140B2 (en) * | 2005-05-12 | 2009-02-10 | International Business Machines Corporation | Peer data transfer orchestration |
US8099511B1 (en) | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US20070083574A1 (en) * | 2005-10-07 | 2007-04-12 | Oracle International Corporation | Replica database maintenance with parallel log file transfers |
US20070101061A1 (en) * | 2005-10-27 | 2007-05-03 | Guruprasad Baskaran | Customized content loading mechanism for portions of a web page in real time environments |
US7478259B2 (en) * | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) * | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US20070150138A1 (en) | 2005-12-08 | 2007-06-28 | James Plante | Memory management in event recording systems |
US10878646B2 (en) | 2005-12-08 | 2020-12-29 | Smartdrive Systems, Inc. | Vehicle event recorder systems |
US20070168419A1 (en) * | 2005-12-19 | 2007-07-19 | Sciammarella Eduardo A | System, method, and article of manufacture for a network media channel |
US8966537B2 (en) * | 2005-12-19 | 2015-02-24 | Eduardo Sciammarella | System, method, and article of manufacture for a user interface for a network media channel |
US20070156868A1 (en) * | 2005-12-29 | 2007-07-05 | Ido Keren | Efficient dynamic discovery of web services |
US8166114B2 (en) * | 2006-02-21 | 2012-04-24 | Strangeloop Networks, Inc. | Asynchronous context data messaging |
US8037127B2 (en) | 2006-02-21 | 2011-10-11 | Strangeloop Networks, Inc. | In-line network device for storing application-layer data, processing instructions, and/or rule sets |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
US9201842B2 (en) | 2006-03-16 | 2015-12-01 | Smartdrive Systems, Inc. | Vehicle event recorder systems and networks having integrated cellular wireless communications systems |
US8996240B2 (en) | 2006-03-16 | 2015-03-31 | Smartdrive Systems, Inc. | Vehicle event recorders with integrated web server |
US7747749B1 (en) | 2006-05-05 | 2010-06-29 | Google Inc. | Systems and methods of efficiently preloading documents to client devices |
JP4616791B2 (ja) * | 2006-05-08 | 2011-01-19 | 富士通株式会社 | リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法 |
US20080043736A1 (en) * | 2006-08-18 | 2008-02-21 | Drivecam, Inc. | Data Transfer System and Method |
US7636813B2 (en) * | 2006-05-22 | 2009-12-22 | International Business Machines Corporation | Systems and methods for providing remote pre-fetch buffers |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
JP5124989B2 (ja) * | 2006-05-26 | 2013-01-23 | 日本電気株式会社 | ストレージシステム及びデータ保護方法とプログラム |
US8706799B2 (en) * | 2006-05-29 | 2014-04-22 | Sandisk Il Ltd. | Method and apparatus to exchange information with a local storage device |
US7584336B2 (en) * | 2006-06-08 | 2009-09-01 | International Business Machines Corporation | Systems and methods for providing data modification operations in memory subsystems |
US8099520B2 (en) * | 2006-06-23 | 2012-01-17 | Pro Softnet Corporation | System and method for storing and accessing data |
EP1903437A3 (en) * | 2006-07-31 | 2008-10-22 | Seiko Epson Corporation | Update data transmission method, firmware writing system, and update data transmission program |
US7669086B2 (en) * | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US8788612B1 (en) * | 2006-08-07 | 2014-07-22 | Unwired Planet, Llc | Cache based enhancement to optimization protocol |
US7581073B2 (en) * | 2006-08-09 | 2009-08-25 | International Business Machines Corporation | Systems and methods for providing distributed autonomous power management in a memory system |
US20080263324A1 (en) | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
KR101321667B1 (ko) * | 2006-08-16 | 2013-10-22 | 삼성전자주식회사 | 다큐먼트 포워딩을 위한 xdm 장치 및 방법 |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US8649933B2 (en) | 2006-11-07 | 2014-02-11 | Smartdrive Systems Inc. | Power management systems for automotive video event recorders |
US8989959B2 (en) | 2006-11-07 | 2015-03-24 | Smartdrive Systems, Inc. | Vehicle operator performance history recording, scoring and reporting systems |
US8868288B2 (en) | 2006-11-09 | 2014-10-21 | Smartdrive Systems, Inc. | Vehicle exception event management systems |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7606988B2 (en) * | 2007-01-29 | 2009-10-20 | International Business Machines Corporation | Systems and methods for providing a dynamic memory bank page policy |
US9201835B2 (en) * | 2007-02-12 | 2015-12-01 | Mushroom Networks, Inc | Access line bonding and splitting methods and apparatus |
US8812651B1 (en) | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
ES2540533T3 (es) * | 2007-02-16 | 2015-07-10 | Orica Explosives Technology Pty Ltd | Conjunto detonador, aparato de voladura y método correspondiente |
US8533310B2 (en) * | 2007-03-09 | 2013-09-10 | Riverbed Technology, Inc. | Method and apparatus for acceleration by prefetching associated objects |
US8239092B2 (en) | 2007-05-08 | 2012-08-07 | Smartdrive Systems Inc. | Distributed vehicle event recorder systems having a portable memory data transfer system |
US9158538B2 (en) * | 2007-05-21 | 2015-10-13 | International Business Machines Corporation | User-extensible rule-based source code modification |
US7764694B2 (en) * | 2008-03-07 | 2010-07-27 | Embarq Holdings Company, LLP | System, method, and apparatus for prioritizing network traffic using deep packet inspection (DPI) |
US20090238071A1 (en) * | 2008-03-20 | 2009-09-24 | Embarq Holdings Company, Llc | System, method and apparatus for prioritizing network traffic using deep packet inspection (DPI) and centralized network controller |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
CN101110844B (zh) * | 2007-08-21 | 2010-07-28 | 华为技术有限公司 | 一种节目片段预取方法及一种对等网络节点 |
KR100901521B1 (ko) | 2007-08-28 | 2009-06-08 | 광주과학기술원 | 휴리스틱 트래픽 로드 밸런스된 채널 공유 방법과 장치,상기 채널 공유 방법을 이용한 매체 접속 방법, 상기 채널공유 장치를 이용한 매체 접속망 시스템 그리고 상기방법들을 수행하는 프로그램이 기록된 기록 매체 |
US9521186B2 (en) | 2007-09-13 | 2016-12-13 | International Business Machines Corporation | Method and system for file transfer over a messaging infrastructure |
US7975214B2 (en) * | 2007-10-26 | 2011-07-05 | International Business Machines Corporation | System for capturing frames and form data |
CN101146127B (zh) * | 2007-10-30 | 2010-06-09 | 金蝶软件(中国)有限公司 | 一种分布式系统中客户端缓存更新的方法和装置 |
US20090112975A1 (en) * | 2007-10-31 | 2009-04-30 | Microsoft Corporation | Pre-fetching in distributed computing environments |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
EP2073501A1 (en) * | 2007-12-20 | 2009-06-24 | iNEWIT nv | A concentrator for storing and forwarding media content |
US7962631B2 (en) * | 2007-12-21 | 2011-06-14 | Yahoo! Inc. | Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation |
US8839403B2 (en) | 2007-12-31 | 2014-09-16 | Sandisk Il Ltd. | Local proxy system and method |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8849838B2 (en) | 2008-01-15 | 2014-09-30 | Google Inc. | Bloom filter for storing file access history |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US20090254707A1 (en) * | 2008-04-08 | 2009-10-08 | Strangeloop Networks Inc. | Partial Content Caching |
US9906620B2 (en) | 2008-05-05 | 2018-02-27 | Radware, Ltd. | Extensible, asynchronous, centralized analysis and optimization of server responses to client requests |
US20090278871A1 (en) * | 2008-05-09 | 2009-11-12 | International Business Machines Corporation | Controlling Display Resolution Of A Computer Display |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
US8825856B1 (en) * | 2008-07-07 | 2014-09-02 | Sprint Communications Company L.P. | Usage-based content filtering for bandwidth optimization |
US8677018B2 (en) * | 2008-08-25 | 2014-03-18 | Google Inc. | Parallel, side-effect based DNS pre-caching |
US8041893B1 (en) | 2008-09-09 | 2011-10-18 | Vignette Software Llc | System and method for managing large filesystem-based caches |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
WO2010065796A1 (en) * | 2008-12-03 | 2010-06-10 | Mobophiles, Inc. | System and method for providing virtual web access |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US8316558B2 (en) * | 2008-12-16 | 2012-11-27 | Skechers U.S.A., Inc. Ii | Shoe |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US8849856B2 (en) | 2008-12-16 | 2014-09-30 | Sandisk Il Ltd. | Discardable files |
US8595327B2 (en) * | 2009-04-10 | 2013-11-26 | Microsoft Corporation | Obtaining instrumentation data |
US9143381B2 (en) | 2009-04-16 | 2015-09-22 | Microsoft Technology Licenising, LLC | Sequenced transmission of digital content items |
US9549039B2 (en) | 2010-05-28 | 2017-01-17 | Radware Ltd. | Accelerating HTTP responses in a client/server environment |
CN101546272B (zh) * | 2009-04-29 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种编译器及其实现方法 |
US8886760B2 (en) | 2009-06-30 | 2014-11-11 | Sandisk Technologies Inc. | System and method of predictive data acquisition |
JP5430298B2 (ja) * | 2009-09-03 | 2014-02-26 | サンデン株式会社 | 自動販売機の制御装置 |
JP5633049B2 (ja) | 2010-02-26 | 2014-12-03 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 多数のアクティブ物理インタフェースの帯域幅をアプリケーション層でアグリゲートするシステム及び方法 |
US8812563B2 (en) * | 2010-03-02 | 2014-08-19 | Kaspersky Lab, Zao | System for permanent file deletion |
US20110231482A1 (en) * | 2010-03-22 | 2011-09-22 | Strangeloop Networks Inc. | Automated Optimization Based On Determination Of Website Usage Scenario |
US9772834B2 (en) | 2010-04-27 | 2017-09-26 | Red Hat, Inc. | Exportable encoded identifications of networked machines |
KR101125033B1 (ko) * | 2010-04-27 | 2012-03-21 | 한국과학기술원 | 최적화된 통신환경을 위한 압축알고리즘 및 암호알고리즘 선택시스템, 선택방법과 그 방법을 컴퓨터에서 수행하도록 각각의 단계를 실행시키기 위한 명령어를 기록한 컴퓨터 판독가능 기록매체 |
US8429256B2 (en) * | 2010-05-28 | 2013-04-23 | Red Hat, Inc. | Systems and methods for generating cached representations of host package inventories in remote package repositories |
CN102314449B (zh) * | 2010-07-05 | 2013-11-06 | 日电(中国)有限公司 | 后置数据访问过滤器和过滤方法 |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
WO2012018477A2 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
JP5620578B2 (ja) | 2010-07-26 | 2014-11-05 | セブン ネットワークス インコーポレイテッド | 複数のアプリケーションにわたるモバイルネットワークトラフィック調整 |
CA2806557C (en) | 2010-07-26 | 2014-10-07 | Michael Luna | Mobile application traffic optimization |
US9021047B2 (en) | 2010-07-31 | 2015-04-28 | Unwired Planet, Llc | Method and system for delivering embedded objects in a webpage to a user agent using a network device |
WO2012025974A1 (ja) * | 2010-08-23 | 2012-03-01 | 富士通株式会社 | データ記憶装置およびデータ記憶装置制御方法 |
US8812734B2 (en) | 2010-09-01 | 2014-08-19 | Microsoft Corporation | Network feed content |
CN101968815B (zh) * | 2010-10-29 | 2012-07-25 | 西本新干线电子商务有限公司 | 并发请求处理方法 |
US8484314B2 (en) * | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
WO2012060996A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Caching adapted for mobile application behavior and network conditions |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
CA2798523C (en) | 2010-11-22 | 2015-02-24 | Seven Networks, Inc. | Aligning data transfer to optimize connections established for transmission over a wireless network |
EP3422775A1 (en) | 2010-11-22 | 2019-01-02 | Seven Networks, LLC | Optimization of resource polling intervals to satisfy mobile device requests |
CN102135977A (zh) * | 2010-11-30 | 2011-07-27 | 广东星海数字家庭产业技术研究院有限公司 | 一种应用hsml解析引擎的过滤处理方法及系统 |
KR20120058763A (ko) * | 2010-11-30 | 2012-06-08 | 삼성전자주식회사 | 영상 장치에서 영상 데이터를 송신하기 위한 장치 및 방법 |
CN102135881A (zh) * | 2010-11-30 | 2011-07-27 | 广东星海数字家庭产业技术研究院有限公司 | 一种可自定义模块的hsml处理方法及系统 |
GB2501416B (en) | 2011-01-07 | 2018-03-21 | Seven Networks Llc | System and method for reduction of mobile network traffic used for domain name system (DNS) queries |
US9542501B2 (en) | 2011-01-28 | 2017-01-10 | Radware Ltd. | System and method for presenting content in a client/server environment |
JP5573709B2 (ja) * | 2011-01-31 | 2014-08-20 | ブラザー工業株式会社 | 通信装置 |
US8837578B2 (en) * | 2011-03-16 | 2014-09-16 | Verizon Patent And Licensing Inc. | MPEG-W decoder |
GB2504411A (en) | 2011-04-19 | 2014-01-29 | Seven Networks Inc | Shared resource and virtual resource management in a networked environment |
WO2012149434A2 (en) | 2011-04-27 | 2012-11-01 | Seven Networks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
GB2493473B (en) | 2011-04-27 | 2013-06-19 | Seven Networks Inc | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
US10157236B2 (en) | 2011-05-23 | 2018-12-18 | Radware, Ltd. | Optimized rendering of dynamic content |
EP2737742A4 (en) | 2011-07-27 | 2015-01-28 | Seven Networks Inc | AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK |
US9292467B2 (en) | 2011-09-16 | 2016-03-22 | Radware, Ltd. | Mobile resource accelerator |
US8914521B2 (en) * | 2011-09-27 | 2014-12-16 | Oracle International Corporation | System and method for providing active-passive routing in a traffic director environment |
US8918503B2 (en) | 2011-12-06 | 2014-12-23 | Seven Networks, Inc. | Optimization of mobile traffic directed to private networks and operator configurability thereof |
US8977755B2 (en) | 2011-12-06 | 2015-03-10 | Seven Networks, Inc. | Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation |
CN102438045B (zh) * | 2011-12-07 | 2015-07-08 | 深圳市深信服电子科技有限公司 | Web页面的预取方法、系统以及访问web页面的方法 |
WO2013086447A1 (en) | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
US9009250B2 (en) | 2011-12-07 | 2015-04-14 | Seven Networks, Inc. | Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
WO2013090834A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
EP2792188B1 (en) | 2011-12-14 | 2019-03-20 | Seven Networks, LLC | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
CN102591963A (zh) * | 2011-12-30 | 2012-07-18 | 奇智软件(北京)有限公司 | 网页内容加载控制方法及装置 |
WO2013103988A1 (en) | 2012-01-05 | 2013-07-11 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
US9203864B2 (en) | 2012-02-02 | 2015-12-01 | Seven Networks, Llc | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US8943002B2 (en) * | 2012-02-10 | 2015-01-27 | Liveperson, Inc. | Analytics driven engagement |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
WO2013155208A1 (en) | 2012-04-10 | 2013-10-17 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
US8724693B2 (en) * | 2012-05-11 | 2014-05-13 | Oracle International Corporation | Mechanism for automatic network data compression on a network connection |
US8775631B2 (en) | 2012-07-13 | 2014-07-08 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9728228B2 (en) | 2012-08-10 | 2017-08-08 | Smartdrive Systems, Inc. | Vehicle event playback apparatus and methods |
US9596271B2 (en) | 2012-10-10 | 2017-03-14 | International Business Machines Corporation | Dynamic virtual private network |
EP2772064A2 (en) | 2012-10-12 | 2014-09-03 | Spotify AB | Systems and methods for multi-context media control and playback |
US9319445B2 (en) | 2012-10-22 | 2016-04-19 | Spotify Ab | Systems and methods for pre-fetching media content |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
WO2014068877A1 (ja) * | 2012-11-02 | 2014-05-08 | 日本電気株式会社 | 情報処理装置 |
US9356645B2 (en) * | 2012-11-16 | 2016-05-31 | International Business Machines Corporation | Saving bandwidth in transmission of compressed data |
US20140177497A1 (en) | 2012-12-20 | 2014-06-26 | Seven Networks, Inc. | Management of mobile device radio state promotion and demotion |
US9271238B2 (en) | 2013-01-23 | 2016-02-23 | Seven Networks, Llc | Application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9270624B2 (en) * | 2013-05-10 | 2016-02-23 | Oracle International Corporation | Cloud messaging services optimization through adaptive message compression |
KR102030390B1 (ko) * | 2013-06-10 | 2019-11-18 | 에스케이텔레콤 주식회사 | 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치 |
JP2015023329A (ja) | 2013-07-17 | 2015-02-02 | 富士通株式会社 | 通知方法、装置及びプログラム |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
KR102180472B1 (ko) * | 2013-09-06 | 2020-11-18 | 삼성전자주식회사 | 캐시 데이터 관리 방법 및 장치 |
US9501878B2 (en) | 2013-10-16 | 2016-11-22 | Smartdrive Systems, Inc. | Vehicle event playback apparatus and methods |
US9610955B2 (en) | 2013-11-11 | 2017-04-04 | Smartdrive Systems, Inc. | Vehicle fuel consumption monitor and feedback systems |
CN103699665A (zh) * | 2013-12-27 | 2014-04-02 | 贝壳网际(北京)安全技术有限公司 | 一种网页广告过滤方法及装置 |
US20150207742A1 (en) * | 2014-01-22 | 2015-07-23 | Wipro Limited | Methods for optimizing data for transmission and devices thereof |
US8892310B1 (en) | 2014-02-21 | 2014-11-18 | Smartdrive Systems, Inc. | System and method to detect execution of driving maneuvers |
US10021208B2 (en) * | 2014-03-04 | 2018-07-10 | Mobophiles, Inc. | Dynamic cache allocation and network management |
US10038712B2 (en) | 2014-06-02 | 2018-07-31 | Paypal, Inc. | Method and apparatus for dynamic detection of geo-location obfuscation in client-server connections through an IP tunnel |
US9663127B2 (en) | 2014-10-28 | 2017-05-30 | Smartdrive Systems, Inc. | Rail vehicle event detection and recording system |
US11069257B2 (en) | 2014-11-13 | 2021-07-20 | Smartdrive Systems, Inc. | System and method for detecting a vehicle event and generating review criteria |
WO2016095012A1 (en) | 2014-12-15 | 2016-06-23 | Royal Bank Of Canada | Verification of data processes in a network of computing resources |
US11165714B2 (en) | 2014-12-15 | 2021-11-02 | Royal Bank Of Canada | Verification of data processes in a network of computing resources |
CN105812439B (zh) * | 2014-12-31 | 2019-10-25 | 华为技术有限公司 | 一种音频传输方法及装置 |
US9679420B2 (en) | 2015-04-01 | 2017-06-13 | Smartdrive Systems, Inc. | Vehicle event recording system and method |
US9736081B2 (en) | 2015-06-04 | 2017-08-15 | At&T Intellectual Property I, L.P. | Apparatus and method to improve compression and storage data |
CN105162860A (zh) * | 2015-08-21 | 2015-12-16 | 成都秋雷科技有限责任公司 | 广告的拆分投放方法 |
CN106657182B (zh) | 2015-10-30 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 云端文件处理方法和装置 |
US10152527B1 (en) | 2015-12-28 | 2018-12-11 | EMC IP Holding Company LLC | Increment resynchronization in hash-based replication |
US10572460B2 (en) * | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US10310951B1 (en) | 2016-03-22 | 2019-06-04 | EMC IP Holding Company LLC | Storage system asynchronous data replication cycle trigger with empty cycle detection |
US10324635B1 (en) * | 2016-03-22 | 2019-06-18 | EMC IP Holding Company LLC | Adaptive compression for data replication in a storage system |
US10095428B1 (en) | 2016-03-30 | 2018-10-09 | EMC IP Holding Company LLC | Live migration of a tree of replicas in a storage system |
US9959073B1 (en) | 2016-03-30 | 2018-05-01 | EMC IP Holding Company LLC | Detection of host connectivity for data migration in a storage system |
US10565058B1 (en) | 2016-03-30 | 2020-02-18 | EMC IP Holding Company LLC | Adaptive hash-based data replication in a storage system |
US9959063B1 (en) | 2016-03-30 | 2018-05-01 | EMC IP Holding Company LLC | Parallel migration of multiple consistency groups in a storage system |
US10152232B1 (en) | 2016-06-29 | 2018-12-11 | EMC IP Holding Company LLC | Low-impact application-level performance monitoring with minimal and automatically upgradable instrumentation in a storage system |
US10013200B1 (en) | 2016-06-29 | 2018-07-03 | EMC IP Holding Company LLC | Early compression prediction in a storage system with granular block sizes |
US9983937B1 (en) | 2016-06-29 | 2018-05-29 | EMC IP Holding Company LLC | Smooth restart of storage clusters in a storage system |
US10083067B1 (en) | 2016-06-29 | 2018-09-25 | EMC IP Holding Company LLC | Thread management in a storage system |
US10048874B1 (en) | 2016-06-29 | 2018-08-14 | EMC IP Holding Company LLC | Flow control with a dynamic window in a storage system with latency guarantees |
US10574723B2 (en) * | 2016-11-30 | 2020-02-25 | Nutanix, Inc. | Web services communication management |
US20180253493A1 (en) * | 2017-03-03 | 2018-09-06 | Home Box Office, Inc. | Creating a graph from isolated and heterogeneous data sources |
US10540364B2 (en) | 2017-05-02 | 2020-01-21 | Home Box Office, Inc. | Data delivery architecture for transforming client response data |
KR102065958B1 (ko) | 2017-11-13 | 2020-02-11 | 유한회사 이노릭스 | 파일 전송 방법 및 이를 수행하는 시스템 |
CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
CN108322220A (zh) * | 2018-02-08 | 2018-07-24 | 华为技术有限公司 | 编解码方法、装置及编解码设备 |
US10638363B2 (en) | 2018-04-04 | 2020-04-28 | At&T Intellectual Property I, L.P. | Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design |
US10841834B2 (en) | 2018-04-04 | 2020-11-17 | At&T Intellectual Property I, L.P. | Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design |
KR102085838B1 (ko) * | 2019-09-27 | 2020-05-26 | 에스케이텔레콤 주식회사 | 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5467087A (en) * | 1992-12-18 | 1995-11-14 | Apple Computer, Inc. | High speed lossless data compression system |
WO1996017462A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | A reliable connectionless network protocol |
US6012085A (en) | 1995-11-30 | 2000-01-04 | Stampede Technolgies, Inc. | Apparatus and method for increased data access in a network file object oriented caching system |
JPH09186723A (ja) * | 1995-12-29 | 1997-07-15 | Hitachi Ltd | ネットワーク通信処理方式 |
SG77111A1 (en) * | 1996-02-28 | 2000-12-19 | It Innovations Pte Ltd | A system for manipulating and upgrading data objects with remote data sources automatically and seamlessly |
US5918013A (en) * | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
FI962381A (fi) | 1996-06-07 | 1997-12-08 | Nokia Telecommunications Oy | Datan pakkaaminen tietoliikenneyhteydellä |
US6240444B1 (en) * | 1996-09-27 | 2001-05-29 | International Business Machines Corporation | Internet web page sharing |
US5870559A (en) * | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US6185625B1 (en) * | 1996-12-20 | 2001-02-06 | Intel Corporation | Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object |
US6049821A (en) | 1997-01-24 | 2000-04-11 | Motorola, Inc. | Proxy host computer and method for accessing and retrieving information between a browser and a proxy |
US5964842A (en) * | 1997-01-31 | 1999-10-12 | Network Computing Devices, Inc. | Method and apparatus for scaling data compression based on system capacity |
US5938737A (en) | 1997-02-14 | 1999-08-17 | Stanford Telecommunications, Inc. | Internet upstream request compression |
GB2323246B (en) * | 1997-03-15 | 2002-03-20 | Ibm | Internet telephony signal conversion |
US6421733B1 (en) * | 1997-03-25 | 2002-07-16 | Intel Corporation | System for dynamically transcoding data transmitted between computers |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6173399B1 (en) * | 1997-06-12 | 2001-01-09 | Vpnet Technologies, Inc. | Apparatus for implementing virtual private networks |
US5873081A (en) * | 1997-06-27 | 1999-02-16 | Microsoft Corporation | Document filtering via directed acyclic graphs |
US6128701A (en) * | 1997-10-28 | 2000-10-03 | Cache Flow, Inc. | Adaptive and predictive cache refresh policy |
US6393526B1 (en) * | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6151601A (en) | 1997-11-12 | 2000-11-21 | Ncr Corporation | Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area |
US6182133B1 (en) * | 1998-02-06 | 2001-01-30 | Microsoft Corporation | Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching |
US6122666A (en) * | 1998-02-23 | 2000-09-19 | International Business Machines Corporation | Method for collaborative transformation and caching of web objects in a proxy network |
US6061715A (en) * | 1998-04-30 | 2000-05-09 | Xerox Corporation | Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions |
US6094662A (en) * | 1998-04-30 | 2000-07-25 | Xerox Corporation | Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions |
US6510469B1 (en) * | 1998-05-13 | 2003-01-21 | Compaq Information Technologies Group,L.P. | Method and apparatus for providing accelerated content delivery over a network |
US6128655A (en) * | 1998-07-10 | 2000-10-03 | International Business Machines Corporation | Distribution mechanism for filtering, formatting and reuse of web based content |
US6199107B1 (en) * | 1998-07-22 | 2001-03-06 | Microsoft Corporation | Partial file caching and read range resume system and method |
US6304973B1 (en) * | 1998-08-06 | 2001-10-16 | Cryptek Secure Communications, Llc | Multi-level security network system |
US6553376B1 (en) * | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
US6233606B1 (en) * | 1998-12-01 | 2001-05-15 | Microsoft Corporation | Automatic cache synchronization |
US6389038B1 (en) | 1999-01-26 | 2002-05-14 | Net 2 Phone | Voice IP bandwidth utilization |
JP2002538672A (ja) * | 1999-02-26 | 2002-11-12 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | パケット通信における適応可能なヘッダ圧縮 |
US6401132B1 (en) * | 1999-08-03 | 2002-06-04 | International Business Machines Corporation | Subchaining transcoders in a transcoding framework |
AU7343300A (en) * | 1999-09-08 | 2001-04-10 | Automated Business Companies | Automated bandwidth on demand system |
EP1104141A3 (en) | 1999-11-29 | 2004-01-21 | Lucent Technologies Inc. | System for generating composite packets |
US6990526B1 (en) * | 2000-05-22 | 2006-01-24 | Pointred Technologies, Inc. | Method and apparatus for web caching |
US6799251B1 (en) * | 2000-08-29 | 2004-09-28 | Oracle International Corporation | Performance-based caching |
US6477575B1 (en) * | 2000-09-12 | 2002-11-05 | Capital One Financial Corporation | System and method for performing dynamic Web marketing and advertising |
US6934743B2 (en) * | 2001-03-14 | 2005-08-23 | Wireless 3G | Method and apparatus for displaying intermediate content messages in the unused portion of a web browser display space |
-
2002
- 2002-06-04 US US10/164,296 patent/US20030051055A1/en not_active Abandoned
- 2002-06-04 US US10/164,261 patent/US20030078964A1/en not_active Abandoned
- 2002-06-04 WO PCT/US2002/017932 patent/WO2002099677A1/en not_active Application Discontinuation
- 2002-06-04 JP JP2003501958A patent/JP2004535631A/ja active Pending
- 2002-06-04 US US10/164,034 patent/US7260651B2/en not_active Expired - Fee Related
- 2002-06-04 WO PCT/US2002/017933 patent/WO2002100117A2/en active Application Filing
- 2002-06-04 MX MXPA03011150A patent/MXPA03011150A/es unknown
- 2002-06-04 JP JP2003502642A patent/JP2004535713A/ja active Pending
- 2002-06-04 CN CNA028112555A patent/CN1513144A/zh active Pending
- 2002-06-04 KR KR10-2003-7015892A patent/KR20040032106A/ko active IP Right Grant
- 2002-06-04 CN CNA028112881A patent/CN1513142A/zh active Pending
- 2002-06-04 EP EP02759083A patent/EP1402391A4/en not_active Withdrawn
- 2002-06-04 CA CA002447787A patent/CA2447787A1/en not_active Abandoned
- 2002-06-04 MX MXPA03010864A patent/MXPA03010864A/es unknown
- 2002-06-04 CN CNA028112563A patent/CN1561618A/zh active Pending
- 2002-06-04 KR KR1020077007490A patent/KR20070055580A/ko not_active Application Discontinuation
- 2002-06-04 KR KR1020077007491A patent/KR20070055581A/ko active IP Right Grant
- 2002-06-04 CA CA002447555A patent/CA2447555A1/en not_active Abandoned
- 2002-06-04 CA CA002447734A patent/CA2447734A1/en not_active Abandoned
- 2002-06-04 BR BR0210159-9A patent/BR0210159A/pt not_active IP Right Cessation
- 2002-06-04 EP EP02741874A patent/EP1402388A4/en not_active Withdrawn
- 2002-06-04 BR BR0210141-6A patent/BR0210141A/pt not_active IP Right Cessation
- 2002-06-04 KR KR10-2003-7015891A patent/KR20040044182A/ko not_active Application Discontinuation
- 2002-06-04 WO PCT/US2002/017926 patent/WO2002099591A2/en active Application Filing
- 2002-06-04 MX MXPA03011152A patent/MXPA03011152A/es unknown
- 2002-06-04 KR KR1020077007492A patent/KR20070055582A/ko not_active Application Discontinuation
- 2002-06-04 EP EP02739725A patent/EP1402692A4/en not_active Withdrawn
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MXPA03010864A (es) | Sistema y metodo para modificar un flujo de datos usando analisis sintactico elemental. | |
US6304906B1 (en) | Method and systems for allowing data service system to provide class-based services to its users | |
US6725268B1 (en) | System and method for providing status information from multiple information sources in a single display | |
Bharadvaj et al. | An active transcoding proxy to support mobile web access | |
US7133919B2 (en) | System and method for providing status information from multiple information sources in a single display | |
US8024484B2 (en) | Caching signatures | |
US7310687B2 (en) | Methods and systems for managing class-based condensation | |
JP4179535B2 (ja) | ネットワークシステム、リバースプロキシ、コンピュータ装置、データ処理方法及びプログラム | |
US7058633B1 (en) | System and method for generalized URL-rewriting | |
JP2010148118A (ja) | ルーティング方法、ルーティング装置、ルーティング/キャッシング方法、ルーティング/キャッシング装置及びネットワーク | |
US6769025B1 (en) | Flexible external control of unsolicited web pages sent to a user accessing the internet | |
AU2002312361A1 (en) | System and method for increasing the effective bandwidth of a communication network | |
Mattson | Enhancing HTTP to improve page and object retrieval time with congested networks | |
Proxy | Zdenek Siblık Compressing Proxy | |
AU2002324438A1 (en) | A system and method for reducing the time to deliver information from a communications network to a user | |
WO2000073944A2 (en) | System and method for data communication |