CSE333 CSE333 DDS.1 A System for Creating Specialized DDS Architectures Research and Work By: Tom Puzak Nathan Viniconis Solomon Berhe Jeffrey Peck Project.

Slides:



Advertisements
Similar presentations
Fundamentals of Information Systems, Second Edition 1 Telecommunications, the Internet, Intranets, and Extranets Chapter 4.
Advertisements

Lesson 1-Introducing Basic Network Concepts
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
8.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
A System for Creating Specialized DDS Architectures Group B: Tom Puzak Nathan Viniconis Solomon Berhe Jeff Peck CSE333 – Fall 2005 Distributed Component.
SESSION 9 THE INTERNET AND THE NEW INFORMATION NEW INFORMATIONTECHNOLOGYINFRASTRUCTURE.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
Evolved from ARPANET (Advanced Research Projects Agency of the U.S. Department of Defense) Was the first operational packet-switching network Began.
HTML Comprehensive Concepts and Techniques Intro Project Introduction to HTML.
INTRODUCTION TO WEB DATABASE PROGRAMMING
The Design Discipline.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Peer to Peer Network Anas Hardan. What is a Network? What is a Network? A network is a group of computers and other devices (such as printers) that are.
Chapter 10 Intro to Routing & Switching.  Upon completion of this chapter, you should be able to:  Explain how the functions of the application layer,
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
How Web Servers and the Internet Work by by: Marshall Brainby: Marshall Brain
© 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.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
How did the internet develop?. What is Internet? The internet is a network of computers linking many different types of computers all over the world.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
Lecture 15 Introduction to Web Services Web Service Applications.
Master Thesis Defense Jan Fiedler 04/17/98
CIS 250 Advanced Computer Applications Internet/WWW Review.
1 Administering Shared Folders Understanding Shared Folders Planning Shared Folders Sharing Folders Combining Shared Folder Permissions and NTFS Permissions.
Chap 15 Application Layer Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
TAL7011 – Lecture 4 UML for Architecture Modeling.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Internet Architecture and Governance
Lecture Week 3 Application Layer Functionality and Protocols Network Fundamentals.
Unit 9: Distributing Computing & Networking Kaplan University 1.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
Introducing the World Wide Web History and Structure.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Enterprise Network Systems TCP Mark Clements. 3 March 2008ENS 2 Last Week – Client/ Server Cost effective way of providing more computing power High specs.
UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd.
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Information Networks. Internet It is a global system of interconnected computer networks that link several billion devices worldwide. It is an international.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols Network Fundamentals.
Chapter 8 Environments, Alternatives, and Decisions.
Application Layer Functionality and Protocols
Evolved from ARPANET (Advanced Research Projects Agency of the U.S. Department of Defense) Was the first operational packet-switching network Began.
Application Layer Functionality and Protocols
Application Layer Functionality and Protocols
Application Layer Functionality and Protocols
IPFS: Interplanetary File Systems
Application Layer Functionality and Protocols
Application Layer Functionality and Protocols
Application Layer Functionality and Protocols
Application Layer Functionality and Protocols
Application Layer Functionality and Protocols
Client/Server and Peer to Peer
Presentation transcript:

CSE333 CSE333 DDS.1 A System for Creating Specialized DDS Architectures Research and Work By: Tom Puzak Nathan Viniconis Solomon Berhe Jeffrey Peck Project web site:

CSE333 CSE333 DDS.2Objectives  Break down multiple (Data Distribution System) DDS architectures into their main components.  Create a unified view of the differing architectures in UML.  Tag elements in each component with the attributes of each DDS analyzed.  Propose a method to generate DDS architectures by utilizing the component breakdown and attribute selection.

CSE333 CSE333 DDS.3Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.4 Step 1: Pick a subset of existing DDSs  DDSs are used to transfer data across a network, however the methods involved vary.  To generate a more complete picture of the generic DDS architecture, analysis of existing DDSs needs to take place over a broad scope.  We chose four DDSs:  Unix FTP – FTP Protocol  Limewire – Gnutella Protocol  BitTorrent – BitTorrent Protocol  DC++ – Direct Connect Protocol (not standard)  They are all File Sharing Applications but their underlying functionality is different.

CSE333 CSE333 DDS.5 Step 1: Pick a subset of existing DDSs The DDSs were chosen to show a wide range of functionality:  FTP was chosen because of its simplicity  Sever and client have separate, well-defined roles  Maintains separate connections for data and messages (i.e. commands)  Lots of documentation available  Limewire represents an interesting and very popular peer-to-peer system  No central server; every client is also a server  Every client maintains network  Searches traverse the network to a defined depth

CSE333 CSE333 DDS.6 Step 1: Pick a subset of existing DDSs  BitTorrent was chosen because it is exotic.  It does not behave like any other peer-to-peer file sharing system.  Very large files are broken into small pieces which are “held together” by.torrent files, which contain information about the files.  A new solution to the problem of transferring large files over the Internet  Direct Connect was chosen because it represents a simple peer-to-peer system that utilizes it's own non-standard protocol.  Clients connect to a hub, where they search for other client's files and then directly connect.  Maintains security, restricting certain functions on the hub from non-“Op” users.

CSE333 CSE333 DDS.7Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.8 Step 2: Determine main common components FTP Limewire DirectConnect BitTorrent 1.Network Connection 2.Search 3.Different Security Mechanism 4.GUI

