Modeling and Simulation of Streamed Services

Table of Content


Peer-to-peer networks or P2P as commonly known are part of the distributed systems family and are rapidly gaining popularity nowadays. The purpose of these networks such as Napster, Kazaa, and Gnutella is for sharing of files of varying types and sizes through the internet.

Although there is no requirement as to what kind of files can be shared through the network, the files that contribute to the traffic generated by such networks are mainly attributed to multimedia files such as movies and music.Add to this is the fact that for most American users, Internet access is flat rate, which led to the revolutionary downloads of music to the comfort of their own homes in any time of the day. All a person does with Napster was downloading videos and music files, searching for the files the consumer needs or wants, and enjoy watching all there preferred music files filtered down into their desktop system. However, the huge expansion of Napster was a great threat for recording companies worldwide.

This essay could be plagiarized. Get your custom essay
“Dirty Pretty Things” Acts of Desperation: The State of Being Desperate
128 writers

ready to help you now

Get original paper

Without paying upfront

In April 13 2000, nearly after the software’s release, famous rock band Metallica filed legal complaints against Napster “for copyright infringement.”After the long court sessions with the legal battle against Napster, both parties concluded the problem with an agreement on September 25, 2001.

The settlement said that Napster was charged with damages and will shell out 26 million dollars to songwriters and publishers, as well as certain percentage of the income it generated in when it started its pay service in 2003.The size of these files could range from small, which could have the size of less than 10 MB, middle-sized, which could be from 10 MB up to a few hundreds, and it could also be large files which could be close to 1 GB or even greater.

On March 2000, a study at the University of Wisconsin showed that the traffic generated by Napster, a popular music sharing network during that time, has already surpassed the traffic generated by HTTP requests. A similar study on network traffic was also conducted at the University of Washington. The results shows a big gap between the bandwidth taken up by HTTP and that of the peer-to-peer file sharing.Peer-to-peer networks are said to be distributed because it is decentralized, a system in which it lacks a central computer from which authority on the system emanates.

In a peer-to-peer network, each node of the system functions independently and locally, and it can access other nodes involved in the system directly, without having to pass a subsidiary node to facilitate the communication. Early P2P applications were single-function, formed groups of peers from ordinary personal computers, and peer group membership charged frequently or erratically (Davies, Fensel, & Harmelen, 2003, 249-256).

Edge devices are the building blocks of dynamic networks. They collaborate to form a virtual space of connected devices. Recent models of P2P are extending participation to include server-to-server and server-to-edge devices.In addition to the dynamics of the network, there must be a partitioning of the functionality. There is a need to identify access control to resources, such as databases, files, networks, and other clients.

Unlike centralized databases or file repositories that function like that of websites providing content for a single user, the participants of peer-to-peer networks, referring to each of the nodes or computers connected to the network, are at the same time consumers and providers of content for other nodes such as itself.

The node or computer involved in the system allows other users to download content from them, while at the same time downloading content from other users.In simple terms, “peers” involved in a peer-to-peer network voluntarily provide resources to others  by sharing some, or even all, of the files in its computer. Peer-to-peer was originally used to describe the communication of two peer and is analogous to a telephone conversation. A phone conversation involves two people (peers) of equal status, communication between point-to-point connections.

Simply, this is what P2P is, a point-to-point connection between two equal participants (Leuf 2002, 28)Technologies relating to peer-to-peer networks are emerging almost on a monthly basis, having new advances and models to implement the system, and  yet at the same time, having these technologies desist on a very short span of time. These applications and new technologies may be short-lived and have a life-span of a few months only, then become obsolete already only a short period of times since its development. This is entirely because these applications may have been rendered inefficient, even ineffective, when deployed.

This trend is due to the network being distributed and involving thousands, if not millions, of users currently connected to the system. The tremendous size of peer-to-peer networks made them difficult to handle and design, as a lot of factors may not have been taken into account when writing the programs for the file sharing network.

When testing applications, it is usually done in a limited and controlled environment involving only a few nodes of computers. Although a network can configured so that it is technically a distributed system similar to that of the internet, tests done in a network involving twenty to thrithy computers only are not accurate representatives of the actual system on which the peer-to-peer networks are designed to operate.Factors which could have been neglected could be the distance that the geographical positions of the actual nodes, which would put a lag on transmission of files around the network when it involves computers located across countries and continents.

