Mobile and their heads down on their phone.

Mobile
phones are everywhere. Everyone you see has their thumbs tapping on a small
screen and their heads down on their phone. There are too many P2P Streaming
Applications for Mobile Phones. P2P Streaming is live broadcasting and
streaming that one person streams and millions of users can watch at the same
time. The research shows that by the end of 2020, there will be 6.1 billion
smartphone users in the world, so it’s time to take advantage of this matter
through live video streaming using iPhone or Android phone. Smartphones have
become mini-TVs and people are watching their TV shows while standing in train
and they follow live stream on their smartphones.

With
Streaming on Smartphones, users can broadcast and share their moment with
millions of people around the world. Security can be one of the problems in P2P
Streaming applications on mobile phones, because not all the applications
provide username and password for the users. CPU usage can also be another
issue because the CPU usage on Streaming applications is quite high and not all
smartphones can handle this usage. Streaming video takes up about 2 Mbps per
viewer, means that second viewer would eat up 4 Mbps of bandwidth.

 

 

 

 

 

 

 

Chapter 1 – introduction

 

Problem
Statement

 

P2P
Streaming applications on Mobile Phones problems are mostly about:

–         
Memory

–         
Storage

–         
Bandwidth

–         
internet

Mobile
phones having less power compared to PCs, because of this, problems that user
can face in streaming is more than streaming in PCs. P2P Streaming usage of CPU
is high and mostly mobile phones cannot handle this issue, So for P2P Streaming
user need to have the latest phone to avoid any issue about CPU usage. Also the
storage can be the problem for mobile phones, because of limitation in storage.

P2P
video streaming takes about 2 to 4 Mbps per user, so the bandwidth play an
important role in P2P streaming. The limitation of bandwidth can limit the P2P
streaming for users. P2P streaming needs stable internet, sometimes mobile
phones doesn’t have stable internet, because of the signal of their operator,
the cellular data can face lagging, delay or even disconnection over the
streaming. But this issue can be fixed when a user connects to Wi-Fi and stream
throw Wi-Fi.

 

 

 

 

Research
Questions

 

In
order to create the best experience for content owners and users, there are
many things to consider when comparing P2P solutions. As solutions vary in
effectiveness and capability, the following questions will help user assess if
a given solution is right for user:

 

1-      How does the client manage the shared
resources of the end-user machine and network?

2-      What is the size and performance of the
client application?

3-      What different use cases does it support?

4-      Has the technology been validated in the
field?

 

 

 

 

 

 

 

 

 

 

 

 

 

Project scope
& limitation

 

In
this paper, we talked about P2P Streaming Applications on Mobile Phones and
also the problem that users may face and the solution of the problems to solve
the issue easier and make this technology easy to use for users. Although I did
research about P2P streaming before and now.

P2P
networking and streaming is a very promising model to construct various
distributed applications. Compare to conventional approaches, the main benefit
of P2P streaming is that each peer contributes its own resources to the streaming
session. Security has significant impact on P2P based streaming applications.
Media streaming is inherently more prone to attacks as it is very difficult to
monitor the participating peers in the overlay. The network consists of
thousands of nodes, not all can be trusted. Security forms one of the most
critical issues in a streaming system.

 

 

 

 

 

 

 

 

 

 

 

Research Goals
& Objectives

 

A
usable client application must be well combined into the comprehensive end-user
experience. This means the application is polite to other running applications,
is polite to other users on the shared network, and doesn’t delay with the
content owners branded experience. A useable client does not present a heavy
interface that disrupts the brand of the content owner. As a CDN typically
operates invisibly in the background, content owners should assume peer-based
systems to behave the same way. The key metric for any answer is client
distribution, which is the number of clients already installed and in use.
Large client distributions are a good measure of the underlying technology, but
in addition to the absolute number, it’s important to consider the geographic
distribution of those clients as well.

The open and anonymous nature of P2P network makes it an
ideal medium for attackers to spread malicious content. As a result, widespread
and unrestricted deployment of P2P systems exposed a number of security
vulnerabilities. In a P2P environment the collaboration of all peers is very
important for the correct functioning of the system. Every peer is soaking up
network bandwidth. If too many users access the same network resource, the
network bandwidth may be used up, resulting in a denial of service. A malicious
node would continuously issue queries with high TimeTo-Live (TTL) values on the
network, thus generating huge amount of network traffic rendering the network
unusable by other honest peers. The peer who offers a resource may go offline
while other fellow peers are downloading from it. A malicious peer may just
simply route a query to a non-existent peer or an unreliable peer with long
latency.

 

 

 

 

 

 

Motivation

 

When we
can give users a new experience to use website that can transform into a mobile
application, why don’t we do that?

