Modelling and simulation of streamed services Essay

Modeling and Simulation of Streamed Services

Page 1

We will write a custom essay sample on
Modelling and simulation of streamed services Essay
or any similar topic specifically for you
Do Not Waste
Your Time

By clicking "SEND", you agree to our terms of service and privacy policy. We'll occasionally send you account related and promo emails.

More Essay Examples on Family Rubric

Modelling and simulation of streamed services

I - Modelling and simulation of streamed services Essay introduction. INTRODUCTION

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. 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.
Modeling and Simulation of Streamed Services

Page 2

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.


Modeling and Simulation of Streamed Services

Page 3

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.
Modeling and Simulation of Streamed Services

Page 4

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 important

factor 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.

Here are some recent P2P technologies available through the internet:
Modeling and Simulation of Streamed Services

Page 5

File sharing (or storage programs) such as Gnutella, Napster, Limewire, Kazaa, Freenet, and Popular Power. Some of which have taken the spotlight by providing a way of sharing any type of digital file, of which, users typically provide audio and video files (Losada & Fernandez-Luna 2005, 22).
CPU resource-sharing systems like [email protected], United Devices, Entropia, and XtremWeb.
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 implemented
Modeling and Simulation of Streamed Services

Page 6

with P2P programs such as Kazaa (Jing & Seongsoo 2004, 278). This means that the descriptors may be good regardless of the quality of the data. Other descriptions include content and technical quality.

Peer-to-peer systems must posses these characteristics in its network:

·         User interfaces load outside of a web browser.

·         End User desktops can act as either a client or a server

·         The P2P system must be incorporated to the overall system of clients and servers

·         The P2P system must include utilities and tools to support end users who wish to create content or enhance its functionality

·         The system must provide connections and network with the other end users

·         The system must be updated instantly to create something new or exciting to the consumers

·         The system must support “cross-network” protocols like SOAP or XML-RPC.



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 Services

Page 7

A 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:


1. A distributed architecture is important to permit information to be produced and managed “locally”, at the department level or even below.

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

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

4. Publish-and-subscribe (P&S) mechanisms are an effective method for channeling

information towards those people who need it, even as the information is being created

and released.

5. Many other features are likely to be desirable for this application. To list a few:
Modeling and Simulation of Streamed Services

Page 8

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 delivery

mechanism; coupled with MIME it can be handle complex objects of many formats, although it

cannot 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 a

serious problem that the usefulness of Internet email will go into decline, as happened to Usenet

News 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 arranged
Modeling and Simulation of Streamed Services

Page 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 now

probably overused, as many developers think first “how should I fit this new application into our

web 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 [6]. 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 Model

Trust and reputation mechanisms have been proposed for large open environments in e-commerce, peer-to-peer computing, recommender systems. However, there is no universal
Modeling and Simulation of Streamed Services

Page 10

agreement 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. They are both used

to evaluate a peer’s trustworthiness, so they also share some common characteristics.


1. Context specific. Trust and reputation both depend on some context. For example, Mike trusts John as his doctor, but he does not trust John as a mechanic who can fix his car. So in the context of seeing a doctor, John is trustworthy. But in the context of fixing a car, John is untrustworthy.


2. Multi-faceted. Even in the same context, there is a need to develop differentiated trust in different aspects of the capability of a given peer. The same applies for reputation. For instance, a customer might evaluate a restaurant from several aspects, for example, the quality of food, the price, and the service. For each aspect, she develops a kind of trust.

The overall trust depends on the combination of the trusts ineach aspect. While the context-specificity of trust accentuates that trust in an identical peer can be different in different situations, the characteristic, multi-faceted, emphasizes that trust has multiple aspects, which can play a role in deciding whether a peer is trustworthy to interact


Modeling and Simulation of Streamed Services

Page 11

3. Dynamic. Trust and reputation increase or decrease with further experience (direct interaction). They also decay with time.


In our model a peer builds two kinds of trust in another peer, say peer A and peer B respectively. The first one is the trust that peer A has in peer B’s capability in providing services. The other is the trust that peer A has in peer B’s reliability in providing recommendations about other peers. Here the reliability includes two aspects:

Truthfulness – whether peer B is truthful in telling its information

Similarity – whether peer B is similar to peer A in preferences and ways of judging issues.


