ES2557295T3 - Sistema y método para la distribución selectiva de información - Google Patents

Sistema y método para la distribución selectiva de información Download PDF

Info

Publication number
ES2557295T3
ES2557295T3 ES06750476.1T ES06750476T ES2557295T3 ES 2557295 T3 ES2557295 T3 ES 2557295T3 ES 06750476 T ES06750476 T ES 06750476T ES 2557295 T3 ES2557295 T3 ES 2557295T3
Authority
ES
Spain
Prior art keywords
file
information
remote
files
character
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.)
Active
Application number
ES06750476.1T
Other languages
English (en)
Inventor
Mike F. O'brien
William J. Strain
Patrick J. Wyatt
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.)
ARENANET LLC
Original Assignee
ARENANET 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 ARENANET LLC filed Critical ARENANET LLC
Application granted granted Critical
Publication of ES2557295T3 publication Critical patent/ES2557295T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • A63F13/12
    • 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/10Protocols in which an application is distributed across nodes in the network
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un método para la distribución selectiva de información a un dispositivo de juego remoto, que comprende además: recibir una comunicación desde una aplicación cliente que se ejecuta en un dispositivo remoto (104, 106, 108), indicando la comunicación una condición de un personaje del juego; desarrollar un manifiesto filtrado que comprende una recopilación de información necesaria para la aplicación cliente y asociada a la condición, desarrollándose el manifiesto filtrado mediante: la identificación de un archivo como ya residente en el dispositivo remoto; y la exclusión del archivo del manifiesto filtrado; identificar una parte de la recopilación para comunicarla a la aplicación cliente basándose en el manifiesto filtrado; e iniciar la comunicación de la parte.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Sistema y metodo para la distribucion selectiva de informacion
El genero de los juegos en linea multijugador masivos (MMOG) es cada vez mas popular.
Muchos usuarios disfrutan realmente de la idea de jugar estos juegos con y contra miles de otros usuarios. Los usuarios tambien tienden a apreciar el aspecto de “evasion” de muchos MMOG. Los desarrolladores de juegos pasan incontables horas creando enormes mundos en linea con niveles de interactividad y de detalle antes nunca vistos.
Aunque los mundos en linea que permiten a los usuarios evadirse son populares, estos juegos tienden a ser extraordinariamente complejos. Hay varios desafios asociados a la creacion y el equilibrio de una sociedad virtual para miles de jugadores. Y los desafios no terminan una vez que el juego se ha desarrollado. Una vez desarrollados, muchos de los juegos todavia necesitan gestionarse de manera activa.
Aunque se dedica una gran cantidad de tiempo a hacer juegos mejores, mas grandes, y mas detallados, se dedica muy poco tiempo a abordar los retos asociados a la gestion real del juego de los juegos (por ejemplo, la distribucion, la ejecucion, el soporte y la actualizacion de los MMOG).
El documento US5898834 desvela un sistema de procesamiento diversificado y un metodo asociado para actualizar al menos una plataforma informatica remota con una accion que se produce en una plataforma informatica local. El sistema y el metodo desvelados minimizan la cantidad de informacion generada localmente que necesita transferirse a traves de una red con el fin de mantener en una plataforma informatica remota una copia de lo que se ha producido localmente. Para minimizar la informacion enviada entre las plataformas, cada plataforma puede contener unos elementos, denominados instancias, que responden a diversos tipos de comandos. Los tipos de instancias incluyen instancias master, proxy y free. Las instancias master y las instancias proxy se refieren al mismo elemento localizado en diferentes plataformas. Cada instancia master mantiene sus instancias proxy relacionadas actuales con su estado transmitiendo sus cambios entre las plataformas a sus instancias proxy relacionadas. Las instancias free responden a los cambios que se producen preferentemente en una sola plataforma. Al minimizar la cantidad de informacion que se necesita transmitir entre las plataformas, se reduce el ancho de banda consumido para actualizar diversas plataformas.
Avi Bar-Zeev, “Nomad Programming: Scenegraphs: Past, Present and Future”,