Another factor that could be difficult to simulate is the variation of machines that the users would be having. They may be running different operating systems, each having its own different perfermance, affecting the performance of the network. The most importantfactor would be the varying types of connections of the users involved, as this also determines the bandwidth that limits the transmission of data from one node of the network to another.These limitations prevents peer-to-peer networks to be evaluated properly before their large-scale deployments, as these factors cannot be taken into account in a small network of homogenouse computers and connections.

Since it is difficult to test these application prior to actual use, it is especially helpful to create models of peer-to-peer networks and run them in simulation and gather data to provide you with enough knowledge to make the necessary adjustments.

Instant messaging (ICQ and Jabber)Conferencing applications, referring to netmeeting for white boarding, voice over IP.In terms of trust, the user must trust Kazaa and trust other users. In order to encourage users to cooperate, Kazaa has a participation level. According to a competitor, K-lite, the participation level measures the ratio of downloads to uploads. Depending on this ratio the speed of downloads is altered. A user who offers popular consent is allowed higher access speeds than users who download but do not upload (Jing & Seongsoo 2004, 278).

According to Kazaa, the participation level only matters if there is competition for a file. If two or more users seek to access a file then the user with the higher participation level has priority. According to K-lite, there are controls on download speeds for all access attempts.Besides offering uploads, another way to increase a participation level is to increase the detail of metadata available about a file. Integrity is a measure of the quality of the descriptors of the data. Metadata describes the content, including identifying infected or bogus files by rating them as “D. ” “Integrity level” is another trust mechanism implementedModeling and Simulation of Streamed ServicesPage 6with P2P programs such as Kazaa (Jing & Seongsoo 2004, 278).


When designing a peer-to-peer network such that it is efficient and effective, one should take into considerations the factors that affect the system. A model is the design of a participant in the system, or the system itself.

Thus, when we talk about modeling, it is designing a a systems after having considered the information gathered from from testing, or even from actual data collected by companies and other parties.Modeling and Simulation of Streamed ServicesPage 7A client-server information repository application could work, as opposed to a peer-to-peer network, and in fact a number of them are available commercially. But the client-server structure favors centralized resources and a circuitous route from information producers to information consumers.In contrast to this, peer-to-peer structures facilitate distributed systems with simple paths for information to take from producer to consumer.

It is well worth considering the characteristics that will be required of a peer-to-peer information repository:

  • A distributed architecture is important to permit information to be produced and managed “locally”, at the department level or even below.
  • The information should be globally searchable. In a distributed architecture, this is most effectively accomplished by having a distributed search capability designed into the system.
  • Mechanisms will be needed to automatically age information — that is, its timeliness needs to be considered in its life cycle, from creation to updates and eventually to obsolescence. Some types of information should gradually disappear from view as they become less relevant; others need to be persistent and to be updated aggressively as time passes.
  • Publish-and-subscribe (P&S) mechanisms are an effective method for channelinginformation towards those people who need it, even as the information is being createdand released.
  • Many other features are likely to be desirable for this application.

To list a few: very large scale, high-volume implementation strong authentication of users secure and effective user.Several technologies pre-dating peer-to-peer networks are important to take note, as they are also utilized in the implementations of peer-to-peer networks even if they are more based on the client-server architecture.File Transfer Protocol, or FTP for short, is one of the oldest protocol in the internet dating to its origin on the Arpanet. It predates the now widely-used TCP/IP, and is used to access file repositories.

SMTP is a peer-to-peer protocol used as the basis for Internet email — one of the most productive (and most abused) applications ever created. It is a simple and flexible message deliverymechanism; coupled with MIME it can be handle complex objects of many formats, although itcannot efficiently handle binary data or large objects, and lacks a meaningful security framework. Unless strong security enforcement is introduced soon, spamming will soon become such aserious problem that the usefulness of Internet email will go into decline, as happened to UsenetNews several years ago.NNTP is a peer-to-peer protocol used to implement the Usenet News system — the “mother of all Publish-and-Subscribe systems”.

Usenet dates back to 1979 and originally ran over the Unix-to-Unix Copy (UUCP) network. NNTP was introduced in 1981 for operating Usenet News over the Internet, and by the end of the 1980s it was in widespread and high-volume use.Today NNTP has many extremely efficient, high-volume implementations, as well as being supported by many web and email clients. Data is organized into hierarchically arrangedModeling and Simulation of Streamed ServicesPage 9″newsgroups”, which can be explicitly routed and managed.

Its redundant routing paths can efficiently create a highly robust and survivable system.Like SMTP, NNTP relies on the Multipurpose Internet Mail Extensions (MIME) to handle complex data formats. Also like SMTP, it cannot efficiently handle binary data or large objects, and lacks a meaningful security framework. NNTP’s lack of security enforcement has enabled spammers to steadily erode the usefulness of Usenet News, to the point where it is today far less important than it once was.

