MXPA04005844A - Metodo para transmitir objetos entre un servidor y un terminal de cliente usando manejo de memoria cache, sistema de transmision correspondiente, servidor y terminal. - Google Patents

Metodo para transmitir objetos entre un servidor y un terminal de cliente usando manejo de memoria cache, sistema de transmision correspondiente, servidor y terminal.

Info

Publication number
MXPA04005844A
MXPA04005844A MXPA04005844A MXPA04005844A MXPA04005844A MX PA04005844 A MXPA04005844 A MX PA04005844A MX PA04005844 A MXPA04005844 A MX PA04005844A MX PA04005844 A MXPA04005844 A MX PA04005844A MX PA04005844 A MXPA04005844 A MX PA04005844A
Authority
MX
Mexico
Prior art keywords
server
client
client terminal
objects
cache
Prior art date
Application number
MXPA04005844A
Other languages
English (en)
Inventor
Olivier Aubault
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of MXPA04005844A publication Critical patent/MXPA04005844A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

La presente invencion se refiere a un metodo para la transmision de datos, denominados objetos, a traves de por lo menos una red de comunicaciones entre un servidor y por lo menos una terminal de cliente, por lo menos una memoria cache destinada a almacenar al menos algunos de esos objetos transmitidos por el servidor, que esta asociada con al menos una de las terminales de cliente dentro de la red. La invencion se caracteriza en que consiste en el manejo, corriente arriba de dichas terminales de clientes, de por lo menos una lista de los objetos en dicha memoria cache asociada con al menos una de las terminales de cliente, a fin de limitar el intercambio de datos concernientes a los contenidos de dicha memoria cache entre terminal del cliente y dicho servidor.

Description

