a system for creating specialized dds architectures

30
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: http://www.revrick.net/CSE333/ ProjectTimeline.htm

Upload: patty

Post on 25-Feb-2016

26 views

Category:

Documents


1 download

DESCRIPTION

A System for Creating Specialized DDS Architectures. Research and Work By: Tom Puzak Nathan Viniconis Solomon Berhe Jeffrey Peck. Project web site: http://www.revrick.net/CSE333/ProjectTimeline.htm. Objectives. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.1

A System for Creating Specialized DDS Architectures

Research and Work By:

Tom PuzakNathan ViniconisSolomon Berhe

Jeffrey Peck

Project web site: http://www.revrick.net/CSE333/ProjectTimeline.htm

Page 2: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.2

ObjectivesObjectives

Break down multiple (Data Distribution System) Break down multiple (Data Distribution System) DDS architectures into their main components.DDS architectures into their main components.

Create a unified view of the differing architectures Create a unified view of the differing architectures in UML.in UML.

Tag elements in each component with the Tag elements in each component with the attributes of each DDS analyzed.attributes of each DDS analyzed.

Propose a method to generate DDS architectures Propose a method to generate DDS architectures by utilizing the component breakdown and by utilizing the component breakdown and attribute selection.attribute selection.

Page 3: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.3

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5:Step 5: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 4: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.4

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs

DDSs are used to transfer data across a network, DDSs are used to transfer data across a network, however the methods involved vary.however the methods involved vary.

To generate a more complete picture of the generic To generate a more complete picture of the generic DDS architecture, analysis of existing DDSs needs DDS architecture, analysis of existing DDSs needs to take place over a broad scope.to take place over a broad scope.

We chose four DDSs: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 They are all File Sharing Applications but their underlying functionality is different.underlying functionality is different.

Page 5: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.5

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs

The DDSs were chosen to show a wide range of The DDSs were chosen to show a wide range of functionality:functionality:

FTP was chosen because of its simplicityFTP 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 Limewire represents an interesting and very popular peer-to-peer systempeer-to-peer system No central server; every client is also a server Every client maintains network Searches traverse the network to a defined depth

Page 6: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.6

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs BitTorrent was chosen because it is exotic.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 Direct Connect was chosen because it represents a simple peer-to-peer system that utilizes it's own non-standard peer-to-peer system that utilizes it's own non-standard protocol.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.

Page 7: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.7

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5:Step 5: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 8: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.8

Step 2: Determine main common components

FTP

Limewire

DirectConnect

BitTorrent

1. Network Connection2. Search3. Different Security Mechanism4. GUI

Page 9: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.9

Step 2:Step 2: Determine main common Determine main common componentscomponents Initial focus of research is the Network Initial focus of research is the Network

CommunicationCommunication Communication between peers Commucication between host and server Responsible for sending/receiving msg/files Responsible for searching mechanism

Page 10: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.10

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5:Step 5: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 11: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.11

Step 3:Step 3: Break up the components within Break up the components within each DDS into disjoint entities.each DDS into disjoint entities.

SourcesSources Use Papers Open APIs

Problems Problems Within one DDSs components overlap

significantly Searching relies on the network

communication Security is wrapped into everything

SolutionsSolutions Strip away functionality which is overlapping This creates a generic and an application

specific layer

Page 12: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.12

Step 3:Step 3: Break up the components within Break up the components within each DDS into disjoint entities.each DDS into disjoint entities.

NetworkCommunication

Search Search

NetworkCommunication

Page 13: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.13

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5:Step 5: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 14: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.14

Step 4:Step 4: Combine the breakdowns of the Combine the breakdowns of the different DDSs together within each componentdifferent DDSs together within each component

A global component is created that is a superset of A global component is created that is a superset of all generic architectures from every DDS.all generic architectures from every DDS.

After all generic layer for all DDSs have been After all generic layer for all DDSs have been found the architectures are added together to create found the architectures are added together to create a larger one.a larger one.

Find generic layer for each DDS. Find generic layer for each DDS. Add the resulting architectures together to create a Add the resulting architectures together to create a

larger one.larger one.

Page 15: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.15

Step 4:Step 4: Combine the breakdowns of the Combine the breakdowns of the different DDSs together within each componentdifferent DDSs together within each component

Page 16: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.16

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5:Step 5: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 17: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.17

Step 5:Step 5: Determine a set of attributes, and Determine a set of attributes, and tag inheritance lines with themtag inheritance lines with them

Each component has been broken up into a generic Each component has been broken up into a generic and application layer.and application layer.

•The generic layers’ The generic layers’ components are components are inherited by each DDS.inherited by each DDS.

