Deceit System This overview is meant to provide a coherent understanding of the Deceit System and Engine. The distribution of clients and servers, the.

Slides:



Advertisements
Similar presentations
Module 5: Configuring Access for Remote Clients and Networks.
Advertisements

28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Client/Server Databases and the Oracle 10g Relational Database
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Write basic.
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
Course Instructor: Aisha Azeem
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
An Introduction to Rational Rose Real-Time
Copyright ©2014 Pearson Education, Inc. Chapter 3 Requirements and Business Rules Chapter3.1.
Understanding Active Directory
Object-Oriented Analysis and Design
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Chapter 2 Database System Concepts and Architecture
ADVANCED MICROSOFT ACTIVE DIRECTORY CONCEPTS
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
The Design Discipline.
Chapter 16 The World Wide Web Chapter Goals ( ) Compare and contrast the Internet and the World Wide Web Describe general Web processing.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Server-side Scripting Powering the webs favourite services.
Database Programming in Java Corresponds with Chapter 32, 33.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Pooja Shetty Usha B Gowda.  Network File Systems (NFS)  Drawbacks of NFS  Parallel Virtual File Systems (PVFS)  PVFS components  PVFS application.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
An Introduction to Software Architecture
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
Configuring Global Server Load Balancing (GSLB)
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Lecture # 6 Forms, Widgets and Event Handling. Today Questions: From notes/reading/life? Share Personal Web Page (if not too personal) 1.Introduce: How.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Ophelia User friendly Network Multi-player game engine Albert Öhrling.
Module 5: Implementing Printing. Overview Introduction to Printing in the Windows Server 2003 Family Installing and Sharing Printers Managing Access to.
Module 3 Configuring File Access and Printers on Windows 7 Clients.
What is a Structural Model?
HTML Form Widgets. Review: HTML Forms HTML forms are used to create web pages that accept user input Forms allow the user to communicate information back.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Chapter 12 Review Chad Hagstrom CS 310 Spring 2008.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Jini Architecture Introduction System Overview An Example.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Error Handling Tonga Institute of Higher Education.
BIT 3193 MULTIMEDIA DATABASE CHAPTER 5 : MULTIMEDIA DATABASE MANAGEMENT SYSTEM ARCHITECTURE.
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
IF STARBUCKS USED INSTART LOGIC, THEY WOULD HAVE A FASTER RESPONSIVE WEBSITE BY PETER BLUM.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
Chapter 2 Database System Concepts and Architecture
Introduction to Networking
Database System Concepts and Architecture
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Exceptions and networking
Presentation transcript:

Deceit System This overview is meant to provide a coherent understanding of the Deceit System and Engine. The distribution of clients and servers, the four entities, interaction flow and quests will all be described and then demonstrated.

Distributed Setup Definitions: Client – A user of the game running a program utilizing the ClientApp. Central Server – a server for initial connection management and load-balancing. Interaction Server – Servers running the Deceit Engine. The bulk of the work occurs here. Storage – anything capable of providing the requirements of IStorageAdapter.

Distributed Setup 1.Central Server is started. 2.Interaction servers are brought online and make the Central Server aware of their existence. 3.Clients ask the Central Server for an Interaction Server to connect to. 4.Clients contact to the specified Interaction Server and form a persistent connection. 5.Interaction Servers perform engine logic and access storage when necessary.

STORAGESTORAGE Interaction Server Central Server Client Interaction Server Interaction Server Network

The Four Entities Our system has four key entities, of which you should be familiar when working with it: -GameItems - An item, object, thing, etc. -Attribute – A property of a GameItem. -Interaction – A verb, something that occurs, a host in the visitor pattern. -Permissions – Boolean-evaluate-able entities which accept or deny an Interaction from occurring and also have the power to send new Interactions.

The Four Entities The important thing to note here, and that which makes the Deceit Engine truly unique among all other systems is the fully-dynamic nature of these entities. They are all capable of being dynamically altered, or even created and added to the system at run-time. The world could begin with no items in it, they can be added with no attributes, interactions or permissions. No interactions or permissions need be written or compiled with the system. All of them may be dynamically added along with any attributes to the items you just created in the blank world.

The Four Entities: Permissions In order to create a robust system of Permissions, they have been divided up into two types: General Permissions apply to Interactions as a whole. The “Pick Up” Interaction being performed on any item at all necessarily requires some things, such as being in close proximity to the target. These Permissions are then applied to all uses of the Pick Up Interaction. Specific Permissions deal with the ability of the item which is the target or destination of the Interaction. It may require more strength to Pick Up an Apple than to Pick Up a Car. Utilizing the Visitor Pattern, we allow each GameItem to provide these Specific Permissions.

Something You Are: Game Item & Attributes Something You Can Do: Interaction & Permission Giacomo Hair Color: Brown Eye Color: Blue Height: 5’8” Mouth: 2” Age: 20 Money: ¥50,000 Strawberry: Eat Permission: Mouth Size > 1” Car: Eat Permission: Mouth Size > 120”

Interactions: From Click to Client 1.An action occurs in the real world, such as a mouse-click. 2.The Client’s Application Layer catches this as and interprets it as an Interaction, selecting an InteractionIdentifier to send across the Network. 3.The Client Networking module knows how to communicate with an Interaction Server’s Networking module.

Interactions: From Client to Server 4.The Server Networking module is sent the InteractionIdentifier. 5.This is caught and passed to the Game Engine, whose operations will be the subject of further discussion. 6.If the Game Engine needs to access data in Storage, it sends a request to the Storage Adapter, which knows how to communicate to whichever particular storage you use.

Interactions: From Storage and Back 7.Storage responds with any requests through the Storage Adapter. Game Logic proceeds. 8.In the case of an Interaction that sends updates or information back to the Client, the process works mostly in reverse back to the Client Application Layer. 9.Finally, any changes in the game world are displayed to the user.

Network STORAGESTORAGE Application Layer Client Networking Game Engine Server Networking Client Interaction Server Storage Adapter Click

Interactions: Inside the Engine 1.An InteractionIdentifier arrives at the starting point in the Game Engine: The Interaction Dispatcher. 2.The Dispatcher asks Storage for the General Permission associated with that InteractionIdentifier. 3.The General Permission is evaluated, and in the case where it allows the Interaction to occur, the Interaction is not yet executed. 4.Instead, it is sent to the GameItem which, using the Visitor Pattern, provides an executable Interaction and associated Specific Permission from Storage. 5.If the Specific Permission allows, the Interaction occurs.

STORAGESTORAGE General Permission Specific Permission Interaction Interaction Dispatcher Game Item Interaction Identifier

Quests Quests in Deceit arise naturally from situations produced by Interactions and Permissions being dynamically added to items, modifier and/or removed as the scenario progresses. Because of these, there is no Quest data structure, but instead a Quest Installer that adds the necessary Permissions and Interactions to the system and then installs specific instances of them to the necessary items.

… … Game Item 1 Interaction 1 Quest Installer Permission Interaction 2 Permission Game Item 2 Interaction 1Interaction 2 Permission Interaction n Permission Interaction 3 Permission Interaction n