Data Distribution. Outline Fundamental concepts –Name space –Description expressions –Interest expressions Static Data Distribution: HLA Declaration Management.

Slides:



Advertisements
Similar presentations
Computer Networking A Top-Down Approach Chapter 4.7.
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Interest Management Objectives – –Understand what is meant by the term interest management. –Realise how interest management schemes may be deployed. –Understand.
High Level Architecture
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
1 Fall 2005 Hardware Addressing and Frame Identification Qutaibah Malluhi CSE Department Qatar University.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
COS 420 Day 14. Agenda Assignment 3 Posted Covers chapters Due March 23 Assignment 4 Posted Chap Due April 6 Individual Project Papers due.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
CSCI 4550/8556 Computer Networks Comer, Chapter 19: Binding Protocol Addresses (ARP)
CS335 Networking & Network Administration Tuesday, May 18, 2010.
Parallel and Distributed Simulation Object-Oriented Simulation.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
C++ fundamentals.
Subclasses and Subtypes CMPS Subclasses and Subtypes A class is a subclass if it has been built using inheritance. ▫ It says nothing about the meaning.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Programming Languages and Paradigms Object-Oriented Programming.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
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.
OOPs Object oriented programming. Based on ADT principles  Representation of type and operations in a single unit  Available for other units to create.
ON DESIGING END-USER MULTICAST FOR MULTIPLE VIDEO SOURCES Y.Nakamura, H.Yamaguchi, A.Hiromori, K.Yasumoto †, T.Higashino and K.Taniguchi Osaka University.
Unified Modeling Language, Version 2.0
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
Data Distribution Dynamic Data Distribution. Outline Introductory Comments Dynamic (Value based) Data Distribution: HLA Data Distribution Management –Routing.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
The High Level Architecture Introduction. Outline High Level Architecture (HLA): Background Rules Interface Specification –Overview –Class Based Subscription.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
Parallel and Distributed Simulation Data Distribution I.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Chapter 12 Support for Object oriented Programming.
This paper appears in: Computer Communications and Networks, ICCCN Proceedings.15th International Conference on 指導教授 : 許子衡 報告者 : 黃群凱 1.
Parallel and Distributed Simulation Distributed Virtual Environments (DVE) & Software Introduction.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.
(1) ICS 313: Programming Language Theory Chapter 12: Object Oriented Programming.
OOPs Object oriented programming. Abstract data types  Representationof type and operations in a single unit  Available for other units to create variables.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
Efficient Resource Allocation for Wireless Multicast De-Nian Yang, Member, IEEE Ming-Syan Chen, Fellow, IEEE IEEE Transactions on Mobile Computing, April.
Parallel and Distributed Simulation Data Distribution II.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Object-Oriented Design Concepts University of Sunderland.
2010 International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), pp , 作者: Yoh Shiraishi, Ryo Miki 指導教授:許子衡 教授.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
Diistributed Data Management DDM in HLA. Distributed Data Management HLA by default does one sort of interest management: functional. Your federate can.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
1 CMPT 471 Networking II Multicasting © Janice Regan,
Multicast Outline Multicast Introduction and Motivation DVRMP.
Systems Analysis and Design With UML 2
Wireless Sensor Network Architectures
Ch 17 - Binding Protocol Addresses
Other Routing Protocols
IP Multicast COSC /5/2019.
Presentation transcript:

Data Distribution

Outline Fundamental concepts –Name space –Description expressions –Interest expressions Static Data Distribution: HLA Declaration Management –Class-based filtering

Background Basic question: When a simulator generates information (e.g., state updates) that may be of interest to other simulators, who should receive the message? Example: moving vehicles in a virtual environment –Moving vehicle sends “update” messages indicating new position –Each vehicle that can “see” the moving vehicle should receive a message –How does the sender/RTI know which other federates should receive the message? Data distribution is essentially a message routing problem

Communication Primitives Unicast –One sender, message received by one destination Broadcast –One sender, message received by all destinations Multicast –One sender, message received by multiple (but not necessarily all) destinations –Operations (analagous to newsgroups) Join group Leave group Send message to group –Can be implemented by unicast, or network multicast –Best effort vs. reliable multicast

Data Distribution in SIMNET and DIS Question: Who receives each message that is sent? Approach: Broadcast each message, receiver responsible for filtering (deleting) unneeded messages O(N 2 ) messages with N federates; can use large amount of communication bandwidth Time spent receiving and filtering unwanted message becomes a bottleneck

Data Distribution Goal: route data produced by one simulator to those simulators that are interested in receiving it (and ideally, not to simulators that are not interested in receiving it) This implies there is Some way for a simulator to specify what data it is interested in receiving (interest expressions) Some way to describe the data that is produced (description expressions) A common language (vocabulary) to specify description and interest expressions (name space)