METODO PARA TRANSMITIR OBJETOS ENTRE UN SERVIDOR Y UN TERMINAL DE CLIENTE USANDO MANEJO DE MEMORIA CACHÉ. SISTEMA DE TRANSMISIÓN CORRESPONDIENTE, SERVIDOR Y TERMINAL El dominio de la invención es la transmisión de datos a través de redes de comunicación. De manera más precisa, la invención se refiere a la transmisión de datos para ser exhibidos de manera interactiva, y a la administración de la memoria caché correspondiente. Los extraordinarios desarrollos en las redes de comunicación posibilitan ahora que los usuarios exhiban, por ejemplo, imágenes, texto, modelos de tipo geométrico o modelos del tipo de escenario tridimensional, en forma interactiva y en tiempo real. Convencionalmente, los usuarios se conectan a un servidor remoto a través de un terminal apropiado, y este servidor remoto centraliza toda la información que el usuario necesita para esa exhibición en una base de datos (nótese que, si bien se usa el término "exhibición" en este caso, este tipo de información puede comprender todos los tipos de datos y, en particular, datos sonoros, datos paginados, etc.). De esa manera, los usuarios tienen acceso a nuevas aplicaciones, por ejemplo, del tipo que les permite moverse en un ambiente tridimensional virtual, tal como un museo virtual, un relieve de terreno o un concierto de música clásica. Por lo tanto, en el contexto de estas aplicaciones, el servidor envía la información necesaria para la reconstrucción del escenario global para el cliente, junto con la información acerca de los diferentes objetos que hay en el escenario, que entran en el campo de visión (o en el campo de audición) del usuario, dependiendo de su posición en la escena. La invención es aplicable en particular, aunque no exclusivamente, a dicha transmisión y dicho almacenamiento de todo tipo de información a la que pueda tener acceso el usuario a través de un servidor de datos, por ejemplo, para uso futuro. A fin de permitir la exhibición en tiempo real (como la que se describió más arriba), por ejemplo, de un escenario o de un video, el terminal de usuario habitualmente está asociado con una memoria caché, en la que es almacenada toda la información necesaria para que el terminal reproduzca la escena en tiempo real. Este tipo de memoria caché memoriza convencionalmente datos "pasados"; en otras palabras, datos que el terminal ya ha usado para reproducir una escena o una imagen, pero que posiblemente podrían ser usados más tarde, dependiendo de las necesidades del usuario. También almacena datos "actuales"; en otras palabras, datos que el terminal está usando en el presente momento; y como final, posiblemente datos "futuros" que pudieran ser necesarios para el terminal, en un futuro cercano, y que son el resultado de que el servidor anticipe las necesidades del usuario. Como se puede entender fácilmente, en primer lugar, el volumen de información que debe transmitir el servidor, y en segundo lugar, el volumen de información que debe manejar en la memoria caché, son considerables; en particular si el usuario desea exhibir partidas muy grandes de datos, por ejemplo, como escenarios tridimensionales muy grandes. Se podrían introducir varios métodos sistemáticos a fin de solucionar problemas relacionados con el gran volumen de intercambio de datos entre el cliente y el servidor correspondiente, y en particular: — un algoritmo de reemplazo que pudiera ser usado para seleccionar datos almacenados para ser borrados a fin de liberar espacio en la memoria, cuando la razón de memoria caché a llenado es alta; — un método de transmisión que regule la selección hecha por el servidor, de los datos que van a ser enviados al cliente, y el modo de transmisión de esos datos. En el momento, hay dos métodos principales de transmisión, conocidos, para crear un diálogo entre el cliente y el servidor, y notificar al servidor acerca de la información que ha de ser transmitida al cliente. El primer método de transmisión conocido está descrito pormenorizadamente en el documento Multi-Resolution Model transmission in Distributed Virtual Environments (Transmisión de modelo de resoluciones múltiples en ambientes virtuales distribuidos), por J. H. P. Chim y coautores, VRST'98, páginas 25-34. De acuerdo con este primer método el servidor puede enviara los datos que el cliente desea exhibir, en cuatro pasos sucesivos: — durante un primer paso, el terminal de cliente envía información al servidor, relacionada con la posición del usuario en la escena que se va a exhibir; — cuando el servidor recibe esta información de posición, calcula todos los objetos necesarios para el usuario; y durante un segundo paso, transmite la lista de los pares de objetos <0, Lo> necesarios; donde O es una referencia del objeto y Lo es un nivel de detalle que le corresponde; — el terminal de cliente usa entonces esta lista para seleccionar los pares que corresponden a los objetos que desea recibir, como una función de los contenidos de su memoria caché, y transmite al servidor el resultado de su selección, durante un tercer paso; — durante un cuarto paso, el servidor transfiere los objetos pedidos por el terminal de cliente. Una desventaja de esta técnica de acuerdo con el arte anterior es que cada vez que cambia la posición del usuario en la escena y, por consiguiente, cada vez que el servidor tiene que enviar uno o varios objetos nuevos al usuario, son necesarios dos intercambios completos de datos en la forma de movimientos de envío-retorno, entre el servidor y el° terminal de cliente, antes que el objeto o los objetos necesarios queden accesibles para el usuario a través de su memoria caché. Por consiguiente, este tipo de técnica no está adaptada para la transmisión de datos a través de redes de comunicaciones que tengan latencia grande; ya que para este tipo de redes, esta técnica no es capaz de permitir la exhibición en tiempo real de los datos transmitidos por el servidor. Un segundo método de transmisión conocido está descrito en el artículo On Cachíng and Prefetching of Virtual Objects in Distributed Virtual Environments (Sobre la introducción en memoria caché y la pre-extracción de objetos virtuales en ambientes virtuales distribuidos), por J. H. P. Chim y coautores, Proceedings of the Sixth ACM Internacional Conference on Multimedia (Memorias de la Sexta Conferencia Internacional de la ACM sobre Multimedia), 1998, páginas 171-180. De acuerdo con este segundo método, que está adaptado de manera más particular a la transmisión de objetos progresivamente codificados, el terminal de cliente envía información al servidor acerca de cada uno de sus movimientos en el escenario exhibido, junto con la información de posición y la información relacionada con los contenidos de su memoria caché, en la forma de pares <0, Lo>. Una vez más, O representa una referencia del objeto contenido en la memoria caché del cliente, y Lo informa al servidor acerca del nivel de detalle asociado con ese objeto. El servidor calcula entonces todos los objetos visualmente relevantes como una función de la posición del usuario en la escena; comprueba si estos objetos están presentes o no en la memoria caché del usuario, y transmite al cliente todos los objetos faltantes. Con este método es necesario un solo envío-retorno entre el cliente y el servidor, para transferir los datos necesarios para exhibir la escena al cliente. Sin embargo, una desventaja de esta técnica, de acuerdo con el arte anterior, es que consume muchos recursos de red, particularmente en términos de la banda de paso. Para cada movimiento de usuario en la escena el terminal de cliente transfiere toda la información acerca de los contenidos de su memoria caché al servidor (en otras palabras, todos los pares <0, L0> que corresponden a los objetos contenidos en su memoria caché). Por lo tanto, en caso de una exhibición de escenarios muy grandes, la cantidad de información transmitida desde el terminal de cliente al servidor es muy alta; y esto es particularmente problemático para las redes de comunicación a baja velocidad. Es un propósito particular de la invención resolver las desventajas de acuerdo con la técnica anterior. Con más precisión, es un propósito de la invención proveer una técnica para la transmisión de la información necesaria para la exhibición en tiempo real de grandes volúmenes de datos desde un servidor a un terminal de cliente, reduciendo al mínimo las transferencias entre el servidor y el terminal de cliente. Es otro propósito de la invención implementar este tipo de técnica de transmisión de datos, que es simple y de bajo costo en su implementación. Otro propósito de la invención es suministrar dicha técnica de transmisión a través de una red de comunicaciones, adaptada para cualquier tipo de red, y en particular, igualmente buena para redes con alta latencia y para redes de baja velocidad. Es otro propósito de la invención implementar dicha técnica de transmisión de datos para evitar redundancias en las transmisiones de datos desde el servidor al terminal de cliente. Otro propósito más de la invención es proponer dicha técnica de transmisión de datos que elimina, o por lo menos reduce, las peticiones de datos enviadas por el terminal de cliente al servidor. Estos objetivos, y otros que se aclararán posteriormente, son logrados por medio de un método para la transmisión de datos, llamados objetos, a través de por lo menos una red de comunicaciones entre un servidor y por lo menos un terminal de cliente; por lo menos una memoria caché que almacenará por lo menos algunos de los objetos transmitidos por el servidor, que están asociados con al menos uno de los terminales de cliente dentro de la red. De acuerdo con la invención, por lo menos una lista de objetos presentes en la memoria caché, asociada con uno de los terminales de cliente, es manejada en el lado de entrada de los terminales de cliente, a fin de limitar los intercambios de información relacionados con los contenidos de la memoria caché, entre el terminal de cliente y el servidor. Así pues, la invención se basa en un enfoque bastante innovador e inventivo para manejar las memorias caché. La invención depende en particular de la idea innovadora y ventajosa de mantener accesible para el servidor de datos una lista en el lado de ingreso (corriente arriba) de un terminal de cliente, representativa de los contenidos de una memoria caché asociada con el cliente. Por lo tanto, con esta solución, el servidor puede saber los contenidos de la memoria caché del cliente en cualquier momento, sin necesidad de duplicar esos contenidos en el servidor. Por lo tanto, la invención provee una solución que, si bien no es costosa en términos de recursos, y particularmente en términos de memoria para el servidor, puede reducir considerablemente el volumen de información intercambiado entre el servidor y el cliente, cuando el cliente exhibe una escena o un conjunto de objetos. Este tipo de solución es particularmente ventajoso para terminales de cliente de baja capacidad, o para redes de comunicaciones con desempeños limitados. Se conocen ya varias técnicas, descritas en particular en los documentos de patente US 6,098,064 y US 5,956,039, que planifican el manejo de listas de objetos o listas de documentos en el contexto de intercambios entre un servidor y un terminal de cliente. Sin embargo, esas listas son muy diferentes de la lista de acuerdo con esta invención, tanto en términos de las formas como en términos de las funciones. Así, el documento de patente US 6,098,064 describe una técnica para determinar qué documentos, particularmente en la forma de páginas "web") deben ser almacenados en la memoria caché de una computadora, como una función de la probabilidad de que esos documentos sean requeridos por un usuario en el futuro. Con esta técnica, se redacta una lista de necesidades, que enlista los documentos que están presentes en la memoria caché del terminal, o que pudieran interesar a un usuario en el futuro. Contrariamente a la lista de acuerdo con la invención, la función de la lista mencionada arriba no es reducir el número ni el volumen de la información intercambiada entre el servidor y el terminal de cliente, cuando el cliente exhibe los documentos, y no puede ser usada para ese propósito. El documento de patente US 5,956,039 presenta una técnica para mejorar los funcionamientos de un sistema de navegación en tiempo real, en un escenario tridimensional. Este tipo de técnica consiste en atribuir prioridades a diferentes objetos en la escena, de manera que el terminal de cliente reciba primero los objetos con máxima prioridad. Estas prioridades son manejadas dentro de una base de datos que contiene la información acerca de cada objeto en el escenario actual. Sin embargo, esta base de datos no es manejada en el lado de ingreso (corriente arriba) del terminal de cliente y, por lo tanto, no puede solucionar el problema técnico de reducir los intercambios entre el servidor y el terminal, como lo hace esta invención. Ventajosamente se almacena un identificador para cada uno de los objetos que se encuentre dentro de la lista, junto con la información acerca de la reproducción del objeto, por lo menos para uno de los objetos. Por lo tanto, el servidor puede tener acceso no sólo a la lista de objetos contenida en la memoria caché del cliente, sino también al nivel de reproducción al que pueden ser reproducidos por el cliente. De preferencia dicha información de reproducción para al menos uno de los objetos se refiere a un nivel de refinación del objeto. Por lo tanto, el servidor puede saber si el terminal de cliente es capaz de reproducir el objeto, por ejemplo, en forma burda o en forma detallada. De preferencia, dicha lista comprende un par <0, Lo> para cada uno de los objetos almacenados en la memoria caché, que incluye el identificador O del objeto y la información L0 de reproducción del objeto.
De acuerdo con una característica ventajosa de la invención, por lo menos una partida de información acerca del terminal de cliente y/o de un usuario del terminal de cliente, denominada información de exhibición, está asociada con la lista citada, para cada uno de los terminales de cliente, de manera que se forme un contexto. Para cada cliente conectado al servidor, el servidor maneja un contexto que incluye una lista representativa del estado de la memoria caché asociada con el cliente, y de la información de exhibición. Este tipo de información puede ser representativa, en particular, de la capacidad del terminal de cliente, o de su velocidad de sistematización. De preferencia dicha información de exhibición pertenece al grupo que incluye: — información de la posición del usuario; — dirección de la observación del usuario; — parámetros de selección de los objetos. Por ejemplo, este tipo de parámetros de selección comprende un valor mínimo de selección de objeto, y un ángulo de visión del observador. En el caso de la exhibición de un escenario tridimensional por el terminal de cliente, la información de posición puede ser expresada en la forma de un punto tridimensional, para el que las coordenadas corresponden a la posición del observador con respecto al centro de la escena. La dirección de observación puede ser expresada en la forma de un vector tridimensional. De manera ventajosa se maneja la lista por el servidor o por un elemento intermediario de la red. Por ejemplo, se puede manejar la lista mediante un servidor delegado, intermedio entre el servidor y el cliente. El servidor puede enviar entonces peticiones al delegado para determinar el estado de los contenidos de la memoria caché del cliente. El rendimiento de esta solución es mucho menor ya que genera más intercambios de información; pero puede ser interesante en el caso en que el servidor y el delegado estén conectados mediante una red de alto rendimiento, y donde se requiera "relevar" el servidor (por ejemplo, si el servidor tiene baja capacidad). De acuerdo con una modalidad preferida de la invención, este tipo de método comprende una fase preliminar de inicialización que implica un primer paso de transmisión para cada uno de los terminales de cliente, en el que se transmite la información inicial de exhibición al servidor, y un paso de almacenamiento, en el que el servidor almacena la información inicial de exhibición, en el contexto correspondiente. Ventajosamente, la fase preliminar de inicialización comprende también un segundo paso de transmisión, en el que el servidor efectúa una transmisión al terminal de cliente, para enviar una versión burda del escenario que va a ser reproducido por el terminal de cliente. Por lo tanto, de acuerdo con la invención, y al contrario de las soluciones de acuerdo con la técnica anterior, no toda la base de datos que contiene los objetos que el cliente desearía exhibir, es transmitida al efectuar la inicialización, lo que da por resultado un ahorro considerable en términos de memoria para el cliente y para la banda de paso de red. Considérese una base de datos con aproximadamente 100 megabits, y considérese que el cliente y el servidor están conectados mediante una red del tipo ADSL Asymmetric Digital Subscriber Line, con una velocidad máxima de 500 kilobits/segundo. Por lo tanto, cuando se inicia la conexión entre el cliente y el servidor, se transmite toda la base necesaria para cargar toda la escena que va a ser exhibida en el terminal de cliente, lo que requiere por lo menos 200 segundos. La invención elimina la necesidad de esta transmisión a la inicialización, y por lo tanto, es particularmente ventajosa para el cliente, ya que significa que puede exhibir por lo menos una representación burda de la escena de manera casi instantánea, eliminando de esa manera la larga espera de por lo menos 200 segundos, que significan más de tres minutos, impuesta por las técnicas de acuerdo con el arte anterior. De preferencia cada uno de los terminales de cliente implementa un paso para transferir por lo menos algunos de los renglones de la información de exhibición al servidor, a intervalos de tiempo predeterminados y/o cuando la información de exhibición se modifica. Se notará que la selección que consiste en transferir información de exhibición a intervalos de tiempo predeterminados reduce al mínimo el número de transmisiones, si se ha modificado la información desde su última transmisión. De acuerdo con una primera modalidad ventajosa de la invención, dichos intervalos predeterminados de tiempo son fijados por el terminal de cliente. En particular pueden ser forzados por el cliente, por ejemplo, como una función de la frecuencia a la que el cliente desea que la escena que va a ser exhibida sea refrescada. De acuerdo con una segunda modalidad ventajosa de la invención, dichos intervalos predeterminados de tiempo dependen de por lo menos una característica de la red de comunicaciones. En particular, estos intervalos de tiempo pueden depender de la carga de la red o, por ejemplo, su capacidad o su tiempo de latencia. Es preferible que al final del paso de transferencia efectuado por el terminal de cliente, el método implemente un paso para actualizar la información de exhibición dentro del contexto correspondiente. Ventajosamente, al finalizar este paso de actualización, el servidor implementa los siguientes pasos: — un paso de determinación, como una función de por lo menos alguna de la información de exhibición actualizada, para determinar por lo menos un objeto identificador O, necesario para el terminal de cliente, y un nivel Lo de reproducción correspondiente; — un paso para analizar la lista representativa de la memoria caché asociada con el terminal de cliente, a fin de identificar los pares <0, L0>, si los hay, que correspondan al objeto o los objetos O identificadores, y con nivel de reproducción L0, necesarios para el terminal del cliente, y no memorizados en la citada lista; — un paso para transmitir al terminal de cliente el objeto o los objetos identificadores O, con nivel de reproducción L0, si los hay, que necesite el terminal de cliente, y que correspondan a cualquiera del par o los pares <0, L0> no memorizados en la citada lista; — un paso para actualizar la lista representativa de la memoria caché, asociada con el terminal de cliente; añadiendo dicho(s) par(es) <0, L0> que correspondan al objeto o los objetos enviados, si los hay, al terminal de cliente. El paso para determinar uno o varios objetos necesarios para el cliente, puede ser el resultado de un cálculo efectuado por el servidor, como una función de la información almacenada en el contexto del cliente. Este tipo de cálculo también puede ser efectuado mediante una entidad de cálculo independiente, asociada con el servidor, por ejemplo, antes de efectuar la conexión de cliente; el paso de determinación consiste entonces en que el servidor vea los resultados de este cálculo, a fin de identificar el objeto o los objetos que necesita, como una función de la información de exhibición asociada con el cliente. Por lo tanto, comparada con las técnicas de acuerdo con el arte anterior, la invención provee un medio para transferir el cálculo de los objetos necesarios al cliente, del terminal de cliente al servidor, o a la entidad de cálculo asociada con éste. Ventajosamente también puede usar el servidor: — un paso para determinar por lo menos un objeto identifícador O, con nivel de reproducción Lo, que puede ser necesario para el terminal de cliente, de acuerdo con al menos un criterio de probabilidades predeterminado; — un paso en el que el al menos un objeto identifícador O, con nivel de reproducción Lo es enviado al terminal de cliente, anticipadamente. Por ejemplo, el servidor evalúa la probabilidad de que el observador se esté moviendo hacia un objeto en el escenario, como una función de la variación de sus desplazamientos previos; y si esta probabilidad es mayor que un valor mínimo predeterminado, el servidor toma la iniciativa de enviar un objeto que el cliente necesitará en un futuro cercano, si continúa realmente moviéndose en la misma dirección. De preferencia, al recibir por lo menos un objeto enviado por el servidor, el terminal de cliente efectúa los siguientes pasos: — un paso para almacenar el objeto recibido en la memoria caché, si la razón de llenado de la memoria caché asociada con el terminal de cliente es menor que un valor mínimo predeterminado; — de otra manera, un paso para evaluar un criterio de relevancia para el objeto recibido: ¦ si por lo menos uno de los objetos almacenados en la memoria caché tiene un criterio de relevancia con un valor menor que el criterio de relevancia de dicho objeto recibido, el terminal de cliente implementa un paso subalterno para borrar de la memoria caché el objeto menos relevante, y un paso subalterno para almacenar en la memoria caché el objeto recibido; ¦ de otra manera, el terminal de cliente implementa un paso subalterno para rechazar el objeto recibido. De acuerdo con una característica ventajosa de la invención, después del paso subalterno de eliminación y/o del paso subalterno de rechazo, el terminal de cliente envía al servidor por lo menos una partida de información para actualizar la memoria caché asociada con el terminal de cliente; de modo que el servidor elimine por lo menos un par <0, Lo> que corresponde al objeto borrado durante el paso subalterno de borrar, y/o un objeto enviado por el servidor durante el paso de transmisión, pero no memorizado en la memoria caché, de la lista representativa de la memoria caché. De preferencia, por lo menos algunos de los objetos comprenden por lo menos un indicador, de modo que se esté en posibilidad de transmitir selectivamente una porción del objeto, comenzando con el indicador asociado. En particular, esos objetos pueden ser, por ejemplo, de uno de los siguientes tipos: imágenes bidimensionales; retículas; texturas; ¦ sonidos; modelos geométricos; escenas tridimensionales; datos de video; datos mezclados. Es obvio que esta lista no es exhaustiva, y sólo tiene propósitos ilustrativos. La invención se refiere también a un sistema para la transmisión de datos, denominados objetos, a través de por lo menos una red de comunicaciones entre un servidor y por lo menos un terminal de cliente, por lo menos una memoria caché, destinada a almacenar por lo menos algunos de los objetos transmitidos por el servidor, que está asociada con al menos uno de los terminales de cliente dentro de la red. De acuerdo con la invención, este tipo de sistema puede comprender medios de manejo en el lado de entrada de los terminales de cliente, para el manejo de por lo menos una lista de objetos presentes en la memoria caché, asociada con uno de los terminales de cliente, a fin de limitar los intercambios de información referentes a los contenidos de la memoria caché, entre el terminal de cliente y el servidor. La invención se refiere también a un servidor de datos, para los datos denominados objetos, conectado a través de por lo menos una red de comunicaciones, a por lo menos un terminal de cliente; por lo menos una memoria caché, provista para almacenar por lo menos algunos de los objetos transmitidos por el servidor, que está asociada con al menos uno de los terminales de cliente, dentro de la red. Este tipo de servidor comprende medios de manejo de por lo menos una lista de objetos, presente en la memoria caché asociada con al menos uno de los terminales de cliente, a fin de limitar los intercambios de información con el terminal de cliente asociado, para la información relacionada con los contenidos de la memoria caché. La invención se refiere también a un terminal de cliente para un servidor de datos, como se describe más arriba, que comprende medios de transmisión al servidor de por lo menos una partida de información de actualización, a fin de permitir que el servidor actualice la lista representativa de la memoria caché asociada con el terminal. Otras características y otras ventajas de la invención se harán más claras después de leer la descripción que sigue de una modalidad preferida, dada simplemente como un ejemplo ilustrativo, no restrictivo, y los dibujos anexos, en los cuales: La figura 1 presenta un diagrama de bloques de una arquitectura de cliente-servidor, adaptada para la implementación de la invención. La figura 2 ilustra la arquitectura de la figura 1 , completada de acuerdo con la invención, mediante la adición de un bloque de manejo de lista de objetos, en el servidor. La figura 3 ilustra un ejemplo de un diálogo cliente-servidor usado de acuerdo con la invención. Las figuras 4a a 4c muestran una modalidad ejemplar de la invención, dentro del contexto de modelos tridimensionales codificados por trenes de ondas geométricos. La figura 5 ilustra un segundo ejemplo de una modalidad de la invención para objetos, que utiliza niveles de detalle no progresivos. La figura 6 muestra un diagrama de bloques de los diferentes pasos usados por el servidor de acuerdo con la invención, en una fase de exhibición. La figura 7 describe los diferentes pasos usados de acuerdo con la invención, en una fase de inicialización. La figura 8 muestra un diagrama de bloques de los diferentes pasos usados de acuerdo con la invención, durante la recepción de un objeto por el terminal de cliente.
El principio general de la invención se basa en el manejo de una lista de objetos presentes en la memoria caché asociada con este terminal, en el lado de ingreso de un terminal de cliente (corriente arriba), de manera que se reduzcan los intercambios de información entre un servidor, al que el terminal de cliente dirige peticiones de objeto, y el propio terminal de cliente. El resto del documento describe una aplicación particular de la invención para la transmisión progresiva de datos a través de una red de comunicaciones, para que el cliente exhiba en tiempo real, un escenario. (Recuérdese que esta invención no está limitada a la exhibición de objetos, sino que puede ser aplicada a escuchar objetos sonoros, etc.). Se describirá un ejemplo de arquitectura de red que podría ser usada dentro del contexto de la invención, con referencia a la figura 1. Este tipo de arquitectura de red es una arquitectura de cliente-servidor. Una memoria caché 1 está asociada con el cliente 2; esta memoria caché 1 le permite almacenar los datos transmitidos por un servidor 3 a través de una red 4 de comunicaciones. Los datos almacenados en la memoria caché 1 pueden ser datos "actuales" (en otras palabras, en uso por el terminal 2 de cliente), o datos "futuros" (en otras palabras, que están planificados para uso posterior), o datos "pasados" (en otras palabras, que fueron usados previamente, pero que ahora, por lo menos temporalmente, son obsoletos). La memoria caché 1 puede estar integrada en el terminal 2 de cliente, o puede estar asociada simplemente con el terminal de cliente 2, aunque esté localizada en otro punto de la red; por ejemplo, la memoria caché 1 puede estar integrada en un servidor intermedio entre el servidor 3 y el cliente 2, que no está mostrado en la figura 1; y en particular, un servidor del tipo delegado. En una modalidad variante de la invención, la memoria caché 1 puede estar compartida por varios clientes 2. Por razones de simplificación, el resto de este documento se limita a describir una modalidad particular de la invención, en la que la memoria caché 1 está integrada dentro del terminal 2 de cliente. El terminal 2 de cliente maneja una agrupación de informaciones esenciales para la selección de los objetos que van a ser exhibidos en su pantalla, como función de su visibilidad, tales como la posición del cliente en la escena que se va a exhibir, la orientación de su observación, y los parámetros de selección para los objetos que van a ser exhibidos o van a ser reproducidos, tales como el nivel mínimo de selección de objeto, un ángulo de visión, etc. El servidor 3 maneja una base de datos 5, en la que están agrupados un conjunto de objetos que el cliente 2 pudiera querer exhibir. Estos objetos de preferencia están referenciados dentro de la base de datos 5, mediante un solo identifícador, reconocible tanto por el servidor 3 como por el cliente 2. Por ejemplo, estos objetos pueden ser retículas tridimensionales, de preferencia con transmisión progresiva, sonidos u otros tipos de datos crudos. La base de datos 5 puede contener también varios objetos de diferentes naturalezas, necesarios para la reproducción de una escena por el terminal 2 de cliente; por ejemplo, si el cliente 2 quisiera exhibir un concierto de música clásica, la base de datos 5 puede contener objetos tridimensionales para reproducir gráficamente la escena, y sonidos tridimensionales para reproducir los sonidos producidos por los instrumentos musicales. De acuerdo con una modalidad preferida de la invención, y como se muestra en la figura 2, el servidor 3 maneja también una lista 6 que se refiere a la memoria caché 1 del cliente 2. De acuerdo con una variante de la invención, esa lista 6 no es manejada en el servidor 3, sino en el lado de ingreso del terminal 2 de cliente, por ejemplo, en un servidor delegado, no mostrado en la figura 2, intermedio entre el cliente 2 y el servidor 3. Por razones de simplificación, en el resto de este documento simplemente se describirá la modalidad particular de la invención en la que la lista 6 es manejada por el servidor 3, pero a partir de esta descripción, una persona con experiencia en la técnica podría deducir fácilmente la modalidad de la invención en el caso en que la lista 5 sea manejada fuera del servidor 3, corriente arriba del terminal 2 de cliente. La lista 6 está compuesta de una sucesión de pares <0, L0>, donde O es el identifícador de objeto y Lo corresponde a un nivel de reproducción del objeto considerado, que fue transferido al terminal 2 de cliente. L0 puede estar en varias formas distintas, dependiendo del tipo de objeto O usado, como se ilustra en el resto del documento con referencia a las figuras 4 y 5. El servidor 3 también puede manejar un conjunto de información acerca del terminal de cliente y/o del cliente 2, en asociación con la lista 6, dentro de un contexto de cliente no mostrado en la figura 2. Por ejemplo, esta información consiste en la posición del cliente en la base asociada con la escena que se va a exhibir, la orientación de la observación del cliente y los parámetros de selección para los objetos que van a ser exhibidos (en particular un valor mínimo de selección y un ángulo de visión para los objetos que aparecen en la escena). Dentro del contexto de la invención, la arquitectura presentada en la figura 2 puede ser usada para transferir algunos cálculos para seleccionar los datos que van a ser exhibidos desde el terminal de cliente 2 al servidor 3, lo que reduce ventajosamente los intercambios entre el cliente 2 y el servidor 3. Este aspecto de la invención será descrito con mayor detalle en el resto del documento, con referencia a la figura 3. En el contexto de la arquitectura de la figura 2, y con referencia a la figura 7, se describirán los diferentes pasos involucrados durante una fase de inicialización del diálogo entre el servidor 3 y el cliente 2. Así, algunos datos son transmitidos para inicializar el servidor 3, cuando el cliente 2 se conecta con el servidor 3. Durante un paso con la referencia 71, el terminal de cliente 2 transmite al servidor 3 la información inicial de exhibición; por ejemplo, la posición del cliente en el escenario que se va a exhibir; su orientación; el ángulo de visión o el valor mínimo de selección de objeto (en particular como una función del nivel de detalle que al cliente 2 le gustaría obtener). Nótese que el tipo de valor mínimo de selección puede variar como una función del tipo de objeto considerado, como se ilustra en el resto de este documento. En un paso de almacenamiento 72, el servidor 3 almacena la información inicial de exhibición recibida, en el contexto asociado con el terminal 2 de cliente. Luego el servidor 3 puede transmitir (73) al terminal 2 de cliente, una versión burda de la escena que se va a reproducir, en una operación que también se denomina mapeo. Este tipo de mapeo corresponde a una versión elemental de la base de datos 5, y permite que el cliente 2 exhiba por lo menos una vista burda de la escena que se va a exhibir en su terminal, al comienzo de la conexión. Cuando el cliente 2 recibe ese mapeo, puede crear en particular diferentes memorias caché subalternas, necesarias para el almacenamiento de los datos recibidos del servidor 3, dentro de la memoria caché 1. De acuerdo con la invención se decide almacenar todos los objetos del mismo tipo recibidos del servidor 3 en la misma memoria caché subalterna. Si todos los objetos en la escena que se va a exhibir tienen la misma naturaleza, no hay necesidad de crear memorias caché subalternas dentro de la memoria caché 1. En el ejemplo particular en el que el cliente 2 exhibe un relieve de terreno en su terminal, sería preferible crear una primera memoria caché subalterna dentro de la memoria caché 1 , para almacenar los datos relacionados con la geometría del terreno, y una segunda memoria caché subalterna, destinada a almacenar la textura del terreno. Después de este tipo de fase de inicialización, el cliente 2 y el servidor 3 pueden transmitir y recibir datos desde la base 5, para que el cliente 2 exhiba la escena considerada. Se describirá ahora el diálogo cliente-servidor durante la exhibición de la escena que va a ser reproducida por el terminal 2 de cliente, con referencia a las figuras 3 y 6. El principio general de dicha fase de exhibición se basa en que el cliente 2 transmite información al servidor 3; que el servidor 3 la almacena, en el contexto asociado con el cliente 2, y luego la usa para transmitir datos u objetos necesarios para continuar exhibiendo la escena, al cliente 2. Esta información es de naturalezas diferentes y, en particular, puede ser modificada por el cliente 2 a diferentes frecuencias. Así, la información acerca de la posición del cliente en la escena que se va a reproducir, y su dirección de observación, son modificados en tanto que se esté exhibiendo la escena, puesto que el cliente 2 o, más precisamente, el observador virtual asociado con el cliente, se mueve alrededor del escenario y mira alrededor de él. La transmisión de esta información desde el cliente 2 al servidor 3 está simbolizada por la flecha (a) mostrada en líneas sólidas en la figura 3. Se hace a una frecuencia que puede ser definida por el cliente 2 (por ejemplo, cada 5 segundos), o puede ser determinada como una función de las capacidades de la red 4 y el terminal 2 de cliente (por ejemplo, la frecuencia a la que se transmite la información de exhibición puede ser fijada a 2 segundos para una red de alta velocidad, y a 6 segundos para una red de baja velocidad). La transmisión de esta información (a) también depende ventajosamente de un criterio relacionado con un evento, a fin de limitar el número de intercambios (a) entre el cliente 2 y el servidor 3: así, la transmisión (a) de la información de posición y de la dirección de observación no ocurrirá a menos que esta información se haya modificado desde la última vez que fue transmitida (a) al servidor 3. Por ejemplo, si el cliente 2 se ha movido en el escenario desde la última vez que se transmitió (a) la información de posición y de dirección de observación al servidor 3, se transmitirá de nuevo la información modificada cinco segundos después (si la frecuencia de transmisión se fija a 5 segundos). De acuerdo con la invención, el cliente 2 no espera una respuesta del servidor 3 cuando transmite (a); y esta transmisión, por lo tanto, puede tener lugar en modo no conectado (por ejemplo, del tipo UDP (Protocolo de datagrama de usuario)). Como se muestra en la figura 6, cuando la información de orientación y de posición transmitida (a) por el cliente 2 es recibida en 61, el servidor 3 actualiza en 62 el contexto asociado con el cliente 2, memorizando la nueva información de posición y orientación recibida en el contexto. Otra información, tal como los parámetros de selección para los objetos que van a ser transmitidos, o la información de actualización de la memoria caché 1, de preferencia se transmite de acuerdo con un criterio relacionado con el evento, a saber, la modificación de esta información. Este tipo de transmisión del cliente 2 al servidor 3 está simbolizado por la flecha (b) mostrada en líneas interrumpidas en la figura 3. A la recepción, el servidor 3 almacena esta información ya sea en la lista 6 (para la información de actualización de la memoria caché) o de manera más general, en el contexto asociado con el cliente 2. Así pues, la información de actualización para la memoria caché 1 del cliente 2 es transmitida al servidor 3 en la forma de una lista de pares <0, Lo>, que corresponden a los objetos presentes en la memoria caché 1 (o en una de las memorias caché subalternas de la memoria caché 1) cada vez que: — uno o varios objetos fueron borrados de la memoria caché 1 por el terminal 2 de cliente, para almacenar los nuevos objetos transmitidos por el servidor 3; o — cuando uno o varios objetos transmitidos por el servidor 3 han sido rechazados por el terminal 2 de cliente. Estos aspectos serán descritos con mayor detalle en lo que sigue, con relación a la figura 8, que ilustra la sistematización efectuada por el terminal 2 de cliente después de la recepción de los objetos transmitidos por el servidor 3. O representa un identifícador de un objeto en el escenario y L0 es información acerca del nivel de detalle para la reproducción del objeto O. La estructura de L0 depende, obviamente, del tipo de objeto O y del método usado para codificar los niveles de detalle asociados. Así, Lo puede ser un valor representativo del nivel de detalle (por ejemplo, si la invención usa una técnica del tipo HLOD Hierarchical Level of Detail (nivel jerárquico de detalle)), o una sucesión de valores representativos que codifican refinaciones geométricas del objeto O, como se ilustra en lo siguiente, con referencia a las figuras 4 y 5. De manera similar, los parámetros de selección de objeto (tales como el valor mínimo de selección de objeto, el ángulo de visión o cualquier otra información para modificar la selección de objetos) serán transmitidos cuando se modifique su valor. Sería posible contemplar que el cliente 2 pudiera decidir modificar durante la fase de exhibición el valor mínimo de selección definido en la fase de inicialización; por ejemplo, a fin de reducir este valor mínimo, de modo que se diera una reproducción más detallada del escenario. Recuérdese que este tipo de valor mínimo de selección puede ser definido de muchas maneras diferentes y, en particular, se puede evaluar en grados, píxeles proyectados, tamaño, etc. Así, el servidor 3 podría transmitir al cliente 2 únicamente objetos que serían vistos por el observador virtual a un ángulo de 1° o más, después de haber sido exhibidos en la pantalla del terminal 2 de cliente. En el caso de un objeto asociado con una retícula codificada por trenes de ondas, el valor mínimo de selección puede ser fijado, por ejemplo, de manera que únicamente seleccione coeficientes de trenes de ondas que induzcan una deformación de la retícula mayor que o igual a 2o. Si el objeto considerado es un sonido, el valor mínimo de selección puede depender de la frecuencia de ese sonido o de su duración. El valor mínimo de selección y todos los demás parámetros de selección pueden ser definidos de cualquier otra manera que permita al servidor 3 seleccionar objetos relevantes para ser transmitidos al cliente 2. Dependiendo de la información contenida en el contexto asociado con el cliente 2 (información de posición, información de la dirección de observación, parámetros de selección, información acerca de los contenidos de la memoria caché 1), el servidor 3 transmite objetos o datos que son visiblemente relevantes para el cliente 2. Esta transmisión está simbolizada por la flecha gris continua (c) mostrada en la figura 3. La determinación de los objetos visualmente relevantes puede ser el resultado de los cálculos efectuados por el servidor 3 o por otra entidad de la red 4. También puede haber sido calculada antes de que se estableciera la conexión entre el servidor 3 y el cliente 2, y puede haber sido memorizada dentro de la red, por ejemplo, en el servidor 3. De esa manera, en la modalidad particular mostrada en la figura 6, el servidor 3 determina (63) el objeto o los objetos O necesarios para el terminal 2 de cliente, a un nivel de reproducción apropiado, como una función de alguna o de toda la información de exhibición (por ejemplo, como una función de la información de posición y de la dirección de observación del cliente 2 y de los parámetros de selección) contenidos en el contexto del cliente 2. A continuación el servidor analiza (64) la lista 6 asociada con la memoria caché 1 del terminal 2 de cliente, actualizada como una función de los datos actualizados recibidos más recientemente, para determinar si el objeto o los objetos necesarios para el cliente 2 ya estaban o no almacenados en la memoria caché 1 del cliente 2, en el nivel L0 de refinamiento apropiado. De no ser así, el servidor 3 envía (65) este objeto o estos objetos al terminal 2 de cliente. De acuerdo con la invención también se puede implementar un método de anticipación que permita al servidor 3 transmitir (c) objetos todavía no necesarios para el cliente 2, si el servidor espera que se harán necesarios en un futuro cercano. Por ejemplo, si el servidor 3 determina que el cliente 2 se ha movido en la misma dirección varias veces, puede transmitir (c) a este cliente 2 un objeto que todavía no es relevante para el cliente 2, pero que dentro de poco entrará en el campo de visión del cliente, si el cliente 2 continúa moviéndose a lo largo de la misma dirección. En el momento de esta transmisión (c), el servidor 3 modifica la lista 6 asociada con el cliente 2, añadiendo datos transmitidos (c) al cliente 2 en la forma de pares <0, L0>, considerando que todos los datos transmitidos han sido almacenados en la memoria caché 1. Este paso de actualización está ilustrado mediante la referencia de paso 66, en la figura 6. Este tipo de modificación de la lista 6 reduce ventajosamente al mínimo las redundancias de transmisión. Puede suceder que algunos datos transmitidos (c) por el servidor 3 al cliente 2 no estén almacenados en la memoria caché 1 ; por ejemplo, en caso de un error de transmisión relacionado con la red, que conduzca a la pérdida de consistencia entre el estado de la memoria caché 1 y la lista 6. Ventajosamente, la invención comprende un método para resolver este problema. La consistencia entre el estado de la memoria caché 1 y la lista 6 se mantiene como se describe posteriormente con mayor detalle, con relación a la figura 8. Se describirá ahora una exhibición ejemplar por el cliente 2, de modelos tridimensionales, codificados por trenes de ondas geométricos, con referencia a las figuras 4A a 4C. Recuérdese que se usan los métodos de codificación "de trenes de ondas" para representar una retícula como una sucesión de detalles añadidos a una retícula de base. La teoría general de esta técnica está descrita pormenorizadamente en el artículo de M. Lounsbery, T. DeRose y J. Warren Multiresolution Analysis for Surfaces of Arbitrary Topological Type (Análisis de resoluciones múltiples para superficies del tipo topológico arbitrario) (ACM Transacción on Graphics, tomo 16, número 1 , páginas 34-73, enero de 1997). Como se describió anteriormente, después de la fase de inicialización del diálogo cliente-servidor, el servidor 3 transmite una versión burda, denominada mapeo, de la base 5 al terminal 2 del cliente. En el caso de una base 5 compuesta de un conjunto de modelos tridimensionales (mostrados en las figuras 4A a 4C), este mapeo, por ejemplo, corresponde a un conjunto de valores que notifican al terminal 2 de cliente acerca de la posición y el tamaño de diferentes objetos de la base 5, por ejemplo, en la forma de la localización y el tamaño de las casillas 41 A y 42A que encierran estos objetos. Dependiendo de la visibilidad de estos objetos (en otras palabras, como una función de si están parcial o totalmente presentes en el campo de visión del observador, de su distancia del observador, etc.), el servidor 3 transmite entonces al cliente la retícula de base 4 IB, 42B de estos objetos. El cliente 2 usa entonces estas retículas de base 4 IB, 42B para construir las diferentes memorias caché subalternas que necesita para almacenar los datos que se originan en el servidor 3, y para crear una lista inicial correspondiente de los pares <0, L0>. En el ejemplo de las figuras 4A a 4C, se considera que cada una de las retículas de base 4 IB, 42B comprende n caras. Por lo tanto, la lista 6 manejada por el servidor 3 para el cliente 2 estará compuesta de una sucesión de pares <0, <Ni, Nn», donde O representa el identifícador de objeto, y donde Ni representa el número de coeficientes de tren de ondas presente en la memoria caché 1 para la cara i de la retícula de base 41B, 42B. Cuando se transmite la retícula de base 41B, 42B, los valores Ni para i[l,n] son inicializados todos a cero. Nótese que todo lo que necesita el servidor 3 a fin de que pueda determinar con precisión los coeficientes de los trenes de ondas presentes en la memoria caché 1 del cliente 2, es el conocimiento preciso de los valores Ni para ie[l,n], a condición de que se haya determinado con antelación un orden de clasificación para los coeficientes de trenes de ondas para cada una de las caras. De esa manera, si el cliente 2 informa al servidor 3 durante el paso (b) de la figura 3, que tiene treinta coeficientes para la cara No. 8 de la retícula 4 IB, el servidor 3 comenzará a transmitir los coeficientes asociados con la cara No. 8 de la retícula 4 IB, y relevantes para el cliente 2, comenzando desde el trigésimo primer coeficiente. Recuérdese que la selección de coeficientes relevantes tiene en cuenta la información de exhibición memorizada en el contexto del cliente, tal como la información de posición, la información de la orientación de observación y los parámetros de selección. El orden en el que están clasificados los coeficientes para cada cara de la retícula de preferencia se mantiene a su llegada en el terminal 2 del cliente. El terminal 2 de cliente puede reconstruir una representación detallada 41C, 42C, de los objetos en la escena, comenzando desde los coeficientes transmitidos por el servidor para cada una de las caras visibles de la retícula de base 4 IB, 41C. Se presentará ahora una segunda modalidad ejemplar de la invención, con referencia a la figura 5, para objetos que utilizan niveles de detalle no progresivos. A diferencia del ejemplo previo, que utiliza una técnica de codificación de tren de ondas, en la que los objetos o las porciones de objetos pueden ser refinados selectivamente como una función del punto de vista del usuario, se presentará ahora el caso de un objeto representado por cuatro referencias 51 a 54 de niveles de detalle sucesivos. Como en el ejemplo de las figuras 4 A a 4C, el servidor 3 comienza transmitiendo el mapeo de la base de datos 5 al cliente 2, que el cliente 2 usará para saber qué datos debe exhibir. A continuación el servidor 3 transmite el nivel 54 más bajo de detalle de este objeto (en otras palabras, la versión más burda del objeto) al cliente 2, para cada objeto en la base 5, que considere que podría ser visible. Durante la exhibición, el servidor 3 transmitirá entonces niveles 53 a 51 de mayor detalle, dependiendo de la posición del cliente 2 en la escena. Así, si el cliente 2 se mueve gradualmente hacia el objeto de la figura 5, el servidor 3 gradualmente transmitirá los niveles de detalle 53, luego 52, luego 51, como una función de la distancia del observador al objeto. La codificación del nivel de refinación Lo asociado con el objeto O dependerá de las restricciones impuestas por la aplicación que esté siendo usada, en particular si es obligatorio o no que los objetos deban ser transmitidos en el orden de los niveles de detalle asociados. De esa manera, si el servidor 3 está obligado a transmitir objetos al cliente 2 en el orden de su nivel de refinamiento, decidirá fijar Lo igual al valor del nivel máximo de detalle presente en la memoria caché 1 para el objeto O. Si la memoria caché 1 contiene referencias 54 de niveles de refinamiento (nivel de refinamiento 0) y 53 (nivel de refinamiento 1) para el objeto O, L0 será igual al valor "1". La lista 6 contendrá entonces el par <0, "1"> y el servidor 3 deducirá que la memoria caché 1 contiene los niveles de refinamiento 0 y 1 para el objeto O. Entonces transmitirá al cliente 2 únicamente el nivel de detalle inmediatamente mayor, de ser necesario; en otras palabras, el nivel de referencia 52 que corresponde a un nivel de refinamiento "2". Si no es obligatorio efectuar la transmisión del servidor 3 al cliente 2, en el orden de los niveles de refinamiento, L0 representará todos los niveles de refinamiento memorizados para el objeto O en la memoria caché 1 del cliente. Por ejemplo, puede seleccionarse codificar Lo en varios bits, de manera que el bit para el que la posición en Lo corresponde a un nivel de detalle memorizado en la memoria caché 1 del cliente 2, sea igual al valor 1. En el ejemplo de la figura 5, si la memoria caché 1 del cliente 2 contiene niveles de refinamiento "0" y "2", que corresponden a las referencias de representación 54 y 52, respectivamente, entonces Lo será igual a 0101. El servidor 3 sabrá entonces que puede transmitir los niveles de detalle 1 y 3, que corresponden a las referencias de representación 53 y 51, respectivamente, dependiendo de la posición del usuario en la escena (en particular, su distancia desde el objeto considerado, y su dirección de observación). De manera similar, cuando se considera un objeto con el que están asociados ocho niveles de detalle sucesivos, y si la memoria caché 1 del cliente 2 comprende los niveles de detalle 1 , 2, 4 y 7 para ese objeto, el valor de L0 será "0100101 1 ". Entonces el servidor 3 sabrá que puede transmitir los niveles 3, 5, 6 y 8 al cliente 2, con base en la información de exhibición almacenada en el contexto asociado. Nótese que este tipo de codificación de Lo no está restringido a los objetos tridimensionales constituidos por caras, sino que puede ser aplicado a cualquier tipo de datos compuestos de niveles de detalle no progresivos, tales como, por ejemplo, texturas de resoluciones múltiples. Se describirá ahora brevemente una tercera modalidad ejemplar de la invención para el caso de datos crudos del tipo de sonido o de video, o para el caso de datos paginados (manejo de existencias, manejo de personal, etc.). Por ejemplo, en el caso de datos crudos del tipo de sonido, puede no ser necesario que el servidor 3 transmita el mapeo. Puede corresponder también al servidor 3 transmitir una serie de datos en tiempo, por ejemplo, informar al cliente 2 que se debe tocar o reproducir un sonido de violín dentro de 30 segundos. Para ese tipo de objeto de sonido, la información de reproducción Lo corresponderá, por ejemplo, al porcentaje de datos transmitidos. El valor de L0 permitirá así que el servidor 3 sepa, por ejemplo, que los primeros 15 segundos de un sonido que dura dos minutos y treinta segundos, están almacenados en la memoria caché 1 del cliente 2. En el caso de datos paginados, el mapeo enviado por el servidor 3 durante la inicialización puede corresponder, por ejemplo, al número total de páginas que existen para cada dato en la base de datos 5. En este caso, la información de reproducción L0 puede ser datos variables en la forma <N, NO, Nn>, donde N representa el número de páginas conocidas para este objeto (en otras palabras, el número de páginas almacenadas en la memoria caché de cliente para este objeto), y donde Ni indica el nombre de la página número i. Se describirá ahora los diferentes pasos implementados por el terminal 2 de cliente sobre la recepción 81 de uno o varios objetos OR enviados por el servidor 3 durante la referencia de transmisión (c) en la figura 3, con referencia a la figura 8. Por razones de simplificación se describirá el caso en que el servidor 3 envía un solo objeto OR al cliente 2. La técnica usada en el caso en que varios objetos OR son recibidos por el cliente 2 y/o la memoria caché 1, se deducirá fácilmente de este caso. Durante una referencia de paso 82, el terminal de cliente comprueba la proporción de llenado de la memoria caché 1 asociada con él. Si la memoria caché 1 no está integrada en el terminal 2, esta comprobación es implementada por la entidad responsable del manejo de la memoria caché 1, por ejemplo, un servidor delegado, en el que esté integrada la memoria caché 1. Si la proporción de llenado de la memoria 1 es menor que un mínimo de llenado predeterminado, lo que indicaría que es posible almacenar uno o varios objetos nuevos en la memoria caché 1, el objeto recibido OR es memorizado (83) en la memoria caché 1 del cliente 2. De otra manera, no es posible almacenar el objeto OR recibido del servidor 3 en la memoria caché 1 , en su estado existente. Se determinará entonces (84) si hay un objeto Os en la memoria caché 1, que sea visualmente menos relevante que el objeto recibido OR para el observador. Este tipo de objeto Os puede ser un objeto que esté fuera del campo de visión del cliente 2, por ejemplo, debido a un desplazamiento reciente, o a un cambio en la dirección de observación del cliente 2. Si hay un objeto Os menos relevante, de este tipo, es borrado (86) de la memoria caché 1, de tal manera que el nuevo objeto 0R recibido del servidor 3 pueda ser almacenado en la memoria caché 1, en su lugar. El terminal 2 de cliente envía entonces (87) información para actualizar el estado de la memoria caché 1 , para informar al servidor 3 que este objeto Os ha sido borrado de la memoria caché 1 , y que se ha almacenado correspondientemente el objeto OR. Por otra parte, si todos los objetos almacenados en la memoria caché 1 son visualmente más relevantes que el objeto OR recibido del servidor 3, la entidad responsable de manejar la memoria caché 1 (por ejemplo, el terminal de cliente 2), rechazará este objeto OR. El terminal 2 de cliente envía entonces (87) una información de actualización acerca del estado de la memoria caché 1 , para informar al servidor 3 que fue imposible almacenar el objeto 0R en la memoria caché 1. El servidor 3 usa también esta información de actualización para mantener consistente el estado de la memoria caché 1 y la lista 6 que representa sus contenidos.
Después de la recepción de esta información de actualización, el servidor 3 puede comprobar en particular que todos los objetos que transmite al cliente 2 y, por lo tanto, que éste añade a la lista , han sido recibidos realmente sin error por el cliente 2 y/o la memoria caché 1. En particular, esto posibilita seguir los problemas de transmisión que pudieran estar relacionados con una falla de la red 4. Por consiguiente, el servidor 3 compara la información de actualización recibida del cliente 2 y la lista 6, para comprobar que estén de conformidad y, de ser aplicable, actualizar la lista como una función de la información de actualización recibida.

