1 Management of Distributed Data Tomasz Müldner, Elhadi Shakshuki*, Zhonghai Luo and Michael Powell Jodrey School of Computer Science, Acadia University,

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

1 Distribution of Data and Remote Invocation of Programs Tomasz Müldner, Zhonghai Luo and Elhadi Shakshuki* Jodrey School of Computer Science, Acadia University,
Distributed Logging in Java with Constrained Resource Usage Sunil Brown Varghese, Daniel Andresen Dept. of Computing and Information Sciences Kansas State.
PlanetLab Operating System support* *a work in progress.
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.1 Module 6 Switch Configuration.
Module 5: Configuring Access for Remote Clients and Networks.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
GRASSHOPPER-a mobile agent platform mailto:
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
Introduction to Web Database Processing
Communication in Distributed Systems –Part 2
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Introduction to Networking Concepts. Introducing TCP/IP Addressing Network address – common portion of the IP address shared by all hosts on a subnet/network.
Module 8: Managing Client Configuration and Connectivity.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 12: Routing.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
Common Devices Used In Computer Networks
1 Chapter 6: Proxy Server in Internet and Intranet Designs Designs That Include Proxy Server Essential Proxy Server Design Concepts Data Protection in.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
第十四章 J2EE 入门 Introduction What is J2EE ?
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
DCOM (Overview) by- Jeevan Varma Anga.
6 th Annual Focus Users’ Conference Manage Integrations Presented by: Mike Morris.
Department of Computer Science Southern Illinois University Edwardsville Spring, 2008 Dr. Hiroshi Fujinoki FTP Protocol Programming.
Module 7: Resolving NetBIOS Names by Using Windows Internet Name Service (WINS)
Integrating Digital Libraries by CORBA, XML and Servlet Integrating Digital Libraries by CORBA, XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
CS 158A1 1.4 Implementing Network Software Phenomenal success of the Internet: – Computer # connected doubled every year since 1981, now approaching 200.
DIS PROPOSAL - Distributed Data Warehouse - R 蔣孟儒 R 龍秋明.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
DNS DNS overview DNS operation DNS zones. DNS Overview Name to IP address lookup service based on Domain Names Some DNS servers hold name and address.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Networking Material taken mainly from HowStuffWorks.com.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Processes and Virtual Memory
Module 10: Windows Firewall and Caching Fundamentals.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Linux Operations and Administration
Parallel and Distributed Simulation Data Distribution II.
+ Routing Concepts 1 st semester Objectives  Describe the primary functions and features of a router.  Explain how routers use information.
Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Module 11: Configuring and Managing Distributed File System.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
CITA 310 Section 4 Apache Configuration (Selected Topics from Textbook Chapter 6)
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.
COMP1321 Digital Infrastructure Richard Henson March 2016.
Presented by Deepak Varghese Reg No: Introduction Application S/W for server load balancing Many client requests make server congestion Distribute.
Windows Vista Configuration MCTS : Advanced Networking.
Contents Software components All users in one location:
Building Distributed Educational Applications using P2P
File System Implementation
CCNA Routing and Switching Routing and Switching Essentials v6.0
Chapter 10: Device Discovery, Management, and Maintenance
CCNA Routing and Switching Routing and Switching Essentials v6.0
The Internet of Things (IoT)
Unit 27: Network Operating Systems
* Essential Network Security Book Slides.
Chapter 10: Device Discovery, Management, and Maintenance
Objectives In this lesson you will learn about: Need for servlets
Overview Multimedia: The Role of WINS in the Network Infrastructure
Concepts in ASP.NET Core App
Presentation transcript:

1 Management of Distributed Data Tomasz Müldner, Elhadi Shakshuki*, Zhonghai Luo and Michael Powell Jodrey School of Computer Science, Acadia University, Wolfville, NS, Canada * presenting

2 Contents of the Talk General goals for systems that implement data distribution and remote program invocation Distributed Data Manager, DDM Conclusions Future Work

3 General Goals Platform Independence Security Scalability Pull and Push Efficiency Synchronization Fault Tolerance Flexibility Selective Choice Remote Invocation