Using a
mobile first design web applications is a new thing now in the word of design,
and with this method, you can have responsive web application which can be use
on Desktop Computers, Tablets, and smartphones and the design will remain the
same with the same functionality.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Project plan & schedule

 

The
traffic of mobile video and streaming is growing quickly with the growth of
technology. Back in 2012 the Streaming applications were only for PCs and wired
connections, but now Mobile Phones took their place and attacked all the
attentions to itself. Users, also called peers
are connected with each other in network and they share resources and each peer
can be at the same time client and server. P2P Streaming applications got a lot
of attention in recent years, and also there is a lot of studying and research
projects around this technology for making it better and easier for users.

The
problems in P2P Streaming on mobile phones is that P2P Streaming need to have
stable internet connection for downlink and uplink directions. Usually the
connections are unstable and this will cause lagging and delay in streaming and
also it maybe face disconnection in middle of streaming. So these problems are
common for cellular users and 3G or 4G internets, because the stability of
cellular internet having connection with the signal of sim-card. As I mentioned
before, streaming has high usage and not all the devices can handle this usage
from its CPU. So the other problem can be that there are multiple systems
competing for the limited resource like different client software are running
at the same time in memory and disk and the limited storage on mobile phones
can cause the problem for streaming.

In
streaming, Bandwidth or data transfer rate is one of the most important issue.
Data transfer rate, is the amount of data that can be carried from the one
point to another in a given time. Usually the time that we use is second.
Usually a text message might take less than 1,000 bits per second (bps), a
voice conversation required 56 Kbps. The standard definition video (480p) works
at 1 Mbps, but the HD video (720p) takes about 4 Mbps and HDX (1080p) more than
7 Mbps. So with this information, users will understand that limitation of the
bandwidth can limit the streaming on mobile phones.

 

 

 

Chapter 2 – literature review

 

Comparison solution

 

There
is no doubt that with the growth of entertainment online from movies, TV shows,
music, games and software, the surge of rich content of the internet will
continue. In order to ensure a reliable user experience and cost-effective
content delivery method for content publishers, it is critical to ascertain
which content delivery approach is best suited to user’s needs. And when
considering P2P and the wide range of solutions available and they are not
created equal, it is important to evaluate which solution is right for user’s
applications and how best to integrate this solution with the traditional
content delivery architectures.

Peer-to-peer
(P2P) computing or networking is a distributed application architecture that
partitions tasks or workloads between peers. Peers are equally privileged, equipotent
participants in the application. They are said to form a peer-to-peer network
of nodes.

Peers
make a portion of their resources, such as processing power, disk storage or
network bandwidth, directly available to other network participants, without
the need for central coordination by servers or stable hosts. Peers are both
suppliers and consumers of resources, in contrast to the traditional
client-server model in which the consumption and supply of resources is
divided. Emerging collaborative P2P systems are going beyond the era of peers
doing similar things while sharing resources, and are looking for diverse peers
that can bring in unique resources and capabilities to a virtual community
thereby empowering it to engage in greater tasks beyond those that can be
accomplished by individual peers, yet that are beneficial to all the peers.

While
P2P systems had previously been used in many application domains, the
architecture was popularized by the file sharing system Napster, originally
released in 1999. The concept has inspired new structures and philosophies in
many areas of human interaction. In such social contexts, peer-to-peer as a
meme refers to the egalitarian social networking that has emerged throughout
society, enabled by Internet technologies in general.

 

 

Leterature review discussion

 

A peer-to-peer
network is designed around the notion of equal peer nodes simultaneously
functioning as both “clients” and “servers” to the other
nodes on the network. This model of network arrangement differs from the
client–server model where communication is usually to and from a central
server. A typical example of a file transfer that uses the client-server model
is the File Transfer Protocol (FTP) service in which the client and server
programs are distinct: the clients initiate the transfer, and the servers
satisfy these requests.

 

Routing and resource discovery

Peer-to-peer
networks generally implement some form of virtual overlay network on top of the
physical network topology, where the nodes in the overlay form a subset of the
nodes in the physical network. Data is still exchanged directly over the
underlying TCP/IP network, but at the application layer peers are able to
communicate with each other directly, via the logical overlay links (each of
which corresponds to a path through the underlying physical network). Overlays
are used for indexing and peer discovery, and make the P2P system independent
from the physical network topology. Based on how the nodes are linked to each
other within the overlay network, and how resources are indexed and located, we
can classify networks as unstructured or structured (or as a hybrid between the
two).

 

 

 

Unstructured networks

