Dynamic Updates for Videogames

Slides:



Advertisements
Similar presentations
SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.
Advertisements

The Developer Perspective Michelle Osmond. Design – Requirements Gathering Sales & Research projects –Prototypes/Demos User group meetings Usability workshops.
Spring, Hibernate and Web Services 13 th September 2014.
Web Applications Development Using Coldbox Platform Eddie Johnston.
JNDI Java Naming Directory Interface JNDI is an API specified in Java that provides naming and directory functionality to applications written in Java.
Developing Application Extensions with Axis2 Chathura Herath Eran Chinthaka.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
JSP: JavaServer Pages Juan Cruz Kevin Hessels Ian Moon.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
UNIT-V The MVC architecture and Struts Framework.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Algoval: Evaluation Server Past, Present and Future Simon Lucas Computer Science Dept Essex University 25 January, 2002.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
Fermilab Distributed Monitoring System (NGOP) Progress Report J.Fromm K.Genser T.Levshina M.Mengel V.Podstavkov.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
JBoss at Work Databases and JBoss Chapter 4 Jeff Schmitt October 26, 2006.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Migrating Desktop Marcin Płóciennik Marcin Płóciennik Kick-off Meeting, Santander, Graphical.
Ad Hoc Graphical Reports Ad Hoc Graphical Reports Copyright © Team #4 CSCI 6838 Spring CSCI Research Project and Seminar Team# 4 (
Frameworks CompSci 230 S Software Construction.
interactive logbook Paul Kiddie, Mike Sharples et al. The Development of an Application to Enhance.
Preliminary Ocean Project Page 1 WGISS SG May 15, C. Caspar G. Tandurella P. Goncalves G. Fallourd I. Petiteville Preliminary Ocean Project Phase.
Wiki Roadmap 4.1 This document is written to represent the thoughts behind the wiki roadmap 4.1 and to reflect on discussions in irc. It is also a representation.
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Interceptor CS562 Spring 2002 Jan Anand Krishnan Morgan Deters Venkita Subramonian.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Lecture 24: GFS.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
Overview of Basic 3D Experience (Enovia V6) Concepts
A service Oriented Architecture & Web Service Technology.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
Leveraging ColdSpring to build a robust Flex applications Chris Scott, Cynergy Systems.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
PTC Navigate & Thingworx based App Development
Field of Dreams An Online Sporting Goods Marketplace
WEB SERVICES.
Unit – 5 JAVA Web Services
APPLICATION OF DESIGN PATTERNS FOR HARDWARE DESIGN
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Notification Service May 19, 2006 Jon Atherton Mark Mara.
Author: Joe ‘The CRM Chap’ Griffin Website: crmchap.co.uk
Java Messaging Service (JMS)
Java Messaging Service (JMS)
Understanding and Designing with EJB
Object Oriented Design Patterns - Structural Patterns
Author: Joe ‘The CRM Chap’ Griffin Website: crmchap.co.uk
JavaServer Faces: The Fundamentals
Chapter 17: Client/Server Computing
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
AIMS Equipment & Automation monitoring solution
Enterprise Java Beans.
Knowledge Byte In this section, you will learn about:
New Tools In Education Minjun Wang
Presentation transcript:

Dynamic Updates for Videogames Seamless and Transparent Integration of Content and Engine Update in Online and Connected Videogames by Thomas Bousquet & Edouard Kieffer

Motivations & Existings Products However none of them provides transparent update of both content and code

Architecture & Technologies Technologies : SOA Server (JBoss application) Back-end : Hibernate, Spring, XFire Front End : Flex Client JNotify, Webservice

Architecture: Back-End

Architecture: Client API

Dynamic Classes: How Do We Update?

Dynamic Classes: Three Suspects "Automagically" Managed Leave the migration process to us! Migrate to new version using field reflection The dynamic class needs to implement an interface Custom Dynamic Class You control the migration process May also apply the automatic process beforehand The dynamic class needs to implement "ICustomMigration" Implicit Dynamic Class The most flexible implementation Doesn't need to conform to an interface Need only extend ImplicitDynamicClass ... But rather ugly for now

Dynamic Classes: Back – Client Interactions Two channels Client may request through RMI Data push emulated by JMS On initial connection, client requests up- to-date report of dynamic classes If an administrator changes current class revisions, client notified through JMS

Content Update – Main Concept

Content Update – 1 Interface, 2 Classes IupdatableResource Provide renewing method for considered resource New implementation for each 'type' of resource (texture, model, sound, XML file)‏ ResourceListener Listen to a particular file Contains a list of registered IUpdatableResource New implementation for each 'type' of resource (texture, model, sound, XML file)‏ UpdatableResource Manager Manage the listeners and act as a middleman for registering IUpdatableResource New class inheriting from this for each new application

Demonstration Time ! Proof of concept of the applicability of our framework to existing solution Java Monkey Engine AirCarrier showcase application What we will demonstrate Administration Interface Dynamic texture update Dynamic update of AI Manager Behavior

Evaluation Dynamic code : Dynamic content constant overhead for calling dynamic : calls 6 to 8 times slower => only use on computationnaly intensive methods Dynamic content Disk access and content renewal creates 'acceptable' stutter.

Limitation of this demo & extension With more time and/or a better architecture: Use AMF instead of web services for back / front communication Describe ressources used by object with XML file and listen to this files. Extend the existing resource manager to integrate smart cache management

What happened to C++ ? C++ is still the leading language for videogame application Too complicated for the scope of this project (lack of existing framework)‏ Advantages : Function parameters as reference SWIG enables to automatically create wrapper for other languages ranging from Java to Python, Lisp and C#

Extensions - Code Features : Tools : Plugin eclipse to enable traditionnal function call for dynamic code EJB 3.0 (abstraction of persistence)‏

Extensions – Content Features : Tools : Intercept message containing data written from memory to disk to suppress disk access. Tools : Model Oriented Programming : provide tools to create implementation of IUpdatableResource and IresourceListener at once.

Conclusion Features : Tools : Intercept message containing data written from memory to disk to suppress disk access. Tools : Model Oriented Programming : provide tools to create implementation of IUpdatableResource and IresourceListener at once.

Thanks for your attention QUESTIONS ?