Example Federate 1Federate 2Federate 3 Run Time Infrastructure (RTI) I’m interested in the position of aircraft I’m interested in the position of tanks interest expressions position update for a tank object description expression Name space: position, tank, aircraft

Analogy: Internet Newsgroups Description expression –Name of newsgroup to which the message is posted –Class announcements posted to “git.cc.class.cs4230” Interest expression –Set of newsgroups a user is subscribed to –Subscribe to “git.cc.class.cs4230” and “git.cc.class.cs2200” Name space –Set of all newsgroup names

Name Space “Vocabulary” used to create –Data description expressions –Interest expressions A name space is a set of tuples (V 1, V 2, … V N ) where V i is a basic type or another tuple –Example: (class, location) Class: enumerated type Location: tuple (int: X-coordinate, int: Y-coordinate), where 0 < X < 1000 and 0 < Y < 1000 –Values in name space: (tank,(30,200)); (aircraft,(10,20)) –Values of the tuple space may correspond to State variables of simulation (e.g., values of object attributes), or New construct defined just for the purposes of routing data (HLA: routing space regions; newsgroup name) May include static properties of objects (e.g., class names, attribute names) or dynamic properties (attribute values)

Interest & Description Expressions Interest expression: subset of name space –Interested in all aircraft (aircraft, (X, Y)) for any X and any Y –Interested in tanks that are “close by” (tank, (X, Y)) where 10 < X < 20, and 130 < Y < 150 Description expression: subset of the name space –(tank, (15, 135)) –(aircraft, (X, Y)) where 35 < X < 38 and 98 < Y < 100 Data routing –A simulator receives a message if the message’s description expression overlaps with the simulator’s interest expressions

Name space (all possible tuple values) Data Distribution Concepts Interest expressions, Simulator 1 Interest expressions, Simulator 2 Description expression for a message The message is routed to Simulator 2, but not to Simulator 1.

Static vs. Dynamic Data Distribution Static Data Distribution –Name space only includes static properties that do not change during the execution –Example: Declaration Management in the HLA Class-based data distribution Filter based on data types “Give me updates to the position attribute of all objects of class tank” –Cannot filter based on dynamically computed quantities Cannot say: “Give me updates to tank objects that are close to me” Dynamic Data Distribution –Name space includes dynamic quantities that may change during the execution –Value-based data distribution “Give me updates to tank objects that are close to me” –Example: Data Distribution Management in the HLA Routing spaces Subscribe to position attribute of tank objects that are in my sector of the battlefield

RTI Interface to the application (federate) –Name space –Interest expressions –Description expressions Network primitives –Unicast –Multicase –Broadcast RTI design issues –What should the federate interface look like? –How is the interface mapped to the underlying communication mechanisms RTI Software Federate RTI Network Interest Expressions Network Primitives Description Expressions

Outline Fundamental concepts –Name space –Description expressions –Interest expressions Static Data Distribution: HLA Declaration Management –Class-based filtering

Class-Based Data Distribution Declaration Management services in the HLA Federation Object Model (FOM) defines an object class hierarchy describing all data exchanged among federates –Object classes –Attributes Description expressions and interest expressions specify points in the object class hierarchy

Class Hierarchy Example Each class inherits attributes from parent class Name space:,,,,,,,,,, Aircraft position altitude B-17 Bomber position altitude bombs Spitfire position altitude bullets Vehicle position Tank position turret Inherited attribute

Description Expressions Update Attribute Values service sends a message Description expression: an attribute of an object instance –Single point in the name space –Examples: or Aircraft position altitude B-17 Bomber position altitude bombs Spitfire position altitude bullets Vehicle position Tank position turret

Interest Expressions Subscribe Object Class Attributes [class, attribute(s)] Interest expression: Subtree rooted at subscription point –Subscribe (Aircraft, altitude): receive updates to altitude attribute of Aircraft, B-17, Spitfire objects –,, –In all cases, message appears as an update to an aircraft object Aircraft position altitude B-17 Bomber position altitude bombs Spitfire position altitude bullets Vehicle position Tank position turret

Extensibility New subclasses can be added without requiring modification to subscribers at higher levels in the class hierarchy Aircraft position altitude B-17 Bomber position altitude bombs Spitfire position altitude bullets Vehicle position Tank position turret AWACS position altitude camera resolution

Another Approach Interest expression: single point in tree – Description expression: Path up tree to point where the attribute is defined –Update (Spitfire, altitude):, Aircraft position altitude B-17 Bomber position altitude bombs Spitfire position altitude bullets Vehicle position Tank position turret

Summary Data distribution mechanisms are needed to avoid broadcast communication Fundamental concepts –Name space –Interest expressions specify information simulator wants to receive –Description expression describes data contained within the message RTI must “match” interest expressions and data description expressions to route data