ES2273746T3 - Transmision de informacion sobre una red. - Google Patents

Transmision de informacion sobre una red. Download PDF

Info

Publication number
ES2273746T3
ES2273746T3 ES00990472T ES00990472T ES2273746T3 ES 2273746 T3 ES2273746 T3 ES 2273746T3 ES 00990472 T ES00990472 T ES 00990472T ES 00990472 T ES00990472 T ES 00990472T ES 2273746 T3 ES2273746 T3 ES 2273746T3
Authority
ES
Spain
Prior art keywords
data
executable
generated
client
remote location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00990472T
Other languages
English (en)
Inventor
James N. Rees, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ITA Software LLC
Original Assignee
ITA Software LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ITA Software LLC filed Critical ITA Software LLC
Application granted granted Critical
Publication of ES2273746T3 publication Critical patent/ES2273746T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Radio Relay Systems (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

Un método que comprende: transmitir información (18) mediante: transmitir un ejecutable (32) desde un servidor (10) hacia una ubicación remota (14a) sobre una red (16) el ejecutable procesando datos (36) generados por el servidor; generar los datos en el servidor mientras el ejecutable está siendo transmitido; transmitir los datos generados hacia el ejecutable en la ubicación remota sobre la red, el ejecutable procesando los datos mediante: descifrar y descomprimir los datos para la presentación gráfica en un visualizador (50) asociado con la ubicación remota; y visualizar los datos descifrados y no comprimidos en una presentación gráfica en un dispositivo visualizador asociado con la ubicación remota.

Description

Transmisión de información sobre una red.
Campo especializado
Esta invención está relacionada con la transmisión de información sobre una red.
Antecedentes
Los servidores de la red, como los servidores Web, normalmente reciben solicitudes de información desde ordenadores cliente remotos sobre una red, como la Internet o una intranet. Por ejemplo, las solicitudes de información pueden ser solicitudes "POST" o "GET" sobre el Protocolo de Transferencia sobre Hipertexto (HTTP por sus siglas en inglés) que son transmitidas por un navegador Web en un ordenador cliente cuando un usuario propone una consulta a un servidor Web. Los servidores de la red pueden transmitir información hacia el ordenador cliente en respuesta a la solicitud. La información transmitida puede ser datos como una página Web que está formateada en el Lenguaje De Marcas De Hipertexto (HTML por sus siglas en inglés), promulgada por el World Wide Web Consortium (W3C). La información transmitida también puede ser un ejecutable que está, por ejemplo, escrito en el lenguaje de programación JAVA™, por Sun Microsystems Inc. Un intérprete de JAVA en el ordenador cliente puede ejecutar tal ejecutable.
Es necesario algunas veces transmitir un ejecutable hacia el ordenador cliente junto con datos que deben ser procesados en el ordenador cliente por el ejecutable. Por ejemplo, un servidor Web puede responder a una solicitud para itinerarios de vuelo enviando los datos del itinerario de vuelo junto con un applet JAVA™ para visualizar los datos gráficamente.
WO 98/44695 revela un método y aparato para integrar los applets en ejecución en un cliente con la lógica de aplicación para aplicaciones en ejecución en un servidor. Esto proporciona sincronización de estado, y el reconocimiento de acciones del usuario en un navegador incluyendo invocación de la lógica apropiada de aplicación en el servidor. Es creado un applet oculto que manipule la comunicación entre los applets en el navegador y la lógica de aplicación en el servidor. La información transmitida entre el servidor y el navegador es sincronizada sin que sea necesario visualizar un nuevo documento HTML. Un evento invocado en el navegador instruye a un Coordinador de Acciones a invocar una acción en el servidor. El servidor luego responde transmitiendo los valores actualizados de regreso al Coordinador de Acciones, lo cual muestra los valores actualizados en cada applet. La información está entonces actualizada en el visualizador del navegador.
Sumario
Un primer aspecto general de la invención está relacionado con un método que incluye transmitir información transmitiendo un ejecutable a una ubicación remota sobre una red, generando datos, y transmitiendo los datos generados hacia la ubicación remota sobre la red. Al menos una parte de los datos es generada mientras el ejecutable está siendo transmitido.
Generando parte de los datos mientras el ejecutable está siendo transmitido, el método reduce el retraso o la latencia antes de que el ejecutable y los datos lleguen a la ubicación remota. La reducción en el retraso hace el método más receptivo para un usuario.
Un segundo aspecto general de la invención está relacionado con un artículo que incluye un medio legible por máquina, que almacena instrucciones ejecutables por máquina operables para causar que una máquina realice el método del primer aspecto general de la invención.
Un tercer aspecto general de la invención está relacionado con un aparato que incluye un sistema de almacenamiento que almacena el ejecutable y las instrucciones, y un procesador servidor, el cual ejecuta las instrucciones para realizar el método del primer aspecto general de la invención.
Las realizaciones de la invención pueden incluir una o más de las siguientes características. Un cliente en la ubicación remota recibe el ejecutable transmitido y luego más tarde recibe los datos generados. El cliente incluye un procesador del cliente que ejecuta el ejecutable e indica que el ordenador cliente está esperando por los datos. Recibiendo y ejecutando el ejecutable antes de que los datos son recibidos, el cliente puede informar al usuario que el cliente está esperando por los datos, incrementando además la sensibilidad del método para con el usuario. Cuando los datos son recibidos, el procesador del cliente ejecuta el ejecutable para procesar los datos.
Una primera porción de los datos son generados antes de una segunda porción de los datos y al menos una parte de la primera porción de los datos es transmitida mientras la segunda porción está siendo generada, reduciendo además la latencia del método. El cliente recibe la primera porción de los datos antes de que reciba la segunda porción de los datos y el ejecutable procesa la primera porción de los datos antes de que la segunda porción sea recibida. El ejecutable también indica al cliente que la primera porción de los datos han sido recibidos antes de que la segunda porción sea recibida, por consiguiente aumentando además la sensibilidad del cliente.
La información es transmitida en respuesta a una solicitud de información, mientras los datos son transmitidos al cliente en respuesta a una solicitud de datos separada de la solicitud de información. Una página Web que contiene una directiva para un navegador Web para solicitar el ejecutable es transmitida hacia la ubicación remota y una solicitud de ejecutable es recibida luego desde el navegador Web. El ejecutable es transmitido hacia la ubicación remota en respuesta a la solicitud de ejecutable.
Entre otras ventajas de la invención, la reducción en la latencia y la sensibilidad mejorada del cliente mejoran la experiencia del usuario.
Los detalles de una o más realizaciones de la invención son expuestos en los dibujos acompañantes y la descripción debajo. Otras características, objetos, y ventajas de la invención serán aparentes desde la descripción y dibujos, y desde las reivindicaciones.
Descripción de los dibujos
El figura 1 es un diagrama de bloques de una red que implementa la invención e incluyen un servidor y clientes;
Las figuras de la 2 a la 5 muestra páginas Web que son transmitidas por el servidor de la figura 1 hacia los clientes de la figura 1;
Las figuras 6A y 6B son diagramas de flujo de procesos implementados por el servidor de la figura 1 y un cliente de la figura 1;
Las figuras de la 7A a la 7C muestra segmentos de la representación HTML de la página Web de la figura 5; y
Las figuras 8A y 8B muestran diagramas de flujo de procesos implementados por realizaciones alternativas del servidor y del cliente de la figura 1.
Como símbolos remisivos en los diversos dibujos se indican elementos similares.
Descripción detallada
Como se muestra en la figura 1, un servidor 10 recibe solicitudes 12a, 12b de información de viaje 18 desde ordenadores remotos cliente 14a, 14b sobre una red 16, como la Internet o una intranet. Como estará descrito con mayor detalle debajo, el servidor 10 puede responder a una solicitud 12 transmitiendo datos de viaje y un applet JAVA™ hacia el cliente sobre la red 16. El applet es ejecutado en el ordenador cliente para procesar los datos de viaje. El servidor 10 es configurado para generar los datos de viaje al transmitir el applet y luego más tarde transmitir los datos de viaje hacia el ordenador cliente, como estará descrito con mayor detalle debajo.
El servidor 10 incluye un procesador 22 y una interfaz de red 20 que transmite información 18 y recibe solicitudes 12 desde la red 16. El servidor 10 también incluye un subsistema de almacenamiento legible por ordenador 24 que almacena programas de ordenador, que son ejecutados por el procesador 22. El subsistema de almacenamiento 24 puede incluir una memoria, un CD-ROM, un disco floppy, una unidad de disco duro, un arreglo de discos, o un disco floppy. Un programa de sistema operativo multitareas 26 permite al servidor 10 realizar múltiples tareas al mismo tiempo. Un programa de servidor Web 28 recibe las solicitudes 12 desde ordenadores cliente 14a, 14b a través de la interfaz de red 20 y responde a las solicitudes transmitiendo información 18 a través de la interfaz de red 20 hacia el ordenador cliente. Por ejemplo, el servidor Web 28 puede enviar páginas Web 30 o un ejecutable cliente 32, como un applet JAVA™, ambos de los cuales pueden ser almacenados en el almacén 28. El servidor Web 28 también puede responder a las solicitudes usando un módulo de programa de viaje 34 para generar datos de viaje 36 desde un programa de sistema de gestión de base de datos de viaje (DBMS por sus siglas en inglés), y transmitir los datos de viaje a través de la interfaz de red 20.
El módulo de viaje 34 es un módulo de programa de ordenador, como una biblioteca conectada dinámicamente, que es invocado por el servidor Web 28. El servidor Web 28 usa el sistema operativo multitareas 26 para invocar el módulo de viaje 34 mientras el servidor Web 28 todavía está en ejecución. Por ejemplo, el servidor Web 28 puede invocar el módulo de viaje 34 como un proceso separado del sistema operativo o un hilo separado.
El ordenador cliente 14a incluye una interfaz de red 39 y un subsistema de almacenamiento 40 que almacena programas del cliente, como un navegador Web 42 y un intérprete de JAVA™ 44 que está asociado con el navegador Web. El ordenador cliente 14a incluye también un procesador 46 que ejecuta el navegador Web 42 para recibir la entrada desde un usuario a través de un dispositivo de entrada 48 y transmitir la entrada como solicitudes 12a hacia el servidor 10 a través de la interfaz de red 39. El dispositivo de entrada 48 puede ser teclado de ordenador o un ratón asociado con el ordenador cliente 14a. El navegador Web 42 también recibe información 18 desde el servidor 10 a través de la interfaz de red 39 y la presenta al usuario en un visualizador 50 que está asociado con el ordenador cliente 14a. Cuando la información recibida incluye un ejecutable cliente 32, el navegador Web 42 invoca el intérprete de java 44 para ejecutar el ejecutable 32. El navegador Web 42 también almacena la información 18 en una caché 52. Si el usuario más tarde solicita la información 18 almacenada, el navegador Web recupera la información 18 de la caché 52 por consiguiente eliminando la necesidad de recibir la información desde la red 16. Esto hace la información disponible más rápidamente porque la red 16 toma más tiempo en transmitir la información 18 que en recuperar la información de la caché 52.
En lo referente a las figuras 1 y 2, un usuario solicita una página de búsqueda Web 30a para buscar itinerarios de viaje, tecleando una Ubicación Uniforme de Recurso (URL por sus siglas en inglés) 51 asociada con la página Web 30a en una entrada de URL 52 asociada con el navegador Web 42. El navegador Web transmite la solicitud hacia el servidor 10 a través de la red 16 y el servidor 10 responde a la solicitud enviando la página Web 30a al navegador 42, el cual a su vez presenta la página Web al usuario en visualizador 50.
Un usuario introduce criterios de búsqueda para buscar itinerarios de viaje incluyendo un punto de partida, un tiempo de partida, un punto de llegada y un tiempo de llegada en las entradas de la 54a a la 54d contenidas dentro de la página Web de búsqueda 30a. El usuario luego da un clic sobre botón de sumisión 56, causando que el navegador 42 genere una solicitud POST HTTP 12 y transmita la solicitud hacia el servidor 10 sobre la red 16. Al recibir la solicitud, el servidor 10 le transmite el ejecutable cliente 32 hacia el navegador 42 mientras genera la información 18 acerca de los itinerarios de viaje.
Como se muestra en la figura 3, el navegador 42 presenta una página Web 30b mientras el navegador espera por la información 18 acerca de los itinerarios de viaje desde el servidor 10. La página de Web 30b le informa 60 al usuario que espere mientras el navegador descarga el ejecutable cliente 32, el cual es un navegador de viajes para visualizar la información 18 solicitada acerca de itinerarios de viaje. La página Web 30b también le informa al usuario del tiempo 62 que tomará descargar el ejecutable cliente. Al recibir el ejecutable cliente 32, el navegador Web 42 invoca al intérprete JAVA™ 44 para ejecutar el ejecutable 32.
Como se muestra en la figura 4, el ejecutable cliente 32 presenta un panel 70 en una página Web 30c que informa 72 al usuario que el ejecutable 32 está a la espera de datos 36 de itinerarios de viaje asociados a la solicitud del usuario 12. Cuando el navegador Web 42 recibe los datos 36, el ejecutable cliente 32 procesa los datos, por ejemplo, descifrando, descomprimiendo, y preparando los datos 36 para la presentación gráfica en el visualizador 50.
Como se muestra en la figura 5, el ejecutable cliente 32 reemplaza el panel 70 (figura 4) en la página Web 30c con un nuevo panel 74, que contiene una presentación gráfica 76 de tales datos del itinerario como vuelos de partida 76a y vuelos de llegada 76b.
En lo referente a la figura 6A, al recibir (600) la solicitud desde el navegador 42, el servidor Web 28 transmite (602) un primer segmento de la página Web 30c (figuras 4 y 5) hacia el navegador 42. El primer segmento incluye una directiva al navegador 42 para solicitar el ejecutable cliente 32 del servidor 32. El servidor Web 28 invoca el módulo de viaje 34, causando que el módulo de viaje genere (604) otro segmento de la página Web 30c que contiene una porción de datos de itinerario de viaje 36. Mientras el módulo de viaje genera el segmento de la página Web 30c, el servidor Web 28 recibe (612) una solicitud de ejecutable cliente 32 desde el navegador 42, y transmite (614) el ejecutable cliente 32 hacia el navegador 42. El servidor Web 28 transmite al menos una parte del ejecutable cliente 32 mientras el módulo de viaje genera el segmento de la página Web.
El servidor Web 28 transmite (606) el segmento generado de la página Web hacia el navegador 42 y chequea (608) con el módulo de viaje 34 para determinar si hay otra porción de los datos de itinerario de viaje 36 para ser generada. Si hay más datos 36 para ser generados, entonces el servidor Web 10 invoca el módulo de viaje 34 para generar (604) otro segmento de la página Web. Una parte del segmento de la página Web puede ser generado (604) mientras que el segmento previo de la página Web está siendo transmitido.
En otro caso, si no hay más datos para ser generados, el servidor 10 termina el proceso.
En lo referente a la figura 6B, cuando el ordenador cliente 14a transmite (650) una consulta de solicitud de datos hacia el servidor 10, el ordenador cliente 14a utiliza una página Web 30b (figura 3) para informar (652) al usuario que el navegador está en espera de que el ejecutable cliente 32 sea descargado. Cuando el navegador 42 recibe (654) el primer segmento de la página Web 30c, la directiva contenida dentro de la página Web causa que el navegador Web transmita (656) una solicitud de ejecutable cliente 32 del servidor 10. Al recibir (658) el ejecutable cliente 32 desde servidor, el intérprete java 44 ejecuta el ejecutable 32 y le informa (660) en el panel 70 al usuario que el navegador 42 está esperando por los datos del servidor 10.
Al recibir (662) otro segmento de la página Web que contiene una porción de los datos del itinerario de viaje 36, el ejecutable cliente 32 descifra (664) la porción de los datos y visualiza gráficamente (666) los datos descifrados en el panel 74 (figura 5). Ciertos ejecutable clientes 32 también pueden visualizar una indicación al usuario de que el nuevo segmento ha sido recibido. Por ejemplo, pueden actualizar un visualizador del porcentaje de los datos del itinerario de viaje 36 que han sido recibido. El ejecutable cliente 32 luego chequea (668) si la porción de los datos 36 en el segmento es la última porción, como será descrito más tarde con referencia a la figura 7C. Si no es la última porción de los datos 36, entonces la página Web repite el proceso (662-668) de recibir otro segmento de la página Web 30c. En otro caso, si fuera el último segmento, los navegador Web 42 termina el proceso.
Como se muestra en la figura 7A, el primer segmento 80 de la página Web 30c incluye una directiva HTML 82 para el navegador 42 para solicitar el ejecutable cliente 32 desde una URL 84 e invoque el intérprete de java 44 para que ejecute el ejecutable 32. El Navegador 42 responde al primer segmento 80 solicitando el ejecutable 32 y almacenándolo en la caché 52. La directiva 82 también contiene atributos con los que el intérprete del java 44 debería invocar el ejecutable. Por ejemplo, el atributo de código 88 le indica al intérprete 44 que el ejecutable 32 debería ser invocado sin datos, los atributos 90 indican el tamaño del panel 70 (figura 4) que el ejecutable 32 debiese visualizar, mientras los atributos 92 indican el espaciamiento de los datos visualizados en el panel 70. El primer segmento 80 también contiene un conjunto de parámetros 94, incluyendo una lista 96 de las posiciones donde el ejecutable 32 puede encontrar tal información como logotipos y sonidos.
Como se muestra en la figura 7B, el segundo segmento 100 de la página Web 30c también incluye una directiva HTML 102 para el navegador para solicitar el ejecutable cliente 32 desde la URL 84. Sin embargo, el navegador no recupera el ejecutable 32 del servidor 10 porque el navegador 42 encuentra el ejecutable en la caché 32. Aunque la directiva 102 también contiene atributos 104, 106 que indican el tamaño y el espaciado con los que el applet debería ser invocado, los valores de los atributos son puestos en cero. Consecuentemente, la segunda invocación del ejecutable 32 no crea un panel nuevo. La directiva 102 está asociada con un parámetro 108 que está también contenido en el segundo segmento 100 de la página Web 30c. El parámetro incluye una primera porción 110 de los datos de viaje 36 para ser visualizada por el ejecutable 32. Como fue descrito anteriormente, el servidor 10 puede enviar cualquier número de tales segmentos 100 de la página Web que contiene una porción de los datos. El servidor 10 puede ser configurado para transmitir segmentos de páginas Web que contienen porciones 110 de diferentes dimensiones de los datos 36, a merced de la velocidad y la fiabilidad de la red 16. Para la mayoría de redes, el servidor 10 es configurado para transmitir porciones de datos que son mayores que la porción 110.
Como se muestra en la figura 7C, el último segmento 120 de la página Web 30c es similar al segundo segmento 100 (figura 7B), pero incluye un parámetro adicional 122, el cual le indica al ejecutable 32 que no hay más porciones de datos a ser recibidas. El applet del cliente 32 chequea (668) (figura 6B) cada segmento de la página Web 30c para que el parámetro 122 determine si la porción de los datos 36 contenidos en el segmento es la última porción de los datos. Adicionalmente, el último segmento 120 contiene palabras claves html 124 que informan el navegador 42 que el navegador 42 ha recibido la página Web 30c entera.
El ejecutable cliente 32 visualiza gráficamente los datos 36 de los segmentos en el panel 74 (figura 5).
Con referencia a la figura 8A, en una realización alterna de la invención, al recibir (800) la solicitud desde el navegador 42, el servidor Web 28 genera (802) una identidad (ID) de sesión transmite (804) una página Web hacia el navegador 42 que incluye la ID de sesión junto con una directiva para el navegador Web 42 para solicitar al ejecutable cliente 32 del servidor 10. El servidor Web 28 invoca el módulo de viaje 34, causando que el módulo de viaje genere (806) los datos del itinerario de viaje 36. Mientras el módulo de viaje 34 genera los datos 36, el servidor Web 28 recibe (814) una solicitud de ejecutable cliente 32 desde el navegador 42, y transmite (816) el ejecutable cliente 32 hacia el navegador 42. El servidor Web 28 transmite al menos una parte del ejecutable cliente 32 mientras el módulo de viaje genera el segmento de la página Web.
El servidor Web 28 asocia (808) los datos 36 generados por el módulo de viaje 34 con la ID de sesión y chequea (810) si una solicitud de datos que incluye la ID de sesión ha sido recibida. Si la solicitud no ha sido recibida, entonces la servidor Web espera (810) por la solicitud. En otro caso, si la solicitud ha sido recibida, el servidor Web transmite (812) los datos hacia el ordenador cliente solicitante 14a y termina el proceso. El servidor 10 también puede ser configurado para segmentar los datos generados y transmitir los segmentos consecutivamente.
Con referencia a la figura 8B, en la realización alterna, cuando el ordenador cliente 14a transmite (850) una consulta hacia el servidor 10, el ordenador cliente 14a utiliza la página Web 30b (figura 3) para informar (852) al usuario que el navegador está en espera de que el ejecutable cliente 32 sea descargado. Cuando el navegador 42 recibe (854) la página Web con la ID de sesión, la directiva contenida dentro de la página Web causa que el navegador Web transmita (856) una solicitud de ejecutable cliente 32 desde el servidor 10. Al recibir (860) el ejecutable cliente 32 desde el servidor, el intérprete java 44 ejecuta el ejecutable cliente 32 y le informa (858) al usuario en el panel 70 (figura 4) que el navegador 42 está esperando por los datos desde el servidor 10.
El ejecutable cliente 32 transmite (862) una solicitud de los datos de viaje 36 junto con la ID de sesión hacia el servidor. Al recibir (864) los datos asociados a la ID de sesión desde el servidor, el ejecutable cliente 32 descifra (866) los datos y visualiza gráficamente (866) los datos descifrados en el panel 74 (figura 5).
Un número de realizaciones de la invención ha sido descrito. No obstante, será entendido que diversas modificaciones pueden ser hechas sin apartarse del espíritu y el alcance de la invención. Por ejemplo, el ejecutable cliente puede guardarse en un servidor diferente del módulo de viaje 34 y de la página Web 30c configurado de forma que cause que el navegador Web descargue el ejecutable cliente del servidor diferente. El servidor 10 puede incluir múltiples procesadores para permitirle realizar tareas múltiples más eficazmente simultáneamente.
La invención también puede ser aplicada a otras clases de servidores para realizar funciones que no están relacionadas con viajes. Por ejemplo, la invención puede ser aplicada a un servidor que distribuye datos de música junto con un ejecutable cliente para reproducir los datos de música.
Consecuentemente, otras realizaciones están dentro del alcance de las siguientes reivindicaciones.

Claims (18)

1. Un método que comprende:
transmitir información (18) mediante:
transmitir un ejecutable (32) desde un servidor (10) hacia una ubicación remota (14a) sobre una red (16) el ejecutable procesando datos (36) generados por el servidor;
generar los datos en el servidor mientras el ejecutable está siendo transmitido;
transmitir los datos generados hacia el ejecutable en la ubicación remota sobre la red, el ejecutable procesando los datos mediante:
descifrar y descomprimir los datos para la presentación gráfica en un visualizador (50) asociado con la ubicación remota; y
visualizar los datos descifrados y no comprimidos en una presentación gráfica en un dispositivo visualizador asociado con la ubicación remota.
2. El método de la reivindicación 1 en donde un cliente en la ubicación remota (14a) recibe el ejecutable transmitido (32) y los datos generados (36) y el cliente incluye un procesador cliente (46) que ejecuta el ejecutable para procesar los datos.
3. El método de la reivindicación 2 en donde el ejecutable transmitido (32) es recibido por el cliente (14a) antes de que los datos generados (36) son recibidos y el ejecutable causa que el ordenador cliente indique que el ordenador cliente está esperando por los datos.
4. El método de la reivindicación 2 en donde una primera porción de los datos generados (36) es recibida por el cliente (14a) antes de una segunda porción de los datos generados y el ejecutable causa que el cliente indique que la primera porción ha sido recibida antes de que la segunda porción sea recibida.
5. El método de la reivindicación 2 en donde una primera porción de los datos generados (36) es recibida por el cliente (46) antes de una segunda porción de los datos generados y el ejecutable causa que el procesador del cliente procese la primera porción antes de que la segunda porción sea recibida.
6. El método de la reivindicación 1 en donde una primera porción de los datos (36) son generados antes de una segunda porción de los datos y al menos una parte de la primera porción de los datos es transmitida mientras la segunda porción está siendo generada.
7. El método de la reivindicación 1 en donde la información es transmitida en respuesta a una solicitud (12) de información.
8. El método de la reivindicación 7 en donde los datos generados son transmitidos en respuesta a una solicitud (12) de datos separada de la solicitud de información.
9. El método de la reivindicación 1 en donde transmitir la información comprende además:
transmitir hacia la ubicación remota (14) una página Web que contiene una directiva para un navegador Web (42) para solicitar el ejecutable (32); y
recibiendo una solicitud (12) de ejecutable desde el navegador Web, en donde el ejecutable es transmitido hacia la ubicación remota en respuesta a la solicitud de ejecutable.
10. Un producto de programa de ordenador, que comprende un medio legible por ordenador que tiene por consiguiente medios adaptados de código de programa de ordenador, cuando dicho programa es cargado en un ordenador, para hacer que el ordenador ejecute el procedimiento de cualesquiera de las reivindicaciones desde la 1 hasta
la 9.
11. Un aparato que comprende:
un sistema de almacenamiento (24) operable para almacenar instrucciones legibles por máquina y un ejecutable (32) y;
un sistema servidor (10) operable para ejecutar las instrucciones legibles por ordenador para responder a una solicitud de información mediante:
teniendo medios para transmitir (612) el ejecutable (32) hacia una ubicación remota (14a) sobre una red (16);
teniendo medios para generar (604) datos en el sistema servidor mientras el ejecutable está siendo transmitido; y teniendo medios
para transmitir los datos generados hacia el ejecutable en la ubicación remota sobre la red, el ejecutable comprende instrucciones operable para procesar los datos mediante:
teniendo medios para descifrar y descomprimir los datos para la presentación gráfica en un visualizador (50) asociado con la ubicación remota: y
teniendo medios para visualizar (666) los datos descifrados y no comprimidos en una presentación gráfica en un dispositivo visualizador asociado con la ubicación remota.
12. El aparato de la reivindicación 11 en donde el ejecutable comprende instrucciones operable para causar que un procesador cliente en la ubicación remota procese (664, 666, 866, 868) los datos.
13. El aparato de la reivindicación 12 operable para recibir el ejecutable en la ubicación remota antes de que los datos generados sean recibidos en donde el ejecutable comprende instrucciones operable para causar que el procesador cliente indique (660, 860) que el procesador cliente está esperando por los datos.
14. El aparato de la reivindicación 12 operable para recibir una primera porción de los datos en la ubicación remota antes de una segunda porción de los datos en donde el ejecutable comprende instrucciones operable para causar que el procesador cliente indique (666) que la primera porción de los datos ha sido recibida antes de que la segunda porción sea recibida.
15. El aparato de la reivindicación 12 operable para recibir una primera porción de los datos generados (38) en la ubicación remota antes de una segunda porción de los datos generados en donde el ejecutable comprende instrucciones operables para causar que el procesador del cliente procese (664, 666) la primera porción de los datos generados antes de que la segunda porción sea recibida.
16. El aparato de la reivindicación 11 operable para generar una primera porción de los datos (38) antes de una segunda porción de los datos y operable para transmitir al menos una parte de la primera porción de los datos mientras la segunda porción está siendo generada.
17. El aparato de la reivindicación 11 operable para transmitir la información en respuesta a una solicitud (650) de información.
18. El aparato de la reivindicación 11 operable para transmitir los datos generados en respuesta a una solicitud (862) de los datos separada de la solicitud de información.
ES00990472T 1999-11-01 2000-11-01 Transmision de informacion sobre una red. Expired - Lifetime ES2273746T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16287599P 1999-11-01 1999-11-01
US162875P 1999-11-01

Publications (1)

Publication Number Publication Date
ES2273746T3 true ES2273746T3 (es) 2007-05-16

Family

ID=22587490

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00990472T Expired - Lifetime ES2273746T3 (es) 1999-11-01 2000-11-01 Transmision de informacion sobre una red.

Country Status (6)

Country Link
EP (1) EP1226696B1 (es)
AT (1) ATE337668T1 (es)
AU (1) AU2749601A (es)
DE (1) DE60030309T2 (es)
ES (1) ES2273746T3 (es)
WO (1) WO2001037514A2 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435370A (zh) * 2019-01-11 2020-07-21 富士通株式会社 信息处理装置、方法以及机器可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5922044A (en) * 1996-12-13 1999-07-13 3Com Corporation System and method for providing information to applets in a virtual machine
US6253228B1 (en) * 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US5941954A (en) * 1997-10-01 1999-08-24 Sun Microsystems, Inc. Network message redirection

Also Published As

Publication number Publication date
WO2001037514A3 (en) 2001-12-13
DE60030309T2 (de) 2007-08-30
AU2749601A (en) 2001-05-30
WO2001037514A2 (en) 2001-05-25
EP1226696B1 (en) 2006-08-23
ATE337668T1 (de) 2006-09-15
DE60030309D1 (de) 2006-10-05
EP1226696A2 (en) 2002-07-31
WO2001037514A9 (en) 2002-12-05

Similar Documents

Publication Publication Date Title
US7000008B2 (en) Method, system, and program for providing data updates to a page including multiple regions of dynamic content
US6859910B2 (en) Methods and systems for transactional tunneling
US7461134B2 (en) Bi-directional communication between a web client and a web server
US7032168B1 (en) Method and apparatus for generating website links
US7370287B2 (en) Dynamic controls for use in computing applications
US6446113B1 (en) Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager
US9626343B2 (en) Caching pagelets of structured documents
US6640241B1 (en) Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager
US9626683B2 (en) Method and system for advanced messaging
US6912715B2 (en) System and method for web-based remote procedure call (RPC)
JP6766270B2 (ja) カスタムデジタルコンポーネント
KR101055879B1 (ko) 웹 페이지의 적시 업데이트
ES2252837T3 (es) Sistema y procedimiento para dirigir la conexion entre un servidor y un nodo cliente.
US20080177859A1 (en) System and method for displaying dynamic page content in a page-caching browser
JPH11288407A (ja) 遠隔通知を使用するクライエントソフトウェアの構成
CA2385044A1 (en) System and method for delivering remotely stored applications and information
WO2002044919A1 (en) Method of ∫script⊃ based remote javascript function call of web page
US6993569B1 (en) Transmitting information over a network
KR101219997B1 (ko) 네트워크 애플리케이션 프로그램 사이에서 요청된 데이터를생성 및 통신하기 위한 시스템, 컴퓨터 구현 방법 및컴퓨터 판독가능 매체
US20060212798A1 (en) Rendering content natively on local operating system
WO2001072010A2 (en) Method and apparatus for demand based paging algorithm
WO2006103260A1 (en) Method and apparatus to select and deliver portable portlets
JP2002063090A (ja) ウェブ・ページに対するブックマーク・イベントを処理するための装置および方法
US20090228549A1 (en) Method of tracking usage of client computer and system for same
EP1783634B1 (en) Method and apparatus for managing and/or retrieving information relating to a user