Unstructured
peer-to-peer networks do not impose a particular structure on the overlay network
by design, but rather are formed by nodes that randomly form connections to
each other.(Gnutella, Gossip, and Kazaa are examples of unstructured P2P
protocols).

Because there is
no structure globally imposed upon them, unstructured networks are easy to
build and allow for localized optimizations to different regions of the
overlay. Also, because the role of all peers in the network is the same,
unstructured networks are highly robust in the face of high rates of
“churn”-that is, when large numbers of peers are frequently joining
and leaving the network.

However the
primary limitations of unstructured networks also arise from this lack of
structure. In particular, when a peer wants to find a desired piece of data in
the network, the search query must be flooded through the network to find as
many peers as possible that share the data. Flooding causes a very high amount
of signaling traffic in the network, uses more CPU/memory (by requiring every
peer to process all search queries), and does not ensure that search queries
will always be resolved. Furthermore, since there is no correlation between a
peer and the content managed by it, there is no guarantee that flooding will
find a peer that has the desired data. Popular content is likely to be available
at several peers and any peer searching for it is likely to find the same
thing. But if a peer is looking for rare data shared by only a few other peers,
then it is highly unlikely that search will be successful.

 

Structured networks

In
structured peer-to-peer networks the overlay is organized into a specific
topology, and the protocol ensures that any node can efficiently search the
network for a file/resource, even if the resource is extremely rare.

The
most common type of structured P2P networks implement a distributed hash table
(DHT),  in which a variant of consistent
hashing is used to assign ownership of each file to a particular peer. This
enables peers to search for resources on the network using a hash table: that
is, (key, value) pairs are stored in the DHT, and any participating node can
efficiently retrieve the value associated with a given key.

Propose system

 

P2P
Streaming Applications on Mobile phones is not limited to video only. With the
growth of technology, applications for this matter is also improved and there
are millions of applications created every year to just take the advantage of
streaming community that is part of people’s life. Music streaming is also one
of the peer-to-peer technologies that people all over the world are using it.
For example: Spotify. Spotify is the only on-demand music streaming service
that’s not web-based. Instead, it uses a peer-to-peer network that can meet up
the demands of millions of users.

Let’s
talk about peer-to-peer streaming network and how it works. In a P2P system,
each user while downloading a video stream or a music stream, is also uploading
that particular stream to other users. The streams are usually has a few
minutes time delayed compare to its original sources. If the user streams a
video, the quality of that video of the channel is getting better if there are
more users, it means the quality of a video is depends on how many users are
watching that stream.

As
main challenge in comparison to personal computers, mobile phones are limited
in processing power, memory, communication bandwidth, battery power and GUI
(Graphic User Interface). The peer-to-peer (P2P) applications today can be
define in three different categories: communication and collaboration, content
sharing and distributed computing. The history of P2P protocol was NCP (network
control protocol), the engine of the ancient Arpanet, used between processers.
Later the introduction of protocols united to the HTTP (hypertext transfer
protocol) caused shifting of the internet traffics to non-P2P traffic. Content
sharing P2P system improved very fast. Quality of nodes is measured in several
dimensions: Bandwidth, online frequency, etc.

In
a P2P streaming, the end-to-end delay from the source to a receiver may be
excessive because the content may have to go through a number of intermediate
receivers. The behavior of receivers is changeable; they are free to join and
leave the service at any time that the user wants, thus dumping their successor
peer. Receivers may have to store some local data structures and exchange state
information with each other to preserve the connectivity and to perk up the
effectiveness of the P2P network. The control overhead at each receiver for
satisfying such purposes should be small to keep away from excessive use of
network resources and overcome the resource limitation at each receiver. This
is important to the scalability of a system with a large number of receivers.

Existing
streaming techniques in the P2P approach can be categorized into schemes
supporting P2P Live Video Streaming and those that support P2P on Demand Video
Streaming. Some techniques can offer both services. Based on the overlay
network structure, P2P streaming systems are broadly classified into three
categories: Tree-based, Mesh-based and Hybrid schemes. The tree-based
approaches use push based content delivery; however the mesh-based approaches
use swarming content delivery. Several P2P live streaming and video on demand
applications are built on these schemes.

 

Tree Based Overlay:

 

Similar
to an IP multicast tree formed by routers at the network level, users
participating in a video streaming session can form a tree at the applications
layer that is rooted at the video source server. Tree-based receives data from
a parent node, which may be the source or a peer. The tree-based systems
typically distribute video by actively pushing data from a peer to its children
peers.