http://developer.nomadph.com/guest004.html (consultado el 7 de febrero de 2012) desvela los conceptos basicos de los grafos de escena.
En consecuencia, en un primer aspecto, la presente invencion proporciona un metodo de acuerdo con la reivindicacion 1.
Breve descripcion de los dibujos
Se apreciara que por motivos de simplicidad y claridad de la ilustracion, los elementos ilustrados en las figuras no se han dibujado necesariamente a escala. Por ejemplo, las dimensiones de algunos de los elementos se exageran en relacion con otros elementos. Las realizaciones que incorporan ensenanzas de la presente divulgacion se muestran y se describen con respecto a los dibujos presentados en el presente documento, en los que:
La figura 1 representa un sistema que distribuye selectivamente informacion de acuerdo con las ensenanzas de la presente divulgacion;
La figura 2 muestra una representacion simplificada de un grafo aciclico dirigido que representa diversos elementos de programacion y su interrelacion de una manera que incorpora al menos una parte de las presentes ensenanzas; y
La figura 3 presenta un diagrama de flujo para una tecnica de distribucion selectiva que incorpora al menos alguna de las presentes ensenanzas.
El uso de los mismos simbolos de referencia en diferentes dibujos indica elementos similares o identicos. Descripcion detallada de los dibujos
Como se ha indicado anteriormente, la siguiente descripcion en combination con las figuras se proporciona para ayudar a comprender las ensenanzas desveladas en el presente documento. La siguiente exposition se centrara en las implementaciones y realizaciones especificas de las ensenanzas. Este enfoque se proporciona para ayudar a describir las ensenanzas y no debe interpretarse como una limitation en el alcance o la aplicabilidad de las ensenanzas. Por ejemplo, gran parte de lo siguiente se centra en la distribucion de actualizaciones y/o cualquier otra
5
10
15
20
25
30
35
40
45
50
55
60
65
information en relation con el funcionamiento de un MMOG. Aunque las ensenanzas pueden utilizarse sin duda en esta aplicacion, las ensenanzas tambien pueden utilizarse en otras aplicaciones y con varios tipos de arquitecturas diferentes, tales como las arquitecturas de computation distribuida, las arquitecturas cliente/servidor o las arquitecturas servidor middleware.
En el contexto de los juegos, una tecnica que incorpora al menos alguna de las presentes ensenanzas pueden incluir, por ejemplo, recibir una comunicacion desde una aplicacion cliente que se ejecuta en un dispositivo remoto. La comunicacion puede indicar una condition de un personaje del juego con el que se esta jugando en un juego en llnea multijugador masivo (MMOG). El metodo tambien puede incluir desarrollar un manifiesto filtrado que incluye una lista de archivos necesaria para la aplicacion cliente y asociada a la condition. Una parte de la recopilacion puede identificarse para la comunicacion a la aplicacion cliente, y puede iniciarse la comunicacion de la parte.
En una realization, la information a comunicar puede incluir un archivo de geometrla, un archivo de textura, un archivo de sonido y un archivo de animation. Los archivos pueden asociarse con alguna condition especlfica del personaje, tal como una localization de personaje actual, una localization de personaje prevista, y/o una interaction de personajes. En la practica, un proceso de identificar que archivos son necesarios para un usuario remoto puede facilitarse por el mantenimiento de un grafo de dependencia que mapea una pluralidad de elementos y/o localizaciones de juego con archivos de geometrla, archivos de textura, archivos de sonido y archivos de animation asociados. En una implementation especlfica, el grafo de dependencia puede ser un grafo aclclico dirigido (DAG).
Como se ha indicado anteriormente, la figura 1 representa un sistema 100 que distribuye selectivamente information de acuerdo con las ensenanzas desveladas en el presente documento. Como se muestra, una plataforma informatica 102 esta configurada para servir un juego en llnea a varios clientes remotos que se ejecutan en dispositivos informaticos remotos (representados en los ordenadores 104, 106, y 108). En la realization representada del sistema 100, una interfaz 110 esta asociada a la plataforma informatica 102 y esta configurada para recibir una senal de actualization de uno o mas de los clientes remotos. Como se muestra, la plataforma 102 tambien puede incluir un motor de actualization 112 que responde a una senal de actualization recibida. La senal de actualization puede ser, por ejemplo, una solicitud expllcita de actualizaciones. La senal de actualization tambien puede ser una comunicacion que indica una situation (por ejemplo, una condition de un personaje del juego) que se interpreta y/o se reconoce que indica una necesidad de actualizaciones.
Durante el funcionamiento, el motor de actualization 112 puede acoplarse comunicativamente a un almacen de datos 114 que mantiene la information implicada durante el juego de un MMOG. Por ejemplo, un usuario en el ordenador 104 puede estar jugando con un personaje en un juego servido por la plataforma 102. El personaje del usuario puede trasladarse de una parte de un mundo en llnea a otra parte. Una comunicacion que indica esta transition puede representar la senal de actualization y puede indicar al motor de actualization 112 que information adicional es o puede ser necesaria para el usuario en el ordenador 104.
Si el ordenador 104 no tiene la information que necesita para soportar la transition del personaje a una nueva parte del mundo en llnea, puede reconocerse esta deficiencia y puede enviarse la information necesaria al ordenador 104. En la practica, el motor de actualization 112 puede acceder al menos a una lista parcial de la information disponible para el MMOG determinado que se esta jugando, puede seleccionar una parte de la information para su salida, y puede iniciar una salida de la parte al ordenador 104.
En funcion del detalle de implementation, el motor de actualization 112 puede implementarse, al menos parcialmente, por un procesador y un medio legible por ordenador manteniendo unas instrucciones operativas para dirigir el procesador para reconocer la senal de actualization, para acceder a la lista parcial, para seleccionar la parte, y para iniciar la salida. En una realization especlfica, el proceso de selection de la parte para su salida puede incluir un proceso de filtrado. Tal proceso podrla implicar, por ejemplo, la comunicacion de una parte de un grafo aclclico dirigido (DAG) al ordenador 104. La parte podrla ser la parte de un DAG mas grande que se asocia con una condition de un personaje con el que juega el usuario en el ordenador 104. El proceso de filtrado tambien puede implicar la reception de una comunicacion desde el ordenador 104 que indica al menos un archivo del DAG que necesita el usuario. En la practica, los archivos necesitados realmente por el ordenador 104 pueden identificarse considerando una lista de la information pertinente y reduciendo la lista para eliminar una entrada ya almacenada en el ordenador 104.
Por ejemplo, los archivos asociados a un arbol determinado en el mundo en llnea pueden usarse en mas de una parte del mundo (por ejemplo, el “mismo” arbol puede estar en el fondo de varias escenas diferentes). Como resultado, incluso si el motor de actualization 112 “sabe” que un personaje se esta trasladando a una nueva zona y que la nueva zona incluye un arbol determinado, el motor de actualization 112 puede no “saber” que el ordenador 104 ya tiene archivos asociados al arbol, debido a que el mismo arbol aparecio en una escena anterior. Para reducir descargas innecesarias, el ordenador 104 puede ayudar al motor de actualization 112 reduciendo una lista de archivos necesarios y/o desarrollando realmente la lista de los archivos necesarios.
Como se ha descrito anteriormente, se presentan a los usuarios varios MMOG modernos con un mundo virtual muy detallado y amplio. En la practica, alguna parte del mundo virtual puede descargarse inicialmente a un usuario a
5
10
15
20
25
30
35
40
45
50
55
60
65
traves de una red de area amplia 116. La descarga inicial puede incluir suficientes archivos para permitir jugar con el personaje en una parte inicial de un mundo virtual. La descarga inicial tambien podria ser un nucleo que es insuficiente por si solo para permitir jugar con el personaje. Sin embargo, dicho nucleo puede facilitar una descarga posterior de la information necesaria para jugar.
En la practica, para descargar el mundo completo para trabajar de manera eficaz, el mundo virtual puede necesitar ser relativamente pequeno. Para producir un mundo virtual lo suficientemente pequeno para descargar, los desarrolladores pueden necesitar tomar algunos atajos como sustituir los mapas de textura pintados a mano por unos procesados, usar mas modelos procesados, reducir el numero de efectos de sonido y/o cortar escenas de animation sobre la marcha.
En algunos casos estos cambios pueden reducir la calidad percibida del juego. Para mantener la calidad, algunos desarrolladores pueden elegir, en cambio, distribuir al menos una parte de un cliente de juego en un disco compacto (CD) o un disco de video digital (DVD) comprados. La utilization de un CD o un DVD puede permitir que un desarrollador comunique inicialmente cantidades mas grandes de informacion. Sin embargo, dados los mapas de textura, los modelos 3D, los efectos de sonido, la voz grabada, etc., de los MMOG modernos, puede ser dificil y/o de un coste prohibitivo incluir los suficientes CD para representar completamente un gran mundo virtual.
Como tal, puede utilizarse un sistema como el representado en el sistema 100 para mejorar la capacidad de los desarrolladores para actualizar dinamicamente un juego anadiendo nuevos contenidos, modificando el codigo del lado del cliente, eliminando contenidos existentes, y/o cambiando contenidos. Utilizando el sistema 100, estas actualizaciones pueden producirse a traves de enlaces de comunicacion en oposicion a o ademas de la distribution de nuevos CD.
Como se muestra en el sistema 100, un ordenador remoto como el ordenador 104 puede acoplarse comunicativamente a la plataforma 102, al menos parcialmente, a traves de una red de area amplia 116 que puede ser, por ejemplo, la internet publica. Durante el funcionamiento, puede establecerse una sesion de red para facilitar la comunicacion entre el cliente que se ejecuta en el ordenador 104 y la plataforma informatica 102. El establecimiento de la sesion puede incluir uno o mas protocolos de red tales como PPP, TCP/IP, UDP/IP, etc. Una vez establecida, una ruta de comunicacion entre el ordenador 104 y la plataforma informatica 102 puede permitir una transferencia continua de informacion. En algunas realizaciones, dicha ruta sera capaz de comunicar la informacion identificada por el proceso de filtrado descrito anteriormente mientras que, de manera simultanea, sirve el juego en linea al ordenador 104. En otras realizaciones, la informacion filtrada puede comunicarse por fuera de un enlace de juego activo. Si la informacion de actualization se comunica dentro y/o fuera de un periodo de tiempo en el que un usuario esta jugando, un disenador de juegos puede querer utilizar un grafo de dependencia, tal como un grafo aciclico dirigido (DAG), para ayudar a identificar los archivos a descargar.
Como se ha indicado anteriormente en la Breve description de los dibujos, la figura 2 muestra una representation simplificada de un grafo aciclico dirigido 200 que representa diversos elementos de programacion y su interrelation de una manera que incorpora al menos una parte de las presentes ensenanzas. Como se muestra, el DAG 200 contiene una parte de una representacion de objeto de un modelo de mundo virtual.
El DAG 200 representa un grafo dirigido sin ciclos. El DAG 200 puede ser una parte de arbol y una parte de grafo y puede incluir varios elementos de programa en sus nodos, que se indican en general en 202. El DAG 200 puede ayudar a un desarrollador de juegos de varias maneras. Problemas como la programacion de descargas y el analisis de ruta critica, por ejemplo, pueden simplificarse usando un DAG. Esto puede llegar a ser cada vez mas importante en el contexto de la determination de que informacion es necesario descargar a un usuario con el fin de permitir que el usuario se beneficie de una parte “nueva” de un mundo en linea. El DAG puede ayudar a seleccionar la informacion a descargar en virtud de, por ejemplo, la capacidad del DAG para ordenarse topologicamente usando una primera busqueda en profundidad.
Como se muestra, el DAG 200 se usa para representar un conjunto de archivos de programa cuya necesidad esta en funcion de uno o mas de otros archivos de programa. Los programas se representan, en general, en los nodos 202 en el grafo, y los enlaces representados, en general, en 204 identifican dependencias entre los programas. En la practica, un mecanismo tal como el motor de actualizacion 112 de la figura 1 puede considerar el DAG 200 al determinar que informacion se necesita descargar a un cliente. A continuation, puede presentarse la informacion identificada para su descarga. Si bien puede haber varias posibles variaciones, las estructuras de datos ejemplares para el DAG 200 podrian incluir matrices de adyacencia y listas de adyacencia.
De acuerdo con las ensenanzas desveladas en el presente documento, el nodo 1 del DAG 200 puede representar un nodo raiz para un mundo virtual, y los nodos 2, 3, y 4, pueden representar diferentes partes de ese mundo. Por ejemplo, los nodos 2, 3, y 4 pueden incluir varios archivos diferentes, tales como archivos de textura, archivos de animacion, archivos de audio, etc., necesarios para representar las respectivas partes del mundo. Al bajar un nivel enl DAG 200, el nodo 5 puede representar una escena especifica que forma la parte del mundo virtual representada por el nodo 2. Y el nodo 6 puede representar una escena especifica que forma la parte del mundo virtual representada por el nodo 3.
5
10
15
20
25
30
35
40
45
50
55
60
65
Como se muestra, la parte del mundo representada por el nodo 4 puede incluir dos escenas representadas por los nodos 7 y 8. En la practica, los nodos 7 y 8 pueden contener archivos que presentan una version iluminada de una escena y una version a oscuras de la misma escena, respectivamente. En una realizacion, un desarrollador de juegos puede querer actualizar el juego anadiendo algunos elementos nuevos al mundo. Los elementos nuevos pueden representarse, por ejemplo, por los nodos 9, 10, y 11. El nodo 9 puede ser un archivo de textura para un bosque, el nodo 10 puede ser un archivo de animacion para los arboles y las hojas en el bosque, y el nodo 11 puede ser un archivo de audio que suena como el viento que sopla a traves del bosque.
A medida que el personaje del jugador se mueve a traves del mundo, el personaje puede acercarse a la version a oscuras (nodo 8) de la escena mencionada anteriormente. Un servidor remoto que soporta el juego y lo sirve al jugador puede reconocer que el personaje se acerca la escena representada en el nodo 8 y optar por descargar el archivo del nodo 11, de manera que el personaje del jugador escuchara el sonido del viento que sopla a traves del bosque a oscuras. Debido a que el personaje del jugador “se acercaba” a la parte actualizada del mundo virtual a traves del nodo 8, un mundo a oscuras, el servidor “sabla” que el jugador solo necesitaba los archivos del nodo 11 en contraposition a todos los nuevos archivos contenidos en los nodos 9, 10, y 11.
Como tal, el servidor proporciona poco a poco de manera eficaz actualizaciones al jugador a medida que el jugador necesita las actualizaciones, permitiendo una actualization en llnea del tipo justo a tiempo. Si el personaje del jugador se acerca mas tarde a la escena representada por el nodo 6, el servidor puede reconocer que el programa cliente usado por el jugador necesita ahora todos los nuevos archivos contenidos en los nodos 9, 10, y 11. En algunos casos, el servidor puede generar un manifiesto de archivos para descargar, y el manifiesto puede incluir los archivos de los nodos 9, 10 y 11. A continuation, el manifiesto puede reducirse o filtrarse para determinar si el cliente realmente necesita todos los archivos. Como se ha indicado anteriormente, si el jugador ya ha recibido los archivos del nodo 11, estos archivos pueden eliminarse del manifiesto, y el tamano de la descarga se hara mas pequeno. Esta tecnica de descarga razonada puede proporcionar un enfoque mas eficiente para actualizar y/o descargar inicialmente las partes de un MMOG.
Como se ha indicado anteriormente en la Breve description de los dibujos, la figura 3 presenta un diagrama de flujo para una tecnica de distribution selectiva 300 que incorpora al menos alguna de las presentes ensenanzas. En la etapa 312, un desarrollador de juegos puede comenzar el proceso de diseno de un nuevo mundo virtual. El nuevo mundo puede ser el escenario para un nuevo MMOG que el desarrollador espera comercializar para miles de jugadores en llnea.
En la practica, el MMOG y/o el mundo que actua como escenario para el MMOG pueden “convertirse” en la etapa 314 en una representation DAG, en la que cada nodo puede representar un bloque basico de codigo. Cada bloque basico o nodo puede incluir una lista de codigos que termina en algun punto final despues de comenzar en algun otro punto. Cada borde o enlace puede representar una relation o proxima action adoptada si as! se indica en el punto final de un nodo determinado.
En la etapa 316, puede seleccionarse una parte inicial del mundo para su distribucion, y en la etapa 318 puede distribuirse la parte inicial. En la practica, la parte inicial puede distribuirse a traves de una descarga en llnea, como un disco puesto a la venta en una tienda, como un disco distribuido gratuitamente, y/o algun otro mecanismo de distribucion apropiado. Una vez distribuida, un usuario con la intention de jugar el juego puede recibir la parte inicial y cargarla en su ordenador. La parte inicial puede establecer una aplicacion cliente en el ordenador del usuario y facilitar la capacidad del usuario para comenzar a jugar el nuevo juego.
En la etapa 320, puede recaudarse un pago del usuario por la parte inicial y/o por el servicio de servir el juego al usuario. En la etapa 322, puede activarse la cuenta del usuario, y el usuario puede establecer un personaje para jugar el nuevo juego. En la etapa 324, una plataforma informatica remota puede servir el juego al usuario. Aunque el juego puede servirse al usuario desde un dispositivo remoto, la accion de jugar el juego tambien puede hacer uso de los recursos informaticos locales para el usuario. Por ejemplo, un cliente que se ejecuta en el ordenador del usuario puede soportar una parte significativa de la carga de calculo asociada al juego del usuario del MMOG.
En la etapa 326, puede recibirse una comunicacion que indica que el cliente del usuario necesita una actualizacion y/o archivos adicionales para experimentar de manera mas plena el juego. En la etapa 328, pueden identificarse los archivos que deben descargarse al cliente. El proceso de identification de estos archivos puede implicar, por ejemplo, la consideration de un DAG que representa alguna parte del MMOG. Una vez identificados, los archivos pueden descargarse al cliente en un momento posterior, casi en tiempo real, sobre una base justo-a-tiempo, y/o de alguna otra manera. En la etapa 330, los archivos pueden haberse descargado de tal manera que el personaje del usuario sea capaz de experimentar los elementos que estaban representados en los archivos.
En la etapa 332, puede determinarse que el cliente del usuario necesita actualizarse. En la etapa 324, puede crearse un manifiesto de los nuevos archivos necesarios para el cliente. Una vez mas, puede considerarse un DAG para ayudar en la creation del manifiesto. En funcion del detalle de implementation, el ordenador del usuario puede encargarse de considerar el DAG para ayudar a desarrollar el manifiesto y/o una plataforma informatica alejada del usuario puede encargarse de este proceso. En la etapa 336, el manifiesto puede filtrarse con respecto a una lista de
los archivos que ya estan en el ordenador del usuario. Si un archivo ya reside en el ordenador del usuario, el archivo puede reducirse con respecto al manifiesto para evitar su descarga innecesaria. Al igual que con el manifiesto original, el ordenador del usuario puede encargarse del proceso de reduccion y/o una plataforma informatica alejada del usuario puede encargarse de este proceso.
5
En la etapa 338, pueden descargarse los archivos necesarios para el cliente del usuario, y en la etapa 340 el personaje del usuario puede ser capaz de experimentar las partes del juego actualizadas. En la etapa 342, una plataforma informatica remota puede servir el juego a miles de usuarios mientras que ayuda simultaneamente en el proceso de proporcionar archivos de actualizacion y/u otros archivos adicionales. El proceso puede hacerse avanzar 10 hasta detenerse en la etapa 344.
Aunque la tecnica 300 se ha descrito en una serie de etapas secuenciales, la secuencia de las etapas y la parte que ejecuta las etapas pueden cambiarse libremente sin alejarse del alcance de las ensenanzas. Pueden anadirse, eliminarse y/o modificarse etapas de varias maneras. Del mismo modo, las etapas pueden ordenarse y/o enlazarse 15 de nuevo.
El objeto desvelado anteriormente debe considerarse ilustrativo, y no restrictivo, y se pretende que las reivindicaciones adjuntas cubran todas estas modificaciones, mejoras, y otras realizaciones que caigan dentro del verdadero alcance de la presente invencion. Por lo tanto, en la maxima medida permitida por la ley, el alcance de la 20 presente invencion debe determinarse por la interpretacion mas amplia admisible de las siguientes reivindicaciones y sus equivalentes, y no podra restringirse o limitarse por la descripcion detallada anterior.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Un metodo para la distribucion selectiva de informacion a un dispositivo de juego remoto, que comprende ademas:
    recibir una comunicacion desde una aplicacion cliente que se ejecuta en un dispositivo remoto (104, 106, 108), indicando la comunicacion una condicion de un personaje del juego;
    desarrollar un manifiesto filtrado que comprende una recopilacion de informacion necesaria para la aplicacion cliente y asociada a la condicion, desarrollandose el manifiesto filtrado mediante:
    la identificacion de un archivo como ya residente en el dispositivo remoto; y la exclusion del archivo del manifiesto filtrado;
    identificar una parte de la recopilacion para comunicarla a la aplicacion cliente basandose en el manifiesto filtrado; e
    iniciar la comunicacion de la parte.
  2. 2. El metodo de la reivindicacion 1, en el que la recopilacion de informacion comprende un archivo de geometrla, un archivo de textura, un archivo de sonido y un archivo de animacion.
  3. 3. El metodo de la reivindicacion 1, en el que la condicion se selecciona a partir de un grupo que consiste en una localization de personaje actual, una localization de personaje prevista y una interaction de personajes.
  4. 4. El metodo de la reivindicacion 1, que comprende ademas:
    recibir del dispositivo remoto una solicitud de un grafo de dependencia que mapea una pluralidad de elementos de juego con archivos asociados;
    comunicar al menos una parte del grafo de dependencia en respuesta a la solicitud; y recibir del dispositivo remoto informacion que representa el manifiesto filtrado.
  5. 5. El metodo de la reivindicacion 1, que comprende ademas mantener un grafo de dependencia que mapea una pluralidad de elementos de juego con los archivos de geometrla, archivos de textura, archivos de sonido y archivos de animacion asociados.
  6. 6. El metodo de la reivindicacion 5, en el que el grafo de dependencia es un grafo aclclico dirigido DAG, que comprende ademas proporcionar al menos una parte del DAG a la aplicacion cliente.
  7. 7. Un sistema para distribuir selectivamente informacion a un cliente remoto que comprende:
    una plataforma informatica (102) configurada para servir un juego en llnea a una pluralidad de clientes remotos (104, 106, 108);
    una interfaz (110) configurada para recibir una senal de actualization para al menos uno de la pluralidad de clientes remotos, indicando la senal de actualizacion una condicion de un personaje del juego; un motor de actualizacion (112), que responde a la senal de actualizacion, y que se puede hacer funcionar para acceder a al menos una lista parcial de la informacion disponible,
    seleccionar, para su salida, una parte de la informacion disponible asociada a la condicion identificando un
    archivo ya residente en un dispositivo remoto y excluyendo el archivo de la parte, e
    iniciar una salida de la parte; y
    una memoria (114) que mantiene la lista parcial.
  8. 8. El sistema de la reivindicacion 7, en el que el motor de actualizacion (112) selecciona la parte en respuesta a un proceso de filtrado que comprende:
    comunicar una parte de un grafo aclclico dirigido DAG a un primer cliente remoto, la parte asociada a una condicion de un personaje con el que juega el primer cliente remoto; y
    recibir una comunicacion del primer cliente remoto que indica al menos un archivo del DAG que necesita el primer cliente remoto.
  9. 9. El sistema de la reivindicacion 7, que comprende ademas un enlace de comunicacion acoplado comunicativamente a la plataforma informatica y que se puede hacer funcionar para interconectar, al menos parcialmente, la plataforma informatica y el al menos uno de la pluralidad de clientes remotos.