Claims (20)

REIVINDICACIONES
1. - Método para la transmisión de datos, denominados objetos, a través de por lo menos una red de comunicaciones (4), entre un servidor (3) y por lo menos un terminal (2) de cliente, por lo menos una memoria caché (1), destinada a almacenar por lo menos algunos de esos objetos transmitidos por el servidor, que está asociada con al menos uno de los terminales de cliente dentro de la red; caracterizado porque por lo menos una lista (6) de cada objeto presente en la memoria caché (1) asociada con uno de los terminales de cliente, es manejada por el servidor (3) o por un elemento intermedio de la red, corriente arriba de los terminales de cliente, a fin de limitar los intercambios de información relacionados con los contenidos de la memoria caché, entre el terminal (2) de cliente y el servidor (3).
2. - Método de transmisión de conformidad con la reivindicación 1 , caracterizado además porque un identificador para cada uno de los objetos es almacenado dentro de la lista (6), junto con información acerca de la reproducción del objeto, para al menos uno de dichos objetos.
3. - Método de transmisión de conformidad con la reivindicación 2, caracterizado además porque la información de reproducción para al menos uno de los objetos se refiere a un nivel de refinamiento del objeto. 4.- Método de transmisión de conformidad con cualquiera de las reivindicaciones 2 y 3, caracterizado además porque la lista (6) comprende un par <0, L0> para cada uno de los objetos almacenados en la memoria caché, que incluye el identificador O del objeto y la información de reproducción L0 del objeto. 5. - Método de transmisión de conformidad con cualquiera de las reivindicaciones 1 a 4, caracterizado además porque por lo menos una porción de información acerca del terminal (2) de cliente y/o de un usuario de ese terminal de cliente, denominada información de exhibición, es asociada con la citada lista (6), para cada uno de los terminales de cliente, a fin de formar un contexto. 6. - Método de transmisión de conformidad con la reivindicación 5, caracterizado además porque la información de exhibición pertenece al grupo que incluye: — información de la posición del usuario; — la dirección de observación del usuario; — parámetros de selección de los objetos. 7. - Método de transmisión de conformidad con cualquiera de las reivindicaciones 5 y 6, caracterizado además porque comprende una fase de inicialización preliminar, para cada uno de los terminales (2) de cliente, que implica un primer paso de transmisión (71), en el que se transmite (71) información inicial de exhibición al servidor (3), y un paso de almacenamiento (72), en el que el servidor (3) almacena la información inicial de exhibición en el contexto correspondiente. 8. - Método de transmisión de conformidad con la reivindicación 4, caracterizado además porque la fase de inicialización preliminar comprende también un segundo paso de transmisión (73) en el que el servidor (3) envía una versión burda de la escena que se va a reproducir por el terminal de cliente, al terminal (2) de cliente. 9. - Método de transmisión de conformidad con cualquiera de las reivindicaciones 5 a 8, caracterizado porque cada uno de los terminales de cliente implementa un paso para transferir por lo menos algunas de las porciones de información de exhibición al servidor, a intervalos de tiempo predeterminados y/o cuando se modifica la información de exhibición. 10. - Método de transmisión de conformidad con la reivindicación 9, caracterizado porque los intervalos de tiempo predeterminados son fijados por el terminal de cliente. 11. - Método de transmisión de conformidad con la reivindicación 10, caracterizado además porque los intervalos de tiempo predeterminados dependen de por lo menos una característica de la red de comunicaciones. 12. - Método de transmisión de conformidad con cualquiera de las reivindicaciones 9 a 11, caracterizado además porque al final del paso de transferencia efectuado por el terminal de cliente, el método implementa un paso (62) para actualizar la información de exhibición, dentro del contexto correspondiente. 13. - Método de transmisión de conformidad con la reivindicación 12, caracterizado además porque al final de este paso de actualización el servidor implementa los siguientes pasos: — un paso de determinación (63), como una función de por lo menos alguna de la información de exhibición actualizada, para determinar por lo menos un objeto O identifícador, necesario para el terminal de cliente, y un nivel de reproducción Lo correspondiente; — un paso (64) para analizar la lista representativa de la memoria caché asociada con el terminal de cliente, a fin de identificar los pares <0, L0>, si los hay, que correspondan al objeto o los objetos O identifícador(es) y al nivel L0 de reproducción necesarios para el terminal de cliente, y no memorizados en la lista; — un paso (65) para transmitir al terminal de cliente el objeto o los objetos O identificador(es), si los hay, con nivel de reproducción L0 que necesite el terminal de cliente, que correspondan a cualquiera del par o de los pares <0, L0> no memorizados en la lista; — un paso (66) para actualizar la lista representativa de la memoria caché asociada con el terminal de cliente; añadiendo al terminal de cliente el par o los pares <0, L0> que corresponden al objeto o los objetos enviados, si los hay. 14.- Método de transmisión de conformidad con la reivindicación 13, caracterizado además porque el servidor implementa también: — un paso para determinar por lo menos un objeto identifícador O y un nivel de reproducción L0, que puedan ser necesarios para el terminal de cliente, de acuerdo con al menos un criterio de probabilidad predeterminado; — un paso en el que el al menos un objeto identifícador O y un nivel de reproducción L0 son enviados anticipadamente al terminal de cliente. 15.- Método de transmisión de conformidad con cualquiera de las reivindicaciones 13 y 14, caracterizado además porque a la recepción (81) de por lo menos un objeto enviado por el servidor, el terminal de cliente efectúa los siguientes pasos: — un paso (83) para almacena el objeto recibido en la memoria caché, si la proporción de llenado de la memoria caché asociada con el terminal de cliente es menor que un nivel mínimo predeterminado; — en caso contrario, un paso (84) para la evaluación de un criterio de relevancia para el objeto recibido; — si por lo menos uno de los objetos almacenados en la memoria caché tiene un criterio de relevancia con un valor menor que el criterio de relevancia del objeto recibido, el terminal de cliente implementa un paso subalterno (86) para borrar el objeto menos relevante de la memoria caché, y un paso subalterno para almacenar en la memoria caché el objeto recibido; — en caso contrario, el terminal de cliente implementa un paso subalterno (85) para rechazar el objeto recibido. 16. - Método de transmisión de conformidad con la reivindicación 15, caracterizado además porque después del paso subalterno de borrar y/o del paso subalterno de rechazar, el terminal de cliente envía (87) al servidor por lo menos una porción de información para actualizar la memoria caché asociada con el terminal de cliente; de modo que el servidor elimine de la lista representativa de la memoria caché, por lo menos un par <0, L0> que corresponda al objeto borrado durante el paso subalterno de borrar, y/o a un objeto enviado por el servidor durante el paso de transmisión, pero no memorizado en la memoria caché. 17. - Método de transmisión de conformidad con cualquiera de las reivindicaciones 1 a 16, caracterizado además porque por lo menos algunos de los objetos comprenden por lo menos un indicador, a fin de que se pueda transmitir selectivamente una porción del objeto, a partir del indicador asociado. 18. - Sistema para la transmisión de datos, denominados objetos, a través de por lo menos una red de comunicaciones, entre un servidor (3) y por lo menos un terminal (2) de cliente, por lo menos una memoria caché (1), destinada a almacenar por lo menos algunos de esos objetos transmitidos por el servidor, que está asociada con al menos uno de los terminales de cliente, dentro de la red; caracterizado porque comprende medios, corriente arriba de los terminales de cliente, para manejar por lo menos una lista (6) de cada uno de los objetos presentes en la memoria caché asociada con uno de los terminales de cliente, a fin de limitar los intercambios de información relacionados con los contenidos de la memoria caché, entre el terminal de cliente y el servidor. 19. - Servidor de datos, para datos denominados objetos, conectado a través de por lo menos una red de comunicaciones, a por lo menos un terminal de cliente, por lo menos una memoria caché, destinada a almacenar por lo menos algunos de los objetos transmitidos por el servidor, que está asociada con al menos uno de los terminales de cliente dentro de la red; caracterizado porque comprende medios de manejo de por lo menos una lista de cada uno de los objetos presentes en la memoria caché asociada con al menos uno de los terminales de cliente, a fin de limitar los intercambios de información con el terminal de cliente asociado, para la información relacionada con los contenidos de la memoria caché. 20.- Terminal de cliente para servidor de datos de conformidad con la reivindicación 19, caracterizado porque comprende medios de transmisión al servidor de por lo menos una porción de información de actualización, de manera que se permita que el servidor actualice la lista representativa de la memoria caché asociada con el terminal.
MXPA04005844A 2001-12-20 2002-12-05 Metodo para transmitir objetos entre un servidor y un terminal de cliente usando manejo de memoria cache, sistema de transmision correspondiente, servidor y terminal. MXPA04005844A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0116632A FR2834104B1 (fr) 2001-12-20 2001-12-20 Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants
PCT/FR2002/004199 WO2003055141A2 (fr) 2001-12-20 2002-12-05 Procédé de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache

Publications (1)

Publication Number Publication Date
MXPA04005844A true MXPA04005844A (es) 2005-03-31

Family

ID=8870818

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04005844A MXPA04005844A (es) 2001-12-20 2002-12-05 Metodo para transmitir objetos entre un servidor y un terminal de cliente usando manejo de memoria cache, sistema de transmision correspondiente, servidor y terminal.

Country Status (13)

Country Link
US (1) US20050086318A1 (es)
EP (1) EP1457023B1 (es)
JP (1) JP4336583B2 (es)
KR (1) KR100952190B1 (es)
CN (1) CN100505741C (es)
AT (1) ATE307453T1 (es)
AU (1) AU2002364818A1 (es)
BR (1) BR0215625A (es)
DE (1) DE60206801T2 (es)
ES (1) ES2249638T3 (es)
FR (1) FR2834104B1 (es)
MX (1) MXPA04005844A (es)
WO (1) WO2003055141A2 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US8645471B2 (en) 2003-07-21 2014-02-04 Synchronoss Technologies, Inc. Device message management system
US20050102385A1 (en) * 2003-10-22 2005-05-12 Nokia Corporation System and associated terminal, method and computer program product for controlling storage of content
US7440559B2 (en) * 2003-10-22 2008-10-21 Nokia Corporation System and associated terminal, method and computer program product for controlling the flow of content
US7634509B2 (en) * 2003-11-07 2009-12-15 Fusionone, Inc. Personal information space management system and method
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
JP2008500750A (ja) 2004-05-12 2008-01-10 フュージョンワン インコーポレイテッド 高度な連絡先識別システム
US7831680B2 (en) * 2004-07-16 2010-11-09 National Instruments Corporation Deterministic communication between graphical programs executing on different computer systems
KR100662256B1 (ko) 2004-12-20 2006-12-28 한국전자통신연구원 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법
JP4745839B2 (ja) * 2005-01-28 2011-08-10 富士通株式会社 データ転送システム、送信プログラム、受信プログラム及びデータ送信方法
US8583827B2 (en) * 2005-05-26 2013-11-12 Citrix Systems, Inc. Dynamic data optimization in data network
US7610291B2 (en) * 2005-08-17 2009-10-27 International Business Machines Corporation Logical grouping and management of redundant objects in storage systems
SE531899C2 (sv) * 2007-07-10 2009-09-01 Agency 9 Ab System för grafikhantering
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8352871B2 (en) 2008-12-04 2013-01-08 International Business Machines Corporation System and method for virtual environment preservation based on automated item reduction
JP2011030179A (ja) * 2009-06-29 2011-02-10 Sony Corp 画像データ送信装置、制御方法およびプログラム
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
GB2500229B (en) * 2012-03-14 2014-08-06 Canon Kk Method,system and server device for transmitting a digital resource in a client-server communication system
US9854052B2 (en) * 2013-09-27 2017-12-26 Sap Se Business object attachments and expiring URLs
EP2963894A1 (en) * 2014-07-04 2016-01-06 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache.
CN113287154A (zh) * 2018-10-14 2021-08-20 本特利系统有限公司 基础设施模型几何形状到图块格式的转换
CN113287153A (zh) * 2018-10-14 2021-08-20 本特利系统有限公司 Hlod树的动态前端驱动生成
US11012531B2 (en) * 2019-04-23 2021-05-18 Cesium GS, Inc. Systems and methods for culling requests for hierarchical level of detail content over a communications network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079695A (en) * 1988-04-25 1992-01-07 Hewlett-Packard Company Object management facility which includes a snapshot facility for providing data transfer between two objects
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
KR100513907B1 (ko) * 1997-06-13 2005-09-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 복수의 상호 관련된 오브젝트들의 주기적 전송방법
US5956039A (en) * 1997-07-25 1999-09-21 Platinum Technology Ip, Inc. System and method for increasing performance by efficient use of limited resources via incremental fetching, loading and unloading of data assets of three-dimensional worlds based on transient asset priorities
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6088698A (en) * 1998-02-27 2000-07-11 Oracle Corporation Method and apparatus for incrementally generating a virtual three-dimensional world
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
US6414679B1 (en) * 1998-10-08 2002-07-02 Cyberworld International Corporation Architecture and methods for generating and displaying three dimensional representations
US6377257B1 (en) * 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US20020029285A1 (en) * 2000-05-26 2002-03-07 Henry Collins Adapting graphical data, processing activity to changing network conditions