Reliability = Truthfulness with Similarity, meaning that, a peer B’s reliability as a referee depends on both being truthful and similar in its preferences to the peer requesting the recommendation. Since peers are heterogeneous, they may have different preferences and judge issues by different criteria.

For example, some peers may consider a movie provider good because it provides movies with high quality, while others may consider the movie provider bad because the speed of download from it is very slow. 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
Modeling and Simulation of Streamed Services

Page 12

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 list
Modeling and Simulation of Streamed Services

Page 13

according 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.
Modeling and Simulation of Streamed Services

Page 14

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.

Modeling and Simulation of Streamed Services

Page 15

A. 3LS Simulator

3 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 level

Also called the bottom level.

• Protocol level

Middle level.

• User level

Top 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 Services

Page 16

Once 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 Platform

Agent 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 on

Modeling and Simulation of Streamed Services

Page 17

new 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.


V. Bibliography

Abdul-Rahman A. and Hailes S. Supporting trust in virtualcommunities. In Proceedings of the

Hawai’i International Conference on System Sciences, Maui, Hawaii, Jan 4-7 2000.

Azzedin F. and Maheswaran M. Evolving and Managing Trust in Grid Computing Systems. IEEE

Canadian Conference on Electrical & Computer Engineering (CCECE ’02), May 2002.

Kazaa Homepage. July 2003 [online]. <>

Keynote Systems Inc. July 2003 [online] <>

J. Ledlie, J. Taylor, L. Serban, and M. Seltzer. Self-organization in peer-to-peer systems. In

Proceedings of the 2002 SIGOPS European Workshop, St. Emilion, France, September 2002.

N. Leibowitz, A. Bergman, R. Ben-Shaul, and A. Shavit. Are file swapping networks cacheable?

Characterizing P2P traffic. In Proc. of the 7th Int. WWW Caching Workshop, August 2002.

Jing, C. & Seongsoo, H. 2004. Real-Time and Embedded Computing Systems and Applications.

Springer, New York.

Taylor, I. 2004. From P2P to Web Services and Grids: peers in a client/server world. Springer,

New York.

Rayburn, D. & Hoch, M. 2005. The Business of Streaming and Digital Media. Focal Press, Oxford.

Chaudhry, N., Shaw, K., & Abdelguerfi, M. 2005. Stream Data Management. Springer, New York.


Broookshier, D., Soto, J. C., Krishnan, N., Govoni, K., & Brookshier, D. 2002, Jxta: Java P2P

Programming. Sams Publishing,

Losada, D. & Fernandez-Luna, J. 2005. Advances in Information Retrieval. Springer, New York.

(p. 23) (Gnutella, Kazaa)


Davies, J., Fensel, D., & Harmelen, F. V. 2003. Towards the Semantic Web: Ontology-driven

Knowledge Management. John Wiley and Sons, New Jersey.

Daehne, M. & Gough, M. 2005. Skype Me! From Single User to Small Enterprise and Beyon.

Syngress Publishing, Brazil.

Fries, B. & Fries, M. 2005. Digital Audio Essentials. O’Reilly, California.

Leuf, B. 2002. Peer to Peer: Sharing Over the Internet. Addison-Wesley Professional,


Negoita, M. G., Howlett, R., & Jain, L. C. 2005. Knowledge-based Intelligent Information And

Engineering Systems. Springer, New Jersey. (page 516)

Keller, A. & Brunner, M. 2003. Self-Managing Distributed System. Springer, New Jersey.

Coyle, F. 2002. Xml, Web Services, and the Data Revolution. Addison-Wesley Professional,


Bragg, R., Strassberg, K., & Rhodes-Ousley, M. 2004. Network Security: The Complete Referenc.

McGraw-Hill Professional, Iowa.

Maiwald, E. 2003. Fundamentals of Network Security. McGraw-Hill Professional, Iowa.


Haven’t Found A Paper?

Let us create the best one for you! What is your topic?

By clicking "SEND", you agree to our terms of service and privacy policy. We'll occasionally send you account related and promo emails.

Haven't found the Essay You Want?

Get your custom essay sample

For Only $13.90/page

Eric from Graduateway Hi there, would you like to get an essay? What is your topic? Let me help you