A
common approach to P2P streaming is to organize participating peers into a
single tree-structured overlay over which the content is pushed from the source
towards all peers. This way organizing peers is called single-tree streaming.
In these systems, peers are hierarchically organized in a tree structure where
the root is the stream source. The content is spread as a content is spread as
a continuous flow of information from the source down to the tree. Each user
joins the tree at certain level. All the load is supported by the interior
nodes of the tree while leafs are just receiving data. Systems belonging to
this category mainly differ in the algorithms used to create, and maintain the
tree structure, given a set of peers, there are many possible ways to construct
a streaming tree to connect them up. The goal of tree construction algorithm is
to maximize the bandwidth to the root of all nodes. Since these systems are
very close to IP multicast, trying to emulate its tree structure, they are able
to achieve data paths that do not differ too much from IP multicast paths.

Tree
construction and maintenance can be done in either a centralized or a
distributed fashion in single-tree streaming systems. In a centralized
solution, a central server controls the tree constructions and recovery. When a
peer joins the system, it contacts the central server. Based on the existing
topology and the characteristics of the newly joined peer, such as its location
and network access, the server decides the position of the new peer in the tree
and notifies it which parent peer to connect to. The central server can detect
a peer departure through either a graceful sign-off signal or some type of
time-out based inference. In both cases, the server recalculates the tree
topology for the remaining peers and instructs them to form the new topology.
For a large streaming system, the central server might become the performance
bottleneck and the single point of failure.

 

 

 

 

 

 

 

 

 

 

 

chapter 3 – methodology

 

requirement analysis

 

The
need to improve P2P networks performance taking into account not only the
logical but also the physical topology of the network is a subject already
addressed by the community. We can divide the work on this area in two
branches: generic P2P and Video Streaming specific P2P with each one
sub-divided in solutions for WMN or for general networks. In order to improve
the overall network performance on P2P video streaming our research work should
take into account:

–         
The
characteristics of Mesh networks.

–         
Node
mobility and network mobility.

This
research should lead to the creation and validation of new routing mechanisms
that allows optimizing the available resources and ultimately improving the
overall system performance. To meet the aforementioned objective, the problem
shall be addressed in three phases: requirements evaluation through and
extensive literature review; simulation using suitable software in order to
test and validate the preliminary solutions; implementation of a valid solution
in real system in order to assess and confirm the results obtained through the
simulations.

Media
compression: The large volume of raw multimedia data imposes a stringent
bandwidth requirement on the network. Hence, for achieving better transmission
efficiency, compression is widely employed. While video needs superior
bandwidth requirements (56 Kbps-15 Mbps) than audio (8 Kbps-128 Kbps) and loss
of audio is more infuriating to human than video, audio is given higher
priority for transmission in a multimedia streaming system. For this reason,
only video will be used for alteration so as to meet the QoS requirements 6.
In Figure 1, raw video and audio data are pre-compressed by video compression
and audio compression algorithms and then saved in storage

devices.
Video compression is accomplished by utilizing the resemblances or redundancies
that subsists in a normal video signal. Video compression reduces the
irrelevancy in the video signal by only coding video features that are perceptually
important 13. Video compression follows a standard for multimedia contents
that encodes the content with a specific play rate. There are two major groups
which define the video encoders: ITU (International Telecommunications Union)
and ISO (International Standards Organization). ITU-T group (Telecommunication Standardization
Sector of the International Telecommunications Union) defines the H.26x video
formats whereas the ISO group defines the formats which have materialized from
committees of the Moving Pictures Experts Group:

MPEG-x.
The MPEG-4 standard is commonly designed for streaming media and CD distribution,
video conversion and broadcast television. MPEG-4 includes numerous features of
MPEG-1, MPEG-2 and other associated standards.

H.264
is also known as MPEG-4 part 10 or AVC (Advanced Video Coding). Big Internet
players like Google/ YouTube or Apple Tunes are founded on this standard.

Protocols
for streaming media: Streaming protocols provide means to the client and the
server for services negotiation, data transmission and network addressing.
According to the functionalities, the protocols directly related to Internet
streaming video can be classified as network-layer protocol, transport protocol
and session control protocol.

 

 

 

 

 

 

 

 

 

Planning

 

There
is no doubt that with the growth of entertainment online from movies, TV shows,
music, games and software, the surge of rich content of the internet will
continue. In order to ensure a reliable user experience and cost-effective
content delivery method for content publishers, it is critical to ascertain
which content delivery approach is best suited to user’s needs. And when
considering P2P and the wide range of solutions available and they are not
created equal, it is important to evaluate which solution is right for user’s
applications and how best to integrate this solution with the traditional
content delivery architectures.

For
solving most of the problems in the current P2P Streaming Applications, I came
up with the idea to create a website based P2P Application and design it as
mobile first method.

With
this method, The Bandwidth problem, the Memory problem and also the Storage
problem will be solve automatically.