Download P2P on Handhelds - LUT School of Business and Management

Document related concepts

Piggybacking (Internet access) wikipedia , lookup

Video on demand wikipedia , lookup

Net bias wikipedia , lookup

Airborne Networking wikipedia , lookup

Deep packet inspection wikipedia , lookup

Peer-to-peer wikipedia , lookup

Transcript
P2P on Handhelds
Jukka K. Nurminen
Nokia Research Center
The 17th International Summer School on Telecommunications, August 19-22, 2008, Lappeenranta, Finland
1
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Targets
• Give an overview of peer-to-peer (P2P) technologies
• Examples of applying P2P to handheld devices and the problems that arise
• Encourage you to consider mobile phones as a relevant platform for your
research
2
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Outline
13:30-15:00
What is P2P? Example applications
How it works: Napster, Gnutella, DHT, BitTorrent, CoolStreaming
15:00-15:30
Coffee
15:30-17:00
Challenges and examples of handheld P2P
Tools: Nokia Energy Profiler, PAMP
We can be flexible in the program – be active, ask, comment, disagree!
3
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Azureus BitTorrent client
4
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
BearShare
5
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Symbian S60 versions: Symella and SymTorrent
6
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Skype
How skype works: http://arxiv.org/ftp/cs/papers/0412/0412017.pdf
7
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
SETI@home (setiathome.berkeley.edu)
• Currently the largest distributed computing effort with over 3 million users
• SETI@home is a scientific experiment that uses Internet-connected computers in
the Search for Extraterrestrial Intelligence (SETI). You can participate by running
a free program that downloads and analyzes radio telescope data.
8
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Folding@home (http://folding.stanford.edu/)
9
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
PPLive, TVU
PPLive is a P2P television network software that famous all over the world. It has the
largest number of users, the most extensive coverage in internet.
10
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Joost
11
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
WoW Distribution of patches and software
12
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Definition of Peer-to-peer (or P2P)
• A peer-to-peer (or P2P) computer network is a network that relies primarily on the
computing power and bandwidth of the participants in the network rather than
concentrating it in a relatively small number of servers.
• A pure peer-to-peer network does not have the notion of clients or servers, but only equal
peer nodes that simultaneously function 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.
Taken from the wikipedia free encyclopedia - www.wikipedia.org
13
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Rise of P2P
P2P represented ~65%
of Internet
Traffic at end 2006
• 1999: Napster, first widely used p2p-application
14
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Driving Forces Behind Peer-to-Peer
Development of the terminal capabilities:
• 1992:
• Average processing power (clock frequency) of personal computers: ~ 100MHz
• Average hard disk size: ~0.3Gbyte
• 2002-04:
• Average processing power (clock frequency) of personal computers: ~ 3GHz
• Average hard disk size: 100 Gbyte
•  Personal computers have capabilities comparable to servers in the 1990s
• 2007: Nokia N95 mobile phone
• ARM9 ~1GHz clock frequency
• Up to 2GB external Micro SD
Development of the communication networks:
• Early 1990s: private users start to connect to the Internet via 56kbps modem connections
• 1999
• Introduction of DSL and ADSL connections
• Data rates of up to 8.5Mbps via common telephone connections become available
• Deregulation and competition  bandwidth is plentiful and cheap!
• 2007 Nokia N95
• HSDPA 1.8 Mbps
• flat rate tariffs emerging
15
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
P2P Content Search
*Partly adapted from original slides provided by Rüdiger Schollmeier and Jörg Eberspächer (Technische Universität München)
The 17th International Summer School on Telecommunications, August 19-22, 2008, Lappeenranta, Finland
16
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Distributed Management and Retrieval of Data
I have item „D“.
Where to place „D“?
D
Data item „D“
?
I want item „D“.
Where can I find „D“?
distributed system
12.5.7.31
berkeley.edu
peer -to -peer.info
planet -lab.org
89.11.20.15
95.7.6.10
86.8.10.18
7.31.10.25
• Essential challenge in (most) Peer-to-Peer systems?
• Location of a data item => P2P Search
• Where shall the item be stored by the provider?
• How does a requester find the actual location of an item?
• Efficient transfer of the data item => P2P content distribution
• Scalability: keep the complexity for communication and storage scalable
• Robustness and resilience in case of faults and frequent changes
17
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
The Architectures of 1st and 2nd Gen. P2P
X.1
Client-Server
1. Server is the central entity
and only provider of service
and content.
 Network managed by the
Server
Peer-to-Peer
1. Resources are shared between the peers
2. Resources can be accessed directly from other peers
3. Peer is provider and requestor (Servent concept)
2. Server as the higher
performance system.
Unstructured P2P
Structured P2P
3. Clients as the lower
performance system
Centralized P2P
Pure P2P
Hybrid P2P
DHT-Based
Example: WWW
1. All features of Peer-to-Peer
included
1. All features of Peer-to-Peer
included
1. All features of Peer-to-Peer
included
1. All features of Peer-to-Peer
included
2. Central entity is necessary to
provide the service
2. Any terminal entity can be
removed without loss of
functionality
2. Any terminal entity can be
removed without loss of
functionality
2. Any terminal entity can be
removed without loss of
functionality
3.  No central entities
3.  dynamic central entities
3.  No central entities
Examples: Gnutella 0.4, Freenet
Example: Gnutella 0.6, JXTA
4. Connections in the overlay are
“fixed”
3. Central entity is some kind of
index/group database
Example: Napster
Examples: Chord, CAN
1st Gen.
18
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
2nd Gen.
X.2 Definition of centralized P2P
•
All peers are connected to central entity
•
Peers establish connections between each other on demand to exchange user data (e.g.
mp3 compressed data)
•
Central entity is necessary to provide the service
•
Central entity is some kind of index/group database
•
Central entity is lookup/routing table
19
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.2 Example: Napster
• Program for sharing files over the Internet
• A “disruptive” application/technology?
• Brief History:
• May 1999: Shawn Fanning (freshman, Northeastern University) founds Napster Online music
service
• December 1999: First Lawsuit
• March 2000: University of Wisconsin reports that 25% of its IP traffic is Napster traffic
• December 2000: estimated 60 million users
• February 2001: US Circuit Court of appeals: napster knew users violating copyright laws
Shut down of the service
20
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Napster
1. Register shared content
2. Search
3. Transfer content
21
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.2 Discussion
• Advantages
•
•
•
•
•
•
Simple
Efficient, little load for peers => also weak peers (mobiles) able to participate
Fast and complete lookup (one hop lookup)
Central managing/trust authority
Advertising business model
Clear legal responsibility
• Disadvantages
• Single Point of Failure easily attackable
• Bottleneck
• Potential of congestion
• Other applications and application areas
• BiTorrent
• VoIP (SIP, H.323)
22
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.3 Definition of Pure P2P
•
Any terminal entity can be removed without loss of functionality
•
No central entities employed in the overlay
•
Peers establish connections between each other randomly
23
•
To route request and response messages
•
To insert request messages into the overlay
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.3 Example: Gnutella 0.4
•
•
•
•
Program for sharing files over the Internet
Focus: decentralized method of searching for files
A “disruptive” application/technology?
Brief History:
• March 2000: open source release by by Justin Frankel and Tom Pepper of Nullsoft, a
division of AOL, and almost immediately withdrawn
• Spring 2001: further developments to improve scalability  Gnutella 0.6 (Hybrid
P2P)
• Since then:
• available in a lot of implementations (Limewire, bearshare,…)
• Developed further on (privacy, scalability, performance,…)
24
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Gnutella
2. Matching content found
1. Search
3. Transfer content
25
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.3 The Gnutella Network
Measurements taken at the
LKN in May 2002
26
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.3 Discussion
• Advantages
•
•
•
•
Genuine P2P
Fully distributed, no servers
No single point of failure
Can provide anonymity
• Disadvantages
• Flooding creates a lot of traffic
• Unequal distribution of load
• No responsible party
• Business model?
• Legal responsibility?
• Overlay topology not optimal, as
•
•
•
•
no complete view available,
no coordinator
Zigzag routes, loops
If not adapted to physical structure delay and total network load increases
• Other applications and application areas
• Freenet
• Focus on anonymity and privacy
• Content is transferred in chunks over the signaling network
27
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.4 Definition of Hybrid P2P
• Main characteristic, compared to pure P2P: Introduction of another dynamic hierarchical
layer
• Hub based network
• Reduces the signaling load without reducing the reliability
• Election process to select and assign Superpeers
• Superpeers: high degree (degree>>20, depending on network size)
• Leafnodes: connected to one or more Superpeers (degree<7)
leafnode
Superpeer
28
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.4 Example: Gnutella 0.6
• Program for sharing files over the Internet
• Focus:
• decentralized method of searching for files
• Higher signaling efficiency than Pure P2P
• Same reliability (no single point of failure)
• Basis of most file-sharing applications (not BitTorrent)
• Brief History:
• Spring 2001: resulted from Gnutella 0.4 by further developments to improve
scalability  Gnutella 0.6 (Hybrid P2P)
• Since then:
• available in a lot of implementations (Limewire, bearshare,…)
• Developed further on (privacy, scalability, performance,…)
29
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Gnutella 0.6 Animation
30
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
How Skype works
Salman A. Baset and Henning Schulzrinne. An
analysis of the Skype peer-to-peer Internet Telephony
Protocol, Columbia University
31
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X.4 Discussion
• Advantages
• No single point of failure
• Can provide anonymity
• Heterogeneous devices
• Disadvantages
• Still high signaling traffic, because of decentralization
• No definitive statement possible if content is not available or not found
• Overlay topology not optimal, as
•
•
•
•
no complete view available,
no coordinator
Zigzag routes, loops
Can not be adapted to physical network completely because of hub structure
• Asymmetric load (Superpeers have to bear a significantly higher load)
• Application areas
• File-sharing (Edonkey, Kazaa/FastTrack, Emule)
• VoIP (Skype)
32
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Distributed Hash Tables (DHT)
• Like a normal hash table
• For storage and retrieval of <keyword, value pairs>
• but distributed to a number of peers
• Typically used to store not the actual content but its location
• IP address, port
• Store: <“yellow submarine”, <156.234.456.54, 3456>>
• Search: “yellow submarine” => <156.234.456.54, 3456>
• Note: Exact matches for keyword are needed
• => pattern matching (wildcards) not supported
• Works better with ids than with strings
• Phone number, userID, etc.
*Partly adapted from original slides provided by Rüdiger Schollmeier and Jörg Eberspächer (Technische Universität München)
33
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Addressing in Distributed Hash Tables
• Step 1: Mapping of content/nodes into linear space
• Usually: 0, …, 2m-1 >> number of objects to be stored
• Mapping of data and nodes into an address space (with hash function)
• E.g., Hash(String) mod 2m: H(„my data“)  2313
• Association of parts of address space to DHT nodes
3485 610
611 709
1008 1621
1622 2010
2011 2206
22072905
2906 3484
(3485 610)
2m-1 0
H(Node Y)=3485
Often, the address
space is viewed as
a circle.
Y
Data item “D”:
H(“D”)=3107
34
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
X
H(Node X)=2906
Step 2: Routing to a Data Item
• Routing to a K/V-pair
• Start lookup at arbitrary node of DHT
• Routing to requested data item (key)
H(„my data“)
= 3107
1008
1622
2011
2207
709
611
2906
3485
Initial node
(arbitrary)
Node 3485 manages
keys 2907-3485,
Key = H(“my data”)
(3107, (ip, port))
Value = pointer to location of data
35
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Step 2: Routing to a Data Item
• Getting the content
• K/V-pair is delivered to requester
• Requester analyzes K/V-tuple
(and downloads data from actual location – in case of indirect storage)
H(„my data“)
= 3107
In case of indirect storage:
After knowing the actual
Location, data is requested
Get_Data(ip, port)
1008
1622
2011
2207
709
611
2906
3485
Node 3485 sends
(3107, (ip/port)) to requester
36
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Different kinds of DHTs
• Specific examples of Distributed Hash Tables
• Chord, UC Berkeley, MIT
• Pastry, Microsoft Research, Rice University
• Tapestry, UC Berkeley
• CAN, UC Berkeley, ICSI
• P-Grid, EPFL Lausanne
• Kademlia, Symphony, Viceroy, …
• A number of uses
• Distributed tracker in BitTorrent
• P2P SIP
• ePOST
37
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Summary of DHT
• Use of routing information for efficient search for content
• Self-organizing system
• Advantages
• Theoretical models and proofs about complexity (Lookup and memory O(log N))
• Simple & flexible
• Supporting a wide spectrum of applications
• <Key, value> pairs can represent anything
• Disadvantages
• No notion of node proximity and proximity-based routing optimizations
• Chord rings may become disjoint in realistic settings
• No wildcard or range searches
• Performance under high churn. Especially handling of node departures
• Key deletion vs. refresh
• Many improvements published
• e.g. proximity, bi-directional links, load balancing, etc.
38
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
The Architectures of 1st and 2nd Gen. P2P
X.1
Client-Server
1. Server is the central entity
and only provider of service
and content.
 Network managed by the
Server
Peer-to-Peer
1. Resources are shared between the peers
2. Resources can be accessed directly from other peers
3. Peer is provider and requestor (Servent concept)
2. Server as the higher
performance system.
Unstructured P2P
Structured P2P
3. Clients as the lower
performance system
Centralized P2P
Pure P2P
Hybrid P2P
DHT-Based
Example: WWW
1. All features of Peer-to-Peer
included
1. All features of Peer-to-Peer
included
1. All features of Peer-to-Peer
included
1. All features of Peer-to-Peer
included
2. Central entity is necessary to
provide the service
2. Any terminal entity can be
removed without loss of
functionality
2. Any terminal entity can be
removed without loss of
functionality
2. Any terminal entity can be
removed without loss of
functionality
3.  No central entities
3.  dynamic central entities
3.  No central entities
Examples: Gnutella 0.4, Freenet
Example: Gnutella 0.6, JXTA
4. Connections in the overlay are
“fixed”
3. Central entity is some kind of
index/group database
Example: Napster
Examples: Chord, CAN
1st Gen.
39
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
2nd Gen.
P2P content
distribution
Jukka K. Nurminen
The 17th International Summer School on Telecommunications, August 19-22, 2008, Lappeenranta, Finland
40
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
BitTorrent – content downloading
• Efficient content distribution
• Bram Cohen, 2001
• Key idea: you can receive faster than what your peer is able to send
• Peer serving multiple users
• Asynchronous connections
• E2E speed of Internet
• File divided into pieces and subpieces
• Recipient receives pieces from multiple peers
• Each recipient supplies pieces of the data to newer recipients
41
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
BitTorrent – components
Maintaining information
about which peers have
the content available
tracker
seed
Peer with entire file
42
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Normal website –
hosting of metadata files
(torrent-files)
website
leech
Peer that is still
downloading (has only
parts of the file)
BitTorrent – joining a torrent
new leecher
2
join
peer list
tracker
metadata file
1
3
data
request
4
Adapted from Nikitas Liogkas, Robert Nelson, Eddie
Kohler, Lixia Zhang, “Exploiting BitTorrent For Fun,”
University of California, Los Angeles
website
seed/leecher
seed/leecher
1. obtain the metadata file (.torrent -file)
2. contact the tracker
3. obtain a peer list (contains seeds & leechers)
4. contact peers from that list for data
43
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
BitTorrent – exchanging data
leecher B
leecher A
seed
leecher C
● Download sub-pieces in parallel
● Verify pieces
using hashes
● Advertise received pieces to the entire peer list
● Look for the rarest pieces
44
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
I have
!
BitTorrent Summary
• Benefits
•
•
•
•
reduced cost and burden on any given individual source
much higher redundancy
greater resistance to abuse or "flash crowds“
less dependence on the original distributor
• Disadvantages
• Slow start and finish
• downloads take time to rise to full speed because peer connections take time to establish
• Special end game algorithms
• Full content has to be downloaded before playing can start
• Central tracker can be a bottleneck
• Distributed trackers based on DHT
• Applications
• Legal video distribution (e.g. BitTorrent, Vuze)
• Illegal video distribution (e.g. PirateBay)
• Distribution of patches (e.g. Wow)
45
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
P2P streaming
The 17th International Summer School on Telecommunications, August 19-22, 2008, Lappeenranta, Finland
46
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Traditional stream delivery models
• Server
• Widely used, simple and easy
• Free Internet radios, YouTube, Liveleak.com, Google video, …
• Allows using standard clients (browser)
• Limited server output capacity / stream quality; expensive to scale
• Server grid
• Content delivery network
• Expensive to scale
• IP multicast / LAN multicast
• The “ideal” model proposed for 20+ years
• Not available in large scale Internet
• Technical + non-technical constraints
• Perhaps possible in local environments
47
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
P2P streaming (“peercasting”)
• Each receiver of the stream forwards it to other receivers
• Promises
• No servers required
• “Infinite” scalability
• Challenges
• Churn: peers constantly join and leave the network
• Limited peer capabilities: asymmetric data connections
• Limited peer visibility: NAT, firewall
• Optimal use of network resources
48
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Multicast tree (ca. 2002)
source
• First practical approach
• End-System Multicast II
• Open source solutions (peercast, freecast)
• Over 20 well-known variants
• Peers form a tree topology
• Own tree for each data stream
• Forward stream down the tree
• Works in practice
• Scales 10…100…1000? users
• Problems
•
•
•
•
49
Large output bandwidth required
Tree optimization
Tree repair due to churn
Less than half of peers can contribute
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Data-driven overlay (ca. 2004)
source
• The mainstream practical approach
• Active area for current research
• Coolstreaming (2004),
Chainsaw (2005),
GridMedia (2006),
PRIME (2006),
HotStreaming (2007)
• BitTorrent for streams
• Chunk stream in small pieces
• Distribute pieces in a swarm
• Works well in practice
• Most large-scale solutions
• Coolstreaming, PPLive, Roxbeam, Sopcast …
• Scales to 10k … 100k … 1M?
50
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Basic data-driven overlay approach
• Coolstreaming/DONet (2004), Chainsaw (2005)
• Topology creation: gossiping protocol (SCAMP)
• Peers maintain random partial view of the network
• Peers select random partners
• No centralized tracker
• Swarming: sliding buffer of pieces
• Reports pieces it has to its partners
• Partners request for pieces they don’t have
• Design problems
• Whom to select as partner?
• When and from whom to request a piece?
• Overhead vs. latency?
51
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Report
Request
Send
Main challenges of data-driven approach
• Open research questions
• Based on real-life experiences with Coolstreaming and 80k users
• Affect negatively to end-user experience
• Dealing with flash crowd
• How to cope if number of users increases from 1k to 100k in 10 minutes?
• We don’t have infrastructure to support new users
• Joining takes a long time
• > 25% of new users must re-try joining
• Dealing with 50% of users that don’t contribute
• Due to asymmetric connection, firewall, NAT, …
• Where to get the missing output capacity?
52
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Hybrid technology
• The best known technology for commercial large-scale streaming
• Streaming to 100k … 1M users
• Proposed practical solution to problems of data-driven overlay
• Joost, future Coolstreaming
• A combination of P2P and server grid
• Use P2P distribution in stable conditions
• Use powerful servers to fill in missing output capacity
• Servers support newcomers
• Servers support users behind asymmetric connections
• For example
• Joost is 1/3 P2P, 2/3 client-server
53
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
P2P and Handheld
Devices
Jukka K. Nurminen
The 17th International Summer School on Telecommunications, August 19-22, 2008, Lappeenranta, Finland
54
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
P2P and handheld devices
• Mainly experimental systems so far. E.g. Symella, TymTorrent, P2PSIP
• Paradigm: bring existing P2P applications to mobile devices
• Challenges:
•
•
•
•
•
•
NAT and firewall traversal
Operator co-operation
High churn
Battery consumption
Billing
Limited resources of the handheld device
• Possibilities:
• Taking advantage of phone context
• Accessing data and functionality of core applications (addressbook, call log, calendar, location, …)
• Taking advantage of the human user who can easily be alerted
• Research questions
•
•
•
•
•
55
What kind of P2P techniques make sense in mobile networks?
Dealing with the limitations of mobile devices
How will handheld use change P2P?
What new possibilities it allows?
Legal use cases and business models for mobile P2P
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Energy-efficient algorithms
• Battery consumption is one key difference
between mobile and fixed peers
• How to take the difference into account?
• How big problem this really is?
• What kind of system solutions and
algorithms would be energy-friendly?
• Different roles and cooperative use of
different radios (3G, WLAN)
W
1,20
Full peer
1,00
0,80
0,60
0,40
Client only
56
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Nurminen, J.K. and Nöyränen, J., “Energy-Consumption in Mobile Peer-to-Peer – Quantitative
Results from File Sharing,” 5th IEEE Consumer Communications & Networking Conference
CCNC 2008, Las Vegas, Nevada, January 2008
26' 2''
27' 13''
23' 40''
24' 51''
22' 29''
20' 7''
21' 18''
18' 56''
16' 34''
17' 45''
14' 12''
15' 23''
13' 1''
10' 39''
11' 50''
8' 17''
9' 28''
7' 6''
4' 44''
5' 55''
2' 22''
3' 33''
1' 11''
0,00
0' 0''
0,20
Nokia Energy Profiler
57
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Kademlia DHT Implementation for S60
•Kademlia DHT variant
• Widely used in serious applications
• Lots of redundancy to cope with churn and unreliable peers
• E.g. trackerless BitTorrent by Azureus and Mainline BitTorrent
• Both with over million users
•A building block for several applications
• SymTorrent (implementation on-going)
• P2PSIP (implementation on-going)
• Other
58
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Energy consumption and # of messages in each 15 min
interval for a mobile peer in Mainline BitTorrent DHT
(Kademlia)
800 J
5000
4500
700
4000
600
3500
500
3000
2500
400
2000
300
1500
200
1000
100
500
3:00:00
2:45:00
2:30:00
2:15:00
2:00:00
1:45:00
1:30:00
1:15:00
1:00:00
0:45:00
0:30:00
0
0:15:00
0
Kelenyi, I. and Nurminen, J.K., “Energy Aspects of Peer Cooperation - Measurements with a Mobile DHT System,” IEEE
CoCoNet Workshop 2008 Cognitive and Cooperative Wireless Networks collocated with IEEE ICC 2008, Beijing, China,
May 2008
Kelenyi, I. and Nurminen, J.K., “Optimizing Energy Consumption of Mobile Nodes in Heterogeneous Kademlia based
Distributed Hash Tables," Second International Conference and Exhibition on Next Generation Mobile Applications, Services
and Technologies, Cardiff, Wales, UK, September 2008 (to appear)
59
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Utility of participating in P2P community
U (C )  b(C )  c(C )
• For PC
• For mobile device
• benefit reasonably high
• benefit reasonably high
• hardly any cost
• cost can be quite high
• => high utility
• Energy
• => low threshold to contribute
• Phone bill
• => lower utility, or
• => strong incentive to be selfish
Karonen, O. and Nurminen, J.K., “Cooperation Incentives and Enablers for Wireless Peers in Heterogeneous Networks,” IEEE CoCoNet Workshop
2008 Cognitive and Cooperative Wireless Networks collocated with IEEE ICC 2008, Beijing, China, May 2008
Suomalainen, J., Pehrsson, A. and Nurminen, J.K., “A security analysis of a P2P incentive mechanism for mobile devices,” 3rd International
Conference on Internet and Web Applications and Services (ICIW 2008), Athens, Greece, June 2008
60
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
P2P Credit System
Share
Download
Mobile device
Home PC
Credit Bank
• A group of devices shares the same credit account
• Credits earned with one device can be consumed by another device at a later
time (in contrast to most existing incentive schemes)
61
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Social Network Search with Phonebook
How to Find a Reliable Painter?
Enter a query
Painters
found

Send query to address book contacts…

… to their contacts…
… to their contacts…
Persons knowing
Bill the Painter
(if they want to
tell this)
Recommender:
Jack ***
Recommender phone
Bakos, B., Farkas, L., and Nurminen, J. K., “Search Engine for Phonebook-based Smart Phone Networks,” in Proceedings
of IEEE 61st Semiannual Vehicular Technology Conference (VTC2005-Spring), Stockholm, Sweden, May, 2005.
62
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Alice is Searching for a Painter
Matching
profile
Painter?
Jack
Jim
Bill
Joe
Alice
Mary
Bob Painter 1 hit
Bill Painter 2 hits
Matching
profile
63
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Bob
Search for Details about Bill
Bill Painter
+9876543?
Alice +123456 is
checking Bill Painter
(+9876543)
Tell her that you
know Bill?
Rank Bill?
Jack
Jim
Bill
Joe
Alice
Mary
Jack +0246810
knows Bill.
Bill’s ranking 6/10
Bob
64
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Grid computing with phones
+
mobile
phone
Root server
Client/Server 1
Client 2
Lucas-Lehmer test:
2p-1 is prime if and only if S(p-1) = 0 (mod 2p-1),
where S(1) = 4 and S(k+1) = S(k)2-2.
Client 3
Client 4
Client 5
Personal Java on Nokia Communicator
65
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Bakos, B., Fodor, S., and Nurminen, J. K., “Distributed Computing with Mobile Phones: An
Experiment with Mersenne Prime Search,” short paper in Pervasive 2002
International Conference on Pervasive Computing, Zürich, Switzerland, August,
2002.
Content search via Parallel Index Clusters
nks
Search links
I n d ex l i
Index links: when a peer shares
or withdraws a content, these
carry the information to cocluster peers
Cluster 1
Cluster 1
Cluster 2
The traffic is uniform if the
number of clusters is the square
root of the number of peers
66
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Search links: when a peer is
searching for something,
these links carry the search
traffic to other clusters. In
own cluster the peer doesn’t
have to search
Marossy, K., Csúcs, G., Bakos, B., Farkas, L., and Nurminen, J. K., “Peer-to-peer content sharing in
wireless networks,” in Proceedings of the 15th IEEE International Symposium on Personal,
Indoor and Mobile Radio Communications (PIMRC 04), Barcelona, Spain, September, 2004.
PAMP
*Partly adapted from original slides provided by Johan Wikman
The 17th International Summer School on Telecommunications, August 19-22, 2008, Lappeenranta, Finland
67
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
What is PAMP?
• The acronym LAMP refers to a solution stack of software, usually free software /
open-source software, used to run dynamic Web sites or servers. The original
expansion is as follows:
• Linux, referring to the operator system;
• Apache, the Web server,
• MySQL, the database management system;
• PHP, the programming language.
PHP
Apache
MySQL
OpenC
Symbian
• This stack, familiar to millions of web developers, is now available as a personal
version – PAMP – for your S60 mobile phone.
68
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
PAMP – What’s the Point?
• A website on a mobile personal device is different.
• Interactive content
• Demand generated content
• Personal content
• Contextual content
• A smartphone with HTTP access to it is different.
• Use it from a PC whenever you are next to one.
• Use it remotely when you have forgotten it at home.
• Use it as a source of information that is utilized elsewhere.
• With PAMP, we can create all those web applications/services using tools and
components that “everyone” is familiar with!
• And then you can easily run a “regular” website as well, if that makes sense.
69
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Personal Mobsite
Most recent photo
taken.
Search your mobsite
Nice to know.
Access to core data:
•Text messages.
•Calendar
•Contacts
By courtesy of
[email protected]
70
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Personal Mobsite
Integration of the
mobile phone and the
web.
Web-form for sending
messages directly to
the inbox of the
phone.
By courtesy of
[email protected]
71
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Interactively
generated content.
Show Your Location
Phone knows
your location.
Map from
Google.
By courtesy of
[email protected]
72
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Use normal CMS systems on mobile phone
• All Best PHP Open Source CMS finalists run on top of PAMP.
• CMS Made Simple, Drupal, e107, Joomla and PHP-Fusion.
73
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Interactive Content - Example
74
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Linking by Proximity – Mobsite Hopping
• A new way for linking websites – they are related because they are
geographically nearby each other.
75
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Mashup – Facebook 1/2
• Always on - also
when you are not
logged on!
76
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Web UI
• Smartphone UIs pretty user friendly, but still quite constrained when compared
with the large display and proper keyboard of a PC.
• But there are PCs everywhere – at home, in the office, in the Internet café.
• If a WEB Interface is created for the core applications of a mobile phone:
• Whenever you have access to a PC – any PC, not just your own – you could use your
phone using the big display and proper keyboard of the PC.
• You can use any PC as the peripheral of your phone.
• Web UI could become just as important as the native UI.
• Added bonus – you could, for instance, read and answer
SMSs when you’ve forgotten your phone at home.
77
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
PC – Phone Integration
• Phone web-server + browser plugin = seamless use of phone from browser.
After plugin installation,
all phone-numbers
become clickable.
Call, send an SMS or add
to contacts without ever
leaving your browser.
http://research.nokia.com/research/projects/contacts-browser-plugin/index.html
78
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Available at: http://www2.cs.hut.fi/~tge/pamp/index.php/A_RESTful_Interface_to_a_Mobile_Phone_%28Jari_Kleimola%29
79
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
80
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
81
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
82
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen
Code, tools & further information
• Symella & SymTorrent & DHT for mobile phones
• http://symella.aut.bme.hu
• http://symtorrent.aut.bme.hu
• http://www.aut.bme.hu/MobileDHT
• PAMP
• http://wiki.opensource.nokia.com/projects/PAMP (code)
• http://www2.cs.hut.fi/~tge/pamp/index.php/Main_Page (examples)
• Nokia Energy profiler
• http://www.forum.nokia.com/main/resources/user_experience/power_management/nokia_energy
_profiler/
• A number of conference papers
• Search for authors like “Jukka K. Nurminen”, “Balazs Bakos”, “Matuszewski Marcin”
• Books
• Ralf Steinmetz, Klaus Wehrle (Eds.): Peer-to-Peer Systems and Applications. Lecture Notes in
Computer Science, Volume 3485, Springer, Berlin 2005
• Andy Oram et al., Peer-to-Peer: Harnessing the Power of Disruptive Technologies, Oreilly 2001
• Personally
• jukka k nurminen at nokia com
83
© 2008 Nokia
V1-Filename.ppt / 2008-08-20 / Jukka K. Nurminen