ES06750476.1T 2005-04-28 2006-04-18 Sistema y método para la distribución selectiva de información Active ES2557295T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US67562405P 2005-04-28 2005-04-28
US675624P 2005-04-28
PCT/US2006/014448 WO2006115882A2 (en) 2005-04-28 2006-04-18 System and method for selective distribution of information

Publications (1)

Publication Number Publication Date
ES2557295T3 true ES2557295T3 (es) 2016-01-25

Family

ID=37215233

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06750476.1T Active ES2557295T3 (es) 2005-04-28 2006-04-18 Sistema y método para la distribución selectiva de información

Country Status (5)

Country Link
US (2) US8075403B2 (es)
EP (1) EP1877919B1 (es)
ES (1) ES2557295T3 (es)
PL (1) PL1877919T3 (es)
WO (1) WO2006115882A2 (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209679B2 (en) * 2006-01-12 2012-06-26 Oracle International Corporation Computer implemented method and system for processing a client request for an application program
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US9101820B2 (en) 2006-11-09 2015-08-11 Bally Gaming, Inc. System, method and apparatus to produce decks for and operate games played with playing cards
US9275512B2 (en) 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US8920233B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US8784212B2 (en) 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US8631501B2 (en) 2006-11-10 2014-01-14 Bally Gaming, Inc. Reporting function in gaming system environment
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
US8131829B2 (en) * 2006-11-13 2012-03-06 Bally Gaming, Inc. Gaming machine collection and management
US8347280B2 (en) 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US9613487B2 (en) 2007-11-02 2017-04-04 Bally Gaming, Inc. Game related systems, methods, and articles that combine virtual and physical elements
US8201229B2 (en) 2007-11-12 2012-06-12 Bally Gaming, Inc. User authorization system and methods
US8616958B2 (en) 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
US9005034B2 (en) 2008-04-30 2015-04-14 Bally Gaming, Inc. Systems and methods for out-of-band gaming machine management
US8721431B2 (en) 2008-04-30 2014-05-13 Bally Gaming, Inc. Systems, methods, and devices for providing instances of a secondary game
US8856657B2 (en) 2008-04-30 2014-10-07 Bally Gaming, Inc. User interface for managing network download and configuration tasks
US9483911B2 (en) 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
WO2009151919A2 (en) 2008-05-24 2009-12-17 Bally Gaming, Inc. Networked gaming system with enterprise accounting methods and apparatus
US9443377B2 (en) 2008-05-30 2016-09-13 Bally Gaming, Inc. Web pages for gaming devices
US8412768B2 (en) * 2008-07-11 2013-04-02 Ball Gaming, Inc. Integration gateway
US8260873B1 (en) * 2008-10-22 2012-09-04 Qurio Holdings, Inc. Method and system for grouping user devices based on dual proximity
US8347303B2 (en) 2008-11-14 2013-01-01 Bally Gaming, Inc. Apparatus, method, and system to provide a multi-core processor for an electronic gaming machine (EGM)
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
US8423790B2 (en) 2008-11-18 2013-04-16 Bally Gaming, Inc. Module validation
US9467507B2 (en) * 2011-01-03 2016-10-11 Verizon Patent And Licensing Inc. Wireless network cloud computing resource management
US9058716B2 (en) 2011-06-06 2015-06-16 Bally Gaming, Inc. Remote game play in a wireless gaming environment
US9744440B1 (en) * 2012-01-12 2017-08-29 Zynga Inc. Generating game configurations
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US9584793B2 (en) * 2012-04-09 2017-02-28 Intel Corporation Signaling three-dimensional video information in communication networks
US20130282564A1 (en) * 2012-04-21 2013-10-24 Research In Motion Limited System and method for transmitting application data between two communication devices
US9736121B2 (en) 2012-07-16 2017-08-15 Owl Cyber Defense Solutions, Llc File manifest filter for unidirectional transfer of files
US10218586B2 (en) 2013-01-23 2019-02-26 Owl Cyber Defense Solutions, Llc System and method for enabling the capture and securing of dynamically selected digital information
US8776254B1 (en) 2013-01-23 2014-07-08 Owl Computing Technologies, Inc. System and method for the secure unidirectional transfer of software and software updates
US9306953B2 (en) 2013-02-19 2016-04-05 Owl Computing Technologies, Inc. System and method for secure unidirectional transfer of commands to control equipment
US20140342810A1 (en) * 2013-05-17 2014-11-20 Douglas Duba Electronic coin-operated merchandiser with remote management system
US9311329B2 (en) 2014-06-05 2016-04-12 Owl Computing Technologies, Inc. System and method for modular and continuous data assurance
JP7158781B1 (ja) * 2021-11-29 2022-10-24 クラスター株式会社 端末装置、サーバ、仮想現実空間提供システム、プログラムおよび仮想現実空間提供方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5808625A (en) * 1995-08-04 1998-09-15 Silicon Graphics Incorporated System and method for using dependency graphs for the control of a graphics creation process
US5898834A (en) * 1996-08-16 1999-04-27 Starwave Corporation System, method, and medium for control of objects in a multi-platform environment
US6625813B1 (en) * 1999-01-12 2003-09-23 Sony Corporation Digital television broadcast architecture for massively multi-user application
US7050955B1 (en) * 1999-10-01 2006-05-23 Immersion Corporation System, method and data structure for simulated interaction with graphical objects
US6854012B1 (en) * 2000-03-16 2005-02-08 Sony Computer Entertainment America Inc. Data transmission protocol and visual display for a networked computer system
US6767287B1 (en) * 2000-03-16 2004-07-27 Sony Computer Entertainment America Inc. Computer system and method for implementing a virtual reality environment for a multi-player game
US20030177187A1 (en) * 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US6931412B2 (en) * 2000-12-21 2005-08-16 Microsoft Corporation Extensible actions and container types in an extensible scene graph system
US20020082065A1 (en) * 2000-12-26 2002-06-27 Fogel David B. Video game characters having evolving traits
US20040143852A1 (en) * 2003-01-08 2004-07-22 Meyers Philip G. Systems and methods for massively multi-player online role playing games
US7921078B2 (en) * 2005-04-20 2011-04-05 Sony Online Entertainment Llc System for negotiated differential compression

Also Published As

Publication number Publication date
WO2006115882A2 (en) 2006-11-02
US20120058827A1 (en) 2012-03-08
EP1877919A4 (en) 2012-03-21
WO2006115882A3 (en) 2008-02-14
EP1877919A2 (en) 2008-01-16
EP1877919B1 (en) 2015-10-28
US8075403B2 (en) 2011-12-13
PL1877919T3 (pl) 2016-05-31
US9077732B2 (en) 2015-07-07
US20060248161A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
ES2557295T3 (es) Sistema y método para la distribución selectiva de información
Paavilainen et al. The Pokémon GO experience: A location-based augmented reality mobile game goes mainstream
CN103657087B (zh) 身临其境式叙事环境
US20110107239A1 (en) Device, system and method of interactive game
US10933327B2 (en) Network-based video game editing and modification distribution system
JP2017520363A (ja) ゲームセッションのリプレイの間の新タイムラインのスポーン
KR20070029859A (ko) 카드 게임 ai 제어 방법 및 카드 게임 ai 제어 시스템
JP2007304570A (ja) インターネット可能で多重相互接続可能な環境下での双方向キャラクターシミュレーションモジュール方法及びシステム
JP2007505673A (ja) ネットワークを利用したゲーム・システム
Buettel et al. Egress! How technophilia can reinforce biophilia to improve ecological restoration
Leorke Location-based gaming apps and the commercialization of locative media
Karlsen Exploited or engaged? Dark game design patterns in Clicker Heroes, Farmville 2, and World of Warcraft
Vanhatupa Browser games for online communities
US20100120532A1 (en) Incorporating player-generated audio in an electronic game
Norton et al. Monsters of Darwin: A strategic game based on artificial intelligence and genetic algorithms
Leorke et al. Location-based Gaming’s second phase (2008–present)
US20200353366A1 (en) System and method for augmented reality game system
Guimarães et al. Prom Week Meets Skyrim.
Manning Animating virtual worlds: Emergence and ecological animation of Ryzom’s living world of Atys
US20140323217A1 (en) Method and server for providing item according to joining an event in online game
Tuncel Procedural Content Generation for Video Games using Open Data
Reis et al. Playing with the Weather
Omodunbi et al. Development of an interactive android-based Ayo-Olopon game
KR20170103138A (ko) 게임 환경을 시뮬레이트 하는 시스템 및 방법
Suckling Dungeon on the Move: A Case Study of a Procedurally Driven Narrative Project in Progress