CSE333 CSE333 DDS.9 Step 2: Determine main common components  Initial focus of research is the Network Communication  Communication between peers  Commucication between host and server  Responsible for sending/receiving msg/files  Responsible for searching mechanism

CSE333 CSE333 DDS.10Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.11 Step 3: Break up the components within each DDS into disjoint entities.  Sources  Use Papers  Open APIs  Problems  Within one DDSs components overlap significantly  Searching relies on the network communication  Security is wrapped into everything  Solutions  Strip away functionality which is overlapping  This creates a generic and an application specific layer

CSE333 CSE333 DDS.12 Step 3: Break up the components within each DDS into disjoint entities. Network Communication Search Network Communication

CSE333 CSE333 DDS.13Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.14 Step 4: Combine the breakdowns of the different DDSs together within each component  A global component is created that is a superset of all generic architectures from every DDS.  After all generic layer for all DDSs have been found the architectures are added together to create a larger one.  Find generic layer for each DDS.  Add the resulting architectures together to create a larger one.

CSE333 CSE333 DDS.15 Step 4: Combine the breakdowns of the different DDSs together within each component

CSE333 CSE333 DDS.16Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.17 Step 5: Determine a set of attributes, and tag inheritance lines with them  Each component has been broken up into a generic and application layer. The generic layers’ components are inherited by each DDS.The generic layers’ components are inherited by each DDS. Attribute sets for each inheritance through the generic layer will be found.Attribute sets for each inheritance through the generic layer will be found.

CSE333 CSE333 DDS.18 Step 5: Determine a set of attributes, and tag inheritance lines with them  The attribute sets pertaining to each inheritance line have to be carefully chosen.  These will be the base of a new DDS architecture.  Some examples of the possible attributes that may be used can be seen through the search example.  Generic Layer  FTP Layer  Search over Telnet  FTP language  Use file/directory structure search  Generic Layer  BitTorrent  Search over HTTP  Query DB of file locations  Return connection information for file host  Generic Layer  Limewire  Deep search through network traversal  Utilize caching  Limit depth searched

CSE333 CSE333 DDS.19Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.20 Step 6: Create an architecture based on a set of given attributes in which to customize  Sets of attributes have now been given to the inheritances through the generic layer within each component.  The user will be able to view the different sets of attributes available for each component.  Next, the user selects the best-fit attribute set for each component.  The application layer component of each chosen attribute set is returned and is displayed to the user. As a result:  As more DDSs are analyzed and added to this system, the number of possible outcomes rapidly grows.

CSE333 CSE333 DDS.21Process  Step 1: Pick a subset of existing DDSs  Step 2: Determine main common components  Step 3: Break up the components within each DDS into disjoint entities.  Step 4: Combine the breakdowns of the different DDSs together within each component  Step 5: Determine a set of attributes, and tag inheritance lines with them  Step 6: Create an architecture based on a set of given attributes in which to customize  Step 7: Analysis, Conclusions, Problem summary, and more

CSE333 CSE333 DDS.22 Step 7: Analysis, Conclusions, Problem summary, and more For this final step, we plan on analyzing our work:  Any difficulties encountered will be discussed.  Could we have taken measures to avoid problems?  We will make conclusions:  Did we successfully create an architecture by which a new DDS could be spawned?  Is our architecture thorough?  Is our theoretical model able to work in reality?  Could the use of our architecture benefit a DDS creator by saving time, money, or both?

CSE333 CSE333 DDS.23 Step 7: Analysis, Conclusions, Problem summary, and more  We will analyze our UML structure:  Did we use the proper diagrams to express the ideas behind our research?  Was UML able to accurately simulate our theoretical model?  Would our final UML model able to clearly demonstrate our generic DDS architecture to somebody who is outside the project?  A novel idea is tagging the inheritance found in UML with attributes that describe the specific gains of the class.

CSE333 CSE333 DDS.24 Individual Focus  Each group member took a different DDS to break down and analyze.  Solomon Berhe: Limewire  Jeff Peck: DC++  Tom Puzak: FTP  Nate Viniconis: BitTorrent  The responsibilities include:  Creating an overview UML class diagram describing the workings of the application  Breaking the UML diagram into the main components  Proposing a generic layer for each main component contained within.

CSE333 CSE333 DDS.25 Original Project Focus  Analyze existing DDSs and break them down into their “functional components”  Combine the UML diagrams of the each component together into a global component  Tag different areas of each global components with attributes  Develop a set of hueristics for generating a customized DDS using:  user selected attributes  global version of each component

CSE333 CSE333 DDS.26 Current Progress  Identified some major DDS components  Defined generic root of the “Network Communication” tree  Began creation of UML class diagrams. FTP Ex:

CSE333 CSE333 DDS.27 Planned Future Activities  Finalize list of common components  Diagram components with UML  Discretize overlapping components in UML diagrams  Break down components into their most generic pieces  Develop unified view of broken down components  Inheritence hierarchy

CSE333 CSE333 DDS.28 Future Activities (Continued)  Describe inheritence in terms of attributes  Propose method for creating customized DDS architectures based on attributes  Analyze the performance the architecture engine

CSE333 CSE333 DDS.29 References (1)

CSE333 CSE333 DDS.30 References (2)