HTTP is a wildly popular client-server protocol, responsible for much of the explosive growth of the Internet throughout the 1990s. Due to its success and adaptability, however, it is nowprobably overused, as many developers think first “how should I fit this new application into ourweb server” rather than first considering whether something else would be more suitable.Adapting HTTP to bidirectional, peer-to-peer data transfers tends to result in a complex system,using two or more TCP sessions for each connection, too often using polling rather than data-driven semantics. In addition to the many client-server web applications, HTTP is the basis for many of the current peer-to-peer file sharing systems and many business-to-business and business-to-government data transfer applications.

HTTP relies heavily on Secure Sockets Layer (SSL) for its security framework, which can be made to be relatively secure given considerable diligence.;Trust and Reputation ModelTrust and reputation mechanisms have been proposed for large open environments in e-commerce, peer-to-peer computing, recommender systems. However, there is no universalModeling and Simulation of Streamed ServicesPage 10agreement on the definition of trust and reputation. In this paper, we adopt the following working definitions:Trust – a peer’s belief in another peer’s capabilities, honesty and reliability based on its own direct experiences; Reputation – a peer’s belief in another peer’s capabilities, honesty and reliability based on recommendations received from other peers.

Reputation can be centralized, computed by a trusted third party, like a Better Business Bureau; or it can be decentralized, computed independently by each peer after asking other peers for recommendations. Although trust and reputation are different in how they are developed, they are closely related.

If two peers A and B are similar in their evaluation criteria, peer A can trust peer B’s recommendations, if it knows that peer B is truthful.However, if the peers have different evaluation criteria, peer A cannot trust peer B’s recommendations even when peer B tells the truth. It is important for a peer to develop trust in other peers as references in a decentralized system, since when a peer is not sure about the  rustworthiness of a service provider, it can ask for recommendations only those few peers that it trusts most instead of asking a large number of peers, which not only helps the peer get more reliable recommendations, but also saves time and communication costs.We will use a peer-to-peer file sharing application as an example in the discussion, however the method is general and can be applied to other applications, like web-services, e-commerce, recommender systems or peer-to-peer distributed computing.

In the area of file sharing in peer-to-peer networks, all the peers are both providers and users of shared files. Each peer plays two roles, the role of file provider offering files to other peers and the role of user searching and downloading files provided by other peers. In order to distinguish the two roles of each peer, in the rest of paper, when a peer acts as a file provider, we call it file provider; otherwise, we call it simply peer.Peers will develop two kinds of trust, the trust in the file providers’ capability (in providing files) and the trust in the other peers’ reliability in making recommendations.

We assume all the peers are truthful in telling their evaluations. However, the peers may have different ways of evaluating other peers’ performance, which reflect different user preferences.A search request in file sharing peer-to-peer applications usually results in a long list of providers for an identical file. If a peer happens to select a provider of files with bad quality or slow download speed, the peer will waste time and effort, which may lead to user frustration and abandoning the system.

In order to solve the problem, we use the mechanism of trust and reputation.Once a peer receives a list of file providers for a given search, it can arrange the listModeling and Simulation of Streamed ServicesPage 13according to its trust in these file providers. Then the peer chooses one of the file providers on top of the list. If the file provider is trustworthy according to the peer’s previous experiences, the peer will interact with the file provider, such as, for example, download the files.

If the file provider is not trustworthy, the peer will select another file provider to interact with. If the peer is not sure about the trustworthiness of the file provider, for example, the peer has no interactions or only a few interactions with the file provider, it can ask other peers to make recommendations for it.How the peer uses the reputation and its own trust to make a decision with which file provider to interact is an open question. Some peers may prefer to trust their own experience and rely on their trust even if they had very few interactions with the service provider.

Enabling peers to develop trust and reputation among themselves is important in a peer-to-peer system where resources (either computational, or files) of different quality are offered. It will become increasingly important in systems for peer-to-peer computation, where trust and reputation mechanisms can provide a way for protection of unreliable, buggy, infected or malicious peers.


As was said in this paper, peer-to-peer networks are difficult to evaluate because of its large-scale deployments involving a heterogenous network of computers connected through connections with varying bandwidth, covering the area of almost the entire globe.

Often, applications are not tested properly and thus results in its ineffectivity when already deployed in the real world, which is the main reason why peer-to-peer applications become obsolete easily.But even if simulation of a peer-to-peer network in a realistic environment is often not feasible, it is always an option to create a controlled environment where the peer-to-peer network will be designed to run.One big reason as to why developers should simulate their system is the cost of actually testing the system in a real, even if it is small, system. With a simulation, we will be dealing with mathematical assumptions and formulas, taking into consideration those parts only relevant to the test.

