Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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