1 / 30

A System for Creating Specialized DDS Architectures

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.

patty
Télécharger la présentation

A System for Creating Specialized DDS Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  2. Objectives • 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.

  3. Process • 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

  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.

  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

  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.

  7. Process • 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

  8. Step 2: Determine main common components FTP Limewire • Network Connection • Search • Different Security Mechanism • GUI DirectConnect BitTorrent

  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

  10. Process • 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

  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

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

  13. Process • 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

  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.

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

  16. Process • 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

  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. • Attribute sets for each inheritance through the generic layer will be found.

  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

  19. Process • 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

  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.

  21. Process • 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

  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?

  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.

  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.

  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

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

  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

  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

  29. References (1)

  30. References (2)

More Related