Here, we do not need to set up the actual nodes of the network, each of which are computers having a different set of specifications. In a simulation, all you need to have is the simulation software running in a fairly fast computer so that you may be able to generate the needed results, which are representative of the real system.Simulations of peer-to-peer networks may be designed for a variety of purposes. Some researchers focus only on selected areas, such as, for example, caching schemes or the searching for sources.

Other people who create simulators for peer-to-peer networks create the simulation application on top of the tools already available, such as the JADE agent platform. These,  simulations are, of course, valid simulations. But it becomes difficult or even impossible to compare the results of these simulations if they are done for especialized purposes, meaning that there are no given standards thay they follow, and that they have so many assumptions built in the simulator that it is not flexible anymore when applied to other applications.So it comes to it that the results cannot be used to compararively evaluate the performance of the existing peer-to-peer networks.

A. 3LS Simulator3 Level Simulator, or simply 3LS, is a time-stepped simulator that uses a central step-clock that is used to create the timing for the simulation. In 3LS the models for network, peer-to-peer protocol and user model are shown to be separated, unlike other simulators that run on top of already available tools in the market. With the separation of the network, protocol and application model from each other, the simulation of various network topologies, for different protocol, applications, and user models becomes possible.

Therefore, the three levels have been defined, where the simulator got it name:

  • Network levelAlso called the bottom level.
  • Protocol levelMiddle level.
  • User levelTop level.

Communication through the system may only happen between the levels directly above each other.

The protocol-level, which the level responsible for simulating the peer-to-peer protocol and application, and serves as the interface between the user-level and the network-level.Input information from the user is fed into the network level through a GUI interface or a file that the user of the application can interact with. Upon starting the simulator it is possible to either create the models for the three described levels or to choose among a library the ones most suited models/combination for the simulation run. As the simulation is running, the events are displayed on the command prompt screen for the user to view.

Modeling and Simulation of Streamed ServicesPage 16Once the simulation has been completed, all simulation data is saved into a file for future analysis. Though simulation languages provide most of the features needed in programming a simulation model and the details of the simulation models can be easily changed, a general-purpose language was selected to provide greater programming flexibility for its users.;B.  JADE Agent PlatformAgent oriented programming is often claimed to become the next breakthrough in development and implementation of large-scale complex software systems.

At the same time it is rather difficult to find successful applications of agent technology, in particular when large-scale systems are considered. There are a few the possible limits that the scalability of existing agent environments could have.


Although it still has certain weak points, the peer-to-peer networks for sharing both small and large files across the internet has become a very popular way to send information, and as developers, we should take into consideration not just the security but also the effeciency of the networks in which the system would operate on.

In order to do this, we have several tools and processes that can assist us during the development process that would help us test and evaluate the software we develop before actually implementing them to real world computers. This way, we could save a lot wasted effort and of course, cost, involved in the development of such systems.Also, we should employ ways of improving peer-to-peer networks such as the trust and reputation model so that the performance would improve. We should also keep on experimenting onModeling and Simulation of Streamed ServicesPage 17new technologies so that we will continue on developing new ways for solving problems and making it easier for us to accomplish what we want to do, and thus, improve the quality of life.

Enabling peers to develop trust and reputation among themselves is important in a peer-to-peer system where resources (either computational, or files) of different quality are offered.The usability of P2P systems in Internet streaming requires the design of simple and standard abstraction to communicate between the peers and to request services. Locating efficiently right peers allows one to explore a wider portion of the network guaranteeing more accurate results with a minor number of repetitive queries to retrieve the same data.The explosive growth of P2P applications is common.

Developers of Web-based applications will realize that adding P2P functionality makes their applications come alive, with user communication and enhanced client-and-server applications.


  1. Abdul-Rahman A. and Hailes S. Supporting trust in virtualcommunities. In Proceedings of theHawai’i International Conference on System Sciences, Maui, Hawaii, Jan 4-7 2000.
  2. Azzedin F. and Maheswaran M. Evolving and Managing Trust in Grid Computing Systems. IEEECanadian Conference on Electrical ; Computer Engineering (CCECE ’02), May 2002.


Cite this page

Modeling and Simulation of Streamed Services. (2017, Apr 09). Retrieved from

Remember! This essay was written by a student

You can get a custom paper by one of our expert writers

Order custom paper Without paying upfront