4 DDM: Distributed Data Manager Two kinds of applications: –subscriber expresses interest in some data that can be provided by a publisher –publisher selects subscribers and specifies data to be sent to these subscribers. A single application may be at the same time both, a publisher and a subscriber SSL is used to support secure transmission DDM extends our previous system, called DI.

5 DDM: Channel An abstract concept that represents a virtual, unidirectional connection between two nodes (similar to a pipe used in P2P systems). Two kinds of channels: –P-channel, created by a publisher. –S-channel, created by a subscriber. Each channel has –name –optional description

6 DDM: P-channel Each channel specifies the source of its data, i.e. the directory in the file system on the publisher’s computer.

7 DDM: P-channel the publisher can push, or distribute some or all of P-channels to one or more selected subscribers when the subscriber receives the incoming P- channel, it will automatically create the corresponding S-channel based on –publisher's IP and port number –the name of the P-channel. any data in the P-channel will be pushed into the newly created S-channel.

8 Publisher’s Configuration Files publisher.properties (static) –port number on which the publisher will send data; –a root directory for storing all channels’ description; –the filename and password for the keystore used to establish secure SSL communication path; target.properties (dynamic) –lists all potential subscribers, can be changed at runtime.

9 Publisher’s Dynamic Files End-users can select at runtime one or more target clients to start the remote program at same time:

10 Publisher’s Dynamic Files If there are multiple applications in a channel, the user can select one of them from the list to start:

11 Subscriber’s Configuration Files subscriber.properties –port number for receiving data; –a root directory for storing all incoming channels’ data; –a channel creation type –the filename and password for the keystore used to establish secure SSL communication path; –a security flag indicating whether or not the data transmission is secure (true by default); –a channel update type –a channel update option

12 Relative Virtual Mapping Example: 1.A publisher P creates a channel "quote", and specifies the corresponding directory "c:\program\quote". 2.A publisher distributes the "quote" channel to a subscriber S with all channel data (it will include all files and sub-directories under "c:\program\quote"). 3.In S, a channel named "quote" is automatically created, and all received data (files and sub- directories) are stored with the original hierarchy under the root channel directory (specified in the configuration file subscriber.properties)

13 S-channel the S-channel is the reference to the corresponding P- channel typically created automatically by subscriber software when receiving incoming P-channels pushed by publishers the subscriber can also manually create an S-channel: the subscriber must know in advance the available channel names in publisher side if the channel name specified in S-channel does not exist in publisher side, this S-channel is invalid, just like that you set wrong frequency for a TV station channel.

14 S-channel GUI with buttons to create, modify, delete S-channels, and update the selected S-channel, i.e. pull data for this channel from specified publisher side.

15 New S-channel An address of the publisher node channel name description, update type and option (they can also be used for an existing S- channel, this way, the subscriber can control the way data are received)

16 Remote Invocation To distribute and to invoke components C1, C2, C3: 1.A publisher (on N) creates three channels; one for each of N1, N2 and N3. 2.The publisher specifies the Main class in the descriptor file app.xml file (explained in the next slide) for each channel. 3.The publisher adds addresses of N1, N2 and N3 to the file target.properties. 4.The publisher distributes all channels to three subscribers 5.The publisher uses the "remote start" button Components: C1 C2 C3 Machine N Machine N1Machine N2Machine N3

17 XML-based Descriptor Defines the startup class for the distributed program and the necessary path information to load dependent classes for this program, for example: ca.acadiau.cs.Lab client.jar Should be located in the channel and sent to the subscriber along with other channel’s content.

18 XML-based Descriptor A program can be remotely started with pre- defined policy file and arguments. cs.Lab client.jar policy.txt Michael:27

19 Conclusions DDM provides both, data distribution and remote invocation It can be used with firewalls: Consider a specific example of a campus that uses a firewall: –It is possible to set up an S-channel from an off- campus machine to a machine inside the firewall –the publisher inside the firewall can push data to the off-campus machine

20 Future Work the current interface is GUI-based, and for some applications it will be useful to provide a text-based interface. to improve the flexibility of our system, we will add a publisher broker, which will maintain all available publishers (and their channels) so that subscribers can dynamically set and modify these data support invocation of non-Java programs.