•Attribute sets for each Attribute sets for each inheritance through the inheritance through the generic layer will be generic layer will be found.found.

Page 18: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.18

Step 5:Step 5: Determine a set of attributes, and Determine a set of attributes, and tag inheritance lines with themtag inheritance lines with them

The attribute sets pertaining to each inheritance line have The attribute sets pertaining to each inheritance line have to be carefully chosen.to be carefully chosen. These will be the base of a new DDS architecture.

Some examples of the possible attributes that may be used Some examples of the possible attributes that may be used can be seen through the search example.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

Page 19: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.19

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5Step 5:: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 20: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.20

Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of given attributes in which to customizegiven attributes in which to customize

Sets of attributes have now been given to the Sets of attributes have now been given to the inheritances through the generic layer within each inheritances through the generic layer within each component.component.

The user will be able to view the different sets of The user will be able to view the different sets of attributes available for each component.attributes available for each component.

Next, the user selects the best-fit attribute set for Next, the user selects the best-fit attribute set for each component.each component.

The application layer component of each chosen The application layer component of each chosen attribute set is returned and is displayed to the attribute set is returned and is displayed to the user.user.

As a result:As a result: As more DDSs are analyzed and added to this As more DDSs are analyzed and added to this

system, the number of possible outcomes rapidly system, the number of possible outcomes rapidly grows.grows.

Page 21: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.21

ProcessProcess

Step 1:Step 1: Pick a subset of existing DDSs Pick a subset of existing DDSs Step 2:Step 2: Determine main common components Determine main common components Step 3:Step 3: Break up the components within each DDS Break up the components within each DDS

into disjoint entities.into disjoint entities. Step 4:Step 4: Combine the breakdowns of the different Combine the breakdowns of the different

DDSs together within each componentDDSs together within each component Step 5:Step 5: Determine a set of attributes, and tag Determine a set of attributes, and tag

inheritance lines with theminheritance lines with them Step 6:Step 6: Create an architecture based on a set of Create an architecture based on a set of

given attributes in which to customizegiven attributes in which to customize Step 7:Step 7: Analysis, Conclusions, Problem summary, Analysis, Conclusions, Problem summary,

and moreand more

Page 22: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.22

Step 7:Step 7: Analysis, Conclusions, Problem Analysis, Conclusions, Problem summary, and moresummary, and more

For this final step, we plan on analyzing our work:For this final step, we plan on analyzing our work: Any difficulties encountered will be discussed.Any difficulties encountered will be discussed.

Could we have taken measures to avoid problems?

We will make conclusions: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?

Page 23: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.23

Step 7:Step 7: Analysis, Conclusions, Problem Analysis, Conclusions, Problem summary, and moresummary, and more

We will analyze our UML structure: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.

Page 24: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.24

Individual FocusIndividual Focus Each group member took a different DDS to break Each group member took a different DDS to break

down and analyze.down and analyze. Solomon Berhe: Limewire Jeff Peck: DC++ Tom Puzak: FTP Nate Viniconis: BitTorrent

The responsibilities include: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.

Page 25: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.25

Original Project FocusOriginal Project Focus Analyze existing DDSs and break them down into Analyze existing DDSs and break them down into

their “functional components”their “functional components” Combine the UML diagrams of the each component Combine the UML diagrams of the each component

together into a global componenttogether into a global component Tag different areas of each global components with Tag different areas of each global components with

attributesattributes Develop a set of hueristics for generating a Develop a set of hueristics for generating a

customized DDS using:customized DDS using: user selected attributes global version of each component

Page 26: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.26

Current ProgressCurrent Progress Identified some major DDS componentsIdentified some major DDS components Defined generic root of the “Network Defined generic root of the “Network

Communication” treeCommunication” tree Began creation of UML class diagrams. FTP Ex:Began creation of UML class diagrams. FTP Ex:

Page 27: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.27

Planned Future ActivitiesPlanned Future Activities

Finalize list of common componentsFinalize list of common components Diagram components with UMLDiagram components with UML Discretize overlapping components in UML Discretize overlapping components in UML

diagramsdiagrams Break down components into their most generic Break down components into their most generic

piecespieces Develop unified view of broken down Develop unified view of broken down

componentscomponents Inheritence hierarchy

Page 28: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.28

Future Activities (Continued)Future Activities (Continued) Describe inheritence in terms of attributesDescribe inheritence in terms of attributes Propose method for creating customized DDS Propose method for creating customized DDS

architectures based on attributesarchitectures based on attributes Analyze the performance the architecture engineAnalyze the performance the architecture engine

Page 29: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.29

References (1)References (1)

Page 30: A System for Creating Specialized DDS Architectures

CSE333

CSE333 DDS.30

References (2)References (2)