Also Published As

Publication number Publication date
AU2002364818A1 (en) 2003-07-09
FR2834104B1 (fr) 2004-10-15
EP1457023B1 (fr) 2005-10-19
ATE307453T1 (de) 2005-11-15
CN1615629A (zh) 2005-05-11
DE60206801T2 (de) 2006-07-27
CN100505741C (zh) 2009-06-24
DE60206801D1 (de) 2006-03-02
WO2003055141A2 (fr) 2003-07-03
JP2005513658A (ja) 2005-05-12
KR20040068338A (ko) 2004-07-30
KR100952190B1 (ko) 2010-04-09
EP1457023A2 (fr) 2004-09-15
ES2249638T3 (es) 2006-04-01
US20050086318A1 (en) 2005-04-21
BR0215625A (pt) 2004-12-21
JP4336583B2 (ja) 2009-09-30
AU2002364818A8 (en) 2003-07-09
WO2003055141A3 (fr) 2003-12-24
FR2834104A1 (fr) 2003-06-27

Similar Documents

Publication Publication Date Title
MXPA04005844A (es) Metodo para transmitir objetos entre un servidor y un terminal de cliente usando manejo de memoria cache, sistema de transmision correspondiente, servidor y terminal.
CN104469395B (zh) 图像传输方法和装置
Bogomjakov et al. Universal rendering sequences for transparent vertex caching of progressive meshes
US6956566B2 (en) Streaming of images with depth for three-dimensional graphics
US6307567B1 (en) Model-based view extrapolation for interactive virtual reality systems
JP2004527046A (ja) 限定された帯域幅の通信チャネルに対して最適化された動的視錘台を用いたネットワーク画像送信システムおよび方法
CN103093499A (zh) 一种适用于网络传输的城市三维模型数据组织方法
JPH10222699A (ja) データ処理装置
KR101317176B1 (ko) 서버와 적어도 하나의 클라이언트 단말 사이의 컨텐츠디스플레이 데이터 전송 방법 및 대응하는 서버, 터미널그리고 컴퓨터 프로그램
De Floriani et al. Dynamic view-dependent multiresolution on a client–server architecture
US20020158874A1 (en) Process and data structure for providing required resolution of data transmitted through a communications link of given bandwidth
JP4045188B2 (ja) ウェーブレットに基づくメッシュ・コーディング方法および装置
Maamar et al. Streaming 3D meshes over thin mobile devices
Han et al. Progressive vector data transmission
Ding et al. Remote visualization by browsing image based databases with logistical networking
Marvie et al. Remote rendering of massively textured 3D scenes through progressive texture maps
Dong et al. Fast Volume Rendering and Data Classification Using Multiresolution in Min‐Max Octrees
CN104378396A (zh) 数据管理装置及方法
Ribelles et al. Multiresolution ordered meshes
Sahm et al. A client-server-scenegraph for the visualization of large and dynamic 3D scenes
Sun et al. Internet-based interactive visualization method of 3D lunar model with texture
Bouville et al. Efficient compression of visibility sets
Zheng et al. Optimized neighbour prefetch and cache for client-server based walkthrough
JPH0721350A (ja) 画像処理システム
Bouras et al. Implementation of 3D mesh streaming and compression techniques in NVEs

Legal Events

Date Code Title Description
FA Abandonment or withdrawal