The document describes a simulator for peer-to-peer networks created as a bachelor's thesis. The simulator models peers and files, simulates chunk transfers between peers in a discrete event format, and collects data on download times and peer load. The simulator was designed to be flexible and extensible to research the impact of free-riders and other factors in peer-to-peer networks like BitTorrent.
ChaStrobe Application, a simulation-based scheduling software for repetitive ...Chachrist Srisuwanrat
Screenshots and outputs from ChaStrobe, a simulation-based scheduling software for repetitive projects with probabilistic activity durations according to the Sequence Step Algorithm, SQS-AL. ChaStrobe is built on top of Professor Julio C. Martinez's Stroboscope (http://www.ezstrobe.com/). Both ChaStrobe and Stroboscope are Ph.D. dissertation at University of Michigan, supervised by our beloved Professor Photios G. Ioannou.
Cited from my thesis:
For Professor Photios G. Ioannou.
My academic journey would not have been possible without my beloved and respected advisor, Professor Photios G. Ioannou. Great indebtedness goes to his belief in me and the opportunity he has offered to continue my academic journey at the University of Michigan. It has been an honor to work under his direction. During the development of this research, he has always reinforced to me that we can make a difference, a great one. And here I am, with this research. His interesting guidance, valuable advice, and constructive skepticism have contributed to the achievement of this research. I wish him and his family a blissful and healthy life.
For Professor Julio C. Martinez, who's gone too soon.
Special acknowledgement goes to Professor Julio C. Martinez for his technical support in Stroboscope. His thesis and Stroboscope inspire both my thesis and my application for this research, called “ChaStrobe.” Without his support and Stroboscope, I may have taken a more difficult path in establishing the application.
Lanner client TST discuss simulation application and benefitLanner
Speaking at the Lanner predictive simulation conference 2016, Joe Barker from Turbine Surface Technologies demonstrates how the practical use of Lanner simulation software has reduced lead time.
This slides is posted from
http://www.ipvs.uni-stuttgart.de/abteilungen/vs/lehre/lehrveranstaltungen/studienprojekte/CUBUS_termine/dateien/schilling-folien.ppt
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringEmanuel Mätzler
Presentation at the Euromicro Conference series on Software Engineering and Advanced Applications (SEAA), 2015, on Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering. For further information see: www.sysml4industry.org
ChaStrobe Application, a simulation-based scheduling software for repetitive ...Chachrist Srisuwanrat
Screenshots and outputs from ChaStrobe, a simulation-based scheduling software for repetitive projects with probabilistic activity durations according to the Sequence Step Algorithm, SQS-AL. ChaStrobe is built on top of Professor Julio C. Martinez's Stroboscope (http://www.ezstrobe.com/). Both ChaStrobe and Stroboscope are Ph.D. dissertation at University of Michigan, supervised by our beloved Professor Photios G. Ioannou.
Cited from my thesis:
For Professor Photios G. Ioannou.
My academic journey would not have been possible without my beloved and respected advisor, Professor Photios G. Ioannou. Great indebtedness goes to his belief in me and the opportunity he has offered to continue my academic journey at the University of Michigan. It has been an honor to work under his direction. During the development of this research, he has always reinforced to me that we can make a difference, a great one. And here I am, with this research. His interesting guidance, valuable advice, and constructive skepticism have contributed to the achievement of this research. I wish him and his family a blissful and healthy life.
For Professor Julio C. Martinez, who's gone too soon.
Special acknowledgement goes to Professor Julio C. Martinez for his technical support in Stroboscope. His thesis and Stroboscope inspire both my thesis and my application for this research, called “ChaStrobe.” Without his support and Stroboscope, I may have taken a more difficult path in establishing the application.
Lanner client TST discuss simulation application and benefitLanner
Speaking at the Lanner predictive simulation conference 2016, Joe Barker from Turbine Surface Technologies demonstrates how the practical use of Lanner simulation software has reduced lead time.
This slides is posted from
http://www.ipvs.uni-stuttgart.de/abteilungen/vs/lehre/lehrveranstaltungen/studienprojekte/CUBUS_termine/dateien/schilling-folien.ppt
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringEmanuel Mätzler
Presentation at the Euromicro Conference series on Software Engineering and Advanced Applications (SEAA), 2015, on Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering. For further information see: www.sysml4industry.org
Modeling and Simulation of Parallel and Distributed Computing Systems with Si...Rafael Ferreira da Silva
In this talk, I present an overview of three open source tools for enabling research and development of scientific workflow systems and applications:
- SimGrid: https://simgrid.org
- WRENCH: https://wrench-project.org
- WfCommons: https://wfcommons.org
Model level debugging and profiling, Code Generation Conference 2014Juha-Pekka Tolvanen
Most Model-Driven Development today drops right back down to the code level as soon as developers have to debug, profile or otherwise analyse the running application. Debugging code you have never seen is a major productivity killer – just as it was when early 3GLs lacked support for source-level debugging. In this session we will show how true model-level debugging, profiling and runtime analysis can realise the full value of MDD.
We will show how models can be used as first class citizens not only for code generation but also during debugging and profiling: animating application execution, showing data on the current state, highlighting the paths executed, adding performance and trace information into the models. Breakpoints can be set in the model, just as you would in an IDE. All this can be added to any modelling language with minimal effort, integrating with your existing code IDE back-end, as we shall show with practical examples in tools like MetaEdit+, Visual Studio and Eclipse.
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringRafael Ferreira da Silva
The CyberInfrastructure (CI) has been the object of intensive research and development in the last decade, re- sulting in a rich set of abstractions and interoperable software implementations that are used in production today for supporting ongoing and breakthrough scientific discoveries. A key challenge is the development of tools and application execution frameworks that are robust in current and emerging CI configurations, and that can anticipate the needs of upcoming CI applications. This paper presents WRENCH, a framework that enables simulation-driven engineering for evaluating and developing CI application execution frameworks. WRENCH provides a set of high- level simulation abstractions that serve as building blocks for developing custom simulators. These abstractions rely on the scalable and accurate simulation models that are provided by the SimGrid simulation framework. Consequently, WRENCH makes it possible to build, with minimum software development effort, simulators that that can accurately and scalably simulate a wide spectrum of large and complex CI scenarios. These simulators can then be used to evaluate and/or compare alternate platform, system, and algorithm designs, so as to drive the development of CI solutions for current and emerging applications.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Modeling and Simulation of Parallel and Distributed Computing Systems with Si...Rafael Ferreira da Silva
In this talk, I present an overview of three open source tools for enabling research and development of scientific workflow systems and applications:
- SimGrid: https://simgrid.org
- WRENCH: https://wrench-project.org
- WfCommons: https://wfcommons.org
Model level debugging and profiling, Code Generation Conference 2014Juha-Pekka Tolvanen
Most Model-Driven Development today drops right back down to the code level as soon as developers have to debug, profile or otherwise analyse the running application. Debugging code you have never seen is a major productivity killer – just as it was when early 3GLs lacked support for source-level debugging. In this session we will show how true model-level debugging, profiling and runtime analysis can realise the full value of MDD.
We will show how models can be used as first class citizens not only for code generation but also during debugging and profiling: animating application execution, showing data on the current state, highlighting the paths executed, adding performance and trace information into the models. Breakpoints can be set in the model, just as you would in an IDE. All this can be added to any modelling language with minimal effort, integrating with your existing code IDE back-end, as we shall show with practical examples in tools like MetaEdit+, Visual Studio and Eclipse.
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringRafael Ferreira da Silva
The CyberInfrastructure (CI) has been the object of intensive research and development in the last decade, re- sulting in a rich set of abstractions and interoperable software implementations that are used in production today for supporting ongoing and breakthrough scientific discoveries. A key challenge is the development of tools and application execution frameworks that are robust in current and emerging CI configurations, and that can anticipate the needs of upcoming CI applications. This paper presents WRENCH, a framework that enables simulation-driven engineering for evaluating and developing CI application execution frameworks. WRENCH provides a set of high- level simulation abstractions that serve as building blocks for developing custom simulators. These abstractions rely on the scalable and accurate simulation models that are provided by the SimGrid simulation framework. Consequently, WRENCH makes it possible to build, with minimum software development effort, simulators that that can accurately and scalably simulate a wide spectrum of large and complex CI scenarios. These simulators can then be used to evaluate and/or compare alternate platform, system, and algorithm designs, so as to drive the development of CI solutions for current and emerging applications.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
A Peer-to-Peer Simulator
1. Introduction Model Simulation Application Summary
A Peer-to-Peer Simulator
Uwe Schmidt
Bachelor Thesis
August 17, 2006
Uwe Schmidt: A Peer-to-Peer Simulator 1 / 28
2. Introduction Model Simulation Application Summary
Outline
Introduction
1
Model
2
Simulation
3
Application
4
Uwe Schmidt: A Peer-to-Peer Simulator 2 / 28
3. Introduction Model Simulation Application Summary
Outline
Introduction
1
Model
2
Simulation
3
Application
4
Uwe Schmidt: A Peer-to-Peer Simulator 3 / 28
4. Introduction Model Simulation Application Summary
Peer-to-Peer File-Sharing
Gaining Importance
Less expensive in comparison to dedicated file servers
Exploit bandwidth of users
Resilient to flashcrowds
BitTorrent
Files are separated into chunks
Popular (also for legal purposes)
Microsoft Avalanche
Uses network coding for chunk distribution
Uwe Schmidt: A Peer-to-Peer Simulator 4 / 28
5. Introduction Model Simulation Application Summary
Motivation
Freeriding
Common problem of all P2P systems
Large fraction of peers are free-riders
BitTorrent tries to restrain it by enforcing a tit-for-tat strategy
Primary purpose of the simulator:
Research the impact of the amount of free-riders on ...
Download times
Peer load
Uwe Schmidt: A Peer-to-Peer Simulator 5 / 28
6. Introduction Model Simulation Application Summary
Outline
Introduction
1
Model
2
Simulation
3
Application
4
Uwe Schmidt: A Peer-to-Peer Simulator 6 / 28
7. Introduction Model Simulation Application Summary
General
Similar to BitTorrent (chunk-based file-sharing)
Global knowledge of all other peers in the system
No incentives to upload are given (such as tit-for-tat)
Peers wait random time between downloads
Peer
Chunk Selection
Download Behavior File
Multiple Downloads Chunk#1 Chunk#2 ... Chunk#n Peer Selection
Queued Requests
Peer Lists for Chunks
Chunk Selection Peer#13
Peer#11
Peer Selection Peer#6 Peer#2
List List List Peer#5
Peer#40 Peer#77
Peer#8
Peer#19
Uwe Schmidt: A Peer-to-Peer Simulator 7 / 28
8. Introduction Model Simulation Application Summary
General Configuration GUI
Uwe Schmidt: A Peer-to-Peer Simulator 8 / 28
9. Introduction Model Simulation Application Summary
Peers
Separated into peer groups:
Peer Group
Number of members
Number of free-riders
Bandwidth (upstream & downstream)
Maximum number of simultaneous uploads & downloads
Disconnect probability after successful file download
Uwe Schmidt: A Peer-to-Peer Simulator 9 / 28
10. Introduction Model Simulation Application Summary
Peers Configuration GUI
Uwe Schmidt: A Peer-to-Peer Simulator 10 / 28
11. Introduction Model Simulation Application Summary
Files
Separated into file types:
File Type
Number of files
Number of copies (per file)
File size (determines number of chunks)
File distribution to peer groups
Popularity distribution of files among type
Global Chunk Size
Applies to all file types
Uwe Schmidt: A Peer-to-Peer Simulator 11 / 28
12. Introduction Model Simulation Application Summary
Files Configuration GUI
Uwe Schmidt: A Peer-to-Peer Simulator 12 / 28
13. Introduction Model Simulation Application Summary
Requests
Mean request period
Request distribution to file types
Uwe Schmidt: A Peer-to-Peer Simulator 13 / 28
14. Introduction Model Simulation Application Summary
Requests Configuration GUI
Uwe Schmidt: A Peer-to-Peer Simulator 14 / 28
15. Introduction Model Simulation Application Summary
Outline
Introduction
1
Model
2
Simulation
3
Application
4
Uwe Schmidt: A Peer-to-Peer Simulator 15 / 28
16. Introduction Model Simulation Application Summary
Preliminaries
Factories
Create peers and files
Deploy files to peers
File Request Generator
Uses request configuration and file popularity settings
Creates empirical distributions for file indexes
Replays this distributions during the simulation
Uwe Schmidt: A Peer-to-Peer Simulator 16 / 28
17. Introduction Model Simulation Application Summary
Discrete Event Simulation Concept
Ordered Event List Simulation Executive
removes executes
Next Event
inserted changes state appends data
Entities
schedule append data
New Events Data Collection
Uwe Schmidt: A Peer-to-Peer Simulator 17 / 28
18. Introduction Model Simulation Application Summary
Simulation Cycle
File Request Generator
Peer
Download Part Upload Part
Download File Incoming Chunk Request
Add Chunks to More Uploads
Download Complete
Download Queue possible?
yes no
Last Chunk
Process Download Queue Upload Chunk Queue Chunk Request no
of File?
yes
More Downloads Maybe
Chunk Download started Chunk Request Queued Upload Complete Update Uploads
possible? go Ofline
yes no
Maybe start
Select Chunk Update Downloads Process Upload Queue
new Request
Select Peer Download Chunk
Uwe Schmidt: A Peer-to-Peer Simulator 18 / 28
19. Introduction Model Simulation Application Summary
Control
Uwe Schmidt: A Peer-to-Peer Simulator 19 / 28
20. Introduction Model Simulation Application Summary
Collected Data
Before the Simulation
Peer groups
File types
List of files with chunk mapping
List of peers with file mapping
During the Simulation
Completed chunk transfers
Completed file downloads
Miscellaneous (e.g. peer goes offline)
After the Simulation
List of peers with file mapping
Uwe Schmidt: A Peer-to-Peer Simulator 20 / 28
21. Introduction Model Simulation Application Summary
Outline
Introduction
1
Model
2
Simulation
3
Application
4
Uwe Schmidt: A Peer-to-Peer Simulator 21 / 28
22. Introduction Model Simulation Application Summary
Overview
Written in Java SE 5
Used Eclipse 3
58 classes in 8 packages
≈ 8000 lines of code and comments (JavaDoc)
Used Libraries
Jakarta Commons Math → Random Number Generators
Jakarta Commons Configuration → XML Configuration
JFreeChart → Charts
Uwe Schmidt: A Peer-to-Peer Simulator 22 / 28
23. Introduction Model Simulation Application Summary
Structure
User
starts starts
Graphical User Interface Console Mode
controls controls
Simulator
changes uses executes
File Request Generator Factories Next Event
uses uses use create create writes controls
returns Files
Configuration Files Peers
to download
save load uses use consist of transfer use schedule write removes
Config File Chunks Strategies New Events Log Files
use inserted
Random Number Generators Event List
Uwe Schmidt: A Peer-to-Peer Simulator 23 / 28
24. Introduction Model Simulation Application Summary
Used Design Patterns
Observer Pattern
Simulator → Simulation State Progress
Configuration → Changes
Singleton Pattern
Implemented by frequently used components
Single point of access from everywhere
No need to pass references on to other components
Command Pattern
Hashtable that maps an ActionString to a Command
Avoid code duplication
Uwe Schmidt: A Peer-to-Peer Simulator 24 / 28
25. Introduction Model Simulation Application Summary
Extensions
General modular design
Selection strategies are easy to change and extend
Example (Chunk Selection)
Select rarest chunk among 50 randomly selected ones to
reflect that peers have no global knowledge in reality
Example (Peer Selection)
Select peer with most upstream left
Select peer with smallest upload queue (if all are busy)
Uwe Schmidt: A Peer-to-Peer Simulator 25 / 28
26. Introduction Model Simulation Application Summary
Demo
Uwe Schmidt: A Peer-to-Peer Simulator 26 / 28
27. Introduction Model Simulation Application Summary
Summary
Easy and flexible way to simulate P2P systems (similar to
BitTorrent)
Tool to research the impact of free-riders, and other
parameters, on a P2P system
Modular designed and extendable
Uwe Schmidt: A Peer-to-Peer Simulator 27 / 28
28. Thank you for your attention
Questions?
Uwe Schmidt: A Peer-to-Peer Simulator 28 / 28