18

Click here to load reader

P2P for mobile devices

Embed Size (px)

DESCRIPTION

The slidedeck for my talk on Peer to Peer for Mobile devices at Adobe Flash Platform Summit 2011, Bangalore

Citation preview

Page 1: P2P for mobile devices

P2P for Mobile Devices Immanuel Noel | Platform Evangelist, Adobe blog.inoel.in

Page 2: P2P for mobile devices
Page 3: P2P for mobile devices

What ?

P2P – File sharing? Distributed application architecture Live, Real Time connectivity for devices Flash Platform support

Page 4: P2P for mobile devices

Why ?

• Scalability • Network Efficiency • Secure • Cloud Sourcing Information • Better User Experience • Take advantage of P2P capabilities of AIR for

Mobile

Page 5: P2P for mobile devices

Where ?

Everything from application-level video multicasting to swarming file delivery and multiuser games without a server ! Corporate enterprise, social media, and entertainment applications

Page 6: P2P for mobile devices

Demos Link on the last slide

Page 7: P2P for mobile devices

The Entities

Peer RTMFP Group – Super Set of neighbors Neighbors – Directly connected peers

Page 8: P2P for mobile devices

How ?

RTMFP Capable Server

Group

Page 9: P2P for mobile devices

Infrastructure

• FMS Server rtmfp://<SERVER>

• Cirrus service (non-commercial), rtmfp://p2p.rtmfp.net/ + DEVELOPER+KEY

• Isolated LAN rtmfp://

Page 10: P2P for mobile devices

Why connect to a external server?

• Facilitate connectivity • Directory of connected devices • Authenticity • Manage topology • Self managed P2P groups – No Manual Peer ID

Exchange

Page 11: P2P for mobile devices

Real Time Media Flow Protocol

• Protocol • Enables Live, Real time connectivity • Not File Sharing, Best for streaming • Unlike RTMP, based on the UDP protocol • Rapid Connection Restore • IP Mobility • 128-bit AES encryption

Page 12: P2P for mobile devices

Routing

Multicast Many to Many

Directed Routing One to Many

Object Replication Best effort techniques to transfer large data

Page 13: P2P for mobile devices

Group Specifier • Define a P2P group • Specify capabilities

– Multicast – ipMulticastMemberUpdatesEnabled – MulticastEnabled – RoutingEnabled – PostingEnabled – ObjectReplicationEnabled, and more ! (Group Name + Group Capabilities) = Group Identifier

Page 14: P2P for mobile devices

Events NetConnection.Connect.Success

NetGroup.Connect.Success

NetGroup.Neighbor.Connect

netGroup.sendToNeighbor(data) NetGroup.SendTo.Notify (event.info.message)

Page 15: P2P for mobile devices

NetStream - Audio and Video Sender var camera:Camera = Camera.getCamera(); var mic:Microphone = Microphone.getMicrophone(); _outgoingStream.attachAudio(mic); _outgoingStream.attachCamera(camera); _outgoingStream.publish( "P2PVideo" );

Listener NetGroup.MulticastStream.PublishNotify

Receiver _incomingStream.play("P2PVideo");

Page 16: P2P for mobile devices

Where Next

Cirrus http://labs.adobe.com/technologies/cirrus/

Sample Code

http://inoel.in/p2p

Page 17: P2P for mobile devices

Where Right Now

Ekalavya http://bit.ly/ekalavya